From daba3af103617ce4dd49bfdd0d9e07df7f22d08d Mon Sep 17 00:00:00 2001 From: Mark Andrews Date: Mon, 6 Mar 2006 02:22:36 +0000 Subject: [PATCH] 2002 [bug] libbind: tighten the constraints on when struct addrinfo._ai_pad exists. [RT #15783] --- CHANGES | 3 +++ lib/bind/include/netdb.h | 4 ++-- lib/bind/irs/getaddrinfo.c | 6 +++--- 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/CHANGES b/CHANGES index c009a27026..2a59d0613c 100644 --- a/CHANGES +++ b/CHANGES @@ -1,3 +1,6 @@ +2002 [bug] libbind: tighten the constraints on when + struct addrinfo._ai_pad exists. [RT #15783] + 2001. [func] Check the KSK flag when updating a secure dynamic zone. New zone option "update-check-ksk yes;". [RT #15817] diff --git a/lib/bind/include/netdb.h b/lib/bind/include/netdb.h index f2751b00c2..baef1002db 100644 --- a/lib/bind/include/netdb.h +++ b/lib/bind/include/netdb.h @@ -86,7 +86,7 @@ /* * @(#)netdb.h 8.1 (Berkeley) 6/2/93 - * $Id: netdb.h,v 1.17 2005/04/27 04:56:15 sra Exp $ + * $Id: netdb.h,v 1.18 2006/03/06 02:22:36 marka Exp $ */ #ifndef _NETDB_H_ @@ -175,7 +175,7 @@ struct addrinfo { int ai_socktype; /*%< SOCK_xxx */ int ai_protocol; /*%< 0 or IPPROTO_xxx for IPv4 and IPv6 */ #if defined(sun) && defined(_SOCKLEN_T) -#ifdef __sparc9 +#ifdef __sparcv9 int _ai_pad; #endif socklen_t ai_addrlen; diff --git a/lib/bind/irs/getaddrinfo.c b/lib/bind/irs/getaddrinfo.c index fe04f0903a..a1ea15d684 100644 --- a/lib/bind/irs/getaddrinfo.c +++ b/lib/bind/irs/getaddrinfo.c @@ -336,7 +336,7 @@ getaddrinfo(hostname, servname, hints, res) pai->ai_family = PF_UNSPEC; pai->ai_socktype = ANY; pai->ai_protocol = ANY; -#ifdef __sparcv9 +#if defined(sun) && defined(_SOCKLEN_T) && defined(__sparcv9) /* * clear _ai_pad to preserve binary * compatibility with previously compiled 64-bit @@ -344,7 +344,7 @@ getaddrinfo(hostname, servname, hints, res) * guaranteeing the upper 32-bits are empty. */ pai->_ai_pad = 0; -#endif /* __sparcv9 */ +#endif pai->ai_addrlen = 0; pai->ai_canonname = NULL; pai->ai_addr = NULL; @@ -369,7 +369,7 @@ getaddrinfo(hostname, servname, hints, res) } memcpy(pai, hints, sizeof(*pai)); -#ifdef __sparcv9 +#if defined(sun) && defined(_SOCKLEN_T) && defined(__sparcv9) /* * We need to clear _ai_pad to preserve binary * compatibility. See prior comment.