]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
pullup:
authorMark Andrews <marka@isc.org>
Fri, 2 Nov 2001 00:20:12 +0000 (00:20 +0000)
committerMark Andrews <marka@isc.org>
Fri, 2 Nov 2001 00:20:12 +0000 (00:20 +0000)
Deal with AIX defining in6addr_any but not in6addr_loopback
in libc, even though both are declared in <netinet/in.h>.  This caused
named to fail to link on AIX after change 1083, which introduced
the first actual use of in6addr_loopback.

configure.in
lib/isc/include/isc/platform.h.in
lib/isc/unix/include/isc/net.h
lib/isc/unix/net.c
lib/lwres/include/lwres/platform.h.in

index 00ec4acd2a1091b8e6436dcbc2b0a8d50fdc8a46..874a1e61ebf81945a87cf0b5b3d9f8570b1397da 100644 (file)
@@ -18,7 +18,7 @@ AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)dnl
 esyscmd([sed "s/^/# /" COPYRIGHT])dnl
 AC_DIVERT_POP()dnl
 
-AC_REVISION($Revision: 1.294.2.3 $)
+AC_REVISION($Revision: 1.294.2.4 $)
 
 AC_INIT(lib/dns/name.c)
 AC_PREREQ(2.13)
@@ -1027,6 +1027,23 @@ $isc_in_addr6_hack
                         ISC_PLATFORM_NEEDIN6ADDRANY="#define ISC_PLATFORM_NEEDIN6ADDRANY 1"
                         LWRES_PLATFORM_NEEDIN6ADDRANY="#define LWRES_PLATFORM_NEEDIN6ADDRANY 1"])
 
