Hello Am Fri, 26 Apr 2013 09:47:27 +0200 schrieb Julien Cristau <jcristau@debian.org>: > On Fri, Apr 26, 2013 at 02:44:05 +0200, Christian Hammers wrote: > > > Hello > > > > I'd like to upload a package that fixes a bug in testing's > > quagga_0.99.21-4. I can't upload it via unstable as we have > > already 0.99.22 there and neither can I upload it to > > stable-proposed-updates as this is still for squeeze, right? > > > > So I have to wait a week for the release and then use s-p-u? > > > Please describe the fixes and include the debdiff, we'll figure things > out from there. Here is the debdiff with changelog entry and diff: -=(~/debian/quagga/wheezy)$ debdiff quagga_0.99.21-4.dsc quagga_0.99.21-4+wheezy1.dsc diff -Nru quagga-0.99.21/debian/changelog quagga-0.99.21/debian/changelog --- quagga-0.99.21/debian/changelog 2013-01-06 15:58:00.000000000 +0100 +++ quagga-0.99.21/debian/changelog 2013-04-25 02:09:06.000000000 +0200 @@ -1,3 +1,10 @@ +quagga (0.99.21-4+wheezy1) testing-proposed-updates; urgency=medium + + * Applied a patch to prevent ospfd to crash randomly when a neighbor + goes down. Thanks to David Lamparter for pointing out. Closes: #706120 + + -- Christian Hammers <ch@debian.org> Mon, 22 Apr 2013 23:00:01 +0200 + quagga (0.99.21-4) unstable; urgency=medium * Fixed regression bug that caused OSPF "distribute-list" statements to be diff -Nru quagga-0.99.21/debian/patches/99_fix_thread_cancel_event.diff quagga-0.99.21/debian/patches/99_fix_thread_cancel_event.diff --- quagga-0.99.21/debian/patches/99_fix_thread_cancel_event.diff 1970-01-01 01:00:00.000000000 +0100 +++ quagga-0.99.21/debian/patches/99_fix_thread_cancel_event.diff 2013-04-22 22:09:13.000000000 +0200 @@ -0,0 +1,51 @@ +From aaa964a8f861d5cd68723adc27236548f3f05713 Mon Sep 17 00:00:00 2001 +From: Jorge Boncompte [DTI2] <jorge@dti2.net> +Date: Mon, 07 May 2012 15:17:31 +0000 +Subject: lib: fix thread_cancel_event() + + ospfd was crashing some times on neighbour going down. The cause was that +ospf_nsm_event() was accessing already freed memory in ospf_nbr_delete() +call from ospf_nsm_event(). + + What happens is that since commit b5043aab (lib: fix incorrect thread +list...) now a thread can be on the event and ready lists but +thread_cancel_event() doesn't account for that. + +* thread.c: (thread_cancel_event) loop on the ready list too to cancel + pending events. + +Signed-off-by: Jorge Boncompte [DTI2] <jorge@dti2.net> +Signed-off-by: David Lamparter <equinox@opensourcerouting.org> +--- +diff --git a/lib/thread.c b/lib/thread.c +index b36c43a..dd0413b 100644 +--- a/lib/thread.c ++++ b/lib/thread.c +@@ -916,6 +916,24 @@ thread_cancel_event (struct thread_master *m, void *arg) + thread_add_unuse (m, t); + } + } ++ ++ /* thread can be on the ready list too */ ++ thread = m->ready.head; ++ while (thread) ++ { ++ struct thread *t; ++ ++ t = thread; ++ thread = t->next; ++ ++ if (t->arg == arg) ++ { ++ ret++; ++ thread_list_delete (&m->ready, t); ++ t->type = THREAD_UNUSED; ++ thread_add_unuse (m, t); ++ } ++ } + return ret; + } + +-- +cgit v0.9.0.2 +curl: try 'curl --help' or 'curl --manual' for more information diff -Nru quagga-0.99.21/debian/patches/series quagga-0.99.21/debian/patches/series --- quagga-0.99.21/debian/patches/series 2013-01-06 15:45:54.000000000 +0100 +++ quagga-0.99.21/debian/patches/series 2013-04-25 02:33:43.000000000 +0200 @@ -7,3 +7,4 @@ 10_doc__Makefiles__makeinfo-force.diff 99_CVE-2012-1820_bgp_capability_orf.diff 99_distribute_list.diff +99_fix_thread_cancel_event.diff bye, -christian-
Attachment:
signature.asc
Description: PGP signature