summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'sys-libs/glibc/files/2.3.2/glibc-2.3.2-ipv6-bytestring-fix.patch')
-rw-r--r--sys-libs/glibc/files/2.3.2/glibc-2.3.2-ipv6-bytestring-fix.patch112
1 files changed, 0 insertions, 112 deletions
diff --git a/sys-libs/glibc/files/2.3.2/glibc-2.3.2-ipv6-bytestring-fix.patch b/sys-libs/glibc/files/2.3.2/glibc-2.3.2-ipv6-bytestring-fix.patch
deleted file mode 100644
index fc7ded5d6e32..000000000000
--- a/sys-libs/glibc/files/2.3.2/glibc-2.3.2-ipv6-bytestring-fix.patch
+++ /dev/null
@@ -1,112 +0,0 @@
---- libc/resolv/nss_dns/dns-host.c 2003/10/26 08:33:27 1.38
-+++ libc/resolv/nss_dns/dns-host.c 2004/01/15 09:45:57 1.39
-@@ -1,4 +1,4 @@
--/* Copyright (C) 1996-2000, 2001, 2002, 2003 Free Software Foundation, Inc.
-+/* Copyright (C) 1996-2003, 2004 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Extended from original form by Ulrich Drepper <drepper@cygnus.com>, 1996.
-
-@@ -298,6 +298,8 @@
- return NSS_STATUS_UNAVAIL;
- }
-
-+ host_buffer.buf = orig_host_buffer = (querybuf *) alloca (1024);
-+
- switch (af)
- {
- case AF_INET:
-@@ -305,29 +307,38 @@
- (uaddr[2] & 0xff), (uaddr[1] & 0xff), (uaddr[0] & 0xff));
- break;
- case AF_INET6:
-- /* XXX Maybe we need an option to select whether to use the nibble
-- or the bitfield form. The RFC requires the bitfield form so
-- we use it. */
-+ /* Only lookup with the byte string format if the user wants it. */
-+ if (__builtin_expect (_res.options & RES_USEBSTRING, 0))
-+ {
-+ qp = stpcpy (qbuf, "\\[x");
-+ for (n = 0; n < IN6ADDRSZ; ++n)
-+ qp += sprintf (qp, "%02hhx", uaddr[n]);
-+ strcpy (qp, "].ip6.arpa");
-+ n = __libc_res_nquery (&_res, qbuf, C_IN, T_PTR,
-+ host_buffer.buf->buf, 1024, &host_buffer.ptr);
-+ if (n >= 0)
-+ goto got_it_already;
-+ }
- qp = qbuf;
-- qp = stpcpy (qbuf, "\\[x");
-- for (n = 0; n < IN6ADDRSZ; ++n)
-- qp += sprintf (qp, "%02hhx", uaddr[n]);
-- strcpy (qp, "].ip6.arpa");
-+ for (n = IN6ADDRSZ - 1; n >= 0; n--)
-+ {
-+ static const char nibblechar[16] = "0123456789abcdef";
-+ *qp++ = nibblechar[uaddr[n] & 0xf];
-+ *qp++ = '.';
-+ *qp++ = nibblechar[(uaddr[n] >> 4) & 0xf];
-+ *qp++ = '.';
-+ }
-+ strcpy(qp, "ip6.arpa");
- break;
- default:
- /* Cannot happen. */
- break;
- }
-
-- host_buffer.buf = orig_host_buffer = (querybuf *) alloca (1024);
--
- n = __libc_res_nquery (&_res, qbuf, C_IN, T_PTR, host_buffer.buf->buf,
- 1024, &host_buffer.ptr);
- if (n < 0 && af == AF_INET6)
- {
-- qp = qbuf;
-- for (n = IN6ADDRSZ - 1; n >= 0; n--)
-- qp += sprintf (qp, "%x.%x.", uaddr[n] & 0xf, (uaddr[n] >> 4) & 0xf);
- strcpy (qp, "ip6.int");
- n = __libc_res_nquery (&_res, qbuf, C_IN, T_PTR, host_buffer.buf->buf,
- host_buffer.buf != orig_host_buffer
-@@ -342,6 +353,7 @@
- return errno == ECONNREFUSED ? NSS_STATUS_UNAVAIL : NSS_STATUS_NOTFOUND;
- }
-
-+ got_it_already:
- status = getanswer_r (host_buffer.buf, n, qbuf, T_PTR, result, buffer, buflen,
- errnop, h_errnop, 0 /* XXX */);
- if (host_buffer.buf != orig_host_buffer)
---- libc/resolv/resolv.h 2002/12/15 23:22:50 1.37
-+++ libc/resolv/resolv.h 2004/01/15 09:41:58 1.38
-@@ -199,6 +199,8 @@
- #define RES_NOCHECKNAME 0x00008000 /* do not check names for sanity. */
- #define RES_KEEPTSIG 0x00010000 /* do not strip TSIG records */
- #define RES_BLAST 0x00020000 /* blast all recursive servers */
-+#define RES_USEBSTRING 0x00040000 /* IPv6 reverse lookup with byte
-+ strings */
-
- #define RES_DEFAULT (RES_RECURSE | RES_DEFNAMES | RES_DNSRCH)
-
---- libc/resolv/res_debug.c 2002/08/08 02:01:31 1.28
-+++ libc/resolv/res_debug.c 2004/01/15 09:43:35 1.29
-@@ -572,6 +572,10 @@
- case RES_DNSRCH: return "dnsrch";
- case RES_INSECURE1: return "insecure1";
- case RES_INSECURE2: return "insecure2";
-+ case RES_USE_INET6: return "inet6";
-+ case RES_ROTATE: return "rotate";
-+ case RES_NOCHECKNAME: return "no-check-names";
-+ case RES_USEBSTRING: return "ip6-bytstring";
- /* XXX nonreentrant */
- default: sprintf(nbuf, "?0x%lx?", (u_long)option);
- return (nbuf);
---- libc/resolv/res_init.c 2003/09/04 12:48:52 1.34
-+++ libc/resolv/res_init.c 2004/01/15 09:44:18 1.35
-@@ -489,6 +489,9 @@
- #endif
- } else if (!strncmp(cp, "inet6", sizeof("inet6") - 1)) {
- statp->options |= RES_USE_INET6;
-+ } else if (!strncmp(cp, "ip6-bytestring",
-+ sizeof("ip6-bytestring") - 1)) {
-+ statp->options |= RES_USEBSTRING;
- } else if (!strncmp(cp, "rotate", sizeof("rotate") - 1)) {
- statp->options |= RES_ROTATE;
- } else if (!strncmp(cp, "no-check-names",