http://permalink.gmane.org/gmane.network.dns.unbound.user/2296

Index: Makefile
===================================================================
RCS file: /cvs/ports/net/unbound/Makefile,v
retrieving revision 1.42
diff -u -p -r1.42 Makefile
--- Makefile    8 Jun 2012 21:58:17 -0000       1.42
+++ Makefile    21 Jul 2012 12:20:55 -0000
@@ -3,6 +3,7 @@
 COMMENT=       validating DNS resolver
 
 DISTNAME=      unbound-1.4.17
+REVISION=      0
 CATEGORIES=    net
 
 MASTER_SITES=  http://www.unbound.net/downloads/
Index: distinfo
===================================================================
RCS file: /cvs/ports/net/unbound/distinfo,v
retrieving revision 1.27
diff -u -p -r1.27 distinfo
--- distinfo    8 Jun 2012 21:58:17 -0000       1.27
+++ distinfo    21 Jul 2012 12:20:55 -0000
@@ -1,5 +1,2 @@
-MD5 (unbound-1.4.17.tar.gz) = gS1JBkp4ySdllwoTZHNtpw==
-RMD160 (unbound-1.4.17.tar.gz) = BTDQUb9+ywIzN10GIMoyDAJoM3M=
-SHA1 (unbound-1.4.17.tar.gz) = /qTYEsA69HN+9nGsMLe3QA00ZRY=
 SHA256 (unbound-1.4.17.tar.gz) = JjfWvaQGXXq/HNEe4lv8jpFiQRU8LTMd6Zq2xj3149M=
 SIZE (unbound-1.4.17.tar.gz) = 3585122
Index: patches/patch-services_mesh_c
===================================================================
RCS file: patches/patch-services_mesh_c
diff -N patches/patch-services_mesh_c
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-services_mesh_c       21 Jul 2012 12:20:55 -0000
@@ -0,0 +1,28 @@
+$OpenBSD$
+
+r2718 upstream, fixes bug#452 (regression introduced in 1.4.17).
+
+--- services/mesh.c.orig       Thu Nov 10 18:44:06 2011
++++ services/mesh.c    Sat Jul 21 13:20:14 2012
+@@ -676,6 +676,7 @@ int mesh_attach_sub(struct module_qstate* qstate, stru
+       /* find it, if not, create it */
+       struct mesh_area* mesh = qstate->env->mesh;
+       struct mesh_state* sub = mesh_area_find(mesh, qinfo, qflags, prime);
++      int was_detached;
+       if(mesh_detect_cycle_found(qstate, sub)) {
+               verbose(VERB_ALGO, "attach failed, cycle detected");
+               return 0;
+@@ -706,9 +707,12 @@ int mesh_attach_sub(struct module_qstate* qstate, stru
+               *newq = &sub->s;
+       } else
+               *newq = NULL;
++      was_detached = (sub->super_set.count == 0);
+       if(!mesh_state_attachment(qstate->mesh_info, sub))
+               return 0;
+-      if(!sub->reply_list && !sub->cb_list && sub->super_set.count == 1) {
++      /* if it was a duplicate  attachment, the count was not zero before */
++      if(!sub->reply_list && !sub->cb_list && was_detached && 
++              sub->super_set.count == 1) {
+               /* it used to be detached, before this one got added */
+               log_assert(mesh->num_detached_states > 0);
+               mesh->num_detached_states--;

Reply via email to