Package: ucspi-tcp-ipv6 Version: 1:0.88-3 Severity: normal Tags: patch upstream ipv6 X-Debbugs-Cc: r...@debian.org
There seems to be a long-standing minor bug in the way tcpclient loops over the IPv6 address records returned by the DNS lookup: at each iteration, the address pointer should be advanced by 16 bytes, not by 4 as in the IPv4 case. G'luck, Peter -- System Information: Debian Release: trixie/sid APT prefers testing APT policy: (990, 'testing'), (500, 'stable-updates'), (500, 'stable-security'), (500, 'oldstable-updates'), (500, 'oldstable-security'), (500, 'oldoldstable-updates'), (500, 'oldoldstable'), (500, 'stable'), (500, 'oldstable') Architecture: amd64 (x86_64) Kernel: Linux 6.9.10-amd64 (SMP w/16 CPU threads; PREEMPT) Kernel taint flags: TAINT_WARN Locale: LANG=bg_BG.UTF-8, LC_CTYPE=bg_BG.UTF-8 (charmap=UTF-8), LANGUAGE not set Shell: /bin/sh linked to /usr/bin/dash Init: systemd (via /run/systemd/system) LSM: AppArmor: enabled Versions of packages ucspi-tcp-ipv6 depends on: ii libc6 2.39-4 ucspi-tcp-ipv6 recommends no packages. ucspi-tcp-ipv6 suggests no packages. -- no debconf information
commit 686ea15c4669b1aa8e2d5a5faf70aa5861087900 Author: Peter Pentchev <r...@debian.org> Date: Sun Jul 28 12:07:17 2024 +0300 Fix connecting to more than one host over IPv6 When trying the second, third, etc. IPv6 addresses returned by the DNS lookup, advance the address pointer by 16 bytes, not 4. diff --git a/debian/ipv6-support.patch b/debian/ipv6-support.patch index 786e10a..86f1a0c 100644 --- a/debian/ipv6-support.patch +++ b/debian/ipv6-support.patch @@ -3728,7 +3728,7 @@ index 9f6d7f2..77b1ad5 100644 if (!stralloc_copys(&moreaddresses,"")) nomem(); - for (j = 0;j + 4 <= addresses.len;j += 4) { - s = socket_tcp(); -+ for (j = 0;j + 16 <= addresses.len;j += 4) { ++ for (j = 0;j + 16 <= addresses.len;j += 16) { + s = socket_tcp6(); if (s == -1) strerr_die2sys(111,FATAL,"unable to create socket: ");
signature.asc
Description: PGP signature