summaryrefslogtreecommitdiff
path: root/source3/winbindd/nss_info.c
diff options
context:
space:
mode:
authorVolker Lendecke <vl@samba.org>2011-02-27 19:09:28 +0100
committerVolker Lendecke <vl@samba.org>2011-02-27 19:11:31 +0100
commitc427b795c7e649ae7f747cde11f47ad021406fb2 (patch)
treed10659c2ec57b284fbc09cb669b1f30f6950b89a /source3/winbindd/nss_info.c
parent0decc29b3a641b735ac1b0e71435490cd5958b73 (diff)
downloadsamba-c427b795c7e649ae7f747cde11f47ad021406fb2.tar.gz
samba-c427b795c7e649ae7f747cde11f47ad021406fb2.tar.bz2
samba-c427b795c7e649ae7f747cde11f47ad021406fb2.zip
s3: properly find our standard nss_info backends
Right now, the nss_info backends are tied to the idmap backends (which is wrong IMHO). In the domain child we don't load the idmap backend anymore, so we don't have the nss info modules. This needs fixing properly.
Diffstat (limited to 'source3/winbindd/nss_info.c')
-rw-r--r--source3/winbindd/nss_info.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/source3/winbindd/nss_info.c b/source3/winbindd/nss_info.c
index 67ffbf21cc..a243a03948 100644
--- a/source3/winbindd/nss_info.c
+++ b/source3/winbindd/nss_info.c
@@ -205,6 +205,19 @@ static NTSTATUS nss_init(const char **nss_list)
nss_backend = nss_get_backend(backend);
if (nss_backend == NULL) {
+ /*
+ * This is a freaking hack. We don't have proper
+ * modules for nss_info backends. Right now we have
+ * our standard nss_info backends in the ad backend.
+ */
+ status = smb_probe_module("idmap", "ad");
+ if ( !NT_STATUS_IS_OK(status) ) {
+ continue;
+ }
+ }
+
+ nss_backend = nss_get_backend(backend);
+ if (nss_backend == NULL) {
/* attempt to register the backend */
status = smb_probe_module( "nss_info", backend );
if ( !NT_STATUS_IS_OK(status) ) {