summaryrefslogtreecommitdiff
path: root/third_party/resolv_wrapper
diff options
context:
space:
mode:
authorAndreas Schneider <asn@samba.org>2021-10-07 15:55:37 +0200
committerAndreas Schneider <asn@cryptomilk.org>2021-11-05 11:44:30 +0000
commite556b4067e0c4036e20fc26523e3b4d6d5c6be42 (patch)
tree927cf5b3e906faa668b1121a836900d660df6575 /third_party/resolv_wrapper
parente9495d2ed28a26899dc3dd77bdfe56e284980218 (diff)
downloadsamba-e556b4067e0c4036e20fc26523e3b4d6d5c6be42.tar.gz
waf: Fix resolv_wrapper with glibc 2.34
With glibc 2.34 we are not able to talk to the DNS server via socket_wrapper anymore. The res_* symbols have been moved from libresolv to libc. We are not able to intercept any traffic inside of libc. Signed-off-by: Andreas Schneider <asn@samba.org> Reviewed-by: Andreas Schneider <asn@cryptomilk.org> Reviewed-by: Alexander Bokovoy <ab@samba.org>
Diffstat (limited to 'third_party/resolv_wrapper')
-rw-r--r--third_party/resolv_wrapper/wscript13
1 files changed, 13 insertions, 0 deletions
diff --git a/third_party/resolv_wrapper/wscript b/third_party/resolv_wrapper/wscript
index a7f18389b0f..7e369bd90b5 100644
--- a/third_party/resolv_wrapper/wscript
+++ b/third_party/resolv_wrapper/wscript
@@ -1,6 +1,7 @@
#!/usr/bin/env python
import os
+from waflib import Logs
VERSION="1.1.7"
@@ -49,6 +50,18 @@ def configure(conf):
if conf.CONFIG_SET('HAVE_RES_NCLOSE'):
conf.DEFINE('HAVE_RES_NCLOSE_IN_LIBRESOLV', 1)
+ # If we find res_nquery in libc, we can't do resolv.conf redirect
+ conf.CHECK_FUNCS('res_nquery __res_nquery')
+ if (conf.CONFIG_SET('HAVE_RES_NQUERY')
+ or conf.CONFIG_SET('HAVE___RES_NQUERY')):
+ Logs.warn("Detection for resolv_wrapper: "
+ "Only dns faking will be available")
+ else:
+ if conf.CHECK_FUNCS('res_nquery', lib='resolv'):
+ conf.DEFINE('HAVE_RESOLV_CONF_SUPPORT', 1)
+ if conf.CHECK_FUNCS('__res_nquery', lib='resolv'):
+ conf.DEFINE('HAVE_RESOLV_CONF_SUPPORT', 1)
+
conf.CHECK_FUNCS_IN('res_init __res_init', 'resolv', checklibc=True)
conf.CHECK_FUNCS_IN('res_ninit __res_ninit', 'resolv', checklibc=True)
conf.CHECK_FUNCS_IN('res_close __res_close', 'resolv', checklibc=True)