diff options
author | Volker Lendecke <vl@samba.org> | 2011-02-27 19:09:28 +0100 |
---|---|---|
committer | Volker Lendecke <vl@samba.org> | 2011-02-27 19:11:31 +0100 |
commit | c427b795c7e649ae7f747cde11f47ad021406fb2 (patch) | |
tree | d10659c2ec57b284fbc09cb669b1f30f6950b89a /source3/winbindd | |
parent | 0decc29b3a641b735ac1b0e71435490cd5958b73 (diff) | |
download | samba-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')
-rw-r--r-- | source3/winbindd/nss_info.c | 13 |
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) ) { |