[SCM] Samba Shared Repository - branch v4-15-test updated

Jule Anger janger at samba.org
Fri Jan 21 10:44:01 UTC 2022


The branch, v4-15-test has been updated
       via  cf1ee828aa1 waf: Fix resolv_wrapper with glibc 2.34
      from  60506e99312 VERSION: Bump version up to Samba 4.15.5...

https://git.samba.org/?p=samba.git;a=shortlog;h=v4-15-test


- Log -----------------------------------------------------------------
commit cf1ee828aa1c6dd46df057084783a809c654106b
Author: Andreas Schneider <asn at samba.org>
Date:   Thu Oct 7 15:55:37 2021 +0200

    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 at samba.org>
    Reviewed-by: Andreas Schneider <asn at cryptomilk.org>
    Reviewed-by: Alexander Bokovoy <ab at samba.org>
    (cherry picked from commit e556b4067e0c4036e20fc26523e3b4d6d5c6be42)
    
    Autobuild-User(v4-15-test): Jule Anger <janger at samba.org>
    Autobuild-Date(v4-15-test): Fri Jan 21 10:43:14 UTC 2022 on sn-devel-184

-----------------------------------------------------------------------

Summary of changes:
 selftest/wscript                   |  2 +-
 third_party/resolv_wrapper/wscript | 13 +++++++++++++
 2 files changed, 14 insertions(+), 1 deletion(-)


Changeset truncated at 500 lines:

diff --git a/selftest/wscript b/selftest/wscript
index a6be06c2ae9..85d9338489a 100644
--- a/selftest/wscript
+++ b/selftest/wscript
@@ -252,7 +252,7 @@ def cmd_testonly(opt):
     if os.environ.get('USE_NAMESPACES') is None:
         env.OPTIONS += " --socket_wrapper_so_path=" + CONFIG_GET(opt, 'LIBSOCKET_WRAPPER_SO_PATH')
 
-    if Utils.unversioned_sys_platform() in ('netbsd', 'openbsd', 'sunos'):
+    if not CONFIG_SET(opt, 'HAVE_RESOLV_CONF_SUPPORT'):
         env.OPTIONS += " --use-dns-faking"
 
     if CONFIG_GET(opt, 'USING_SYSTEM_KRB5') and CONFIG_GET(opt, 'MIT_KDC_PATH'):
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)


-- 
Samba Shared Repository



More information about the samba-cvs mailing list