summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Adam <obnox@samba.org>2007-06-28 10:32:52 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 12:23:40 -0500
commit72f468088f8d58443e307a2f8b35f3058ae2dc5e (patch)
tree3fa3dcbf34980eb21cb31d4577276fa2ddc3736f
parenta49b2ea9c8b66d7e0fa3b256277a1b317f504a40 (diff)
downloadsamba-72f468088f8d58443e307a2f8b35f3058ae2dc5e.tar.gz
samba-72f468088f8d58443e307a2f8b35f3058ae2dc5e.tar.bz2
samba-72f468088f8d58443e307a2f8b35f3058ae2dc5e.zip
r23641: Put check for forbidden values in smbconf into a function.
(This will be used in a next step to prevent storing these values in reg_smbconf.c.) Michael (This used to be commit 00be68a8416405e12a27186506f9eb15bca055b3)
-rw-r--r--source3/lib/util_reg.c22
-rw-r--r--source3/param/loadparm.c5
2 files changed, 23 insertions, 4 deletions
diff --git a/source3/lib/util_reg.c b/source3/lib/util_reg.c
index ed9f0a6817..cf0564509b 100644
--- a/source3/lib/util_reg.c
+++ b/source3/lib/util_reg.c
@@ -117,3 +117,25 @@ void normalize_dbkey(char *key)
string_sub(key, "\\", "/", len+1);
strupper_m(key);
}
+
+/*
+ * check whether a given value name is forbidden in registry (smbconf)
+ */
+BOOL registry_smbconf_valname_forbidden(const char *valname)
+{
+ /* hard code the list of forbidden names here for now */
+ const char *forbidden_valnames[] = {
+ "include",
+ "lock directory",
+ "lock dir",
+ NULL
+ };
+ const char **forbidden = NULL;
+
+ for (forbidden = forbidden_valnames; *forbidden != NULL; forbidden++) {
+ if (strwicmp(valname, *forbidden) == 0) {
+ return True;
+ }
+ }
+ return False;
+}
diff --git a/source3/param/loadparm.c b/source3/param/loadparm.c
index f654dff37f..c43a032560 100644
--- a/source3/param/loadparm.c
+++ b/source3/param/loadparm.c
@@ -3165,10 +3165,7 @@ static BOOL process_registry_globals(BOOL (*pfunc)(const char *, const char *))
&type,
&size,
&data_p);
- if ((strwicmp(valname,"include") == 0) ||
- (strwicmp(valname, "lock directory") == 0) ||
- (strwicmp(valname, "lock dir") == 0))
- {
+ if (registry_smbconf_valname_forbidden(valname)) {
DEBUG(10, ("process_registry_globals: Ignoring "
"parameter '%s' in registry.\n", valname));
continue;