summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--nsswitch/wscript_build9
-rw-r--r--selftest/target/Samba.pm9
-rwxr-xr-xselftest/target/Samba3.pm5
-rw-r--r--selftest/target/Samba4.pm2
4 files changed, 20 insertions, 5 deletions
diff --git a/nsswitch/wscript_build b/nsswitch/wscript_build
index 3931445ea1..97f0af55a1 100644
--- a/nsswitch/wscript_build
+++ b/nsswitch/wscript_build
@@ -14,6 +14,15 @@ bld.SAMBA_BINARY('nsstest',
deps='replace dl'
)
+# The nss_wrapper code relies strictly on the linux implementation and
+# name, so compile but do not install a copy under this name.
+bld.SAMBA_LIBRARY('nss_wrapper_winbind',
+ source='winbind_nss_linux.c',
+ deps='winbind-client',
+ realname='libnss_wrapper_winbind.so.2',
+ install=False,
+ vnum='2')
+
if Utils.unversioned_sys_platform() == 'linux':
bld.SAMBA_LIBRARY('nss_winbind',
source='winbind_nss_linux.c',
diff --git a/selftest/target/Samba.pm b/selftest/target/Samba.pm
index ec6fc483d3..d8110536b2 100644
--- a/selftest/target/Samba.pm
+++ b/selftest/target/Samba.pm
@@ -64,6 +64,15 @@ sub bindir_path($$) {
return $path;
}
+sub nss_wrapper_winbind_so_path($) {
+ my ($object) = @_;
+ my $ret = $ENV{NSS_WRAPPER_WINBIND_SO_PATH};
+ if (not defined($ret)) {
+ $ret = bindir_path($object, "default/nsswitch/libnss-winbind.so");
+ }
+ return $ret;
+}
+
sub mk_krb5_conf($$)
{
my ($ctx, $other_realms_stanza) = @_;
diff --git a/selftest/target/Samba3.pm b/selftest/target/Samba3.pm
index df8b55c613..8404635b94 100755
--- a/selftest/target/Samba3.pm
+++ b/selftest/target/Samba3.pm
@@ -1097,10 +1097,7 @@ domusers:X:$gid_domusers:
$ret{SOCKET_WRAPPER_DEFAULT_IFACE} = $swiface;
$ret{NSS_WRAPPER_PASSWD} = $nss_wrapper_passwd;
$ret{NSS_WRAPPER_GROUP} = $nss_wrapper_group;
- $ret{NSS_WRAPPER_WINBIND_SO_PATH} = $ENV{NSS_WRAPPER_WINBIND_SO_PATH};
- if (not defined($ret{NSS_WRAPPER_WINBIND_SO_PATH})) {
- $ret{NSS_WRAPPER_WINBIND_SO_PATH} = Samba::bindir_path($self, "default/nsswitch/libnss-winbind.so");
- }
+ $ret{NSS_WRAPPER_WINBIND_SO_PATH} = Samba::nss_wrapper_winbind_so_path($self);
$ret{LOCAL_PATH} = "$shrdir";
return \%ret;
diff --git a/selftest/target/Samba4.pm b/selftest/target/Samba4.pm
index 003f03dac9..ab46f2a99f 100644
--- a/selftest/target/Samba4.pm
+++ b/selftest/target/Samba4.pm
@@ -682,7 +682,7 @@ nogroup:x:65534:nobody
SAMBA_TEST_FIFO => "$ctx->{prefix}/samba_test.fifo",
SAMBA_TEST_LOG => "$ctx->{prefix}/samba_test.log",
SAMBA_TEST_LOG_POS => 0,
- NSS_WRAPPER_WINBIND_SO_PATH => Samba::bindir_path($self, "default/nsswitch/libnss-winbind.so"),
+ NSS_WRAPPER_WINBIND_SO_PATH => Samba::nss_wrapper_winbind_so_path($self),
LOCAL_PATH => $ctx->{share}
};