+               AC_MSG_CHECKING(for in6addr_loopback)
+               AC_TRY_LINK([
+#include <sys/types.h>
+#include <sys/socket.h>
+#include <netinet/in.h>
+$isc_netinetin6_hack
+$isc_netinet6in6_hack
+$isc_in_addr6_hack
+],
+               [struct in6_addr in6; in6 = in6addr_loopback; return (0);],
+                       [AC_MSG_RESULT(yes)
+                        ISC_PLATFORM_NEEDIN6ADDRLOOPBACK="#undef ISC_PLATFORM_NEEDIN6ADDRLOOPBACK"
+                        LWRES_PLATFORM_NEEDIN6ADDRLOOPBACK="#undef LWRES_PLATFORM_NEEDIN6ADDRLOOPBACK"],
+                       [AC_MSG_RESULT(no)
+                        ISC_PLATFORM_NEEDIN6ADDRLOOPBACK="#define ISC_PLATFORM_NEEDIN6ADDRLOOPBACK 1"
+                        LWRES_PLATFORM_NEEDIN6ADDRLOOPBACK="#define LWRES_PLATFORM_NEEDIN6ADDRLOOPBACK 1"])
+
                AC_MSG_CHECKING(for sin6_scope_id in struct sockaddr_in6)
                AC_TRY_COMPILE([
 #include <sys/types.h>
@@ -1080,6 +1097,8 @@ AC_SUBST(ISC_PLATFORM_HAVEINADDR6)
 AC_SUBST(LWRES_PLATFORM_HAVEINADDR6)
 AC_SUBST(ISC_PLATFORM_NEEDIN6ADDRANY)
 AC_SUBST(LWRES_PLATFORM_NEEDIN6ADDRANY)
+AC_SUBST(ISC_PLATFORM_NEEDIN6ADDRLOOPBACK)
+AC_SUBST(LWRES_PLATFORM_NEEDIN6ADDRLOOPBACK)
 AC_SUBST(ISC_PLATFORM_HAVEIN6PKTINFO)
 AC_SUBST(ISC_PLATFORM_FIXIN6ISADDR)
 AC_SUBST(ISC_IPV6_H)
index 345f6567131f9c1e31a13555f761ac7a93d88660..ed7fe14b9b874283d7cc07148d4fde0f55f45210 100644 (file)
@@ -15,7 +15,7 @@
  * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  */
 
-/* $Id: platform.h.in,v 1.24 2001/07/18 08:15:21 marka Exp $ */
+/* $Id: platform.h.in,v 1.24.2.1 2001/11/02 00:20:07 marka Exp $ */
 
 #ifndef ISC_PLATFORM_H
 #define ISC_PLATFORM_H 1
  */
 @ISC_PLATFORM_NEEDIN6ADDRANY@
 
+/*
+ * If this system is missing in6addr_loopback, ISC_PLATFORM_NEEDIN6ADDRLOOPBACK
+ * will be defined.
+ */
+@ISC_PLATFORM_NEEDIN6ADDRLOOPBACK@
+
 /*
  * If this system has in6_pktinfo, ISC_PLATFORM_HAVEIN6PKTINFO will be
  * defined.
index 9b51c49316abe9b04b9db06b7d54394d8c65fe7f..b26b0c0abf448b30fb7f036a0d49afb0d37883c7 100644 (file)
@@ -15,7 +15,7 @@
  * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  */
 
-/* $Id: net.h,v 1.31 2001/07/16 03:06:53 marka Exp $ */
+/* $Id: net.h,v 1.31.2.1 2001/11/02 00:20:09 marka Exp $ */
 
 #ifndef ISC_NET_H
 #define ISC_NET_H 1
@@ -167,6 +167,9 @@ struct in6_pktinfo {
 #if defined(ISC_PLATFORM_HAVEIPV6) && defined(ISC_PLATFORM_NEEDIN6ADDRANY)
 extern const struct in6_addr isc_net_in6addrany;
 #define in6addr_any isc_net_in6addrany
+#endif
+
+#if defined(ISC_PLATFORM_HAVEIPV6) && defined(ISC_PLATFORM_NEEDIN6ADDRLOOPBACK)
 extern const struct in6_addr isc_net_in6addrloop;
 #define in6addr_loopback isc_net_in6addrloop
 #endif
index ba2eb419b5e8b9fa42bb7ccc956dd35161dd4e65..57a0ea67072fcab5634a863a42a7695f1dc23570 100644 (file)
@@ -15,7 +15,7 @@
  * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  */
 
-/* $Id: net.c,v 1.22.2.1 2001/10/22 23:28:22 gson Exp $ */
+/* $Id: net.c,v 1.22.2.2 2001/11/02 00:20:12 marka Exp $ */
 
 #include <config.h>
 
@@ -32,6 +32,9 @@
 
 #if defined(ISC_PLATFORM_HAVEIPV6) && defined(ISC_PLATFORM_NEEDIN6ADDRANY)
 const struct in6_addr isc_net_in6addrany = IN6ADDR_ANY_INIT;
+#endif
+
+#if defined(ISC_PLATFORM_HAVEIPV6) && defined(ISC_PLATFORM_NEEDIN6ADDRLOOPBACK)
 const struct in6_addr isc_net_in6addrloop = IN6ADDR_LOOPBACK_INIT;
 #endif
 
index 64fb8a1605f113997f2a63a276e8f1031dd90f9b..185edb3ddf136e1f84a301aac9380c15e34609a3 100644 (file)
@@ -15,7 +15,7 @@
  * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  */
 
-/* $Id: platform.h.in,v 1.12 2001/07/18 08:15:23 marka Exp $ */
+/* $Id: platform.h.in,v 1.12.2.1 2001/11/02 00:20:10 marka Exp $ */
 
 #ifndef LWRES_PLATFORM_H
 #define LWRES_PLATFORM_H 1
  */
 @LWRES_PLATFORM_NEEDIN6ADDRANY@
 
+/*
+ * If this system is missing in6addr_loopback, 
+ * LWRES_PLATFORM_NEEDIN6ADDRLOOPBACK will be defined.
+ */
+@LWRES_PLATFORM_NEEDIN6ADDRLOOPBACK@
+
 /*
  * If this system has in_addr6, rather than in6_addr,
  * LWRES_PLATFORM_HAVEINADDR6 will be defined.