diff --git a/.gitignore b/.gitignore index c0ffe4f..bc31daf 100644 --- a/.gitignore +++ b/.gitignore @@ -10,3 +10,4 @@ mtr-0.79.tar.gz /org.fedoraproject.mtr.policy /net-xmtr.desktop /generate-tarball.sh +/mtr-0.86.tar.gz diff --git a/mtr-crash-in-xml-mode.patch b/mtr-crash-in-xml-mode.patch deleted file mode 100644 index 1c3ae96..0000000 --- a/mtr-crash-in-xml-mode.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 9b5df3b69d2ded1a81627a1619e4ce03ca906367 Mon Sep 17 00:00:00 2001 -From: Jan Gorig -Date: Mon, 25 Oct 2010 12:53:16 +0200 -Subject: [PATCH 1/3] Crash in XML mode - ---- - report.c | 2 +- - 1 files changed, 1 insertions(+), 1 deletions(-) - -diff --git a/report.c b/report.c -index 34ea114..49dfcfb 100644 ---- a/report.c -+++ b/report.c -@@ -220,7 +220,7 @@ void xml_close(void) - printf(" \n", at+1, name); - for( i=0; i"); - strcat(name, data_fields[j].format); --- -1.7.3.1 - diff --git a/mtr-default-hostname.patch b/mtr-default-hostname.patch deleted file mode 100644 index b13022d..0000000 --- a/mtr-default-hostname.patch +++ /dev/null @@ -1,45 +0,0 @@ -From a646775da81a6a80c25b8bc5b26c465786ddfa38 Mon Sep 17 00:00:00 2001 -From: Roger Wolff -Date: Wed, 3 Jul 2013 12:00:28 +0200 -Subject: [PATCH 1/4] fixed default hostname - ---- - mtr.c | 10 +++++++--- - 1 file changed, 7 insertions(+), 3 deletions(-) - -diff --git a/mtr.c b/mtr.c -index 75a3b06..fd4705d 100644 ---- a/mtr.c -+++ b/mtr.c -@@ -141,7 +141,8 @@ append_to_names(const char* progname, const char* item) { - fprintf(stderr, "%s: memory allocation failure\n", progname); - exit(EXIT_FAILURE); - } -- name->name = strdup(item); -+ // prepared for adding NULL name, but decided against that in the end. -+ name->name = item?strdup(item):item; - name->next = names; - names = name; - } -@@ -581,13 +582,16 @@ int main(int argc, char **argv) - } - - time_t now = time(NULL); -+ -+ if (!names) append_to_names (argv[0], "localhost"); // default: localhost. -+ - names_t* head = names; - while (names != NULL) { - - Hostname = names->name; -- if (Hostname == NULL) Hostname = "localhost"; -+ // if (Hostname == NULL) Hostname = "localhost"; // no longer necessary. - if (gethostname(LocalHostname, sizeof(LocalHostname))) { -- strcpy(LocalHostname, "UNKNOWNHOST"); -+ strcpy(LocalHostname, "UNKNOWNHOST"); - } - - if (net_preopen_result != 0) { --- -1.8.3.1 - diff --git a/mtr-introduce-grace-period.patch b/mtr-introduce-grace-period.patch deleted file mode 100644 index dec245b..0000000 --- a/mtr-introduce-grace-period.patch +++ /dev/null @@ -1,74 +0,0 @@ -From 6ce1601b27fdd95b44ed65d7fd83604860276d63 Mon Sep 17 00:00:00 2001 -From: Michal Sekletar -Date: Tue, 17 Sep 2013 16:11:20 +0200 -Subject: [PATCH] core: introduce grace period - -In report mode we break out from select loop immediately after we reach -maximum count of iterations. But we should wait for packets which are still on -the way. - -In order to fix the issue we introduce grace period during which we don't send -out more packets but we just wait for responses which might be still on the way. - -resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1009051 ---- - select.c | 26 +++++++++++++++++++++++--- - 1 file changed, 23 insertions(+), 3 deletions(-) - -diff --git a/select.c b/select.c -index 29088fd..31bfd5f 100644 ---- a/select.c -+++ b/select.c -@@ -45,6 +45,8 @@ static struct timeval intervaltime; - int display_offset = 0; - - -+#define GRACETIME (5 * 1000*1000) -+ - void select_loop(void) { - fd_set readfd; - fd_set writefd; -@@ -57,8 +59,12 @@ void select_loop(void) { - int NumPing = 0; - int paused = 0; - struct timeval lasttime, thistime, selecttime; -+ struct timeval startgrace; - int dt; - int rv; -+ int graceperiod = 0; -+ -+ memset(&startgrace, 0, sizeof(startgrace)); - - gettimeofday(&lasttime, NULL); - -@@ -124,10 +130,24 @@ void select_loop(void) { - (thistime.tv_sec == lasttime.tv_sec + intervaltime.tv_sec && - thistime.tv_usec >= lasttime.tv_usec + intervaltime.tv_usec)) { - lasttime = thistime; -- if(NumPing >= MaxPing && (!Interactive || ForceMaxPing)) -+ -+ if (!graceperiod) { -+ if (NumPing >= MaxPing && (!Interactive || ForceMaxPing)) { -+ graceperiod = 1; -+ startgrace = thistime; -+ } -+ -+ /* do not send out batch when we've already initiated grace period */ -+ if (!graceperiod && net_send_batch()) -+ NumPing++; -+ } -+ } -+ -+ if (graceperiod) { -+ dt = (thistime.tv_usec - startgrace.tv_usec) + -+ 1000000 * (thistime.tv_sec - startgrace.tv_sec); -+ if (dt > GRACETIME) - return; -- if (net_send_batch()) -- NumPing++; - } - - selecttime.tv_usec = (thistime.tv_usec - lasttime.tv_usec); --- -1.8.3.1 - diff --git a/mtr-ipv6-on-ipv4-only.patch b/mtr-ipv6-on-ipv4-only.patch deleted file mode 100644 index 92b1b66..0000000 --- a/mtr-ipv6-on-ipv4-only.patch +++ /dev/null @@ -1,118 +0,0 @@ -From 12c53f98e44598b87d3f2308e0d892f49d7af8e4 Mon Sep 17 00:00:00 2001 -From: Roger Wolff -Date: Tue, 16 Jul 2013 13:59:52 +0200 -Subject: [PATCH] Fix bombout with ipv6 enabled binary on ipv4 only system. - ---- - dns.c | 33 +++++++++++++++++++++------------ - gtk.c | 6 ++++-- - select.c | 8 ++++++-- - 3 files changed, 31 insertions(+), 16 deletions(-) - -diff --git a/dns.c b/dns.c -index 371934f..221665d 100644 ---- a/dns.c -+++ b/dns.c -@@ -529,10 +529,12 @@ void dns_open(void) - #ifdef ENABLE_IPV6 - resfd6 = socket(AF_INET6, SOCK_DGRAM, 0); - if (resfd6 == -1) { -+ // consider making removing this warning. For now leave it in to see -+ // new code activated. -- REW - fprintf(stderr, - "Unable to allocate IPv6 socket for nameserver communication: %s\n", - strerror(errno)); -- exit(-1); -+ // exit(-1); - } - #endif - option = 1; -@@ -543,11 +545,13 @@ void dns_open(void) - exit(-1); - } - #ifdef ENABLE_IPV6 -- if (setsockopt(resfd6,SOL_SOCKET,SO_BROADCAST,(char *)&option,sizeof(option))) { -- fprintf(stderr, -- "Unable to setsockopt() on IPv6 nameserver communication socket: %s\n", -- strerror(errno)); -- exit(-1); -+ if (resfd6 > 0) { -+ if (setsockopt(resfd6,SOL_SOCKET,SO_BROADCAST,(char *)&option,sizeof(option))) { -+ fprintf(stderr, -+ "Unable to setsockopt() on IPv6 nameserver communication socket: %s\n", -+ strerror(errno)); -+ exit(-1); -+ } - } - #endif - longipstr( "127.0.0.1", &localhost, AF_INET ); -@@ -933,12 +937,14 @@ void dorequest(char *s,int type,word id) - hp = (packetheader *)buf; - 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)); -+ if (resfd6 > 0) { -+ 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)); -+ } - } - #endif - for (i = 0;i < myres.nscount;i++) -@@ -1327,6 +1333,9 @@ void dns_ack6(void) - int r,i; - static char addrstr[INET6_ADDRSTRLEN]; - -+ // Probably not necessary. -- REW -+ if (resfd6 < 0) return; -+ - r = recvfrom(resfd6,(byte *)resrecvbuf,MaxPacketsize,0, - from, &fromlen); - if (r > 0) { -diff --git a/gtk.c b/gtk.c -index d00f769..38ed507 100644 ---- a/gtk.c -+++ b/gtk.c -@@ -615,8 +615,10 @@ void gtk_loop(void) - net_iochannel = g_io_channel_unix_new(net_waitfd()); - g_io_add_watch(net_iochannel, G_IO_IN, gtk_net_data, NULL); - #ifdef ENABLE_IPV6 -- dns_iochannel = g_io_channel_unix_new(dns_waitfd6()); -- g_io_add_watch(dns_iochannel, G_IO_IN, gtk_dns_data6, NULL); -+ if (dns_waitfd6() > 0) { -+ dns_iochannel = g_io_channel_unix_new(dns_waitfd6()); -+ g_io_add_watch(dns_iochannel, G_IO_IN, gtk_dns_data6, NULL); -+ } - #endif - dns_iochannel = g_io_channel_unix_new(dns_waitfd()); - g_io_add_watch(dns_iochannel, G_IO_IN, gtk_dns_data, NULL); -diff --git a/select.c b/select.c -index 0545d9f..e7c397e 100644 ---- a/select.c -+++ b/select.c -@@ -80,8 +80,12 @@ void select_loop(void) { - #ifdef ENABLE_IPV6 - if (dns) { - dnsfd6 = dns_waitfd6(); -- FD_SET(dnsfd6, &readfd); -- if(dnsfd6 >= maxfd) maxfd = dnsfd6 + 1; -+ if (dnsfd6 >= 0) { -+ FD_SET(dnsfd6, &readfd); -+ if(dnsfd6 >= maxfd) maxfd = dnsfd6 + 1; -+ } else { -+ dnsfd6 = 0; -+ } - } else - dnsfd6 = 0; - #endif --- -1.8.3.1 - diff --git a/mtr-missing-documentation.patch b/mtr-missing-documentation.patch deleted file mode 100644 index f462636..0000000 --- a/mtr-missing-documentation.patch +++ /dev/null @@ -1,141 +0,0 @@ -diff -up mtr-0.85/mtr.8.docs mtr-0.85/mtr.8 ---- mtr-0.85/mtr.8.docs 2013-04-29 20:22:05.000000000 +0200 -+++ mtr-0.85/mtr.8 2013-10-04 15:26:58.852865628 +0200 -@@ -8,7 +8,7 @@ mtr \- a network diagnostic tool - .SH SYNOPSIS - .B mtr - [\c --.B \-hvrctglspeniuTP46\c -+.B \-BfhvrctglxspQemniuTP46\c - ] - [\c - .B \-\-help\c -@@ -34,6 +34,9 @@ mtr \- a network diagnostic tool - [\c - .B \-\-raw\c - ] -+[ -+.B \-\-xml\c -+] - [\c - .B \-\-mpls\c - ] -@@ -53,12 +56,27 @@ mtr \- a network diagnostic tool - .B \-\-interval\ SECONDS\c - ] - [\c -+.B \-\-max-ttl\ NUM\c -+] -+[\c -+.B \-\-first-ttl\ NUM\c -+] -+[\c -+.B \-\-bitpattern\ NUM\c -+] -+[\c -+.B \-\-tos\ NUM\c -+] -+[\c - .B \-\-psize\ BYTES | -s BYTES\c - ] - [\c - .B \-\-tcp\c - ] - [\c -+.B \-\-udp\c -+] -+[\c - .B \-\-port\ PORT\c - ] - [\c -@@ -270,13 +288,23 @@ to spit out a format that is suitable fo - .TP - .B \-\-raw - .br --Use this option to tell --.B mtr -+Use this option to tell -+.B mtr - to use the raw output format. This format is better suited for - archival of the measurement results. It could be parsed to - be presented into any of the other display methods. - - .TP -+.B \-x -+.TP -+.B \-\-xml -+.br -+Use this option to tell -+.B mtr -+to use the xml output format. This format is better suited for -+automated processing of the measurement results. -+ -+.TP - .B \-a\ IP.ADD.RE.SS - .TP - .B \-\-address\ IP.ADD.RE.SS -@@ -295,7 +323,39 @@ Use this option to specify the positive - ECHO requests. The default value for this parameter is one second. - - .TP -+.B \-m\ NUM -+.TP -+.B \-\-max-ttl\ NUM -+.br -+Specifies the maximum number of hops (max time-to-live value) traceroute will -+probe. Default is 30. -+ -+.TP -+.B \-f\ NUM -+.TP -+.B \-\-first-ttl\ NUM -+.br -+Specifies with what TTL to start. Defaults to 1. -+ -+.TP -+.B \-B\ NUM -+.TP -+.B \-\-bitpattern\ NUM -+.br -+Specifies bit pattern to use in payload. Should be within range 0 - 255. -+ -+.TP -+.B \-Q\ NUM -+.TP -+.B \-\-tos\ NUM -+.br -+Specifies value for type of service field in IP header. Should be within range 0 -+- 255. -+ -+.TP - .B \-u -+.TP -+.B \-\-udp - .br - Use UDP datagrams instead of ICMP ECHO. - -diff -up mtr-0.85/mtr.c.docs mtr-0.85/mtr.c ---- mtr-0.85/mtr.c.docs 2013-10-04 15:26:58.852865628 +0200 -+++ mtr-0.85/mtr.c 2013-10-04 15:30:42.934859098 +0200 -@@ -567,16 +567,17 @@ int main(int argc, char **argv) - } - - if (PrintHelp) { -- printf("usage: %s [-hvrwctglspniuT46] [--help] [--version] [--report]\n" -+ printf("usage: %s [-BfhvrwctglxspQomniuT46] [--help] [--version] [--report]\n" - "\t\t[--report-wide] [--report-cycles=COUNT] [--curses] [--gtk]\n" -- "\t\t[--csv|-C] [--raw] [--split] [--mpls] [--no-dns] [--show-ips]\n" -+ "\t\t[--csv|-C] [--raw] [--xml] [--split] [--mpls] [--no-dns] [--show-ips]\n" - "\t\t[--address interface] [--filename=FILE|-F]\n" /* BL */ - #ifndef NO_IPINFO - "\t\t[--ipinfo=item_no|-y item_no]\n" - "\t\t[--aslookup|-z]\n" - #endif -- "\t\t[--psize=bytes/-s bytes]\n" /* ok */ -- "\t\t[--report-wide|-w] [-u|-T] [--port=PORT] [--timeout=SECONDS]\n" /* rew */ -+ "\t\t[--psize=bytes/-s bytes] [--order fields]\n" /* ok */ -+ "\t\t[--report-wide|-w] [--inet] [--inet6] [--max-ttl=NUM] [--first-ttl=NUM]\n" -+ "\t\t[--bitpattern=NUM] [--tos=NUM] [--udp] [--tcp] [--port=PORT] [--timeout=SECONDS]\n" /* rew */ - "\t\t[--interval=SECONDS] HOSTNAME\n", argv[0]); - exit(0); - } diff --git a/mtr-mixed-ipv4-ipv6-nameservers.patch b/mtr-mixed-ipv4-ipv6-nameservers.patch deleted file mode 100644 index c43bd15..0000000 --- a/mtr-mixed-ipv4-ipv6-nameservers.patch +++ /dev/null @@ -1,30 +0,0 @@ -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; diff --git a/mtr-query-all-ipv6-nameservers.patch b/mtr-query-all-ipv6-nameservers.patch deleted file mode 100644 index c5f11c1..0000000 --- a/mtr-query-all-ipv6-nameservers.patch +++ /dev/null @@ -1,57 +0,0 @@ -From eae1b58c5a9f074f79a0edfaeb1cf7a4e77a34cb Mon Sep 17 00:00:00 2001 -From: Michal Sekletar -Date: Tue, 24 Sep 2013 12:56:11 +0200 -Subject: [PATCH] dns: iterate over all configured nameservers - -Previously if there were three nameservers configured and third one was -reachable via IPv6 we didn't sent query to it, since NSCOUNT6 was equal to -one. Clearly it was the original intention to sent query to all IPv6 -nameservers. - -Reported-by: Benedikt Gollatz ---- - dns.c | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -diff --git a/dns.c b/dns.c -index 221665d..e89fd4b 100644 ---- a/dns.c -+++ b/dns.c -@@ -938,7 +938,7 @@ void dorequest(char *s,int type,word id) - hp->id = id; /* htons() deliberately left out (redundant) */ - #ifdef ENABLE_IPV6 - if (resfd6 > 0) { -- for (i = 0;i < NSCOUNT6;i++) { -+ for (i = 0;i < myres.nscount;i++) { - if (!NSSOCKADDR6(i)) - continue; - if (NSSOCKADDR6(i)->sin6_family == AF_INET6) -@@ -1342,7 +1342,7 @@ void dns_ack6(void) - /* Check to see if this server is actually one we sent to */ - if ( addrcmp( (void *) &(from6->sin6_addr), (void *) &localhost6, - (int) AF_INET6 ) == 0 ) { -- for (i = 0;i < NSCOUNT6;i++) { -+ for (i = 0;i < myres.nscount;i++) { - if (!NSSOCKADDR6(i)) - continue; - -@@ -1353,14 +1353,14 @@ void dns_ack6(void) - break; - } - } else -- for (i = 0;i < NSCOUNT6;i++) { -+ for (i = 0;i < myres.nscount;i++) { - if (!NSSOCKADDR6(i)) - continue; - if ( addrcmp( (void *) &(NSSOCKADDR6(i)->sin6_addr), - (void *) &(from6->sin6_addr), AF_INET6 ) == 0 ) - break; - } -- if (i == NSCOUNT6) { -+ if (i == myres.nscount) { - snprintf(tempstring, sizeof(tempstring), - "Resolver error: Received reply from unknown source: %s", - inet_ntop( AF_INET6, &(from6->sin6_addr), addrstr, --- -1.8.3.1 - diff --git a/mtr-xml-format-fixes.patch b/mtr-xml-format-fixes.patch deleted file mode 100644 index 286fae5..0000000 --- a/mtr-xml-format-fixes.patch +++ /dev/null @@ -1,39 +0,0 @@ -diff -up mtr-0.83/report.c.orig mtr-0.83/report.c ---- mtr-0.83/report.c.orig 2013-02-18 15:46:33.000000000 +0100 -+++ mtr-0.83/report.c 2013-02-18 15:51:38.263294586 +0100 -@@ -212,19 +212,19 @@ void xml_close(void) - ip_t *addr; - char name[81]; - -- printf("= 0) { -- printf(" PSIZE=%d", cpacketsize); -+ printf(" PSIZE=\"%d\"", cpacketsize); - } else { -- printf(" PSIZE=rand(%d-%d)",MINPACKET, -cpacketsize); -+ printf(" PSIZE=\"rand(%d-%d)\"",MINPACKET, -cpacketsize); - } - if( bitpattern>=0 ) { -- printf(" BITPATTERN=0x%02X", (unsigned char)(bitpattern)); -+ printf(" BITPATTERN=\"0x%02X\"", (unsigned char)(bitpattern)); - } else { -- printf(" BITPATTERN=rand(0x00-FF)"); -+ printf(" BITPATTERN=\"rand(0x00-FF)\""); - } -- printf(" TESTS=%d>\n", MaxPing); -+ printf(" TESTS=\"%d\">\n", MaxPing); - - max = net_max(); - at = net_min(); -@@ -232,7 +232,7 @@ void xml_close(void) - addr = net_addr(at); - snprint_addr(name, sizeof(name), addr); - -- printf(" \n", at+1, name); -+ printf(" \n", at+1, name); - for( i=0; i - 2:0.86-1 +- rebase to 0.86 + * Thu Feb 04 2016 Fedora Release Engineering - 2:0.85-8 - Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild diff --git a/sources b/sources index 2253cc9..c142e79 100644 --- a/sources +++ b/sources @@ -1,4 +1,4 @@ cf6e427e5ce1d342057aec1a1544e089 net-xmtr.desktop c4fb53f4fdb3bbccdace06d34be87dd0 org.fedoraproject.mtr.policy 8a65f6aec5e2d5f1a665aa76ae649bc9 mtr-gtk-pkexec-wrapper.sh -5e665c617e5659b6ec3e201ee7488eb1 mtr-0.85.tar.gz +8d63592c9d4579ef20cf491b41843eb2 mtr-0.86.tar.gz