mirror of
https://github.com/samba-team/samba.git
synced 2025-01-11 05:18:09 +03:00
s3:idmap: in idmap_init_domain() load methods before loading further config
Check whether the requested backend exists at all, before going further into the config parsing. Signed-off-by: Michael Adam <obnox@samba.org> Reviewed-by: Volker Lendecke <vl@samba.org>
This commit is contained in:
parent
3c6ec8908a
commit
3ac00c9dc3
@ -185,6 +185,29 @@ static struct idmap_domain *idmap_init_domain(TALLOC_CTX *mem_ctx,
|
||||
goto fail;
|
||||
}
|
||||
|
||||
/*
|
||||
* Check whether the requested backend module exists and
|
||||
* load the methods.
|
||||
*/
|
||||
|
||||
result->methods = get_methods(modulename);
|
||||
if (result->methods == NULL) {
|
||||
DEBUG(3, ("idmap backend %s not found\n", modulename));
|
||||
|
||||
status = smb_probe_module("idmap", modulename);
|
||||
if (!NT_STATUS_IS_OK(status)) {
|
||||
DEBUG(3, ("Could not probe idmap module %s\n",
|
||||
modulename));
|
||||
goto fail;
|
||||
}
|
||||
|
||||
result->methods = get_methods(modulename);
|
||||
}
|
||||
if (result->methods == NULL) {
|
||||
DEBUG(1, ("idmap backend %s not found\n", modulename));
|
||||
goto fail;
|
||||
}
|
||||
|
||||
/*
|
||||
* load ranges and read only information from the config
|
||||
*/
|
||||
@ -226,24 +249,6 @@ static struct idmap_domain *idmap_init_domain(TALLOC_CTX *mem_ctx,
|
||||
}
|
||||
}
|
||||
|
||||
result->methods = get_methods(modulename);
|
||||
if (result->methods == NULL) {
|
||||
DEBUG(3, ("idmap backend %s not found\n", modulename));
|
||||
|
||||
status = smb_probe_module("idmap", modulename);
|
||||
if (!NT_STATUS_IS_OK(status)) {
|
||||
DEBUG(3, ("Could not probe idmap module %s\n",
|
||||
modulename));
|
||||
goto fail;
|
||||
}
|
||||
|
||||
result->methods = get_methods(modulename);
|
||||
}
|
||||
if (result->methods == NULL) {
|
||||
DEBUG(1, ("idmap backend %s not found\n", modulename));
|
||||
goto fail;
|
||||
}
|
||||
|
||||
status = result->methods->init(result);
|
||||
if (!NT_STATUS_IS_OK(status)) {
|
||||
DEBUG(1, ("idmap initialization returned %s\n",
|
||||
|
Loading…
Reference in New Issue
Block a user