s3:param: prevent includes from being dumped in dump_*() functions.
authorMichael Adam <obnox@samba.org>
Thu, 14 May 2009 23:46:09 +0000 (01:46 +0200)
committerMichael Adam <obnox@samba.org>
Fri, 15 May 2009 15:00:22 +0000 (17:00 +0200)
This fixes bug #4271: testparm should not print includes.

Michael

source3/include/smb.h
source3/param/loadparm.c

index 4be891d174ee9a82b7227039ba933f3aed9561de..fed7468f3eea3b35c4f564de43999552a72d66b6 100644 (file)
@@ -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;
index 2ea3a167b7734baa96d419f0e2bad1526c42f284..d4229514280cc3ac07d4c77b39fe083d96285404 100644 (file)
@@ -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 != '-') &&