dns: fix segfault when resolver uses both ipv4 and ipv6 nameservers
This commit is contained in:
parent
38276680e8
commit
401c0e5a53
30
mtr-mixed-ipv4-ipv6-nameservers.patch
Normal file
30
mtr-mixed-ipv4-ipv6-nameservers.patch
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
diff -up mtr-0.84/dns.c.mixed mtr-0.84/dns.c
|
||||||
|
--- mtr-0.84/dns.c.mixed 2013-06-06 18:56:19.360247890 +0200
|
||||||
|
+++ mtr-0.84/dns.c 2013-06-06 18:58:09.804233105 +0200
|
||||||
|
@@ -938,6 +938,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));
|
||||||
|
@@ -1336,6 +1338,8 @@ 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),
|
||||||
|
@@ -1344,6 +1348,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;
|
7
mtr.spec
7
mtr.spec
@ -1,7 +1,7 @@
|
|||||||
Summary: A network diagnostic tool
|
Summary: A network diagnostic tool
|
||||||
Name: mtr
|
Name: mtr
|
||||||
Version: 0.84
|
Version: 0.84
|
||||||
Release: 1%{?dist}
|
Release: 2%{?dist}
|
||||||
Epoch: 2
|
Epoch: 2
|
||||||
Group: Applications/Internet
|
Group: Applications/Internet
|
||||||
License: GPLv2+
|
License: GPLv2+
|
||||||
@ -13,6 +13,7 @@ Source3: net-x%{name}.desktop
|
|||||||
|
|
||||||
Patch1: mtr-crash-in-xml-mode.patch
|
Patch1: mtr-crash-in-xml-mode.patch
|
||||||
Patch2: mtr-xml-format-fixes.patch
|
Patch2: mtr-xml-format-fixes.patch
|
||||||
|
Patch3: mtr-mixed-ipv4-ipv6-nameservers.patch
|
||||||
|
|
||||||
BuildRequires: ncurses-devel gtk2-devel desktop-file-utils
|
BuildRequires: ncurses-devel gtk2-devel desktop-file-utils
|
||||||
BuildRequires: autoconf automake libtool
|
BuildRequires: autoconf automake libtool
|
||||||
@ -38,6 +39,7 @@ diagnostic tool.
|
|||||||
|
|
||||||
%patch1 -p1
|
%patch1 -p1
|
||||||
%patch2 -p1
|
%patch2 -p1
|
||||||
|
%patch3 -p1
|
||||||
|
|
||||||
%build
|
%build
|
||||||
%configure --enable-gtk2
|
%configure --enable-gtk2
|
||||||
@ -91,6 +93,9 @@ desktop-file-install \
|
|||||||
%{_datadir}/pixmaps/mtr_icon.xpm
|
%{_datadir}/pixmaps/mtr_icon.xpm
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Thu Jun 06 2013 Michal Sekletar <msekleta@redhat.com> - 2:0.84-2
|
||||||
|
- fix crash when dns resolver is configured with both IPv4 and IPv6 nameservers
|
||||||
|
|
||||||
* Wed Apr 03 2013 Michal Sekletar <msekleta@redhat.com> - 2:0.84-1
|
* Wed Apr 03 2013 Michal Sekletar <msekleta@redhat.com> - 2:0.84-1
|
||||||
- update to the newest upstream release
|
- update to the newest upstream release
|
||||||
- specfile cleanup
|
- specfile cleanup
|
||||||
|
Loading…
Reference in New Issue
Block a user