diff options
Diffstat (limited to 'lib/param')
-rw-r--r-- | lib/param/loadparm.c | 503 |
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, |