diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..95b75d0 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +SOURCES/mtr-0.85.tar.gz diff --git a/.mtr.metadata b/.mtr.metadata new file mode 100644 index 0000000..11059cd --- /dev/null +++ b/.mtr.metadata @@ -0,0 +1 @@ +6e79584265f733bea7f1b2cb13eeb48f10e96bba SOURCES/mtr-0.85.tar.gz diff --git a/SOURCES/mtr-crash-in-xml-mode.patch b/SOURCES/mtr-crash-in-xml-mode.patch new file mode 100644 index 0000000..1c3ae96 --- /dev/null +++ b/SOURCES/mtr-crash-in-xml-mode.patch @@ -0,0 +1,25 @@ +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/SOURCES/mtr-default-hostname.patch b/SOURCES/mtr-default-hostname.patch new file mode 100644 index 0000000..b13022d --- /dev/null +++ b/SOURCES/mtr-default-hostname.patch @@ -0,0 +1,45 @@ +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/SOURCES/mtr-gtk-pkexec-wrapper.sh b/SOURCES/mtr-gtk-pkexec-wrapper.sh new file mode 100644 index 0000000..b03c809 --- /dev/null +++ b/SOURCES/mtr-gtk-pkexec-wrapper.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +exec /usr/bin/pkexec /usr/bin/xmtr.bin \ No newline at end of file diff --git a/SOURCES/mtr-introduce-grace-period.patch b/SOURCES/mtr-introduce-grace-period.patch new file mode 100644 index 0000000..dec245b --- /dev/null +++ b/SOURCES/mtr-introduce-grace-period.patch @@ -0,0 +1,74 @@ +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/SOURCES/mtr-ipv6-on-ipv4-only.patch b/SOURCES/mtr-ipv6-on-ipv4-only.patch new file mode 100644 index 0000000..92b1b66 --- /dev/null +++ b/SOURCES/mtr-ipv6-on-ipv4-only.patch @@ -0,0 +1,118 @@ +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/SOURCES/mtr-missing-documentation.patch b/SOURCES/mtr-missing-documentation.patch new file mode 100644 index 0000000..f462636 --- /dev/null +++ b/SOURCES/mtr-missing-documentation.patch @@ -0,0 +1,141 @@ +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/SOURCES/mtr-query-all-ipv6-nameservers.patch b/SOURCES/mtr-query-all-ipv6-nameservers.patch new file mode 100644 index 0000000..c5f11c1 --- /dev/null +++ b/SOURCES/mtr-query-all-ipv6-nameservers.patch @@ -0,0 +1,57 @@ +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/SOURCES/mtr-xml-format-fixes.patch b/SOURCES/mtr-xml-format-fixes.patch new file mode 100644 index 0000000..286fae5 --- /dev/null +++ b/SOURCES/mtr-xml-format-fixes.patch @@ -0,0 +1,39 @@ +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 + + + + Run mtr + Authentication is required to run traceroute + + no + no + auth_admin_keep + + /usr/bin/xmtr.bin + true + + diff --git a/SPECS/mtr.spec b/SPECS/mtr.spec new file mode 100644 index 0000000..5b65454 --- /dev/null +++ b/SPECS/mtr.spec @@ -0,0 +1,464 @@ +%global _hardened_build 1 + +Summary: A network diagnostic tool +Name: mtr +Version: 0.85 +Release: 7%{?dist} +Epoch: 2 +Group: Applications/Internet +License: GPLv2+ +URL: http://www.BitWizard.nl/mtr +Source: ftp://ftp.bitwizard.nl/mtr/%{name}-%{version}.tar.gz +Source1: net-x%{name}.desktop +Source2: mtr-gtk-pkexec-wrapper.sh +Source3: org.fedoraproject.mtr.policy + +Patch1: mtr-crash-in-xml-mode.patch +Patch2: mtr-xml-format-fixes.patch +Patch3: mtr-default-hostname.patch +Patch4: mtr-ipv6-on-ipv4-only.patch +Patch5: mtr-introduce-grace-period.patch +Patch6: mtr-query-all-ipv6-nameservers.patch +Patch7: mtr-missing-documentation.patch + +BuildRequires: ncurses-devel gtk2-devel desktop-file-utils +BuildRequires: autoconf automake libtool + +%description +Mtr is a network diagnostic tool that combines ping and traceroute +into one program. Mtr provides two interfaces: an ncurses interface, +useful for using Mtr from a telnet session; and a GTK+ interface for X +(provided in the mtr-gtk package). + +%package gtk +Summary: The GTK+ interface for mtr +Group: Applications/Internet +Requires: mtr = %{epoch}:%{version}-%{release} + +%description gtk +The mtr-gtk package provides the GTK+ interface for the mtr network +diagnostic tool. + +%prep +%setup -q + +%patch1 -p1 +%patch2 -p1 +%patch3 -p1 +%patch4 -p1 +%patch5 -p1 +%patch6 -p1 +%patch7 -p1 + +%build +export CFLAGS="%{optflags} -fPIE" +export LDFLAGS="-z now -pie" + +autoreconf -fi + +%configure --enable-gtk2 +make %{?_smp_mflags} && mv mtr xmtr.bin && make distclean +%configure --without-gtk +make %{?_smp_mflags} + +%install +install -D -p -m 0755 mtr %{buildroot}/%{_sbindir}/mtr +install -D -p -m 0755 xmtr.bin %{buildroot}/%{_bindir}/xmtr.bin +install -D -p -m 0755 %{SOURCE2} %{buildroot}/%{_bindir}/xmtr +install -D -p -m 644 %{SOURCE3} %{buildroot}/%{_datadir}/polkit-1/actions/org.fedoraproject.mtr.policy +install -D -p -m 644 img/mtr_icon.xpm %{buildroot}/%{_datadir}/pixmaps/mtr_icon.xpm +make DESTDIR=%{buildroot} install + +desktop-file-install \ +%if 0%{?fedora} && 0%{?fedora} < 19 + --vendor="fedora"\ +%endif + --dir=%{buildroot}/%{_datadir}/applications\ + %{SOURCE1} + +%files +%defattr(-,root,root,-) +%doc AUTHORS COPYING FORMATS NEWS README SECURITY +%caps(cap_net_raw=pe) %{_sbindir}/mtr +%{_mandir}/man8/* + +%files gtk +%defattr(-,root,root,-) +%{_bindir}/xmtr +%{_bindir}/xmtr.bin +%{_datadir}/pixmaps/mtr_icon.xpm +%{_datadir}/polkit-1/actions/org.fedoraproject.mtr.policy +%if 0%{?fedora} && 0%{?fedora} < 19 +%{_datadir}/applications/fedora-net-x%{name}.desktop +%else +%{_datadir}/applications/net-x%{name}.desktop +%endif + +%changelog +* Fri Jan 24 2014 Daniel Mach - 2:0.85-7 +- Mass rebuild 2014-01-24 + +* Tue Jan 07 2014 Michal Sekletar - 2:0.85-6 +- call autoreconf before building the package (#1048885) + +* Fri Dec 27 2013 Daniel Mach - 2:0.85-5 +- Mass rebuild 2013-12-27 + +* Fri Oct 18 2013 Michal Sekletar - 2:0.85-4 +- rebuild with new upstream tarball for release 0.85 (#1020927) + +* Wed Oct 16 2013 Michal Sekletar - 2:0.85-3 +- migrate from consolehelper to policykit (#1014074) +- introduce grace period (#1014073) +- query all ipv6 nameservers (#1014075) +- add missing documentation (#949030) +- enable hardened build (#1018907) +- specfile cleanup + +* Mon Aug 05 2013 Michal Sekletar - 2:0.85-2 +- add generate-tarball.sh script + +* Sun Aug 04 2013 Michal Sekletar - 2:0.85-1 +- update to 0.85 +- fix bogus dates in changelog + +* Sat Aug 03 2013 Fedora Release Engineering - 2:0.84-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + +* Thu Jun 06 2013 Michal Sekletar - 2:0.84-2 +- fix crash when dns resolver is configured with both IPv4 and IPv6 nameservers + +* Wed Apr 03 2013 Michal Sekletar - 2:0.84-1 +- update to the newest upstream release +- specfile cleanup + +* Mon Feb 18 2013 Adam Tkac - 2:0.83-2 +- make non-gtk version of mtr buildable + +* Mon Feb 18 2013 Adam Tkac - 2:0.83-1 +- update to 0.83 +- patches merged + - mtr081-rh703549.patch + +* Thu Feb 14 2013 Toshio Kuratomi - 2:0.82-5 +- Remove --vendor flag from desktop-file-install https://fedorahosted.org/fesco/ticket/1077 + +* Thu Feb 14 2013 Fedora Release Engineering - 2:0.82-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + +* Fri Jul 20 2012 Fedora Release Engineering - 2:0.82-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Fri Jan 13 2012 Fedora Release Engineering - 2:0.82-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + +* Wed Dec 07 2011 Adam Tkac - 2:0.82-1 +- update to 0.82 + +* Tue Nov 01 2011 Adam Tkac - 2:0.81-1 +- update to 0.81 +- mtr-now-waits-for-last-response.patch is no longer needed +- fixed wide report output (#703549) + +* Tue Feb 08 2011 Fedora Release Engineering - 2:0.80-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Wed Nov 03 2010 Adam Tkac 2:0.80-2 +- use file capabilities instead of SUID (#646479) + +* Tue Oct 26 2010 Jan Görig 2:0.80-1 +- update to 0.80 +- mtr now waits for last sent packet (#611739) +- fixed crashes in XML format +- XML format fixes + +* Mon Jun 28 2010 Adam Tkac 2:0.79-1 +- update to 0.79 +- patches merged + - mtr-0.75-fd-flags.path + - mtr075-rh516603.patch + +* Mon Dec 07 2009 Adam Tkac 2:0.75-6 +- install mtr as SUID binary (#518828) +- use fprintf instead of perror when getaddrinfo fails (#516603) + +* Fri Sep 25 2009 Adam Tkac 2:0.75-5 +- remove unneeded build requires (#525547) + +* Sat Jul 25 2009 Fedora Release Engineering - 2:0.75-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild + +* Wed Feb 25 2009 Fedora Release Engineering - 2:0.75-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild + +* Wed Oct 29 2008 Zdenek Prikryl - 2:0.75-2 +- Fixed setting socket flags in ipv4 only environment (#467964) + +* Tue Sep 23 2008 Zdenek Prikryl - 2:0.75-1 +- Updated to 0.75 +- Removed confusing underflow patch +- Removed format patch bacause of -w option + +* Tue Sep 09 2008 Zdenek Prikryl - 2:0.74-1 +- Updated to 0.74 + +* Tue Sep 02 2008 Zdenek Prikryl - 2:0.73-2 +- Minor fix in the patch underflow + +* Wed May 21 2008 Zdenek Prikryl - 2:0.73-1 +- Updated to 0.73 +- Fixed mtr-0.69-CVE-2002-0497.patch +- Added build requirement for GTK+ + +* Tue Feb 19 2008 Fedora Release Engineering - 2:0.72-4 +- Autorebuild for GCC 4.3 + +* Fri Aug 24 2007 Marcela Maslanova - 2:0.72-3 +- rebuild for mas rebuild +- check license + +* Thu Mar 15 2007 Karsten Hopp 2:0.72-2 +- rebuild with current gtk2 to add png support (#232013) + +* Thu Feb 22 2007 Marcela Maslanova - 2:0.72-1 +- review +- rhbz#226164 + +* Wed Jul 12 2006 Jesse Keating - 2:0.71-3.1 +- rebuild + +* Mon Jul 3 2006 Marcela Maslanova - 2:0.71-3 +- bugzilla #195458 – reverse-map bug in mtr and patch - resolving ipv6 hostname correctly + +* Tue May 30 2006 Marcela Maslanova - 2:0.71-2 +- underflow solved + +* Fri Mar 24 2006 Miroslav Lichvar - 2:0.71-1 +- update to mtr-0.71 + +* Thu Mar 23 2006 Miroslav Lichvar - 2:0.70-1 +- update to mtr-0.70 +- replace s390x patch, drop automake dependency + +* Fri Feb 10 2006 Jesse Keating - 2:0.69-7.2.1 +- bump again for double-long bug on ppc(64) + +* Tue Feb 07 2006 Jesse Keating - 2:0.69-7.2 +- rebuilt for new gcc4.1 snapshot and glibc changes + +* Fri Dec 09 2005 Jesse Keating +- rebuilt + +* Fri Oct 21 2005 Phil Knirsch 2:0.69-7 +- Fixed xmtr to be installed in /usr/bin instead of /usr/X11R6/bin (#170945) + +* Mon Oct 10 2005 Phil Knirsch 2:0.69-6 +- Added missing gtk+-devel BuildPreReq (#168215) + +* Fri Oct 7 2005 Tomas Mraz 2:0.69-5 +- use include instead of pam_stack in pam config + +* Mon Sep 05 2005 Phil Knirsch 2:0.69-4 +- Made the output, especially for reports much more readable (#147865) +- Fixed --address option (#162029) + +* Wed Mar 02 2005 Phil Knirsch 2:0.69-3 +- bump release and rebuild with gcc 4 + +* Thu Feb 10 2005 Karsten Hopp 2:0.69-2 +- build with --enable-gtk2 (John Thacker) + +* Wed Feb 09 2005 Phil Knirsch 2:0.69-1 +- Updated to mtr-0.69 +- Dropped quite a few patches +- Forewardported the CVE patch + +* Mon Oct 18 2004 Phil Knirsch 2:0.54-10 +- rebuilt + +* Wed Oct 06 2004 Phil Knirsch 2:0.54-9 +- Add CVE patch for security reasons (#129386) +- Add patch to fix broken --address option (#132628) +- Add patch to fix broken reverse DNS lookups for ipv6 (#134532) + +* Tue Aug 24 2004 Warren Togami 2:0.54-8 +- #121705 and other spec cleanups +- remove redundant documentation + +* Thu Jul 01 2004 Phil Knirsch 0.54-7 +- Fixed broken behaviour with resolver SERVFAIL results (#125392) +- Added ncurses-devel libtermcap-devel as BuildPreReq (#124553) +- Added gtk+ Requires for mtr-gtk package (#121705) + +* Tue Jun 15 2004 Elliot Lee +- rebuilt + +* Wed Apr 21 2004 Phil Knirsch 0.54-5 +- Removed absolute path for Icon in desktop file (#120170) + +* Mon Feb 16 2004 Phil Knirsch +- Added IPv6 patch from ftp://ftp.kame.net/pub/kame/misc/mtr-054-* +- Enabled IPv6 in mtr. +- Included fix from Robert Scheck to make GTK optional in configure. + +* Fri Feb 13 2004 Elliot Lee +- rebuilt + +* Wed Feb 04 2004 Phil Knirsch 0.54-2 +- Fix to build on current tree. + +* Sat Oct 18 2003 Florian La Roche +- update to 0.54 + +* Wed Jun 04 2003 Elliot Lee +- rebuilt + +* Wed Jan 22 2003 Tim Powers +- rebuilt + +* Fri Nov 29 2002 Phil Knirsch 0.52-1 +- Update to latest upstream version (0.52). + +* Tue Nov 12 2002 Nalin Dahyabhai 0.49-9 +- Remove absolute paths from the PAM configuration, ensuring that the modules + for the right arch get used on multilib systems. +- Remove Icon:. + +* Tue Sep 24 2002 Bernhard Rosenkraenzer 0.49-7a +- Fix build on s390x + +* Mon Aug 19 2002 Phil Knirsch 0.49-7 +- Fixed consolehelper support. + +* Wed Aug 07 2002 Phil Knirsch 0.49-6 +- Desktop file fixes (#69550). + +* Fri Jun 21 2002 Tim Powers 0.49-5 +- automated rebuild + +* Tue Jun 18 2002 Phil Knirsch 0.49-4 +- Added consolehelper support to xmtr. + +* Sun May 26 2002 Tim Powers +- automated rebuild + +* Wed May 22 2002 Phil Knirsch 0.49-2 +- Fixed autoFOO problems. + +* Fri Mar 08 2002 Florian La Roche +- 0.49 update + +* Thu Mar 07 2002 Florian La Roche +- 0.48 update + +* Mon Jun 25 2001 Preston Brown +- 0.44 bugfix release +- fix display of icon in .desktop entry + +* Sun Jun 24 2001 Elliot Lee +- Bump release + rebuild. + +* Mon Feb 12 2001 Preston Brown +- don't advertise gtk support in non-gtk binary (#27172) + +* Fri Oct 20 2000 Bill Nottingham +- fix autoconf check for resolver functions + +* Fri Jul 21 2000 Bill Nottingham +- fix group + +* Wed Jul 12 2000 Prospector +- automatic rebuild + +* Thu Jul 6 2000 Bill Nottingham +- fix setuid bit +- remove symlink +- force build of non-gtk version + +* Mon Jun 19 2000 Preston Brown +- disable SUID bits +- desktop entry + +* Mon Jun 19 2000 Than Ngo +- FHS fixes + +* Fri May 26 2000 Preston Brown +- adopted for Winston + +* Thu Aug 19 1999 Ryan Weaver + [mtr-0.41-1] +- Added afr's patch to allow disabeling of gtk without Robn's hack. +- Made report mode report the newly added extra resolution. + +* Wed Aug 18 1999 Ryan Weaver +- renamed mtr-gtk to xmtr +- added symlink from /usr/bin/mtr to /usr/sbin/mtr + + [mtr-0.40-1] +- Fixed some problems with HPUX and SunOS. +- Included Olav Kvittem's patch to do packetsize option. +- Made the timekeeping in micro seconds. + +* Thu Jun 10 1999 Ryan Weaver + [mtr-0.39-1] +- Updated to version 0.39. + +* Wed Jun 9 1999 Ryan Weaver + [mtr-0.38-1] +- Updated to version 0.38. + +* Thu Apr 15 1999 Ryan Weaver + [mtr-0.37-2] +- Changed RPM headers to conform to Red Hat Contrib|Net specs. + +* Mon Apr 12 1999 Ryan Weaver + [mtr-0.37-1] +- v0.37 +- Added Bill Bogstad's "show the local host & time" patch. +- Added R. Sparks' show-last-ping patch, submitted by Philip Kizer. + +- v0.36 +- Added Craigs change-the-interval-on-the-fly patch. +- Added Moritz Barsnick's "do something sensible if host not found" + patch. +- Some cleanup of both Craigs and Moritz' patches. + +* Wed Apr 7 1999 Ryan Weaver + [mtr-0.35-1] +- v0.35 +- Added Craig Milo Rogers pause/resume for GTK patch. +- Added Craig Milo Rogers cleanup of "reset". (restart at the beginning) +- Net_open used to send a first packet. After that the display-driver + got a chance to distort the timing by taking its time to initialize. + +* Mon Apr 5 1999 Ryan Weaver + [mtr-0.34-1] +- v0.34 +- Added Matt's nifty "use the icmp unreachables to do the timing" patch. +- Added Steve Kann's pause/resume patch. + +* Wed Mar 10 1999 Ryan Weaver + [mtr-0.33-1] +- v0.33 +- Fixed the Linux glibc resolver problems. +- Fixed the off-by-one problem with -c option. + +* Mon Mar 8 1999 Ryan Weaver + [mtr-0.32-1] +- v0.32 +- Fixed the FreeBSD bug detection stuff. + +* Fri Mar 5 1999 Ryan Weaver + [mtr-0.31-1] +- v0.31 +- Fixed a few documentation issues. -- Matt +- Changed the autoconf stuff to find the resolver library on + Solaris. -- REW +- Cleaned up the autoconf.in file a bit. -- Matt. + +* Thu Mar 4 1999 Ryan Weaver + [mtr-0.30-1] +- Build gtk version against gtk+-1.2.0 +- v0.30 +- Fixed a typo in the changelog (NEWS) entry for 0.27. :-) +- added use of "MTR_OPTIONS" environment variable for defaults.