2004-06-27  Ulrich Drepper  <drepper@redhat.com>

	* resolv/resolv.h (RES_NOIP6DOTINT): Define.
	* resolv/res_init.c (res_setoptions): Handle no-ip6-dotint option.
	* resolv/gethnamaddr.c (gethostbyaddr): Don't lookup with .ip6.int
	if RES_NOIP6DOTINT flag is set.
	* resolv/nss_dns/dns-host.c (_nss_dns_gethostbyaddr_r): Likewise.
This commit is contained in:
Ulrich Drepper 2004-06-28 01:30:07 +00:00
parent f2481c319d
commit 340ef046a6
5 changed files with 15 additions and 2 deletions

View File

@ -1,3 +1,11 @@
2004-06-27 Ulrich Drepper <drepper@redhat.com>
* resolv/resolv.h (RES_NOIP6DOTINT): Define.
* resolv/res_init.c (res_setoptions): Handle no-ip6-dotint option.
* resolv/gethnamaddr.c (gethostbyaddr): Don't lookup with .ip6.int
if RES_NOIP6DOTINT flag is set.
* resolv/nss_dns/dns-host.c (_nss_dns_gethostbyaddr_r): Likewise.
2004-06-25 Jakub Jelinek <jakub@redhat.com>
* sysdeps/unix/sysv/linux/powerpc/fcntl.c: Move to...

View File

@ -720,7 +720,7 @@ gethostbyaddr(addr, len, af)
n = __libc_res_nquery(&_res, qbuf, C_IN, T_PTR, buf.buf->buf, 1024,
&buf.ptr);
if (n < 0 && af == AF_INET6) {
if (n < 0 && af == AF_INET6 && (_res.options & RES_NOIP6DOTINT) == 0) {
strcpy(qp, "ip6.int");
n = __libc_res_nquery(&_res, qbuf, C_IN, T_PTR, buf.buf->buf,
buf.buf != orig_buf ? MAXPACKET : 1024,

View File

@ -337,7 +337,7 @@ _nss_dns_gethostbyaddr_r (const void *addr, socklen_t len, int af,
n = __libc_res_nquery (&_res, qbuf, C_IN, T_PTR, host_buffer.buf->buf,
1024, &host_buffer.ptr);
if (n < 0 && af == AF_INET6)
if (n < 0 && af == AF_INET6 && (_res.options & RES_NOIP6DOTINT) == 0)
{
strcpy (qp, "ip6.int");
n = __libc_res_nquery (&_res, qbuf, C_IN, T_PTR, host_buffer.buf->buf,

View File

@ -492,6 +492,9 @@ res_setoptions(res_state statp, const char *options, const char *source) {
} else if (!strncmp(cp, "ip6-bytestring",
sizeof("ip6-bytestring") - 1)) {
statp->options |= RES_USEBSTRING;
} else if (!strncmp(cp, "no-ip6-dotint",
sizeof("no-ip6-dotint") - 1)) {
statp->options |= RES_NOIP6DOTINT;
} else if (!strncmp(cp, "rotate", sizeof("rotate") - 1)) {
statp->options |= RES_ROTATE;
} else if (!strncmp(cp, "no-check-names",

View File

@ -201,6 +201,8 @@ struct res_sym {
#define RES_BLAST 0x00020000 /* blast all recursive servers */
#define RES_USEBSTRING 0x00040000 /* IPv6 reverse lookup with byte
strings */
#define RES_NOIP6DOTINT 0x00080000 /* Do not use .ip6.int in IPv6
reverse lookup */
#define RES_DEFAULT (RES_RECURSE | RES_DEFNAMES | RES_DNSRCH)