summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Adam <obnox@samba.org>2009-05-15 01:46:09 +0200
committerMichael Adam <obnox@samba.org>2009-05-15 17:00:22 +0200
commit00297b74ac6320a23ba444647718680ddee37453 (patch)
tree0e9919ada9c9b44d3a976c0da026cb0c6f448c7d
parenta62e72b825117dc45d434fd1b3645633b5d063d6 (diff)
downloadsamba-00297b74ac6320a23ba444647718680ddee37453.tar.gz
samba-00297b74ac6320a23ba444647718680ddee37453.tar.bz2
samba-00297b74ac6320a23ba444647718680ddee37453.zip
s3:param: prevent includes from being dumped in dump_*() functions.
This fixes bug #4271: testparm should not print includes. Michael
-rw-r--r--source3/include/smb.h1
-rw-r--r--source3/param/loadparm.c9
2 files changed, 7 insertions, 3 deletions
diff --git a/source3/include/smb.h b/source3/include/smb.h
index 4be891d174..fed7468f3e 100644
--- a/source3/include/smb.h
+++ b/source3/include/smb.h
@@ -925,6 +925,7 @@ struct parm_struct {
#define FLAG_DEPRECATED 0x1000 /* options that should no longer be used */
#define FLAG_HIDE 0x2000 /* options that should be hidden in SWAT */
#define FLAG_DOS_STRING 0x4000 /* convert from UNIX to DOS codepage when reading this string. */
+#define FLAG_META 0x8000 /* A meta directive - not a real parameter */
struct bitmap {
uint32 *b;
diff --git a/source3/param/loadparm.c b/source3/param/loadparm.c
index 2ea3a167b7..d422951428 100644
--- a/source3/param/loadparm.c
+++ b/source3/param/loadparm.c
@@ -1041,7 +1041,7 @@ static struct parm_struct parm_table[] = {
.ptr = &Globals.ConfigBackend,
.special = NULL,
.enum_list = enum_config_backend,
- .flags = FLAG_ADVANCED,
+ .flags = FLAG_ADVANCED|FLAG_META,
},
{N_("Security Options"), P_SEP, P_SEPARATOR},
@@ -3753,7 +3753,7 @@ static struct parm_struct parm_table[] = {
.ptr = &Globals.szConfigFile,
.special = NULL,
.enum_list = NULL,
- .flags = FLAG_HIDE,
+ .flags = FLAG_HIDE|FLAG_META,
},
{
.label = "preload",
@@ -4016,7 +4016,7 @@ static struct parm_struct parm_table[] = {
.ptr = &sDefault.szInclude,
.special = handle_include,
.enum_list = NULL,
- .flags = FLAG_HIDE,
+ .flags = FLAG_HIDE|FLAG_META,
},
{
.label = "preexec",
@@ -7806,6 +7806,7 @@ static void dump_globals(FILE *f)
for (i = 0; parm_table[i].label; i++)
if (parm_table[i].p_class == P_GLOBAL &&
+ !(parm_table[i].flags & FLAG_META) &&
parm_table[i].ptr &&
(i == 0 || (parm_table[i].ptr != parm_table[i - 1].ptr))) {
if (defaults_saved && is_default(i))
@@ -7852,6 +7853,7 @@ static void dump_a_service(struct service *pService, FILE * f)
for (i = 0; parm_table[i].label; i++) {
if (parm_table[i].p_class == P_LOCAL &&
+ !(parm_table[i].flags & FLAG_META) &&
parm_table[i].ptr &&
(*parm_table[i].label != '-') &&
(i == 0 || (parm_table[i].ptr != parm_table[i - 1].ptr)))
@@ -7928,6 +7930,7 @@ bool dump_a_parameter(int snum, char *parm_name, FILE * f, bool isGlobal)
for (i = 0; parm_table[i].label; i++) {
if (strwicmp(parm_table[i].label, parm_name) == 0 &&
+ !(parm_table[i].flags & FLAG_META) &&
(parm_table[i].p_class == p_class || parm_table[i].flags & flag) &&
parm_table[i].ptr &&
(*parm_table[i].label != '-') &&