Package: whois Version: 4.6.26 Severity: normal Tags: patch http://www.iana.org/assignments/ipv6-tla-assignments shows that IANA has started allocating IPv6 prefixes from 2003::/16. The first allocation, 2003:0000::/18, was to RIPE.
RIPE has already made a further allocation to Deutsche Telecom AG, 2003:0000::/19 for which the information can be seen here http://www.ripe.net/whois?alt_database=RIPE&recursive=ON&searchtext=2003::/19 The following simple patch teaches whois about the new prefix. I took the simple approach since it remains to be seen how the rest of 2003::/16 will be assigned. The patch is also attached to this report. --- whois-4.6.26.orig/whois.c 2004-12-28 11:42:10.000000000 +0200 +++ whois-4.6.26.patched/whois.c 2005-01-23 14:26:05.000000000 +0200 @@ -363,6 +363,12 @@ v6net = strtol(s + 5, NULL, 16); /* second u16 */ v6net = (v6net & 0xFE00) >> 8; /* first 7 bits */ ip6_assign = ip6_assign_misc; + } else if (v6prefix == 0x2003) { + v6net = strtol(s + 5, NULL, 16); /* second u16 */ + if ((v6net & 0xC000) == 0x0000) { /* first 2 bits */ + return "whois.ripe.net"; + } else + return "\x06"; } else if (v6prefix >= 0x2400 && v6prefix <= 0x3A00) { v6net = (v6prefix & 0xFC00) >> 8; /* first 6 bits */ ip6_assign = ip6_assign_rirs; -- System Information: Debian Release: 3.1 APT prefers unstable APT policy: (500, 'unstable') Architecture: i386 (i686) Kernel: Linux 2.6.10-skas3-v7 Locale: LANG=C, LC_CTYPE=C (charmap=ANSI_X3.4-1968) Versions of packages whois depends on: ii libc6 2.3.2.ds1-20 GNU C Library: Shared libraries an ii libidn11 0.5.2-3 GNU libidn library, implementation -- no debconf information
--- whois-4.6.26.orig/whois.c 2004-12-28 11:42:10.000000000 +0200 +++ whois-4.6.26.patched/whois.c 2005-01-23 14:26:05.000000000 +0200 @@ -363,6 +363,12 @@ v6net = strtol(s + 5, NULL, 16); /* second u16 */ v6net = (v6net & 0xFE00) >> 8; /* first 7 bits */ ip6_assign = ip6_assign_misc; + } else if (v6prefix == 0x2003) { + v6net = strtol(s + 5, NULL, 16); /* second u16 */ + if ((v6net & 0xC000) == 0x0000) { /* first 2 bits */ + return "whois.ripe.net"; + } else + return "\x06"; } else if (v6prefix >= 0x2400 && v6prefix <= 0x3A00) { v6net = (v6prefix & 0xFC00) >> 8; /* first 6 bits */ ip6_assign = ip6_assign_rirs;