]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
[master] remap getaddrinfo() to irs_getgetaddrinfo()
authorEvan Hunt <each@isc.org>
Mon, 11 Sep 2017 22:01:36 +0000 (15:01 -0700)
committerEvan Hunt <each@isc.org>
Mon, 11 Sep 2017 22:03:57 +0000 (15:03 -0700)
The libirs version of getaddrinfo() cannot be called from within BIND9.

bin/dig/dighost.c
bin/nsupdate/nsupdate.c
bin/tests/system/nsupdate/tests.sh
lib/irs/include/irs/netdb.h.in

index c0f7f0466e253b832b8b74620209fc72081dc6cc..c6752225499bda9eb4d62d2a32767b2870fa556a 100644 (file)
@@ -78,7 +78,6 @@
 #include <isccfg/namedconf.h>
 
 #include <irs/resconf.h>
-#include <irs/netdb.h>
 
 #include <bind9/getaddresses.h>
 
index 763e28f484352bd219ee5a479712fb06a90b071c..e5436e753cff8f5ffa27430c787e739ae5e0a787 100644 (file)
@@ -68,7 +68,6 @@
 #include <dst/dst.h>
 
 #include <irs/resconf.h>
-#include <irs/netdb.h>
 
 #ifdef GSSAPI
 #include <dst/gssapi.h>
index 8673a364e8a2bdc8a2da0eac43264872f2b8b585..707ffe156ebe3519a74f1ef7c0f7e8b4001724ca 100755 (executable)
@@ -803,7 +803,7 @@ echo "I:ensure unresolvable server name is fatal in non-interactive mode ($n)"
 $NSUPDATE <<END > nsupdate.out 2>&1 && ret=1
     server unresolvable..
 END
-grep "couldn't get address for 'unresolvable..': failure" nsupdate.out > /dev/null || ret=1
+grep "couldn't get address for 'unresolvable..': not found" nsupdate.out > /dev/null || ret=1
 grep "syntax error" nsupdate.out > /dev/null || ret=1
 [ $ret = 0 ] || { echo I:failed; status=1; }
 
@@ -813,7 +813,7 @@ echo "I:ensure unresolvable server name is not fatal in interactive mode ($n)"
 $NSUPDATE -i <<END > nsupdate.out 2>&1 || ret=1
     server unresolvable..
 END
-grep "couldn't get address for 'unresolvable..': failure" nsupdate.out > /dev/null || ret=1
+grep "couldn't get address for 'unresolvable..': not found" nsupdate.out > /dev/null || ret=1
 [ $ret = 0 ] || { echo I:failed; status=1; }
 
 n=`expr $n + 1`
index 3661e7d72f0d68fa308342e0bc6cd37d7ae081d2..a0aba7fed844e2aaf654bd626fa8a55e848cc5ce 100644 (file)
@@ -149,6 +149,51 @@ struct addrinfo {
 #define        NI_NUMERICSERV  0x00000008
 #define        NI_DGRAM        0x00000010
 
+/*
+ * Define to map into irs_ namespace.
+ */
+
+#define IRS_NAMESPACE
+
+#ifdef IRS_NAMESPACE
+
+/*
+ * Use our versions not the ones from the C library.
+ */
+
+#ifdef getnameinfo
+#undef getnameinfo
+#endif
+#define getnameinfo irs_getnameinfo
+
+#ifdef getaddrinfo
+#undef getaddrinfo
+#endif
+#define getaddrinfo irs_getaddrinfo
+
+#ifdef freeaddrinfo
+#undef freeaddrinfo
+#endif
+#define freeaddrinfo irs_freeaddrinfo
+
+#ifdef gai_strerror
+#undef gai_strerror
+#endif
+#define gai_strerror irs_gai_strerror
+
+#endif
+
+extern int getaddrinfo (const char *name,
+                       const char *service,
+                       const struct addrinfo *req,
+                       struct addrinfo **pai);
+extern int getnameinfo (const struct sockaddr *sa,
+                       socklen_t salen, char *host,
+                       socklen_t hostlen, char *serv,
+                       socklen_t servlen, int flags);
+extern void freeaddrinfo (struct addrinfo *ai);
+extern const char *gai_strerror (int ecode);
+
 /*
  * Tell Emacs to use C mode on this file.
  * Local variables: