From 00297b74ac6320a23ba444647718680ddee37453 Mon Sep 17 00:00:00 2001 From: Michael Adam Date: Fri, 15 May 2009 01:46:09 +0200 Subject: s3:param: prevent includes from being dumped in dump_*() functions. This fixes bug #4271: testparm should not print includes. Michael --- source3/include/smb.h | 1 + source3/param/loadparm.c | 9 ++++++--- 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 != '-') && -- cgit