[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#1120860: trixie-pu: package tayga/0.9.2-10+deb13u1



Package: release.debian.org
Severity: normal
Tags: trixie
X-Debbugs-Cc: tayga@packages.debian.org, dxld@darkboxed.org
Control: affects -1 + src:tayga
User: release.debian.org@packages.debian.org
Usertags: pu

Hi Release team,

I would appreciate your pre-approval for the following stable-update.

[ Reason ]
tayga=0.9.2-10 in Trixie regressed in the handling of 'map' directives:
#1082060.

[ Impact ]
This breaks one of the core features of tayga, the ability to establish a
mapping between individual IPv4 and IPv6 addressess. Most importantly this
impacts the 464XLAT CLAT use-case (see the clatd=2.1.0-2+deb13u1 p-u).

[ Tests ]
I've manually validated the fix and confirmed map directives as generated
by clatd work with the "Fix EAM mapping for host addressess" patch.

The patch was taken from a new upstream fork of tayga by Andrew "apalrd"
which has added very rigorous automated tests using scapy and I've reviewed
Andrew's commit history since he forked our 0.9.2-10 and manually confirmed
that no other relevant change was made to the translation code as part of
this concentrated testing effort.

[ Risks ]

The calc_ip4_mask() function we touch here is used throughout the
code. Complex configurations could have interactions we don't expect.

We could de-risk this further by digging into the details of why the
changes to our EAM support patch as part of -9 broke this feature, but I
don't think it necessary given the deep testing Andrew did to arrive at
this single-line change.

[ Checklist ]
  [x] *all* changes are documented in the d/changelog
  [x] I reviewed all changes and I approve them
  [x] attach debdiff against the package in (old)stable
  [ ] the issue is verified as fixed in unstable -- No: upload in NEW

[ Changes ]

 - Add a patch "Fix EAM mapping for host addressess" which adds a special
   case for the ipv4 mask calculation with /32 (host) addressess.

Thanks,
--Daniel
diff -Nru tayga-0.9.2/debian/changelog tayga-0.9.2/debian/changelog
--- tayga-0.9.2/debian/changelog	2024-07-24 08:36:16.000000000 +0200
+++ tayga-0.9.2/debian/changelog	2025-11-17 17:51:37.000000000 +0100
@@ -1,3 +1,10 @@
+tayga (0.9.2-10+deb13u1) trixie; urgency=medium
+
+  * Refresh 0012-rfc8125-local-prefix.patch
+  * Add patch "Fix EAM mapping for host addressess" (Closes: #1082060)
+
+ -- Daniel Gröber <dxld@darkboxed.org>  Mon, 17 Nov 2025 17:51:37 +0100
+
 tayga (0.9.2-10) unstable; urgency=medium
 
   * Ship a systemd service supporting the default config (Closes: #1039390)
diff -Nru tayga-0.9.2/debian/gbp.conf tayga-0.9.2/debian/gbp.conf
--- tayga-0.9.2/debian/gbp.conf	2024-07-24 08:36:16.000000000 +0200
+++ tayga-0.9.2/debian/gbp.conf	2025-11-17 17:51:37.000000000 +0100
@@ -1,5 +1,5 @@
 [DEFAULT]
-debian-branch = debian/master
+debian-branch = debian/trixie
 upstream-branch = upstream/latest
 upstream-tag = 'upstream/%(version)s'
 pristine-tar = True
diff -Nru tayga-0.9.2/debian/patches/0012-rfc8125-local-prefix.patch tayga-0.9.2/debian/patches/0012-rfc8125-local-prefix.patch
--- tayga-0.9.2/debian/patches/0012-rfc8125-local-prefix.patch	2024-07-24 08:36:16.000000000 +0200
+++ tayga-0.9.2/debian/patches/0012-rfc8125-local-prefix.patch	2025-11-17 17:46:57.000000000 +0100
@@ -11,8 +11,8 @@
 Bug-Debian: https://bugs.debian.org/1061773
 Last-Update: 2024-07-12
 
---- tayga-0.9.2.orig/addrmap.c
-+++ tayga-0.9.2/addrmap.c
+--- a/addrmap.c
++++ b/addrmap.c
 @@ -39,10 +39,11 @@ int validate_ip4_addr(const struct in_ad
  
  int validate_ip6_addr(const struct in6_addr *a)
@@ -27,7 +27,7 @@
  	/* Reserved per RFC 2373 */
  	if (!a->s6_addr[0])
  		return -1;
-@@ -376,7 +377,11 @@ int append_to_prefix(struct in6_addr *ad
+@@ -371,7 +372,11 @@ int append_to_prefix(struct in6_addr *ad
  #endif
  		return 0;
  	case 96:
@@ -40,8 +40,8 @@
  				is_private_ip4_addr(addr4))
  			return -1;
  		addr6->s6_addr32[0] = prefix->s6_addr32[0];
---- tayga-0.9.2.orig/tayga.c
-+++ tayga-0.9.2/tayga.c
+--- a/tayga.c
++++ b/tayga.c
 @@ -504,7 +504,9 @@ int main(int argc, char **argv)
  		inet_ntop(AF_INET6, &m6->addr, addrbuf, sizeof(addrbuf));
  		slog(LOG_INFO, "NAT64 prefix: %s/%d\n",
diff -Nru tayga-0.9.2/debian/patches/0013-Fix-EAM-mapping-host-addressess.patch tayga-0.9.2/debian/patches/0013-Fix-EAM-mapping-host-addressess.patch
--- tayga-0.9.2/debian/patches/0013-Fix-EAM-mapping-host-addressess.patch	1970-01-01 01:00:00.000000000 +0100
+++ tayga-0.9.2/debian/patches/0013-Fix-EAM-mapping-host-addressess.patch	2025-11-17 17:46:57.000000000 +0100
@@ -0,0 +1,15 @@
+Description: Fix EAM mapping for host addressess
+Origin: https://github.com/apalrd/tayga/pull/12/commits/ac2a805e10360c41bfe58b18d9391d6fe6a3421a
+Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1082060
+Bug: https://github.com/apalrd/tayga/issues/2
+Applied-Upstream: https://github.com/apalrd/tayga/commit/68cc06f97dcbdaa8de8ed0eb61783500b822e408
+--- a/addrmap.c
++++ b/addrmap.c
+@@ -95,6 +95,7 @@ int is_private_ip4_addr(const struct in_
+ int calc_ip4_mask(struct in_addr *mask, const struct in_addr *addr, int len)
+ {
+ 	mask->s_addr = htonl(~(0xffffffff >> len));
++	if (len == 32) mask->s_addr = 0xffffffff;
+ 	if (addr && (addr->s_addr & ~mask->s_addr))
+ 		return -1;
+ 	return 0;
diff -Nru tayga-0.9.2/debian/patches/series tayga-0.9.2/debian/patches/series
--- tayga-0.9.2/debian/patches/series	2024-07-24 08:36:16.000000000 +0200
+++ tayga-0.9.2/debian/patches/series	2025-11-17 17:51:37.000000000 +0100
@@ -10,3 +10,4 @@
 0010-include-for-writev.patch
 0011-null-char.patch
 0012-rfc8125-local-prefix.patch
+0013-Fix-EAM-mapping-host-addressess.patch

Attachment: signature.asc
Description: PGP signature


Reply to: