selftest:Samba3: use the correct NSS_WRAPPER_HOSTNAME
authorStefan Metzmacher <metze@samba.org>
Wed, 12 Apr 2023 15:22:02 +0000 (17:22 +0200)
committerStefan Metzmacher <metze@samba.org>
Wed, 12 Apr 2023 20:29:05 +0000 (20:29 +0000)
The value of NSS_WRAPPER_HOSTNAME needs to match value
we put into the NSS_WRAPPER_HOSTS file.

We had a mismatch of
idmapridmember.samba.example.com
vs.
idmapridmember.addom.samba.example.com

This causes getaddrinfo() in nss_wrapper to fallback to
the libc version, which talks to a dns server.
It's not clear if recent glibc code will reach resolve/socket wrapper.
So it's not unlikely that idmapridmember.samba.example.com will
be passed via the internet, which causes delays up to 20 seconds.

BUG: https://bugzilla.samba.org/show_bug.cgi?id=15355

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
Autobuild-User(master): Stefan Metzmacher <metze@samba.org>
Autobuild-Date(master): Wed Apr 12 20:29:05 UTC 2023 on atb-devel-224

selftest/target/Samba3.pm

index ab0b61279ef2bb9f096cc1a75c6b51c4de272e20..717091cc8cf937edd40426de026ad0d08e3ca630 100755 (executable)
@@ -3677,7 +3677,7 @@ jacknomappergroup:x:$gid_jacknomapper:jacknomapper
        $createuser_env{NSS_WRAPPER_PASSWD} = $nss_wrapper_passwd;
        $createuser_env{NSS_WRAPPER_GROUP} = $nss_wrapper_group;
        $createuser_env{NSS_WRAPPER_HOSTS} = $nss_wrapper_hosts;
-       $createuser_env{NSS_WRAPPER_HOSTNAME} = "${hostname}.samba.example.com";
+       $createuser_env{NSS_WRAPPER_HOSTNAME} = "${hostname}.${dns_domain}";
        if ($ENV{SAMBA_DNS_FAKING}) {
                $createuser_env{RESOLV_WRAPPER_HOSTS} = $dns_host_file;
        } else {
@@ -3731,7 +3731,7 @@ jacknomappergroup:x:$gid_jacknomapper:jacknomapper
        $ret{NSS_WRAPPER_PASSWD} = $nss_wrapper_passwd;
        $ret{NSS_WRAPPER_GROUP} = $nss_wrapper_group;
        $ret{NSS_WRAPPER_HOSTS} = $nss_wrapper_hosts;
-       $ret{NSS_WRAPPER_HOSTNAME} = "${hostname}.samba.example.com";
+       $ret{NSS_WRAPPER_HOSTNAME} = "${hostname}.${dns_domain}";
        $ret{NSS_WRAPPER_MODULE_SO_PATH} = Samba::nss_wrapper_winbind_so_path($self);
        $ret{NSS_WRAPPER_MODULE_FN_PREFIX} = "winbind";
        if ($ENV{SAMBA_DNS_FAKING}) {