Hello community, here is the log from the commit of package traceroute for openSUSE:Factory checked in at 2014-09-02 08:22:11 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/traceroute (Old) and /work/SRC/openSUSE:Factory/.traceroute.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "traceroute" Changes: -------- --- /work/SRC/openSUSE:Factory/traceroute/traceroute.changes 2013-03-08 11:20:50.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.traceroute.new/traceroute.changes 2014-09-02 08:22:12.000000000 +0200 @@ -1,0 +2,11 @@ +Sun Aug 31 17:02:49 UTC 2014 - [email protected] + +- version 2.0.20 +* Describe all complementary long options in the man page +* Use correct service name for AS lookups +* Avoid some rare case null dereference +* Improve expiration check for simultaneous probes +- traceroute-secure_getenv.patch use secure_getenv +- traceroute-autotools.patch refresh + +------------------------------------------------------------------- Old: ---- traceroute-2.0.19.tar.gz New: ---- traceroute-2.0.20.tar.gz traceroute-secure_getenv.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ traceroute.spec ++++++ --- /var/tmp/diff_new_pack.cfdGaR/_old 2014-09-02 08:22:13.000000000 +0200 +++ /var/tmp/diff_new_pack.cfdGaR/_new 2014-09-02 08:22:13.000000000 +0200 @@ -1,7 +1,7 @@ # # spec file for package traceroute # -# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -17,7 +17,7 @@ Name: traceroute -Version: 2.0.19 +Version: 2.0.20 Release: 0 Summary: A new modern implementation of traceroute(8) utility for Linux systems License: GPL-2.0+ @@ -25,7 +25,8 @@ Url: http://traceroute.sourceforge.net/ Source: %{name}-%{version}.tar.gz BuildRoot: %{_tmppath}/%{name}-%{version}-build -Patch: traceroute-autotools.patch +Patch0: traceroute-autotools.patch +Patch1: traceroute-secure_getenv.patch BuildRequires: libtool Provides: net-tools:%{_sbindir}/%{name} @@ -36,7 +37,8 @@ %prep %setup -q -%patch +%patch0 -p1 +%patch1 -p1 %build export LDFLAGS="-Wl,-z,relro,-z,now" ++++++ traceroute-2.0.19.tar.gz -> traceroute-2.0.20.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/traceroute-2.0.19/CREDITS new/traceroute-2.0.20/CREDITS --- old/traceroute-2.0.19/CREDITS 2012-11-19 17:53:57.000000000 +0100 +++ new/traceroute-2.0.20/CREDITS 2014-06-14 21:01:38.000000000 +0200 @@ -15,6 +15,9 @@ Filip Holec ([email protected]) Samuel Jero ([email protected]) Jan Synacek ([email protected]) +Frederic Mangano ([email protected]) +Jeff ([email protected]) +Andrew Schwartz ([email protected]) ... maybe you too? ;) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/traceroute-2.0.19/ChangeLog new/traceroute-2.0.20/ChangeLog --- old/traceroute-2.0.19/ChangeLog 2012-11-19 17:51:54.000000000 +0100 +++ new/traceroute-2.0.20/ChangeLog 2014-06-14 21:00:40.000000000 +0200 @@ -1,3 +1,14 @@ +2014-06-14 Dmitry Butskoy <[email protected]> - 2.0.20 + + * Describe all complementary long options in the man page (Jan Synacek) + + * Use correct service name for AS lookups (Frederic Mangano) + + * Avoid some rare case null dereference ([email protected]) + + * Improve expiration check for simultaneous probes + + 2012-11-19 Dmitry Butskoy <[email protected]> - 2.0.19 * DCCP protocol support (rfc4340), by Samuel Jero diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/traceroute-2.0.19/VERSION new/traceroute-2.0.20/VERSION --- old/traceroute-2.0.19/VERSION 2012-11-19 16:52:14.000000000 +0100 +++ new/traceroute-2.0.20/VERSION 2014-06-14 18:41:18.000000000 +0200 @@ -1 +1 @@ -#define VERSION 2.0.19 +#define VERSION 2.0.20 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/traceroute-2.0.19/libsupp/clif.c new/traceroute-2.0.20/libsupp/clif.c --- old/traceroute-2.0.19/libsupp/clif.c 2007-08-06 17:20:17.000000000 +0200 +++ new/traceroute-2.0.20/libsupp/clif.c 2014-06-14 18:55:35.000000000 +0200 @@ -792,9 +792,9 @@ if (l > 0) { memset (buf, ' ', l); buf[l] = '\0'; - fprintf (stderr, buf); + fprintf (stderr, "%s", buf); } else - fprintf (stderr, spacer); + fprintf (stderr, "%s", spacer); endp = buf + width; @@ -833,7 +833,7 @@ *p = '\0'; fprintf (stderr, "%s", buf); - fprintf (stderr, spacer); + fprintf (stderr, "%s", spacer); p++; for (s = buf; *p; *s++ = *p++) ; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/traceroute-2.0.19/traceroute/as_lookups.c new/traceroute-2.0.20/traceroute/as_lookups.c --- old/traceroute-2.0.19/traceroute/as_lookups.c 2010-07-14 15:57:10.000000000 +0200 +++ new/traceroute-2.0.20/traceroute/as_lookups.c 2014-06-14 18:38:25.000000000 +0200 @@ -19,7 +19,7 @@ #define DEF_RADB_SERVER "whois.radb.net" -#define DEF_RADB_SERVICE "whois" +#define DEF_RADB_SERVICE "nicname" static sockaddr_any ra_addr = {{ 0, }, }; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/traceroute-2.0.19/traceroute/traceroute.8 new/traceroute-2.0.20/traceroute/traceroute.8 --- old/traceroute-2.0.19/traceroute/traceroute.8 2012-11-19 17:48:30.000000000 +0100 +++ new/traceroute-2.0.20/traceroute/traceroute.8 2014-06-14 18:52:02.000000000 +0200 @@ -115,16 +115,16 @@ .I traceroute will use IPv4. .TP -.B \-I +.B \-I, \-\-icmp Use ICMP ECHO for probes .TP -.B \-T +.B \-T, \-\-tcp Use TCP SYN for probes .TP -.B \-d +.B \-d, --debug Enable socket level debugging (when the Linux kernel supports it) .TP -.B \-F +.B \-F, --dont-fragment Do not fragment probe packets. (For IPv4 it also sets DF bit, which tells intermediate routers not to fragment remotely as well). .br @@ -148,10 +148,10 @@ the once the discovered final mtu only (from the route cache), which can be less than the actual mtu of a device. .TP -.BI \-f " first_ttl +.BI \-f " first_ttl" ", --first=" first_ttl Specifies with what TTL to start. Defaults to 1. .TP -.BI \-g " gateway +.BI \-g " gateway" ", --gateway=" gateway Tells traceroute to add an IP source routing option to the outgoing packet that tells the network to route the packet through the specified @@ -166,18 +166,18 @@ is a route header type (default is type 2). Note the type 0 route header is now deprecated (rfc5095). .TP -.BI \-i " interface +.BI \-i " interface" ", --interface=" interface Specifies the interface through which .I traceroute should send packets. By default, the interface is selected according to the routing table. .TP -.BI \-m " max_ttl +.BI \-m " max_ttl" ", --max-hops=" max_ttl Specifies the maximum number of hops (max time-to-live value) .I traceroute will probe. The default is 30. .TP -.BI \-N " squeries +.BI \-N " squeries" ", --sim-queries=" squeries Specifies the number of probe packets sent out simultaneously. Sending several probes concurrently can speed up .I traceroute @@ -189,7 +189,7 @@ .BI \-n Do not try to map IP addresses to host names when displaying them. .TP -.BI \-p " port +.BI \-p " port" ", --port=" port For UDP tracing, specifies the destination port base .I traceroute will use (the destination port number will be incremented by each probe). @@ -200,20 +200,20 @@ For TCP and others specifies just the (constant) destination port to connect. .TP -.BI \-t " tos +.BI \-t " tos" ", --tos=" tos For IPv4, set the Type of Service (TOS) and Precedence value. Useful values are 16 (low delay) and 8 (high throughput). Note that in order to use some TOS precedence values, you have to be super user. .br For IPv6, set the Traffic Control value. .TP -.BI \-l " flow_label +.BI \-l " flow_label" ", --flowlabel=" flow_label Use specified flow_label for IPv6 packets. .TP -.BI \-w " waittime +.BI \-w " waittime" ", --wait=" waittime Set the time (in seconds) to wait for a response to a probe (default 5.0 sec). .TP -.BI \-q " nqueries +.BI \-q " nqueries" ", --queries=" nqueries Sets the number of probe packets per hop. The default is 3. .TP .BI \-r @@ -222,18 +222,18 @@ network, an error is returned. This option can be used to ping a local host through an interface that has no route through it. .TP -.BI \-s " source_addr +.BI \-s " source_addr" ", --source=" source_addr Chooses an alternative source address. Note that you must select the address of one of the interfaces. By default, the address of the outgoing interface is used. .TP -.BI \-z " sendwait +.BI \-z " sendwait" ", --sendwait=" sendwait Minimal time interval between probes (default 0). If the value is more than 10, then it specifies a number in milliseconds, else it is a number of seconds (float point values allowed too). Useful when some routers use rate-limit for ICMP messages. .TP -.BI \-e +.B \-e, \-\-extensions Show ICMP extensions (rfc4884). The general form is .I CLASS\fB/\fITYPE\fB: followed by a hexadecimal dump. @@ -243,11 +243,11 @@ .B / ). .TP -.BI \-A +.B \-A, \-\-as\-path\-lookups Perform AS path lookups in routing registries and print results directly after the corresponding addresses. .TP -.BI \-V +.B \-V, \-\-version Print the version and exit. .br .P @@ -262,7 +262,7 @@ .B \--fwmark\fR=\fImark Set the firewall mark for outgoing packets (since the Linux kernel 2.6.25). .TP -.BI \-M " method +.BI \-M " method" ", --module=" name Use specified method for traceroute operations. Default traditional udp method has name .IR default , @@ -282,7 +282,7 @@ .BR "" ( "-I " means " -M icmp" , etc). .TP -.BI \-O " option +.BI \-O " option" ", --options=" options Specifies some method-specific option. Several options are separated by comma (or use several .B \-O on cmdline). @@ -290,17 +290,17 @@ To print information about available options, use .BR \-O\ help . .TP -.BI \-U +.B \-U, \-\-udp Use UDP to particular destination port for tracerouting (instead of increasing the port per each probe). Default port is 53 (dns). .TP .BI \-UL Use UDPLITE for tracerouting (default port is 53). .TP -.BI \-D +.B \-D, \-\-dccp Use DCCP Requests for probes. .TP -.BI \-P " protocol +.BI \-P " protocol" ", --protocol=" protocol Use raw packet of specified protocol for tracerouting. Default protocol is 253 (rfc3692). .TP diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/traceroute-2.0.19/traceroute/traceroute.c new/traceroute-2.0.20/traceroute/traceroute.c --- old/traceroute-2.0.19/traceroute/traceroute.c 2012-11-19 17:12:04.000000000 +0100 +++ new/traceroute-2.0.20/traceroute/traceroute.c 2014-06-14 20:57:38.000000000 +0200 @@ -148,7 +148,7 @@ void error_or_perm (const char *str) { if (errno == EPERM) - fprintf (stderr, "You have no enough privileges to use " + fprintf (stderr, "You do not have enough privileges to use " "this traceroute method."); error (str); } @@ -809,6 +809,15 @@ to the (pseudo-expired) "this" place. */ + /* It seems that the case of "answers for latest ones only" + occurs mostly with icmp_unreach error answers ("!H" etc.). + Icmp_echoreply, tcp_reset and even icmp_port_unreach looks + like going in the right order. + */ + if (!fp->err_str[0]) /* not an icmp_unreach error report... */ + return; + + if (pfp || (idx % probes_per_hop) + (fp - pb) < probes_per_hop ) { @@ -1338,10 +1347,9 @@ if (ee->ee_origin != SO_EE_ORIGIN_ICMP) ee = NULL; - /* dgram icmp sockets might return extra things... */ - if (ee->ee_type == ICMP_SOURCE_QUENCH || - ee->ee_type == ICMP_REDIRECT + else if (ee->ee_type == ICMP_SOURCE_QUENCH || + ee->ee_type == ICMP_REDIRECT ) return; } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/traceroute-2.0.19/traceroute.spec new/traceroute-2.0.20/traceroute.spec --- old/traceroute-2.0.19/traceroute.spec 2012-11-19 16:52:14.000000000 +0100 +++ new/traceroute-2.0.20/traceroute.spec 2014-06-14 18:41:18.000000000 +0200 @@ -1,6 +1,6 @@ Summary: Traces the route taken by packets over an IPv4/IPv6 network Name: traceroute -Version: 2.0.19 +Version: 2.0.20 Release: 1%{?dist} Group: Applications/Internet License: GPLv2+ ++++++ traceroute-autotools.patch ++++++ --- /var/tmp/diff_new_pack.cfdGaR/_old 2014-09-02 08:22:13.000000000 +0200 +++ /var/tmp/diff_new_pack.cfdGaR/_new 2014-09-02 08:22:13.000000000 +0200 @@ -1,11 +1,11 @@ --- /dev/null -+++ Makefile.am ++++ traceroute-2.0.20/Makefile.am @@ -0,0 +1 @@ +SUBDIRS = libsupp traceroute \ No newline at end of file --- /dev/null -+++ configure.ac -@@ -0,0 +1,40 @@ ++++ traceroute-2.0.20/configure.ac +@@ -0,0 +1,41 @@ +# -*- Autoconf -*- +# Process this file with autoconf to produce a configure script. + @@ -43,11 +43,12 @@ +AC_FUNC_REALLOC +AC_FUNC_STRTOD +AC_CHECK_FUNCS([dup2 gettimeofday memset setlocale socket strcasecmp strchr strdup strrchr strstr strtol strtoul uname]) ++AC_CHECK_FUNCS([__secure_getenv secure_getenv]) + +AC_CONFIG_FILES([Makefile libsupp/Makefile traceroute/Makefile]) +AC_OUTPUT --- /dev/null -+++ libsupp/Makefile.am ++++ traceroute-2.0.20/libsupp/Makefile.am @@ -0,0 +1,5 @@ +AM_CPPFLAGS = -include $(top_builddir)/config.h + @@ -55,7 +56,7 @@ + +libsupp_la_SOURCES = clif.c clif.h --- /dev/null -+++ traceroute/Makefile.am ++++ traceroute-2.0.20/traceroute/Makefile.am @@ -0,0 +1,18 @@ + + @@ -76,8 +77,8 @@ +traceroute_LDFLAGS = -pie +traceroute_LDADD = $(top_builddir)/libsupp/libsupp.la \ No newline at end of file ---- traceroute/traceroute.c.orig -+++ traceroute/traceroute.c +--- traceroute-2.0.20.orig/traceroute/traceroute.c ++++ traceroute-2.0.20/traceroute/traceroute.c @@ -28,7 +28,6 @@ #include "flowlabel.h" ++++++ traceroute-secure_getenv.patch ++++++ --- traceroute-2.0.20.orig/traceroute/traceroute.h +++ traceroute-2.0.20/traceroute/traceroute.h @@ -57,6 +57,13 @@ typedef struct tr_module_struct tr_modul #define DEF_DCCP_PORT DEF_START_PORT /* is it a good choice?... */ #define DEF_RAW_PROT 253 /* for experimentation and testing, rfc3692 */ +#ifndef HAVE_SECURE_GETENV +# ifdef HAVE___SECURE_GETENV +# define secure_getenv __secure_getenv +# else +# error neither secure_getenv nor __secure_getenv is available +# endif +#endif void error (const char *str) __attribute__((noreturn)); void error_or_perm (const char *str) __attribute__((noreturn)); --- traceroute-2.0.20.orig/traceroute/as_lookups.c +++ traceroute-2.0.20/traceroute/as_lookups.c @@ -39,10 +39,10 @@ const char *get_as_path (const char *que struct addrinfo *res; int ret; - server = getenv ("RA_SERVER"); + server = secure_getenv ("RA_SERVER"); if (!server) server = DEF_RADB_SERVER; - service = getenv ("RA_SERVICE"); + service = secure_getenv ("RA_SERVICE"); if (!service) service = DEF_RADB_SERVICE; --- traceroute-2.0.20.orig/libsupp/clif.c +++ traceroute-2.0.20/libsupp/clif.c @@ -398,7 +398,7 @@ int CLIF_parse_cmdline (int argc, char * unsigned int dirty_flags = 0; int dirty_plus = 0; int exclusive_cnt = 0; - int posix = getenv ("POSIXLY_CORRECT") != NULL || + int posix = secure_getenv ("POSIXLY_CORRECT") != NULL || (parse_flags & CLIF_POSIX); curr.argc = argc; --- traceroute-2.0.20.orig/libsupp/clif.h +++ traceroute-2.0.20/libsupp/clif.h @@ -118,4 +118,12 @@ extern int CLIF_arg_func (CLIF_argument { "V", "version", 0, "Print version info and exit", \ CLIF_version_handler, STR, 0, CLIF_EXTRA | CLIF_EXIT } +#ifndef HAVE_SECURE_GETENV +# ifdef HAVE___SECURE_GETENV +# define secure_getenv __secure_getenv +# else +# error neither secure_getenv nor __secure_getenv is available +# endif +#endif + #endif /* _CLIF_H */ -- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
