summaryrefslogtreecommitdiff
path: root/lib/param
diff options
context:
space:
mode:
Diffstat (limited to 'lib/param')
-rw-r--r--lib/param/loadparm.c503
1 files changed, 491 insertions, 12 deletions
diff --git a/lib/param/loadparm.c b/lib/param/loadparm.c
index a5fa3c9afb..1afd04a574 100644
--- a/lib/param/loadparm.c
+++ b/lib/param/loadparm.c
@@ -76,6 +76,8 @@ static bool defaults_saved = false;
#define LOADPARM_EXTRA_GLOBALS \
struct parmlist_entry *param_opt; \
char *szRealm; \
+ char *szConfigFile; \
+ char *szUsershareTemplateShare; \
char *szIdmapUID; \
char *szIdmapGID; \
int winbindMaxDomainConnections; \
@@ -966,6 +968,46 @@ static struct parm_struct parm_table[] = {
.enum_list = NULL
},
+
+
+ {N_("Miscellaneous Options"), P_SEP, P_SEPARATOR},
+
+ {
+ .label = "add share command",
+ .type = P_STRING,
+ .p_class = P_GLOBAL,
+ .offset = GLOBAL_VAR(szAddShareCommand),
+ .special = NULL,
+ .enum_list = NULL,
+ .flags = FLAG_ADVANCED,
+ },
+ {
+ .label = "change share command",
+ .type = P_STRING,
+ .p_class = P_GLOBAL,
+ .offset = GLOBAL_VAR(szChangeShareCommand),
+ .special = NULL,
+ .enum_list = NULL,
+ .flags = FLAG_ADVANCED,
+ },
+ {
+ .label = "delete share command",
+ .type = P_STRING,
+ .p_class = P_GLOBAL,
+ .offset = GLOBAL_VAR(szDeleteShareCommand),
+ .special = NULL,
+ .enum_list = NULL,
+ .flags = FLAG_ADVANCED,
+ },
+ {
+ .label = "config file",
+ .type = P_STRING,
+ .p_class = P_GLOBAL,
+ .offset = GLOBAL_VAR(szConfigFile),
+ .special = NULL,
+ .enum_list = NULL,
+ .flags = FLAG_HIDE|FLAG_META,
+ },
{
.label = "preload",
.type = P_STRING,
@@ -1026,16 +1068,200 @@ static struct parm_struct parm_table[] = {
.p_class = P_GLOBAL,
.offset = GLOBAL_VAR(szPidDir),
.special = NULL,
- .enum_list = NULL
+ .enum_list = NULL,
+ .flags = FLAG_ADVANCED,
+ },
+ {
+ .label = "ntp signd socket directory",
+ .type = P_STRING,
+ .p_class = P_GLOBAL,
+ .offset = GLOBAL_VAR(szNTPSignDSocketDirectory),
+ .special = NULL,
+ .enum_list = NULL,
+ .flags = FLAG_ADVANCED,
},
+#ifdef WITH_UTMP
+ {
+ .label = "utmp directory",
+ .type = P_STRING,
+ .p_class = P_GLOBAL,
+ .offset = GLOBAL_VAR(szUtmpDir),
+ .special = NULL,
+ .enum_list = NULL,
+ .flags = FLAG_ADVANCED,
+ },
+ {
+ .label = "wtmp directory",
+ .type = P_STRING,
+ .p_class = P_GLOBAL,
+ .offset = GLOBAL_VAR(szWtmpDir),
+ .special = NULL,
+ .enum_list = NULL,
+ .flags = FLAG_ADVANCED,
+ },
+ {
+ .label = "utmp",
+ .type = P_BOOL,
+ .p_class = P_GLOBAL,
+ .offset = GLOBAL_VAR(bUtmp),
+ .special = NULL,
+ .enum_list = NULL,
+ .flags = FLAG_ADVANCED,
+ },
+#endif
+ {
+ .label = "default service",
+ .type = P_STRING,
+ .p_class = P_GLOBAL,
+ .offset = GLOBAL_VAR(szDefaultService),
+ .special = NULL,
+ .enum_list = NULL,
+ .flags = FLAG_ADVANCED,
+ },
+ {
+ .label = "default",
+ .type = P_STRING,
+ .p_class = P_GLOBAL,
+ .offset = GLOBAL_VAR(szDefaultService),
+ .special = NULL,
+ .enum_list = NULL,
+ .flags = FLAG_ADVANCED,
+ },
+ {
+ .label = "message command",
+ .type = P_STRING,
+ .p_class = P_GLOBAL,
+ .offset = GLOBAL_VAR(szMsgCommand),
+ .special = NULL,
+ .enum_list = NULL,
+ .flags = FLAG_ADVANCED,
+ },
+ {
+ .label = "dfree cache time",
+ .type = P_INTEGER,
+ .p_class = P_LOCAL,
+ .offset = LOCAL_VAR(iDfreeCacheTime),
+ .special = NULL,
+ .enum_list = NULL,
+ .flags = FLAG_ADVANCED,
+ },
+ {
+ .label = "dfree command",
+ .type = P_STRING,
+ .p_class = P_LOCAL,
+ .offset = LOCAL_VAR(szDfree),
+ .special = NULL,
+ .enum_list = NULL,
+ .flags = FLAG_ADVANCED,
+ },
+ {
+ .label = "get quota command",
+ .type = P_STRING,
+ .p_class = P_GLOBAL,
+ .offset = GLOBAL_VAR(szGetQuota),
+ .special = NULL,
+ .enum_list = NULL,
+ .flags = FLAG_ADVANCED,
+ },
+ {
+ .label = "set quota command",
+ .type = P_STRING,
+ .p_class = P_GLOBAL,
+ .offset = GLOBAL_VAR(szSetQuota),
+ .special = NULL,
+ .enum_list = NULL,
+ .flags = FLAG_ADVANCED,
+ },
+ {
+ .label = "remote announce",
+ .type = P_STRING,
+ .p_class = P_GLOBAL,
+ .offset = GLOBAL_VAR(szRemoteAnnounce),
+ .special = NULL,
+ .enum_list = NULL,
+ .flags = FLAG_ADVANCED,
+ },
+ {
+ .label = "remote browse sync",
+ .type = P_STRING,
+ .p_class = P_GLOBAL,
+ .offset = GLOBAL_VAR(szRemoteBrowseSync),
+ .special = NULL,
+ .enum_list = NULL,
+ .flags = FLAG_ADVANCED,
+ },
{
.label = "socket address",
.type = P_STRING,
.p_class = P_GLOBAL,
.offset = GLOBAL_VAR(szSocketAddress),
.special = NULL,
- .enum_list = NULL
+ .enum_list = NULL,
+ .flags = FLAG_ADVANCED,
+ },
+ {
+ .label = "nmbd bind explicit broadcast",
+ .type = P_BOOL,
+ .p_class = P_GLOBAL,
+ .offset = GLOBAL_VAR(bNmbdBindExplicitBroadcast),
+ .special = NULL,
+ .enum_list = NULL,
+ .flags = FLAG_ADVANCED,
+ },
+ {
+ .label = "homedir map",
+ .type = P_STRING,
+ .p_class = P_GLOBAL,
+ .offset = GLOBAL_VAR(szNISHomeMapName),
+ .special = NULL,
+ .enum_list = NULL,
+ .flags = FLAG_ADVANCED,
+ },
+ {
+ .label = "afs username map",
+ .type = P_STRING,
+ .p_class = P_GLOBAL,
+ .offset = GLOBAL_VAR(szAfsUsernameMap),
+ .special = NULL,
+ .enum_list = NULL,
+ .flags = FLAG_ADVANCED,
+ },
+ {
+ .label = "afs token lifetime",
+ .type = P_INTEGER,
+ .p_class = P_GLOBAL,
+ .offset = GLOBAL_VAR(iAfsTokenLifetime),
+ .special = NULL,
+ .enum_list = NULL,
+ .flags = FLAG_ADVANCED,
+ },
+ {
+ .label = "log nt token command",
+ .type = P_STRING,
+ .p_class = P_GLOBAL,
+ .offset = GLOBAL_VAR(szLogNtTokenCommand),
+ .special = NULL,
+ .enum_list = NULL,
+ .flags = FLAG_ADVANCED,
+ },
+ {
+ .label = "NIS homedir",
+ .type = P_BOOL,
+ .p_class = P_GLOBAL,
+ .offset = GLOBAL_VAR(bNISHomeMap),
+ .special = NULL,
+ .enum_list = NULL,
+ .flags = FLAG_ADVANCED,
+ },
+ {
+ .label = "-valid",
+ .type = P_BOOL,
+ .p_class = P_LOCAL,
+ .offset = LOCAL_VAR(valid),
+ .special = NULL,
+ .enum_list = NULL,
+ .flags = FLAG_HIDE,
},
{
.label = "copy",
@@ -1052,16 +1278,152 @@ static struct parm_struct parm_table[] = {
.p_class = P_LOCAL,
.offset = LOCAL_VAR(szInclude),
.special = handle_include,
- .enum_list = NULL
+ .enum_list = NULL,
+ .flags = FLAG_HIDE|FLAG_META,
+ },
+ {
+ .label = "preexec",
+ .type = P_STRING,
+ .p_class = P_LOCAL,
+ .offset = LOCAL_VAR(szPreExec),
+ .special = NULL,
+ .enum_list = NULL,
+ .flags = FLAG_ADVANCED | FLAG_SHARE | FLAG_PRINT,
+ },
+ {
+ .label = "exec",
+ .type = P_STRING,
+ .p_class = P_LOCAL,
+ .offset = LOCAL_VAR(szPreExec),
+ .special = NULL,
+ .enum_list = NULL,
+ .flags = FLAG_ADVANCED,
+ },
+ {
+ .label = "preexec close",
+ .type = P_BOOL,
+ .p_class = P_LOCAL,
+ .offset = LOCAL_VAR(bPreexecClose),
+ .special = NULL,
+ .enum_list = NULL,
+ .flags = FLAG_ADVANCED | FLAG_SHARE,
+ },
+ {
+ .label = "postexec",
+ .type = P_STRING,
+ .p_class = P_LOCAL,
+ .offset = LOCAL_VAR(szPostExec),
+ .special = NULL,
+ .enum_list = NULL,
+ .flags = FLAG_ADVANCED | FLAG_SHARE | FLAG_PRINT,
+ },
+ {
+ .label = "root preexec",
+ .type = P_STRING,
+ .p_class = P_LOCAL,
+ .offset = LOCAL_VAR(szRootPreExec),
+ .special = NULL,
+ .enum_list = NULL,
+ .flags = FLAG_ADVANCED | FLAG_SHARE | FLAG_PRINT,
+ },
+ {
+ .label = "root preexec close",
+ .type = P_BOOL,
+ .p_class = P_LOCAL,
+ .offset = LOCAL_VAR(bRootpreexecClose),
+ .special = NULL,
+ .enum_list = NULL,
+ .flags = FLAG_ADVANCED | FLAG_SHARE,
+ },
+ {
+ .label = "root postexec",
+ .type = P_STRING,
+ .p_class = P_LOCAL,
+ .offset = LOCAL_VAR(szRootPostExec),
+ .special = NULL,
+ .enum_list = NULL,
+ .flags = FLAG_ADVANCED | FLAG_SHARE | FLAG_PRINT,
},
-
{
.label = "available",
.type = P_BOOL,
.p_class = P_LOCAL,
.offset = LOCAL_VAR(bAvailable),
.special = NULL,
- .enum_list = NULL
+ .enum_list = NULL,
+ .flags = FLAG_BASIC | FLAG_ADVANCED | FLAG_SHARE | FLAG_PRINT,
+ },
+ {
+ .label = "registry shares",
+ .type = P_BOOL,
+ .p_class = P_GLOBAL,
+ .offset = GLOBAL_VAR(bRegistryShares),
+ .special = NULL,
+ .enum_list = NULL,
+ .flags = FLAG_ADVANCED,
+ },
+ {
+ .label = "usershare allow guests",
+ .type = P_BOOL,
+ .p_class = P_GLOBAL,
+ .offset = GLOBAL_VAR(bUsershareAllowGuests),
+ .special = NULL,
+ .enum_list = NULL,
+ .flags = FLAG_ADVANCED,
+ },
+ {
+ .label = "usershare max shares",
+ .type = P_INTEGER,
+ .p_class = P_GLOBAL,
+ .offset = GLOBAL_VAR(iUsershareMaxShares),
+ .special = NULL,
+ .enum_list = NULL,
+ .flags = FLAG_ADVANCED,
+ },
+ {
+ .label = "usershare owner only",
+ .type = P_BOOL,
+ .p_class = P_GLOBAL,
+ .offset = GLOBAL_VAR(bUsershareOwnerOnly),
+ .special = NULL,
+ .enum_list = NULL,
+ .flags = FLAG_ADVANCED,
+ },
+ {
+ .label = "usershare path",
+ .type = P_STRING,
+ .p_class = P_GLOBAL,
+ .offset = GLOBAL_VAR(szUsersharePath),
+ .special = NULL,
+ .enum_list = NULL,
+ .flags = FLAG_ADVANCED,
+ },
+ {
+ .label = "usershare prefix allow list",
+ .type = P_LIST,
+ .p_class = P_GLOBAL,
+ .offset = GLOBAL_VAR(szUsersharePrefixAllowList),
+ .special = NULL,
+ .enum_list = NULL,
+ .flags = FLAG_ADVANCED,
+ },
+ {
+ .label = "usershare prefix deny list",
+ .type = P_LIST,
+ .p_class = P_GLOBAL,
+ .offset = GLOBAL_VAR(szUsersharePrefixDenyList),
+ .special = NULL,
+ .enum_list = NULL,
+ .flags = FLAG_ADVANCED,
+ },
+ {
+ .label = "usershare template share",
+ .type = P_STRING,
+ .p_class = P_GLOBAL,
+ .offset = GLOBAL_VAR(szUsershareTemplateShare),
+ .special = NULL,
+ .enum_list = NULL,
+ .flags = FLAG_ADVANCED,
},
{
.label = "volume",
@@ -1078,23 +1440,140 @@ static struct parm_struct parm_table[] = {
.p_class = P_LOCAL,
.offset = LOCAL_VAR(fstype),
.special = NULL,
- .enum_list = NULL
+ .enum_list = NULL,
+ .flags = FLAG_ADVANCED | FLAG_SHARE,
+ },
+ {
+ .label = "set directory",
+ .type = P_BOOLREV,
+ .p_class = P_LOCAL,
+ .offset = LOCAL_VAR(bNo_set_dir),
+ .special = NULL,
+ .enum_list = NULL,
+ .flags = FLAG_ADVANCED | FLAG_SHARE,
+ },
+ {
+ .label = "allow insecure wide links",
+ .type = P_BOOL,
+ .p_class = P_GLOBAL,
+ .offset = GLOBAL_VAR(bAllowInsecureWidelinks),
+ .special = NULL,
+ .enum_list = NULL,
+ .flags = FLAG_ADVANCED,
+ },
+ {
+ .label = "wide links",
+ .type = P_BOOL,
+ .p_class = P_LOCAL,
+ .offset = LOCAL_VAR(bWidelinks),
+ .special = NULL,
+ .enum_list = NULL,
+ .flags = FLAG_ADVANCED | FLAG_SHARE | FLAG_GLOBAL,
+ },
+ {
+ .label = "follow symlinks",
+ .type = P_BOOL,
+ .p_class = P_LOCAL,
+ .offset = LOCAL_VAR(bSymlinks),
+ .special = NULL,
+ .enum_list = NULL,
+ .flags = FLAG_ADVANCED | FLAG_SHARE | FLAG_GLOBAL,
+ },
+ {
+ .label = "dont descend",
+ .type = P_STRING,
+ .p_class = P_LOCAL,
+ .offset = LOCAL_VAR(szDontdescend),
+ .special = NULL,
+ .enum_list = NULL,
+ .flags = FLAG_ADVANCED | FLAG_SHARE,
+ },
+ {
+ .label = "magic script",
+ .type = P_STRING,
+ .p_class = P_LOCAL,
+ .offset = LOCAL_VAR(szMagicScript),
+ .special = NULL,
+ .enum_list = NULL,
+ .flags = FLAG_ADVANCED | FLAG_SHARE,
+ },
+ {
+ .label = "magic output",
+ .type = P_STRING,
+ .p_class = P_LOCAL,
+ .offset = LOCAL_VAR(szMagicOutput),
+ .special = NULL,
+ .enum_list = NULL,
+ .flags = FLAG_ADVANCED | FLAG_SHARE,
+ },
+ {
+ .label = "delete readonly",
+ .type = P_BOOL,
+ .p_class = P_LOCAL,
+ .offset = LOCAL_VAR(bDeleteReadonly),
+ .special = NULL,
+ .enum_list = NULL,
+ .flags = FLAG_ADVANCED | FLAG_SHARE | FLAG_GLOBAL,
+ },
+ {
+ .label = "dos filemode",
+ .type = P_BOOL,
+ .p_class = P_LOCAL,
+ .offset = LOCAL_VAR(bDosFilemode),
+ .special = NULL,
+ .enum_list = NULL,
+ .flags = FLAG_ADVANCED | FLAG_SHARE | FLAG_GLOBAL,
+ },
+ {
+ .label = "dos filetimes",
+ .type = P_BOOL,
+ .p_class = P_LOCAL,
+ .offset = LOCAL_VAR(bDosFiletimes),
+ .special = NULL,
+ .enum_list = NULL,
+ .flags = FLAG_ADVANCED | FLAG_SHARE | FLAG_GLOBAL,
+ },
+ {
+ .label = "dos filetime resolution",
+ .type = P_BOOL,
+ .p_class = P_LOCAL,
+ .offset = LOCAL_VAR(bDosFiletimeResolution),
+ .special = NULL,
+ .enum_list = NULL,
+ .flags = FLAG_ADVANCED | FLAG_SHARE | FLAG_GLOBAL,
+ },
+ {
+ .label = "fake directory create times",
+ .type = P_BOOL,
+ .p_class = P_LOCAL,
+ .offset = LOCAL_VAR(bFakeDirCreateTimes),
+ .special = NULL,
+ .enum_list = NULL,
+ .flags = FLAG_ADVANCED | FLAG_GLOBAL,
+ },
+ {
+ .label = "async smb echo handler",
+ .type = P_BOOL,
+ .p_class = P_GLOBAL,
+ .offset = GLOBAL_VAR(bAsyncSMBEchoHandler),
+ .special = NULL,
+ .enum_list = NULL,
+ .flags = FLAG_ADVANCED | FLAG_GLOBAL,
},
-
{
.label = "panic action",
.type = P_STRING,
.p_class = P_GLOBAL,
- .offset = GLOBAL_VAR(panic_action),
+ .offset = GLOBAL_VAR(szPanicAction),
.special = NULL,
- .enum_list = NULL
+ .enum_list = NULL,
+ .flags = FLAG_ADVANCED,
},
-
{
- .label = "ntp signd socket directory",
+ .label = "perfcount module",
.type = P_STRING,
.p_class = P_GLOBAL,
- .offset = GLOBAL_VAR(szNTPSignDSocketDirectory),
+ .offset = GLOBAL_VAR(szSMBPerfcountModule),
.special = NULL,
.enum_list = NULL,
.flags = FLAG_ADVANCED,