[PATCH] sam backend parameter
Stefan (metze) Metzmacher
metze at metzemix.de
Tue Oct 1 07:49:01 GMT 2002
Hi Jelmer,
here's a patch witch changes the syntax of the sam backend parameter:
now it's plugin[|DOMAIN][:options] ... I think it nicer:-)
If you didn't accept that patch please move the 'strchr' to 'strrchr', (but
there're also a few other bugs, in the parsing sam_backend_string in
make_backend_entry()), because as it is now it didn't work with:
plugin[:options][|DOMAIN] :-(
plugin:/usr/lib/samba/sam_passdb.so:test|test2:test3|test4|MX.BASE
breaks it...
metze
-----------------------------------------------------------------------------
Stefan "metze" Metzmacher <metze at metzemix.de>
-------------- next part --------------
diff -Npur --exclude=CVS --exclude=*.bak --exclude=*.o --exclude=*.po --exclude=.#* HEAD/source/sam/interface.c HEAD-fix/source/sam/interface.c
--- HEAD/source/sam/interface.c Mon Sep 30 07:29:04 2002
+++ HEAD-fix/source/sam/interface.c Tue Oct 1 09:35:27 2002
@@ -136,23 +136,22 @@ static NTSTATUS make_backend_entry(SAM_B
SAM_ASSERT(sam_backend_string && backend_entry);
- backend_entry->module_name = sam_backend_string;
-
- DEBUG(5,("makeing backend_entry for %s\n", backend_entry->module_name));
-
+ DEBUG(5,("makeing backend_entry for %s\n", sam_backend_string));
+
+ if ((tmp = strchr(tmp_string, ':')) != NULL) {
+ *tmp = 0;
+ backend_entry->module_params = smb_xstrdup(tmp + 1);
+ DEBUG(20,("options for the backend: %s\n",backend_entry->module_params));
+ }
+
if ((tmp = strchr(tmp_string, '|')) != NULL) {
- DEBUGADD(20,("a domain name has been specified\n"));
*tmp = 0;
backend_entry->domain_name = smb_xstrdup(tmp + 1);
- tmp_string = tmp + 1;
+ DEBUGADD(20,("the domain name is: %s\n",backend_entry->domain_name));
}
- if ((tmp = strchr(tmp_string, ':')) != NULL) {
- DEBUG(20,("options for the backend have been specified\n"));
- *tmp = 0;
- backend_entry->module_params = smb_xstrdup(tmp + 1);
- tmp_string = tmp + 1;
- }
+ backend_entry->module_name = smb_xstrdup(tmp_string);
+ DEBUGADD(20,("module name is: %s\n", backend_entry->module_name));
if (backend_entry->domain_name == NULL) {
DEBUG(10,("make_backend_entry: no domain was specified for sam module %s. Using default domain %s\n",
diff -Npur --exclude=CVS --exclude=*.bak --exclude=*.o --exclude=*.po --exclude=.#* HEAD/source/torture/cmd_sam.c HEAD-fix/source/torture/cmd_sam.c
--- HEAD/source/torture/cmd_sam.c Mon Sep 30 07:29:04 2002
+++ HEAD-fix/source/torture/cmd_sam.c Tue Oct 1 09:26:32 2002
@@ -61,7 +61,7 @@ static NTSTATUS cmd_load_module(struct s
}
if (argc == 3)
- asprintf(&plugin_arg[0], "plugin:%s|%s", argv[1], argv[2]);
+ asprintf(&plugin_arg[0], "plugin|%s:%s", argv[2], argv[1]);
else
asprintf(&plugin_arg[0], "plugin:%s", argv[1]);
More information about the samba-technical
mailing list