commit be422acfaba8da8f515c0e2719a2b5909bbe0f97
Author: Arkadiusz Miśkiewicz <[email protected]>
Date:   Wed Jun 19 20:35:59 2013 +0200

    - rel 2; fix segfault when mixed v4/v6 resolvers in use

 mtr-v6-ns-fix.patch | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 mtr.spec            |  4 +++-
 2 files changed, 55 insertions(+), 1 deletion(-)
---
diff --git a/mtr.spec b/mtr.spec
index 4331d31..a4423df 100644
--- a/mtr.spec
+++ b/mtr.spec
@@ -10,7 +10,7 @@ Summary(ru.UTF-8):    Matt's Traceroute - утилита для 
диагности
 Summary(uk.UTF-8):     Matt's Traceroute - утиліта для діагностики мережі
 Name:          mtr
 Version:       0.84
-Release:       1
+Release:       2
 Epoch:         1
 License:       GPL v2
 Group:         Networking/Utilities
@@ -25,6 +25,7 @@ Patch3:               %{name}-display.patch
 Patch4:                %{name}-usage_first_max_hop.patch
 Patch5:                %{name}-noraw.patch
 Patch6:                %{name}-nox.patch
+Patch7:                mtr-v6-ns-fix.patch
 URL:           http://www.bitwizard.nl/mtr/
 BuildRequires: autoconf >= 2.50
 BuildRequires: automake
@@ -144,6 +145,7 @@ mtr - це traceroute та ping в одному флаконі. При запу
 %patch4 -p0
 %patch5 -p1
 %patch6 -p1
+%patch7 -p1
 
 #echo 'AC_DEFUN([AM_PATH_GTK],[$3])' >> acinclude.m4
 %{!?with_x:echo 'AC_DEFUN([AM_PATH_GTK_2_0],[$3])' >> acinclude.m4}
diff --git a/mtr-v6-ns-fix.patch b/mtr-v6-ns-fix.patch
new file mode 100644
index 0000000..b50cc44
--- /dev/null
+++ b/mtr-v6-ns-fix.patch
@@ -0,0 +1,52 @@
+commit cece39e9fad8d53a1e41cae57348f5ab41ec3ba4
+Author: mutantmonkey <[email protected]>
+Date:   Sun Apr 21 15:56:59 2013 -0400
+
+    Fix segfault with mixed IPv4/IPv6 nameservers
+    
+    Fixes bug #1154432
+
+diff --git a/dns.c b/dns.c
+index 683a4aa..8ea48ba 100644
+--- a/dns.c
++++ b/dns.c
+@@ -934,6 +934,8 @@ void dorequest(char *s,int type,word id)
+   hp->id = id;        /* htons() deliberately left out (redundant) */
+ #ifdef ENABLE_IPV6
+   for (i = 0;i < NSCOUNT6;i++) {
++    if (!NSSOCKADDR6(i))
++      continue;
+     if (NSSOCKADDR6(i)->sin6_family == AF_INET6)
+       (void)sendto(resfd6,buf,r,0,(struct sockaddr *) NSSOCKADDR6(i),
+                  sizeof(struct sockaddr_in6));
+@@ -1340,6 +1342,8 @@ void dns_ack6(void)
+       }
+     } else
+       for (i = 0;i < NSCOUNT6;i++) {
++        if (!NSSOCKADDR6(i))
++          continue;
+       if ( addrcmp( (void *) &(NSSOCKADDR6(i)->sin6_addr),
+                     (void *) &(from6->sin6_addr), AF_INET6 ) == 0 )
+         break;
+commit 59c16297a4008ee4b59ae49854d09f49f0713055
+Author: Michal Sekletar <[email protected]>
+Date:   Thu Jun 6 16:13:52 2013 +0200
+
+    dns: Fix segfault with mixed ipv4/ipv6 nameservers
+    
+    Follow-up on bug #1154432.
+
+diff --git a/dns.c b/dns.c
+index 8ea48ba..371934f 100644
+--- a/dns.c
++++ b/dns.c
+@@ -1334,6 +1334,9 @@ void dns_ack6(void)
+     if ( addrcmp( (void *) &(from6->sin6_addr), (void *) &localhost6,
+                   (int) AF_INET6 ) == 0 ) {
+       for (i = 0;i < NSCOUNT6;i++) {
++        if (!NSSOCKADDR6(i))
++          continue;
++
+       if ( addrcmp( (void *) &(NSSOCKADDR6(i)->sin6_addr),
+                     (void *) &(from6->sin6_addr), (int) AF_INET6 ) == 0 ||
+            addrcmp( (void *) &(NSSOCKADDR6(i)->sin6_addr),
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/mtr.git/commitdiff/be422acfaba8da8f515c0e2719a2b5909bbe0f97

_______________________________________________
pld-cvs-commit mailing list
[email protected]
http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit

Reply via email to