summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJelmer Vernooij <jelmer@samba.org>2003-05-15 08:43:52 +0000
committerJelmer Vernooij <jelmer@samba.org>2003-05-15 08:43:52 +0000
commitc62e546efd2ac351cca48d0f9b5736f5adeb4a1e (patch)
treeee1da1d6321b5bdd14474540b4e2a1dfa4021a8b
parentfa80cdcae62fda67b26c9225eba58c41ebdf9028 (diff)
downloadsamba-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.c26
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;
}