diff --git a/.gitignore b/.gitignore index 742e08a..6139984 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -SOURCES/traceroute-2.1.0.tar.gz +SOURCES/traceroute-2.1.1.tar.gz diff --git a/.traceroute.metadata b/.traceroute.metadata index 638bf0a..8bec61d 100644 --- a/.traceroute.metadata +++ b/.traceroute.metadata @@ -1 +1 @@ -bc5c6c8022187511be5665b3818d919be5987dcc SOURCES/traceroute-2.1.0.tar.gz +74cad59c5b698e9686913b501559203de94e4099 SOURCES/traceroute-2.1.1.tar.gz diff --git a/SOURCES/100-make-traceroute-follow-RFC-3484-conditionally.patch b/SOURCES/100-make-traceroute-follow-RFC-3484-conditionally.patch new file mode 100644 index 0000000..a0380c2 --- /dev/null +++ b/SOURCES/100-make-traceroute-follow-RFC-3484-conditionally.patch @@ -0,0 +1,40 @@ +From 614edd1ad7e5d2ec2f5f6c43dc6cae05ac893f48 Mon Sep 17 00:00:00 2001 +From: Jan Macku +Date: Wed, 18 Sep 2024 13:02:48 +0200 +Subject: [PATCH] make traceroute follow RFC-3484 conditionally + +RFC-3484 - Is defining rules for IPv6 address selection. +https://www.rfc-editor.org/info/rfc3484 + +This patch is adding option to allow traceroute to follow RFC-3484 for IPv6 address selection by setting the environment variable TRACEROUTE_USE_RFC3484. + +Modification of upstream patch released in 2.1.6 - upstream tracker https://sourceforge.net/p/traceroute/bugs/16/ + +Resolves: RHEL-59444 +--- + traceroute/traceroute.c | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/traceroute/traceroute.c b/traceroute/traceroute.c +index 0a29e36..f755a24 100644 +--- a/traceroute/traceroute.c ++++ b/traceroute/traceroute.c +@@ -210,10 +210,15 @@ static int getaddr (const char *name, sockaddr_any *addr) { + } + + for (ai = res; ai; ai = ai->ai_next) { ++ if (!getenv("TRACEROUTE_USE_RFC3484")) { + if (ai->ai_family == af) break; + /* when af not specified, choose DEF_AF if present */ + if (!af && ai->ai_family == DEF_AF) + break; ++ } else { ++ if (!af || ai->ai_family == af) ++ break; ++ } + } + if (!ai) ai = res; /* anything... */ + +-- +2.46.0 + diff --git a/SPECS/traceroute.spec b/SPECS/traceroute.spec index 18eb8c8..9a6d6d1 100644 --- a/SPECS/traceroute.spec +++ b/SPECS/traceroute.spec @@ -1,8 +1,8 @@ Summary: Traces the route taken by packets over an IPv4/IPv6 network Name: traceroute Epoch: 3 -Version: 2.1.0 -Release: 18%{?dist} +Version: 2.1.1 +Release: 1%{?dist} License: GPLv2+ URL: http://traceroute.sourceforge.net Source0: https://downloads.sourceforge.net/project/traceroute/traceroute/traceroute-%{version}/traceroute-%{version}.tar.gz @@ -10,6 +10,9 @@ Source0: https://downloads.sourceforge.net/project/traceroute/traceroute/tracero Patch001: 001-review-of-CWE-170-CWE-772.patch Patch002: 002-traceroute-CVE-2023-46316.patch +# Downstream only patches +Patch100: 100-make-traceroute-follow-RFC-3484-conditionally.patch + Provides: tcptraceroute = 1.5-1 Obsoletes: tcptraceroute < 1.5-1 @@ -54,6 +57,19 @@ ln -s traceroute.8 $RPM_BUILD_ROOT%{_mandir}/man8/tcptraceroute.8 %changelog +* Mon Dec 02 2024 Jan Macku - 3:2.1.1-1 +- rebase to 2.1.1 (RHEL-67117) + Interpret ipv4-mapped ipv6 addresses (::ffff:A.B.C.D) as true ipv4. + + There are no ipv4-mapped addresses in the real network which we + operate on, so use just ipv4 in such cases, but allow users + to specify it this way for convenience. + + Return back more robast poll(2) loop handling. + +* Wed Sep 18 2024 Jan Macku - 3:2.1.0-19 +- make traceroute follow RFC-3484 conditionally (RHEL-58449) + * Mon Nov 27 2023 Jan Macku - 3:2.1.0-18 - add gating.yaml