diff options
author | Jelmer Vernooij <jelmer@samba.org> | 2003-05-15 08:43:52 +0000 |
---|---|---|
committer | Jelmer Vernooij <jelmer@samba.org> | 2003-05-15 08:43:52 +0000 |
commit | c62e546efd2ac351cca48d0f9b5736f5adeb4a1e (patch) | |
tree | ee1da1d6321b5bdd14474540b4e2a1dfa4021a8b | |
parent | fa80cdcae62fda67b26c9225eba58c41ebdf9028 (diff) | |
download | samba-c62e546efd2ac351cca48d0f9b5736f5adeb4a1e.tar.gz samba-c62e546efd2ac351cca48d0f9b5736f5adeb4a1e.tar.bz2 samba-c62e546efd2ac351cca48d0f9b5736f5adeb4a1e.zip |
Patch from Luke Howard <lukeh@PADL.COM> that fixes some weird handling of
modules in auth/
(This used to be commit 3d804efe76335cd09640a82c0326dbf3eb83fe04)
-rw-r--r-- | source3/auth/auth.c | 26 |
1 files changed, 17 insertions, 9 deletions
diff --git a/source3/auth/auth.c b/source3/auth/auth.c index cec15da1f6..0c4fe76830 100644 --- a/source3/auth/auth.c +++ b/source3/auth/auth.c @@ -372,17 +372,25 @@ BOOL load_auth_module(struct auth_context *auth_context, entry = auth_find_backend_entry(module_name); - if(!(entry = auth_find_backend_entry(module_name)) && NT_STATUS_IS_ERR(smb_probe_module("auth", module_name)) && - !(entry = auth_find_backend_entry(module_name))) { - DEBUG(0,("load_auth_module: can't find auth method %s!\n", module_name)); - } else if (!NT_STATUS_IS_OK(entry->init(auth_context, module_params, ret))) { - DEBUG(0,("load_auth_module: auth method %s did not correctly init\n", - module)); + if (entry == NULL) { + if (NT_STATUS_IS_OK(smb_probe_module("auth", module_name))) { + entry = auth_find_backend_entry(module_name); + } + } + + if (entry != NULL) { + if (!NT_STATUS_IS_OK(entry->init(auth_context, module_params, ret))) { + DEBUG(0,("load_auth_module: auth method %s did not correctly init\n", + module_name)); + } else { + DEBUG(5,("load_auth_module: auth method %s has a valid init\n", + module_name)); + good = True; + } } else { - DEBUG(5,("load_auth_module: auth method %s has a valid init\n", - module)); - good = True; + DEBUG(0,("load_auth_module: can't find auth method %s!\n", module_name)); } + SAFE_FREE(module_name); return good; } |