param: don't list '-valid' and 'copy' as synonyms - they aren't
[garming/samba-autobuild/.git] / lib / param / param_table.c
index 8e6b4befc3129a3847feb07ff6b22a0401f75baa..cefc6ce8118b5acca9adb0082d3992f5ebe608f6 100644 (file)
    along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */
 
+#include "includes.h"
+#include "lib/param/param.h"
+#include "lib/param/loadparm.h"
+#include "lib/param/param_global.h"
+#include "libcli/smb/smb_constants.h"
+
+#ifndef N_
+#define N_(x) x
+#endif
+
 static const struct enum_list enum_protocol[] = {
+       {PROTOCOL_DEFAULT, "default"}, /* the caller decides what this means */
        {PROTOCOL_SMB2_10, "SMB2"}, /* for now keep PROTOCOL_SMB2_10 */
-       {PROTOCOL_SMB3_00, "SMB3"}, /* for now keep PROTOCOL_SMB3_00 */
+       {PROTOCOL_SMB3_11, "SMB3"}, /* for now keep PROTOCOL_SMB3_11 */
+       {PROTOCOL_SMB3_11, "SMB3_11"},
+       {PROTOCOL_SMB3_10, "SMB3_10"},
        {PROTOCOL_SMB3_02, "SMB3_02"},
        {PROTOCOL_SMB3_00, "SMB3_00"},
        {PROTOCOL_SMB2_24, "SMB2_24"},
@@ -102,6 +115,7 @@ static const struct enum_list enum_smb_signing_vals[] = {
        {SMB_SIGNING_IF_REQUIRED, "On"},
        {SMB_SIGNING_IF_REQUIRED, "enabled"},
        {SMB_SIGNING_IF_REQUIRED, "auto"},
+       {SMB_SIGNING_DESIRED, "desired"},
        {SMB_SIGNING_REQUIRED, "required"},
        {SMB_SIGNING_REQUIRED, "mandatory"},
        {SMB_SIGNING_REQUIRED, "force"},
@@ -162,6 +176,10 @@ static const struct enum_list enum_config_backend[] = {
        {-1, NULL}
 };
 
+static const struct enum_list enum_smbd_profiling_level[] = {
+       {0, "off"}, {1, "count"}, {2, "on"}, {-1, NULL}
+};
+
 
 /* ADS kerberos ticket verification options */
 
@@ -256,29 +274,16 @@ static const struct enum_list enum_case[] = {
 
 /* Note: We do not initialise the defaults union - it is not allowed in ANSI C
  *
- * The FLAG_HIDE is explicit. Parameters set this way do NOT appear in any edit
- * screen in SWAT. This is used to exclude parameters as well as to squash all
- * parameters that have been duplicated by pseudonyms.
- *
- * NOTE: To display a parameter in BASIC view set FLAG_BASIC
- *       Any parameter that does NOT have FLAG_ADVANCED will not disply at all
- *      Set FLAG_SHARE and FLAG_PRINT to specifically display parameters in
- *        respective views.
- *
- * NOTE2: Handling of duplicated (synonym) parameters:
- *     Only the first occurance of a parameter should be enabled by FLAG_BASIC
- *     and/or FLAG_ADVANCED. All duplicates following the first mention should be
- *     set to FLAG_HIDE. ie: Make you must place the parameter that has the preferred
- *     name first, and all synonyms must follow it with the FLAG_HIDE attribute.
+ * NOTE: Handling of duplicated (synonym) parameters:
+ *   Parameters that are synonymous are stored in the same variable.
+ *   All but the default spelling carry the flag FLAG_SYNONYM.
  */
 
 #define GLOBAL_VAR(name) offsetof(struct loadparm_global, name)
 #define LOCAL_VAR(name) offsetof(struct loadparm_service, name)
 
 
-static struct parm_struct parm_table[] = {
-       {N_("Base Options"), P_SEP, P_SEPARATOR},
-
+struct parm_struct parm_table[] = {
        {
                .label          = "dos charset",
                .type           = P_STRING,
@@ -286,7 +291,6 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(dos_charset),
                .special        = handle_dos_charset,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED
        },
        {
                .label          = "unix charset",
@@ -295,7 +299,6 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(unix_charset),
                .special        = handle_charset,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED
        },
        {
                .label          = "comment",
@@ -304,7 +307,6 @@ static struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(comment),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_BASIC | FLAG_ADVANCED | FLAG_SHARE | FLAG_PRINT
        },
        {
                .label          = "path",
@@ -313,7 +315,6 @@ static struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(path),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_BASIC | FLAG_ADVANCED | FLAG_SHARE | FLAG_PRINT,
        },
        {
                .label          = "directory",
@@ -322,7 +323,7 @@ static struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(path),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_HIDE,
+               .flags          = FLAG_SYNONYM,
        },
        {
                .label          = "workgroup",
@@ -331,16 +332,14 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(workgroup),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_BASIC | FLAG_ADVANCED | FLAG_WIZARD,
        },
        {
                .label          = "realm",
                .type           = P_STRING,
                .p_class        = P_GLOBAL,
-               .offset         = GLOBAL_VAR(realm_original),
+               .offset         = GLOBAL_VAR(realm),
                .special        = handle_realm,
                .enum_list      = NULL,
-               .flags          = FLAG_BASIC | FLAG_ADVANCED | FLAG_WIZARD,
        },
        {
                .label          = "netbios name",
@@ -349,16 +348,14 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(netbios_name),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_BASIC | FLAG_ADVANCED | FLAG_WIZARD,
        },
        {
                .label          = "netbios aliases",
-               .type           = P_LIST,
+               .type           = P_CMDLIST,
                .p_class        = P_GLOBAL,
                .offset         = GLOBAL_VAR(netbios_aliases),
                .special        = handle_netbios_aliases,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "netbios scope",
@@ -367,7 +364,6 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(netbios_scope),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "server string",
@@ -376,16 +372,14 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(server_string),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_BASIC | FLAG_ADVANCED,
        },
        {
                .label          = "interfaces",
-               .type           = P_LIST,
+               .type           = P_CMDLIST,
                .p_class        = P_GLOBAL,
                .offset         = GLOBAL_VAR(interfaces),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_BASIC | FLAG_ADVANCED | FLAG_WIZARD,
        },
        {
                .label          = "bind interfaces only",
@@ -394,7 +388,6 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(bind_interfaces_only),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_WIZARD,
        },
        {
                .label          = "config backend",
@@ -403,7 +396,6 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(config_backend),
                .special        = NULL,
                .enum_list      = enum_config_backend,
-               .flags          = FLAG_HIDE|FLAG_ADVANCED|FLAG_META,
        },
        {
                .label          = "server role",
@@ -412,11 +404,7 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(_server_role),
                .special        = NULL,
                .enum_list      = enum_server_role,
-               .flags          = FLAG_BASIC | FLAG_ADVANCED,
        },
-
-       {N_("Security Options"), P_SEP, P_SEPARATOR},
-
        {
                .label          = "security",
                .type           = P_ENUM,
@@ -424,25 +412,22 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(_security),
                .special        = NULL,
                .enum_list      = enum_security,
-               .flags          = FLAG_BASIC | FLAG_ADVANCED | FLAG_WIZARD,
        },
        {
                .label          = "auth methods",
-               .type           = P_LIST,
+               .type           = P_CMDLIST,
                .p_class        = P_GLOBAL,
                .offset         = GLOBAL_VAR(auth_methods),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "encrypt passwords",
                .type           = P_BOOL,
                .p_class        = P_GLOBAL,
-               .offset         = GLOBAL_VAR(encrypted_passwords),
+               .offset         = GLOBAL_VAR(encrypt_passwords),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_BASIC | FLAG_ADVANCED | FLAG_WIZARD,
        },
        {
                .label          = "client schannel",
@@ -451,7 +436,6 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(client_schannel),
                .special        = NULL,
                .enum_list      = enum_bool_auto,
-               .flags          = FLAG_BASIC | FLAG_ADVANCED,
        },
        {
                .label          = "server schannel",
@@ -460,7 +444,6 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(server_schannel),
                .special        = NULL,
                .enum_list      = enum_bool_auto,
-               .flags          = FLAG_BASIC | FLAG_ADVANCED,
        },
        {
                .label          = "allow trusted domains",
@@ -469,7 +452,6 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(allow_trusted_domains),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "map to guest",
@@ -478,7 +460,6 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(map_to_guest),
                .special        = NULL,
                .enum_list      = enum_map_to_guest,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "null passwords",
@@ -487,7 +468,15 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(null_passwords),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_DEPRECATED,
+               .flags          = FLAG_DEPRECATED,
+       },
+       {
+               .label          = "old password allowed period",
+               .type           = P_INTEGER,
+               .p_class        = P_GLOBAL,
+               .offset         = GLOBAL_VAR(old_password_allowed_period),
+               .special        = NULL,
+               .enum_list      = NULL,
        },
        {
                .label          = "obey pam restrictions",
@@ -496,7 +485,6 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(obey_pam_restrictions),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "password server",
@@ -505,7 +493,6 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(password_server),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_WIZARD,
        },
        {
                .label          = "smb passwd file",
@@ -514,7 +501,6 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(smb_passwd_file),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "private dir",
@@ -523,7 +509,6 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(private_dir),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "private directory",
@@ -532,7 +517,7 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(private_dir),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_HIDE,
+               .flags          = FLAG_SYNONYM,
        },
        {
                .label          = "passdb backend",
@@ -541,7 +526,6 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(passdb_backend),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_WIZARD,
        },
        {
                .label          = "algorithmic rid base",
@@ -550,34 +534,32 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(algorithmic_rid_base),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "root directory",
                .type           = P_STRING,
                .p_class        = P_GLOBAL,
-               .offset         = GLOBAL_VAR(rootdir),
+               .offset         = GLOBAL_VAR(root_directory),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "root dir",
                .type           = P_STRING,
                .p_class        = P_GLOBAL,
-               .offset         = GLOBAL_VAR(rootdir),
+               .offset         = GLOBAL_VAR(root_directory),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_HIDE,
+               .flags          = FLAG_SYNONYM,
        },
        {
                .label          = "root",
                .type           = P_STRING,
                .p_class        = P_GLOBAL,
-               .offset         = GLOBAL_VAR(rootdir),
+               .offset         = GLOBAL_VAR(root_directory),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_HIDE,
+               .flags          = FLAG_SYNONYM,
        },
        {
                .label          = "guest account",
@@ -586,7 +568,6 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(guest_account),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_BASIC | FLAG_ADVANCED,
        },
        {
                .label          = "enable privileges",
@@ -595,7 +576,7 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(enable_privileges),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_DEPRECATED,
+               .flags          = FLAG_DEPRECATED,
        },
 
        {
@@ -605,7 +586,6 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(pam_password_change),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "passwd program",
@@ -614,7 +594,6 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(passwd_program),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "passwd chat",
@@ -623,7 +602,6 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(passwd_chat),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "passwd chat debug",
@@ -632,7 +610,6 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(passwd_chat_debug),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "passwd chat timeout",
@@ -641,7 +618,6 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(passwd_chat_timeout),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "check password script",
@@ -650,7 +626,6 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(check_password_script),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "username map",
@@ -659,16 +634,14 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(username_map),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "username level",
                .type           = P_INTEGER,
                .p_class        = P_GLOBAL,
-               .offset         = GLOBAL_VAR(usernamelevel),
+               .offset         = GLOBAL_VAR(username_level),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "unix password sync",
@@ -677,7 +650,6 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(unix_password_sync),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "restrict anonymous",
@@ -686,7 +658,6 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(restrict_anonymous),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "lanman auth",
@@ -695,7 +666,6 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(lanman_auth),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "ntlm auth",
@@ -704,7 +674,6 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(ntlm_auth),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "client NTLMv2 auth",
@@ -713,7 +682,6 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(client_ntlmv2_auth),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "client lanman auth",
@@ -722,7 +690,6 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(client_lanman_auth),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "client plaintext auth",
@@ -731,7 +698,6 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(client_plaintext_auth),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "client use spnego principal",
@@ -740,7 +706,7 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(client_use_spnego_principal),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
+               .flags          = FLAG_DEPRECATED,
        },
        {
                .label          = "username",
@@ -749,7 +715,7 @@ static struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(username),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_GLOBAL | FLAG_SHARE | FLAG_DEPRECATED,
+               .flags          = FLAG_DEPRECATED,
        },
        {
                .label          = "user",
@@ -758,7 +724,7 @@ static struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(username),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_HIDE,
+               .flags          = FLAG_SYNONYM,
        },
        {
                .label          = "users",
@@ -767,52 +733,47 @@ static struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(username),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_HIDE,
+               .flags          = FLAG_SYNONYM,
        },
        {
                .label          = "invalid users",
-               .type           = P_LIST,
+               .type           = P_CMDLIST,
                .p_class        = P_LOCAL,
                .offset         = LOCAL_VAR(invalid_users),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_GLOBAL | FLAG_SHARE,
        },
        {
                .label          = "valid users",
-               .type           = P_LIST,
+               .type           = P_CMDLIST,
                .p_class        = P_LOCAL,
                .offset         = LOCAL_VAR(valid_users),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_GLOBAL | FLAG_SHARE,
        },
        {
                .label          = "admin users",
-               .type           = P_LIST,
+               .type           = P_CMDLIST,
                .p_class        = P_LOCAL,
                .offset         = LOCAL_VAR(admin_users),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_GLOBAL | FLAG_SHARE,
        },
        {
                .label          = "read list",
-               .type           = P_LIST,
+               .type           = P_CMDLIST,
                .p_class        = P_LOCAL,
-               .offset         = LOCAL_VAR(readlist),
+               .offset         = LOCAL_VAR(read_list),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_GLOBAL | FLAG_SHARE,
        },
        {
                .label          = "write list",
-               .type           = P_LIST,
+               .type           = P_CMDLIST,
                .p_class        = P_LOCAL,
-               .offset         = LOCAL_VAR(writelist),
+               .offset         = LOCAL_VAR(write_list),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_GLOBAL | FLAG_SHARE,
        },
        {
                .label          = "force user",
@@ -821,7 +782,6 @@ static struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(force_user),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_SHARE,
        },
        {
                .label          = "force group",
@@ -830,7 +790,6 @@ static struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(force_group),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_SHARE,
        },
        {
                .label          = "group",
@@ -839,7 +798,7 @@ static struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(force_group),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
+               .flags          = FLAG_SYNONYM,
        },
        {
                .label          = "read only",
@@ -848,7 +807,14 @@ static struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(read_only),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_BASIC | FLAG_ADVANCED | FLAG_SHARE,
+       },
+       {
+               .label          = "spotlight",
+               .type           = P_BOOL,
+               .p_class        = P_LOCAL,
+               .offset         = LOCAL_VAR(spotlight),
+               .special        = NULL,
+               .enum_list      = NULL,
        },
        {
                .label          = "write ok",
@@ -857,7 +823,7 @@ static struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(read_only),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_HIDE,
+               .flags          = FLAG_SYNONYM,
        },
        {
                .label          = "writeable",
@@ -866,7 +832,7 @@ static struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(read_only),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_HIDE,
+               .flags          = FLAG_SYNONYM,
        },
        {
                .label          = "writable",
@@ -875,7 +841,7 @@ static struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(read_only),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_HIDE,
+               .flags          = FLAG_SYNONYM,
        },
        {
                .label          = "acl check permissions",
@@ -884,7 +850,7 @@ static struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(acl_check_permissions),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_GLOBAL | FLAG_SHARE | FLAG_DEPRECATED,
+               .flags          = FLAG_DEPRECATED,
        },
        {
                .label          = "acl group control",
@@ -893,7 +859,6 @@ static struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(acl_group_control),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_GLOBAL | FLAG_SHARE,
        },
        {
                .label          = "acl map full control",
@@ -902,7 +867,6 @@ static struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(acl_map_full_control),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_GLOBAL | FLAG_SHARE,
        },
        {
                .label          = "acl allow execute always",
@@ -911,7 +875,6 @@ static struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(acl_allow_execute_always),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_GLOBAL | FLAG_SHARE,
        },
 
        {
@@ -921,7 +884,6 @@ static struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(create_mask),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_GLOBAL | FLAG_SHARE,
        },
        {
                .label          = "create mode",
@@ -930,7 +892,7 @@ static struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(create_mask),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_HIDE,
+               .flags          = FLAG_SYNONYM,
        },
        {
                .label          = "force create mode",
@@ -939,7 +901,6 @@ static struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(force_create_mode),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_GLOBAL | FLAG_SHARE,
        },
        {
                .label          = "directory mask",
@@ -948,7 +909,6 @@ static struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(directory_mask),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_GLOBAL | FLAG_SHARE,
        },
        {
                .label          = "directory mode",
@@ -957,7 +917,7 @@ static struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(directory_mask),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_GLOBAL,
+               .flags          = FLAG_SYNONYM,
        },
        {
                .label          = "force directory mode",
@@ -966,7 +926,6 @@ static struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(force_directory_mode),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_GLOBAL | FLAG_SHARE,
        },
        {
                .label          = "force unknown acl user",
@@ -975,16 +934,14 @@ static struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(force_unknown_acl_user),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_GLOBAL | FLAG_SHARE,
        },
        {
                .label          = "inherit permissions",
                .type           = P_BOOL,
                .p_class        = P_LOCAL,
-               .offset         = LOCAL_VAR(inherit_perms),
+               .offset         = LOCAL_VAR(inherit_permissions),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_SHARE,
        },
        {
                .label          = "inherit acls",
@@ -993,7 +950,6 @@ static struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(inherit_acls),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_SHARE,
        },
        {
                .label          = "inherit owner",
@@ -1002,7 +958,6 @@ static struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(inherit_owner),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_SHARE,
        },
        {
                .label          = "guest only",
@@ -1011,7 +966,6 @@ static struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(guest_only),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_SHARE,
        },
        {
                .label          = "only guest",
@@ -1020,7 +974,7 @@ static struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(guest_only),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_HIDE,
+               .flags          = FLAG_SYNONYM,
        },
        {
                .label          = "administrative share",
@@ -1029,7 +983,6 @@ static struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(administrative_share),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_SHARE | FLAG_PRINT,
        },
 
        {
@@ -1039,7 +992,6 @@ static struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(guest_ok),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_BASIC | FLAG_ADVANCED | FLAG_SHARE | FLAG_PRINT,
        },
        {
                .label          = "public",
@@ -1048,61 +1000,58 @@ static struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(guest_ok),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_HIDE,
+               .flags          = FLAG_SYNONYM,
        },
        {
                .label          = "only user",
                .type           = P_BOOL,
                .p_class        = P_LOCAL,
-               .offset         = LOCAL_VAR(onlyuser),
+               .offset         = LOCAL_VAR(only_user),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_SHARE | FLAG_DEPRECATED,
+               .flags          = FLAG_DEPRECATED,
        },
        {
                .label          = "hosts allow",
-               .type           = P_LIST,
+               .type           = P_CMDLIST,
                .p_class        = P_LOCAL,
                .offset         = LOCAL_VAR(hosts_allow),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_GLOBAL | FLAG_BASIC | FLAG_ADVANCED | FLAG_SHARE | FLAG_PRINT,
        },
        {
                .label          = "allow hosts",
-               .type           = P_LIST,
+               .type           = P_CMDLIST,
                .p_class        = P_LOCAL,
                .offset         = LOCAL_VAR(hosts_allow),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_HIDE,
+               .flags          = FLAG_SYNONYM,
        },
        {
                .label          = "hosts deny",
-               .type           = P_LIST,
+               .type           = P_CMDLIST,
                .p_class        = P_LOCAL,
                .offset         = LOCAL_VAR(hosts_deny),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_GLOBAL | FLAG_BASIC | FLAG_ADVANCED | FLAG_SHARE | FLAG_PRINT,
        },
        {
                .label          = "deny hosts",
-               .type           = P_LIST,
+               .type           = P_CMDLIST,
                .p_class        = P_LOCAL,
                .offset         = LOCAL_VAR(hosts_deny),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_HIDE,
+               .flags          = FLAG_SYNONYM,
        },
        {
                .label          = "preload modules",
-               .type           = P_LIST,
+               .type           = P_CMDLIST,
                .p_class        = P_GLOBAL,
                .offset         = GLOBAL_VAR(preload_modules),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_GLOBAL,
        },
        {
                .label          = "dedicated keytab file",
@@ -1111,7 +1060,6 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(dedicated_keytab_file),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "kerberos method",
@@ -1120,7 +1068,6 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(kerberos_method),
                .special        = NULL,
                .enum_list      = enum_kerberos_method,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "map untrusted to domain",
@@ -1129,29 +1076,23 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(map_untrusted_to_domain),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_GLOBAL,
        },
-
-
-       {N_("Logging Options"), P_SEP, P_SEPARATOR},
-
        {
                .label          = "log level",
                .type           = P_STRING,
                .p_class        = P_GLOBAL,
-               .offset         = GLOBAL_VAR(loglevel),
+               .offset         = GLOBAL_VAR(log_level),
                .special        = handle_debug_list,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "debuglevel",
                .type           = P_STRING,
                .p_class        = P_GLOBAL,
-               .offset         = GLOBAL_VAR(loglevel),
+               .offset         = GLOBAL_VAR(log_level),
                .special        = handle_debug_list,
                .enum_list      = NULL,
-               .flags          = FLAG_HIDE,
+               .flags          = FLAG_SYNONYM,
        },
        {
                .label          = "syslog",
@@ -1160,7 +1101,7 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(syslog),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
+               .flags          = FLAG_DEPRECATED,
        },
        {
                .label          = "syslog only",
@@ -1169,7 +1110,7 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(syslog_only),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
+               .flags          = FLAG_DEPRECATED,
        },
        {
                .label          = "log file",
@@ -1178,7 +1119,14 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(logfile),
                .special        = handle_logfile,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
+       },
+       {
+               .label          = "logging",
+               .type           = P_STRING,
+               .p_class        = P_GLOBAL,
+               .offset         = GLOBAL_VAR(logging),
+               .special        = NULL,
+               .enum_list      = NULL,
        },
        {
                .label          = "max log size",
@@ -1187,7 +1135,6 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(max_log_size),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "debug timestamp",
@@ -1196,7 +1143,7 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(timestamp_logs),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
+               .flags          = FLAG_SYNONYM,
        },
        {
                .label          = "timestamp logs",
@@ -1205,7 +1152,6 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(timestamp_logs),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "debug prefix timestamp",
@@ -1214,7 +1160,6 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(debug_prefix_timestamp),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "debug hires timestamp",
@@ -1223,7 +1168,6 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(debug_hires_timestamp),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "debug pid",
@@ -1232,7 +1176,6 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(debug_pid),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "debug uid",
@@ -1241,7 +1184,6 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(debug_uid),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "debug class",
@@ -1250,7 +1192,6 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(debug_class),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "enable core files",
@@ -1259,11 +1200,7 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(enable_core_files),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
-
-       {N_("Protocol Options"), P_SEP, P_SEPARATOR},
-
        {
                .label          = "allocation roundup size",
                .type           = P_BYTES,
@@ -1271,7 +1208,6 @@ static struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(allocation_roundup_size),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "aio read size",
@@ -1280,7 +1216,6 @@ static struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(aio_read_size),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "aio write size",
@@ -1289,7 +1224,6 @@ static struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(aio_write_size),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "aio write behind",
@@ -1298,16 +1232,14 @@ static struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(aio_write_behind),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_SHARE | FLAG_GLOBAL,
        },
        {
                .label          = "smb ports",
-               .type           = P_LIST,
+               .type           = P_CMDLIST,
                .p_class        = P_GLOBAL,
                .offset         = GLOBAL_VAR(smb_ports),
-               .special        = NULL,
+               .special        = handle_smb_ports,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "large readwrite",
@@ -1316,70 +1248,65 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(large_readwrite),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "server max protocol",
                .type           = P_ENUM,
                .p_class        = P_GLOBAL,
-               .offset         = GLOBAL_VAR(srv_maxprotocol),
+               .offset         = GLOBAL_VAR(server_max_protocol),
                .special        = NULL,
                .enum_list      = enum_protocol,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "max protocol",
                .type           = P_ENUM,
                .p_class        = P_GLOBAL,
-               .offset         = GLOBAL_VAR(srv_maxprotocol),
+               .offset         = GLOBAL_VAR(server_max_protocol),
                .special        = NULL,
                .enum_list      = enum_protocol,
-               .flags          = FLAG_ADVANCED,
+               .flags          = FLAG_SYNONYM,
        },
        {
                .label          = "protocol",
                .type           = P_ENUM,
                .p_class        = P_GLOBAL,
-               .offset         = GLOBAL_VAR(srv_maxprotocol),
+               .offset         = GLOBAL_VAR(server_max_protocol),
                .special        = NULL,
                .enum_list      = enum_protocol,
-               .flags          = FLAG_ADVANCED,
+               .flags          = FLAG_SYNONYM,
        },
        {
                .label          = "server min protocol",
                .type           = P_ENUM,
                .p_class        = P_GLOBAL,
-               .offset         = GLOBAL_VAR(srv_minprotocol),
+               .offset         = GLOBAL_VAR(server_min_protocol),
                .special        = NULL,
                .enum_list      = enum_protocol,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "min protocol",
                .type           = P_ENUM,
                .p_class        = P_GLOBAL,
-               .offset         = GLOBAL_VAR(srv_minprotocol),
+               .offset         = GLOBAL_VAR(server_min_protocol),
                .special        = NULL,
                .enum_list      = enum_protocol,
-               .flags          = FLAG_ADVANCED,
+               .flags          = FLAG_SYNONYM,
        },
        {
                .label          = "client max protocol",
                .type           = P_ENUM,
                .p_class        = P_GLOBAL,
-               .offset         = GLOBAL_VAR(cli_maxprotocol),
+               .offset         = GLOBAL_VAR(_client_max_protocol),
                .special        = NULL,
                .enum_list      = enum_protocol,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "client min protocol",
                .type           = P_ENUM,
                .p_class        = P_GLOBAL,
-               .offset         = GLOBAL_VAR(cli_minprotocol),
+               .offset         = GLOBAL_VAR(client_min_protocol),
                .special        = NULL,
                .enum_list      = enum_protocol,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "unicode",
@@ -1393,28 +1320,25 @@ static struct parm_struct parm_table[] = {
                .label          = "min receivefile size",
                .type           = P_BYTES,
                .p_class        = P_GLOBAL,
-               .offset         = GLOBAL_VAR(iminreceivefile),
+               .offset         = GLOBAL_VAR(min_receivefile_size),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "read raw",
                .type           = P_BOOL,
                .p_class        = P_GLOBAL,
-               .offset         = GLOBAL_VAR(bReadRaw),
+               .offset         = GLOBAL_VAR(read_raw),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "write raw",
                .type           = P_BOOL,
                .p_class        = P_GLOBAL,
-               .offset         = GLOBAL_VAR(bWriteRaw),
+               .offset         = GLOBAL_VAR(write_raw),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "disable netbios",
@@ -1423,7 +1347,6 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(disable_netbios),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "reset on zero vc",
@@ -1432,7 +1355,6 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(reset_on_zero_vc),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "log writeable files on exit",
@@ -1441,7 +1363,6 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(log_writeable_files_on_exit),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "defer sharing violations",
@@ -1450,7 +1371,6 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(defer_sharing_violations),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_GLOBAL,
        },
        {
                .label          = "ea support",
@@ -1459,7 +1379,6 @@ static struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(ea_support),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_SHARE | FLAG_GLOBAL,
        },
        {
                .label          = "nt acl support",
@@ -1468,7 +1387,6 @@ static struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(nt_acl_support),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_SHARE | FLAG_GLOBAL,
        },
        {
                .label          = "nt pipe support",
@@ -1477,7 +1395,6 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(nt_pipe_support),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "nt status support",
@@ -1486,7 +1403,14 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(nt_status_support),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
+       },
+       {
+               .label          = "smbd profiling level",
+               .type           = P_ENUM,
+               .p_class        = P_GLOBAL,
+               .offset         = GLOBAL_VAR(smbd_profiling_level),
+               .special        = NULL,
+               .enum_list      = enum_smbd_profiling_level,
        },
        {
                .label          = "profile acls",
@@ -1495,7 +1419,6 @@ static struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(profile_acls),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_GLOBAL | FLAG_SHARE,
        },
        {
                .label          = "map acl inherit",
@@ -1504,7 +1427,6 @@ static struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(map_acl_inherit),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_SHARE | FLAG_GLOBAL,
        },
        {
                .label          = "afs share",
@@ -1513,16 +1435,14 @@ static struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(afs_share),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_SHARE | FLAG_GLOBAL,
        },
        {
                .label          = "max mux",
                .type           = P_INTEGER,
                .p_class        = P_GLOBAL,
-               .offset         = GLOBAL_VAR(maxmux),
+               .offset         = GLOBAL_VAR(max_mux),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "max xmit",
@@ -1531,16 +1451,14 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(max_xmit),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "name resolve order",
-               .type           = P_LIST,
+               .type           = P_CMDLIST,
                .p_class        = P_GLOBAL,
                .offset         = GLOBAL_VAR(name_resolve_order),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_WIZARD,
        },
        {
                .label          = "max ttl",
@@ -1549,7 +1467,6 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(max_ttl),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "max wins ttl",
@@ -1558,7 +1475,6 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(max_wins_ttl),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "min wins ttl",
@@ -1567,7 +1483,6 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(min_wins_ttl),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "time server",
@@ -1576,7 +1491,6 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(time_server),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "unix extensions",
@@ -1585,7 +1499,6 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(unix_extensions),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "use spnego",
@@ -1594,7 +1507,7 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(use_spnego),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_DEPRECATED,
+               .flags          = FLAG_DEPRECATED,
        },
        {
                .label          = "client signing",
@@ -1603,7 +1516,6 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(client_signing),
                .special        = NULL,
                .enum_list      = enum_smb_signing_vals,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "server signing",
@@ -1612,7 +1524,6 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(server_signing),
                .special        = NULL,
                .enum_list      = enum_smb_signing_vals,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "smb encrypt",
@@ -1621,7 +1532,6 @@ static struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(smb_encrypt),
                .special        = NULL,
                .enum_list      = enum_smb_signing_vals,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "client use spnego",
@@ -1630,7 +1540,6 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(client_use_spnego),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "client ldap sasl wrapping",
@@ -1639,7 +1548,6 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(client_ldap_sasl_wrapping),
                .special        = NULL,
                .enum_list      = enum_ldap_sasl_wrapping,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "enable asu support",
@@ -1648,16 +1556,14 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(enable_asu_support),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "svcctl list",
-               .type           = P_LIST,
+               .type           = P_CMDLIST,
                .p_class        = P_GLOBAL,
                .offset         = GLOBAL_VAR(svcctl_list),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "cldap port",
@@ -1673,7 +1579,8 @@ static struct parm_struct parm_table[] = {
                .p_class        = P_GLOBAL,
                .offset         = GLOBAL_VAR(dgram_port),
                .special        = NULL,
-               .enum_list      = NULL
+               .enum_list      = NULL,
+               .flags          = FLAG_DEPRECATED
        },
        {
                .label          = "nbt port",
@@ -1681,7 +1588,8 @@ static struct parm_struct parm_table[] = {
                .p_class        = P_GLOBAL,
                .offset         = GLOBAL_VAR(nbt_port),
                .special        = NULL,
-               .enum_list      = NULL
+               .enum_list      = NULL,
+               .flags          = FLAG_DEPRECATED
        },
        {
                .label          = "krb5 port",
@@ -1722,11 +1630,7 @@ static struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(durable_handles),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
-
-       {N_("Tuning Options"), P_SEP, P_SEPARATOR},
-
        {
                .label          = "block size",
                .type           = P_BYTES,
@@ -1734,7 +1638,6 @@ static struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(block_size),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_SHARE | FLAG_GLOBAL,
        },
        {
                .label          = "deadtime",
@@ -1743,7 +1646,6 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(deadtime),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "getwd cache",
@@ -1752,7 +1654,6 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(getwd_cache),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "keepalive",
@@ -1761,16 +1662,14 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(keepalive),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "change notify",
                .type           = P_BOOL,
-               .p_class        = P_LOCAL,
-               .offset         = LOCAL_VAR(change_notify),
+               .p_class        = P_GLOBAL,
+               .offset         = GLOBAL_VAR(change_notify),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_SHARE,
        },
        {
                .label          = "directory name cache size",
@@ -1779,16 +1678,14 @@ static struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(directory_name_cache_size),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_SHARE,
        },
        {
                .label          = "kernel change notify",
                .type           = P_BOOL,
-               .p_class        = P_LOCAL,
-               .offset         = LOCAL_VAR(kernel_change_notify),
+               .p_class        = P_GLOBAL,
+               .offset         = GLOBAL_VAR(kernel_change_notify),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_SHARE,
        },
        {
                .label          = "lpq cache time",
@@ -1797,7 +1694,6 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(lpq_cache_time),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "max smbd processes",
@@ -1806,7 +1702,6 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(max_smbd_processes),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "max connections",
@@ -1815,16 +1710,14 @@ static struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(max_connections),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_SHARE,
        },
        {
                .label          = "max disk size",
                .type           = P_BYTES,
                .p_class        = P_GLOBAL,
-               .offset         = GLOBAL_VAR(maxdisksize),
+               .offset         = GLOBAL_VAR(max_disk_size),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "max open files",
@@ -1833,16 +1726,14 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(max_open_files),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "min print space",
                .type           = P_INTEGER,
                .p_class        = P_LOCAL,
-               .offset         = LOCAL_VAR(minprintspace),
+               .offset         = LOCAL_VAR(min_print_space),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_PRINT,
        },
        {
                .label          = "socket options",
@@ -1851,7 +1742,6 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(socket_options),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "strict allocate",
@@ -1860,43 +1750,38 @@ static struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(strict_allocate),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_SHARE,
        },
        {
-               .label          = "strict sync",
+               .label          = "strict rename",
                .type           = P_BOOL,
                .p_class        = P_LOCAL,
-               .offset         = LOCAL_VAR(strict_sync),
+               .offset         = LOCAL_VAR(strict_rename),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_SHARE,
        },
        {
-               .label          = "sync always",
+               .label          = "strict sync",
                .type           = P_BOOL,
                .p_class        = P_LOCAL,
-               .offset         = LOCAL_VAR(syncalways),
+               .offset         = LOCAL_VAR(strict_sync),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_SHARE,
        },
        {
-               .label          = "use mmap",
+               .label          = "sync always",
                .type           = P_BOOL,
-               .p_class        = P_GLOBAL,
-               .offset         = GLOBAL_VAR(use_mmap),
+               .p_class        = P_LOCAL,
+               .offset         = LOCAL_VAR(sync_always),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
-               .label          = "use ntdb",
+               .label          = "use mmap",
                .type           = P_BOOL,
                .p_class        = P_GLOBAL,
-               .offset         = GLOBAL_VAR(use_ntdb),
+               .offset         = GLOBAL_VAR(use_mmap),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "use sendfile",
@@ -1905,7 +1790,6 @@ static struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(_use_sendfile),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_SHARE,
        },
        {
                .label          = "hostname lookups",
@@ -1914,7 +1798,6 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(hostname_lookups),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "write cache size",
@@ -1923,7 +1806,6 @@ static struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(write_cache_size),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_SHARE,
        },
        {
                .label          = "name cache timeout",
@@ -1932,25 +1814,22 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(name_cache_timeout),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "ctdbd socket",
                .type           = P_STRING,
                .p_class        = P_GLOBAL,
-               .offset         = GLOBAL_VAR(ctdbd_socket),
+               .offset         = GLOBAL_VAR(_ctdbd_socket),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_GLOBAL,
        },
        {
                .label          = "cluster addresses",
-               .type           = P_LIST,
+               .type           = P_CMDLIST,
                .p_class        = P_GLOBAL,
                .offset         = GLOBAL_VAR(cluster_addresses),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_GLOBAL,
        },
        {
                .label          = "clustering",
@@ -1959,7 +1838,6 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(clustering),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_GLOBAL,
        },
        {
                .label          = "ctdb timeout",
@@ -1968,7 +1846,6 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(ctdb_timeout),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_GLOBAL,
        },
        {
                .label          = "ctdb locktime warn threshold",
@@ -1977,7 +1854,6 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(ctdb_locktime_warn_threshold),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_GLOBAL,
        },
        {
                .label          = "smb2 max read",
@@ -1986,7 +1862,6 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(smb2_max_read),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "smb2 max write",
@@ -1995,7 +1870,6 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(smb2_max_write),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "smb2 max trans",
@@ -2004,20 +1878,15 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(smb2_max_trans),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "smb2 max credits",
                .type           = P_INTEGER,
                .p_class        = P_GLOBAL,
-               .offset         = GLOBAL_VAR(ismb2_max_credits),
-               .special        = NULL,
+               .offset         = GLOBAL_VAR(smb2_max_credits),
+               .special        = handle_smb2_max_credits,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
-
-       {N_("Printing Options"), P_SEP, P_SEPARATOR},
-
        {
                .label          = "max reported print jobs",
                .type           = P_INTEGER,
@@ -2025,16 +1894,14 @@ static struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(max_reported_print_jobs),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_PRINT,
        },
        {
                .label          = "max print jobs",
                .type           = P_INTEGER,
                .p_class        = P_LOCAL,
-               .offset         = LOCAL_VAR(iMaxPrintJobs),
+               .offset         = LOCAL_VAR(max_print_jobs),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_PRINT,
        },
        {
                .label          = "load printers",
@@ -2043,7 +1910,6 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(load_printers),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_PRINT,
        },
        {
                .label          = "printcap cache time",
@@ -2052,25 +1918,23 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(printcap_cache_time),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_PRINT,
        },
        {
                .label          = "printcap name",
                .type           = P_STRING,
                .p_class        = P_GLOBAL,
-               .offset         = GLOBAL_VAR(szPrintcapname),
+               .offset         = GLOBAL_VAR(printcap_name),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_PRINT,
        },
        {
                .label          = "printcap",
                .type           = P_STRING,
                .p_class        = P_GLOBAL,
-               .offset         = GLOBAL_VAR(szPrintcapname),
+               .offset         = GLOBAL_VAR(printcap_name),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_HIDE,
+               .flags          = FLAG_SYNONYM,
        },
        {
                .label          = "printable",
@@ -2079,7 +1943,6 @@ static struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(printable),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_PRINT,
        },
        {
                .label          = "print notify backchannel",
@@ -2088,7 +1951,6 @@ static struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(print_notify_backchannel),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "print ok",
@@ -2097,7 +1959,7 @@ static struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(printable),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_HIDE,
+               .flags          = FLAG_SYNONYM,
        },
        {
                .label          = "printing",
@@ -2106,7 +1968,6 @@ static struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(printing),
                .special        = handle_printing,
                .enum_list      = enum_printing,
-               .flags          = FLAG_ADVANCED | FLAG_PRINT | FLAG_GLOBAL,
        },
        {
                .label          = "cups options",
@@ -2115,7 +1976,6 @@ static struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(cups_options),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_PRINT | FLAG_GLOBAL,
        },
        {
                .label          = "cups server",
@@ -2124,16 +1984,14 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(cups_server),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_PRINT | FLAG_GLOBAL,
        },
        {
                .label          = "cups encrypt",
                .type           = P_ENUM,
                .p_class        = P_GLOBAL,
-               .offset         = GLOBAL_VAR(CupsEncrypt),
+               .offset         = GLOBAL_VAR(cups_encrypt),
                .special        = NULL,
                .enum_list      = enum_bool_auto,
-               .flags          = FLAG_ADVANCED | FLAG_PRINT | FLAG_GLOBAL,
        },
        {
 
@@ -2143,7 +2001,6 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(cups_connection_timeout),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "iprint server",
@@ -2152,7 +2009,6 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(iprint_server),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_PRINT | FLAG_GLOBAL,
        },
        {
                .label          = "print command",
@@ -2161,7 +2017,6 @@ static struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(print_command),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_PRINT | FLAG_GLOBAL,
        },
        {
                .label          = "disable spoolss",
@@ -2170,7 +2025,6 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(_disable_spoolss),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_PRINT | FLAG_GLOBAL,
        },
        {
                .label          = "enable spoolss",
@@ -2179,7 +2033,7 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(_disable_spoolss),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_HIDE,
+               .flags          = FLAG_SYNONYM,
        },
        {
                .label          = "lpq command",
@@ -2188,7 +2042,6 @@ static struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(lpq_command),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_PRINT | FLAG_GLOBAL,
        },
        {
                .label          = "lprm command",
@@ -2197,7 +2050,6 @@ static struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(lprm_command),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_PRINT | FLAG_GLOBAL,
        },
        {
                .label          = "lppause command",
@@ -2206,7 +2058,6 @@ static struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(lppause_command),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_PRINT | FLAG_GLOBAL,
        },
        {
                .label          = "lpresume command",
@@ -2215,7 +2066,6 @@ static struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(lpresume_command),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_PRINT | FLAG_GLOBAL,
        },
        {
                .label          = "queuepause command",
@@ -2224,7 +2074,6 @@ static struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(queuepause_command),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_PRINT | FLAG_GLOBAL,
        },
        {
                .label          = "queueresume command",
@@ -2233,7 +2082,6 @@ static struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(queueresume_command),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_PRINT | FLAG_GLOBAL,
        },
        {
                .label          = "addport command",
@@ -2242,7 +2090,6 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(addport_command),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "enumports command",
@@ -2251,7 +2098,6 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(enumports_command),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "addprinter command",
@@ -2260,7 +2106,6 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(addprinter_command),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "deleteprinter command",
@@ -2269,16 +2114,14 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(deleteprinter_command),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "show add printer wizard",
                .type           = P_BOOL,
                .p_class        = P_GLOBAL,
-               .offset         = GLOBAL_VAR(ms_add_printer_wizard),
+               .offset         = GLOBAL_VAR(show_add_printer_wizard),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "os2 driver map",
@@ -2287,7 +2130,6 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(os2_driver_map),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
 
        {
@@ -2297,7 +2139,6 @@ static struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(_printername),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_PRINT,
        },
        {
                .label          = "printer",
@@ -2306,7 +2147,7 @@ static struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(_printername),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_HIDE,
+               .flags          = FLAG_SYNONYM,
        },
        {
                .label          = "use client driver",
@@ -2315,7 +2156,6 @@ static struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(use_client_driver),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_PRINT,
        },
        {
                .label          = "default devmode",
@@ -2324,7 +2164,6 @@ static struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(default_devmode),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_PRINT,
        },
        {
                .label          = "force printername",
@@ -2333,7 +2172,6 @@ static struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(force_printername),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_PRINT,
        },
        {
                .label          = "printjob username",
@@ -2342,11 +2180,7 @@ static struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(printjob_username),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_PRINT,
        },
-
-       {N_("Filename Handling"), P_SEP, P_SEPARATOR},
-
        {
                .label          = "mangling method",
                .type           = P_STRING,
@@ -2354,7 +2188,6 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(mangling_method),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "mangle prefix",
@@ -2363,7 +2196,6 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(mangle_prefix),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
 
        {
@@ -2373,7 +2205,6 @@ static struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(default_case),
                .special        = NULL,
                .enum_list      = enum_case,
-               .flags          = FLAG_ADVANCED | FLAG_SHARE,
        },
        {
                .label          = "case sensitive",
@@ -2382,7 +2213,6 @@ static struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(case_sensitive),
                .special        = NULL,
                .enum_list      = enum_bool_auto,
-               .flags          = FLAG_ADVANCED | FLAG_SHARE | FLAG_GLOBAL,
        },
        {
                .label          = "casesignames",
@@ -2391,7 +2221,7 @@ static struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(case_sensitive),
                .special        = NULL,
                .enum_list      = enum_bool_auto,
-               .flags          = FLAG_ADVANCED | FLAG_SHARE | FLAG_GLOBAL | FLAG_HIDE,
+               .flags          = FLAG_SYNONYM,
        },
        {
                .label          = "preserve case",
@@ -2400,7 +2230,6 @@ static struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(preserve_case),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_SHARE | FLAG_GLOBAL,
        },
        {
                .label          = "short preserve case",
@@ -2409,7 +2238,6 @@ static struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(short_preserve_case),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_SHARE | FLAG_GLOBAL,
        },
        {
                .label          = "mangling char",
@@ -2418,7 +2246,6 @@ static struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(mangling_char),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_SHARE | FLAG_GLOBAL,
        },
        {
                .label          = "hide dot files",
@@ -2427,7 +2254,6 @@ static struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(hide_dot_files),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_SHARE | FLAG_GLOBAL,
        },
        {
                .label          = "hide special files",
@@ -2436,7 +2262,6 @@ static struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(hide_special_files),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_SHARE | FLAG_GLOBAL,
        },
        {
                .label          = "hide unreadable",
@@ -2445,7 +2270,6 @@ static struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(hide_unreadable),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_SHARE | FLAG_GLOBAL,
        },
        {
                .label          = "hide unwriteable files",
@@ -2454,7 +2278,6 @@ static struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(hide_unwriteable_files),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_SHARE | FLAG_GLOBAL,
        },
        {
                .label          = "delete veto files",
@@ -2463,7 +2286,6 @@ static struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(delete_veto_files),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_SHARE | FLAG_GLOBAL,
        },
        {
                .label          = "veto files",
@@ -2472,7 +2294,6 @@ static struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(veto_files),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_SHARE | FLAG_GLOBAL,
        },
        {
                .label          = "hide files",
@@ -2481,7 +2302,6 @@ static struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(hide_files),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_SHARE | FLAG_GLOBAL,
        },
        {
                .label          = "veto oplock files",
@@ -2490,7 +2310,6 @@ static struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(veto_oplock_files),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_SHARE | FLAG_GLOBAL,
        },
        {
                .label          = "map archive",
@@ -2499,7 +2318,6 @@ static struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(map_archive),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_SHARE | FLAG_GLOBAL,
        },
        {
                .label          = "map hidden",
@@ -2508,7 +2326,6 @@ static struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(map_hidden),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_SHARE | FLAG_GLOBAL,
        },
        {
                .label          = "map system",
@@ -2517,7 +2334,6 @@ static struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(map_system),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_SHARE | FLAG_GLOBAL,
        },
        {
                .label          = "map readonly",
@@ -2526,7 +2342,6 @@ static struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(map_readonly),
                .special        = NULL,
                .enum_list      = enum_map_readonly,
-               .flags          = FLAG_ADVANCED | FLAG_SHARE | FLAG_GLOBAL,
        },
        {
                .label          = "mangled names",
@@ -2535,7 +2350,6 @@ static struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(mangled_names),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_SHARE | FLAG_GLOBAL,
        },
        {
                .label          = "max stat cache size",
@@ -2544,7 +2358,6 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(max_stat_cache_size),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "stat cache",
@@ -2553,7 +2366,6 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(stat_cache),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "store dos attributes",
@@ -2562,7 +2374,6 @@ static struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(store_dos_attributes),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_SHARE | FLAG_GLOBAL,
        },
        {
                .label          = "dmapi support",
@@ -2571,12 +2382,7 @@ static struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(dmapi_support),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_SHARE | FLAG_GLOBAL,
        },
-
-
-       {N_("Domain Options"), P_SEP, P_SEPARATOR},
-
        {
                .label          = "machine password timeout",
                .type           = P_INTEGER,
@@ -2584,11 +2390,7 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(machine_password_timeout),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_WIZARD,
        },
-
-       {N_("Logon Options"), P_SEP, P_SEPARATOR},
-
        {
                .label          = "add user script",
                .type           = P_STRING,
@@ -2596,16 +2398,14 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(add_user_script),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "rename user script",
                .type           = P_STRING,
                .p_class        = P_GLOBAL,
-               .offset         = GLOBAL_VAR(renameuser_script),
+               .offset         = GLOBAL_VAR(rename_user_script),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "delete user script",
@@ -2614,7 +2414,6 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(delete_user_script),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "add group script",
@@ -2623,7 +2422,6 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(add_group_script),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "delete group script",
@@ -2632,7 +2430,6 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(delete_group_script),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "add user to group script",
@@ -2641,7 +2438,6 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(add_user_to_group_script),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "delete user from group script",
@@ -2650,7 +2446,6 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(delete_user_from_group_script),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "set primary group script",
@@ -2659,7 +2454,6 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(set_primary_group_script),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "add machine script",
@@ -2668,7 +2462,6 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(add_machine_script),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "shutdown script",
@@ -2677,7 +2470,6 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(shutdown_script),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "abort shutdown script",
@@ -2686,7 +2478,6 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(abort_shutdown_script),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "username map script",
@@ -2695,7 +2486,6 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(username_map_script),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "username map cache time",
@@ -2704,7 +2494,6 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(username_map_cache_time),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "logon script",
@@ -2713,7 +2502,6 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(logon_script),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "logon path",
@@ -2722,7 +2510,6 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(logon_path),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "logon drive",
@@ -2731,7 +2518,6 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(logon_drive),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "logon home",
@@ -2740,7 +2526,6 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(logon_home),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "domain logons",
@@ -2749,17 +2534,15 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(_domain_logons),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
 
        {
                .label          = "init logon delayed hosts",
-               .type           = P_LIST,
+               .type           = P_CMDLIST,
                .p_class        = P_GLOBAL,
                .offset         = GLOBAL_VAR(init_logon_delayed_hosts),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
 
        {
@@ -2769,12 +2552,8 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(init_logon_delay),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
 
        },
-
-       {N_("Browse Options"), P_SEP, P_SEPARATOR},
-
        {
                .label          = "os level",
                .type           = P_INTEGER,
@@ -2782,7 +2561,6 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(os_level),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_BASIC | FLAG_ADVANCED,
        },
        {
                .label          = "lm announce",
@@ -2791,7 +2569,6 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(lm_announce),
                .special        = NULL,
                .enum_list      = enum_bool_auto,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "lm interval",
@@ -2800,25 +2577,23 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(lm_interval),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "preferred master",
                .type           = P_ENUM,
                .p_class        = P_GLOBAL,
-               .offset         = GLOBAL_VAR(iPreferredMaster),
+               .offset         = GLOBAL_VAR(_preferred_master),
                .special        = NULL,
                .enum_list      = enum_bool_auto,
-               .flags          = FLAG_BASIC | FLAG_ADVANCED,
        },
        {
                .label          = "prefered master",
                .type           = P_ENUM,
                .p_class        = P_GLOBAL,
-               .offset         = GLOBAL_VAR(iPreferredMaster),
+               .offset         = GLOBAL_VAR(_preferred_master),
                .special        = NULL,
                .enum_list      = enum_bool_auto,
-               .flags          = FLAG_HIDE,
+               .flags          = FLAG_SYNONYM,
        },
        {
                .label          = "local master",
@@ -2827,7 +2602,6 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(local_master),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_BASIC | FLAG_ADVANCED,
        },
        {
                .label          = "domain master",
@@ -2836,7 +2610,6 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(_domain_master),
                .special        = NULL,
                .enum_list      = enum_bool_auto,
-               .flags          = FLAG_BASIC | FLAG_ADVANCED,
        },
        {
                .label          = "browse list",
@@ -2845,7 +2618,6 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(browse_list),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "browseable",
@@ -2854,7 +2626,6 @@ static struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(browseable),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_BASIC | FLAG_ADVANCED | FLAG_SHARE | FLAG_PRINT,
        },
        {
                .label          = "browsable",
@@ -2863,7 +2634,7 @@ static struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(browseable),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_HIDE,
+               .flags          = FLAG_SYNONYM,
        },
        {
                .label          = "access based share enum",
@@ -2872,7 +2643,6 @@ static struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(access_based_share_enum),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_BASIC | FLAG_ADVANCED | FLAG_SHARE
        },
        {
                .label          = "enhanced browsing",
@@ -2881,11 +2651,7 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(enhanced_browsing),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
-
-       {N_("WINS Options"), P_SEP, P_SEPARATOR},
-
        {
                .label          = "dns proxy",
                .type           = P_BOOL,
@@ -2893,7 +2659,6 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(wins_dns_proxy),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "wins proxy",
@@ -2902,16 +2667,14 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(wins_proxy),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "wins server",
-               .type           = P_LIST,
+               .type           = P_CMDLIST,
                .p_class        = P_GLOBAL,
                .offset         = GLOBAL_VAR(wins_server_list),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_BASIC | FLAG_ADVANCED | FLAG_WIZARD,
        },
        {
                .label          = "wins support",
@@ -2920,7 +2683,6 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(we_are_a_wins_server),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_BASIC | FLAG_ADVANCED | FLAG_WIZARD,
        },
        {
                .label          = "wins hook",
@@ -2929,11 +2691,7 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(wins_hook),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
-
-       {N_("Locking Options"), P_SEP, P_SEPARATOR},
-
        {
                .label          = "blocking locks",
                .type           = P_BOOL,
@@ -2941,7 +2699,6 @@ static struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(blocking_locks),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_SHARE | FLAG_GLOBAL,
        },
        {
                .label          = "csc policy",
@@ -2950,7 +2707,6 @@ static struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(csc_policy),
                .special        = NULL,
                .enum_list      = enum_csc_policy,
-               .flags          = FLAG_ADVANCED | FLAG_SHARE | FLAG_GLOBAL,
        },
        {
                .label          = "fake oplocks",
@@ -2959,7 +2715,6 @@ static struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(fake_oplocks),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_SHARE,
        },
        {
                .label          = "kernel oplocks",
@@ -2968,7 +2723,6 @@ static struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(kernel_oplocks),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_SHARE | FLAG_GLOBAL,
        },
        {
                .label          = "kernel share modes",
@@ -2977,7 +2731,14 @@ static struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(kernel_share_modes),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_SHARE | FLAG_GLOBAL,
+       },
+       {
+               .label          = "smb2 leases",
+               .type           = P_BOOL,
+               .p_class        = P_GLOBAL,
+               .offset         = GLOBAL_VAR(smb2_leases),
+               .special        = NULL,
+               .enum_list      = NULL,
        },
        {
                .label          = "locking",
@@ -2986,7 +2747,6 @@ static struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(locking),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_SHARE | FLAG_GLOBAL,
        },
        {
                .label          = "lock spin time",
@@ -2995,7 +2755,6 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(lock_spin_time),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_GLOBAL,
        },
        {
                .label          = "oplocks",
@@ -3004,7 +2763,6 @@ static struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(oplocks),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_SHARE | FLAG_GLOBAL,
        },
        {
                .label          = "level2 oplocks",
@@ -3013,7 +2771,6 @@ static struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(level2_oplocks),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_SHARE | FLAG_GLOBAL,
        },
        {
                .label          = "oplock break wait time",
@@ -3022,7 +2779,6 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(oplock_break_wait_time),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_GLOBAL,
        },
        {
                .label          = "oplock contention limit",
@@ -3031,7 +2787,6 @@ static struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(oplock_contention_limit),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_SHARE | FLAG_GLOBAL,
        },
        {
                .label          = "posix locking",
@@ -3040,7 +2795,6 @@ static struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(posix_locking),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_SHARE | FLAG_GLOBAL,
        },
        {
                .label          = "strict locking",
@@ -3049,11 +2803,7 @@ static struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(strict_locking),
                .special        = NULL,
                .enum_list      = enum_bool_auto,
-               .flags          = FLAG_ADVANCED | FLAG_SHARE | FLAG_GLOBAL,
        },
-
-       {N_("Ldap Options"), P_SEP, P_SEPARATOR},
-
        {
                .label          = "ldap admin dn",
                .type           = P_STRING,
@@ -3061,7 +2811,6 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(ldap_admin_dn),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "ldap delete dn",
@@ -3070,34 +2819,30 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(ldap_delete_dn),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "ldap group suffix",
                .type           = P_STRING,
                .p_class        = P_GLOBAL,
-               .offset         = GLOBAL_VAR(szLdapGroupSuffix),
+               .offset         = GLOBAL_VAR(_ldap_group_suffix),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "ldap idmap suffix",
                .type           = P_STRING,
                .p_class        = P_GLOBAL,
-               .offset         = GLOBAL_VAR(szLdapIdmapSuffix),
+               .offset         = GLOBAL_VAR(_ldap_idmap_suffix),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "ldap machine suffix",
                .type           = P_STRING,
                .p_class        = P_GLOBAL,
-               .offset         = GLOBAL_VAR(szLdapMachineSuffix),
+               .offset         = GLOBAL_VAR(_ldap_machine_suffix),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "ldap passwd sync",
@@ -3106,7 +2851,6 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(ldap_passwd_sync),
                .special        = NULL,
                .enum_list      = enum_ldap_passwd_sync,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "ldap password sync",
@@ -3115,7 +2859,7 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(ldap_passwd_sync),
                .special        = NULL,
                .enum_list      = enum_ldap_passwd_sync,
-               .flags          = FLAG_HIDE,
+               .flags          = FLAG_SYNONYM,
        },
        {
                .label          = "ldap replication sleep",
@@ -3124,7 +2868,6 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(ldap_replication_sleep),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "ldap suffix",
@@ -3133,7 +2876,6 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(ldap_suffix),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "ldap ssl",
@@ -3142,7 +2884,6 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(ldap_ssl),
                .special        = NULL,
                .enum_list      = enum_ldap_ssl,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "ldap ssl ads",
@@ -3151,7 +2892,6 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(ldap_ssl_ads),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "ldap deref",
@@ -3160,7 +2900,6 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(ldap_deref),
                .special        = NULL,
                .enum_list      = enum_ldap_deref,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "ldap follow referral",
@@ -3169,7 +2908,6 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(ldap_follow_referral),
                .special        = NULL,
                .enum_list      = enum_bool_auto,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "ldap timeout",
@@ -3178,7 +2916,6 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(ldap_timeout),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "ldap connection timeout",
@@ -3187,7 +2924,6 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(ldap_connection_timeout),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "ldap page size",
@@ -3196,16 +2932,14 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(ldap_page_size),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "ldap user suffix",
                .type           = P_STRING,
                .p_class        = P_GLOBAL,
-               .offset         = GLOBAL_VAR(szLdapUserSuffix),
+               .offset         = GLOBAL_VAR(_ldap_user_suffix),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "ldap debug level",
@@ -3214,7 +2948,6 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(ldap_debug_level),
                .special        = handle_ldap_debug_level,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "ldap debug threshold",
@@ -3223,23 +2956,15 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(ldap_debug_threshold),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
-
-       {N_("EventLog Options"), P_SEP, P_SEPARATOR},
-
        {
                .label          = "eventlog list",
-               .type           = P_LIST,
+               .type           = P_CMDLIST,
                .p_class        = P_GLOBAL,
                .offset         = GLOBAL_VAR(eventlog_list),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_GLOBAL | FLAG_SHARE,
        },
-
-       {N_("Miscellaneous Options"), P_SEP, P_SEPARATOR},
-
        {
                .label          = "add share command",
                .type           = P_STRING,
@@ -3247,7 +2972,6 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(add_share_command),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "change share command",
@@ -3256,7 +2980,6 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(change_share_command),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "delete share command",
@@ -3265,16 +2988,14 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(delete_share_command),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "config file",
                .type           = P_STRING,
                .p_class        = P_GLOBAL,
-               .offset         = GLOBAL_VAR(szConfigFile),
+               .offset         = GLOBAL_VAR(next_configfile),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_HIDE|FLAG_META,
        },
        {
                .label          = "preload",
@@ -3283,7 +3004,7 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(auto_services),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
+               .flags          = FLAG_SYNONYM,
        },
        {
                .label          = "auto services",
@@ -3292,7 +3013,6 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(auto_services),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "lock directory",
@@ -3301,7 +3021,6 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(lock_directory),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "lock dir",
@@ -3310,25 +3029,23 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(lock_directory),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_HIDE,
+               .flags          = FLAG_SYNONYM,
        },
        {
                .label          = "state directory",
                .type           = P_STRING,
                .p_class        = P_GLOBAL,
-               .offset         = GLOBAL_VAR(szStateDir),
+               .offset         = GLOBAL_VAR(state_directory),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "cache directory",
                .type           = P_STRING,
                .p_class        = P_GLOBAL,
-               .offset         = GLOBAL_VAR(szCacheDir),
+               .offset         = GLOBAL_VAR(cache_directory),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "pid directory",
@@ -3337,7 +3054,6 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(pid_directory),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "ntp signd socket directory",
@@ -3346,7 +3062,6 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(ntp_signd_socket_directory),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
 
 #ifdef WITH_UTMP
@@ -3357,7 +3072,6 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(utmp_directory),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "wtmp directory",
@@ -3366,7 +3080,6 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(wtmp_directory),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "utmp",
@@ -3375,7 +3088,6 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(utmp),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
 #endif
        {
@@ -3385,7 +3097,6 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(defaultservice),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "default",
@@ -3394,7 +3105,7 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(defaultservice),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
+               .flags          = FLAG_SYNONYM,
        },
        {
                .label          = "message command",
@@ -3403,7 +3114,6 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(message_command),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "dfree cache time",
@@ -3412,7 +3122,6 @@ static struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(dfree_cache_time),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "dfree command",
@@ -3421,7 +3130,6 @@ static struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(dfree_command),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "get quota command",
@@ -3430,7 +3138,6 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(get_quota_command),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "set quota command",
@@ -3439,7 +3146,6 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(set_quota_command),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "remote announce",
@@ -3448,7 +3154,6 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(remote_announce),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "remote browse sync",
@@ -3457,7 +3162,6 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(remote_browse_sync),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "nbt client socket address",
@@ -3466,7 +3170,7 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(nbt_client_socket_address),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_DEPRECATED,
+               .flags          = FLAG_DEPRECATED,
        },
        {
                .label          = "socket address",
@@ -3475,7 +3179,7 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(nbt_client_socket_address),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_DEPRECATED,
+               .flags          = FLAG_SYNONYM,
        },
        {
                .label          = "nmbd bind explicit broadcast",
@@ -3484,7 +3188,6 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(nmbd_bind_explicit_broadcast),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "homedir map",
@@ -3493,7 +3196,6 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(homedir_map),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "afs username map",
@@ -3502,7 +3204,6 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(afs_username_map),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "afs token lifetime",
@@ -3511,7 +3212,6 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(afs_token_lifetime),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "log nt token command",
@@ -3520,16 +3220,14 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(log_nt_token_command),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "NIS homedir",
                .type           = P_BOOL,
                .p_class        = P_GLOBAL,
-               .offset         = GLOBAL_VAR(nis_home_map),
+               .offset         = GLOBAL_VAR(nis_homedir),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "-valid",
@@ -3538,25 +3236,22 @@ static struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(valid),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_HIDE,
        },
        {
                .label          = "copy",
                .type           = P_STRING,
                .p_class        = P_LOCAL,
-               .offset         = LOCAL_VAR(szCopy),
+               .offset         = LOCAL_VAR(copy),
                .special        = handle_copy,
                .enum_list      = NULL,
-               .flags          = FLAG_HIDE,
        },
        {
                .label          = "include",
                .type           = P_STRING,
                .p_class        = P_LOCAL,
-               .offset         = LOCAL_VAR(szInclude),
+               .offset         = LOCAL_VAR(include),
                .special        = handle_include,
                .enum_list      = NULL,
-               .flags          = FLAG_HIDE|FLAG_META,
        },
        {
                .label          = "preexec",
@@ -3565,7 +3260,6 @@ static struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(preexec),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_SHARE | FLAG_PRINT,
        },
        {
                .label          = "exec",
@@ -3574,7 +3268,7 @@ static struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(preexec),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
+               .flags          = FLAG_SYNONYM,
        },
        {
                .label          = "preexec close",
@@ -3583,7 +3277,6 @@ static struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(preexec_close),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_SHARE,
        },
        {
                .label          = "postexec",
@@ -3592,7 +3285,6 @@ static struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(postexec),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_SHARE | FLAG_PRINT,
        },
        {
                .label          = "root preexec",
@@ -3601,7 +3293,6 @@ static struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(root_preexec),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_SHARE | FLAG_PRINT,
        },
        {
                .label          = "root preexec close",
@@ -3610,7 +3301,6 @@ static struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(root_preexec_close),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_SHARE,
        },
        {
                .label          = "root postexec",
@@ -3619,16 +3309,14 @@ static struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(root_postexec),
                .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),
+               .offset         = LOCAL_VAR(available),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_BASIC | FLAG_ADVANCED | FLAG_SHARE | FLAG_PRINT,
        },
        {
                .label          = "registry shares",
@@ -3637,7 +3325,6 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(registry_shares),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "usershare allow guests",
@@ -3646,7 +3333,6 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(usershare_allow_guests),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "usershare max shares",
@@ -3655,7 +3341,6 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(usershare_max_shares),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "usershare owner only",
@@ -3664,7 +3349,6 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(usershare_owner_only),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "usershare path",
@@ -3673,34 +3357,30 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(usershare_path),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "usershare prefix allow list",
-               .type           = P_LIST,
+               .type           = P_CMDLIST,
                .p_class        = P_GLOBAL,
                .offset         = GLOBAL_VAR(usershare_prefix_allow_list),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "usershare prefix deny list",
-               .type           = P_LIST,
+               .type           = P_CMDLIST,
                .p_class        = P_GLOBAL,
                .offset         = GLOBAL_VAR(usershare_prefix_deny_list),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "usershare template share",
                .type           = P_STRING,
                .p_class        = P_GLOBAL,
-               .offset         = GLOBAL_VAR(szUsershareTemplateShare),
+               .offset         = GLOBAL_VAR(usershare_template_share),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "volume",
@@ -3709,7 +3389,6 @@ static struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(volume),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_SHARE,
        },
        {
                .label          = "fstype",
@@ -3718,7 +3397,6 @@ static struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(fstype),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_SHARE,
        },
        {
                .label          = "allow insecure wide links",
@@ -3727,16 +3405,14 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(allow_insecure_wide_links),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "wide links",
                .type           = P_BOOL,
                .p_class        = P_LOCAL,
-               .offset         = LOCAL_VAR(bWidelinks),
+               .offset         = LOCAL_VAR(wide_links),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_SHARE | FLAG_GLOBAL,
        },
        {
                .label          = "follow symlinks",
@@ -3745,7 +3421,6 @@ static struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(follow_symlinks),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_SHARE | FLAG_GLOBAL,
        },
        {
                .label          = "dont descend",
@@ -3754,7 +3429,6 @@ static struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(dont_descend),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_SHARE,
        },
        {
                .label          = "magic script",
@@ -3763,7 +3437,6 @@ static struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(magic_script),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_SHARE,
        },
        {
                .label          = "magic output",
@@ -3772,7 +3445,6 @@ static struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(magic_output),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_SHARE,
        },
        {
                .label          = "delete readonly",
@@ -3781,7 +3453,6 @@ static struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(delete_readonly),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_SHARE | FLAG_GLOBAL,
        },
        {
                .label          = "dos filemode",
@@ -3790,7 +3461,6 @@ static struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(dos_filemode),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_SHARE | FLAG_GLOBAL,
        },
        {
                .label          = "dos filetimes",
@@ -3799,7 +3469,6 @@ static struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(dos_filetimes),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_SHARE | FLAG_GLOBAL,
        },
        {
                .label          = "dos filetime resolution",
@@ -3808,7 +3477,6 @@ static struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(dos_filetime_resolution),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_SHARE | FLAG_GLOBAL,
        },
        {
                .label          = "fake directory create times",
@@ -3817,7 +3485,6 @@ static struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(fake_directory_create_times),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_GLOBAL,
        },
        {
                .label          = "async smb echo handler",
@@ -3826,7 +3493,6 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(async_smb_echo_handler),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_GLOBAL,
        },
        {
                .label          = "panic action",
@@ -3835,7 +3501,6 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(panic_action),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "perfcount module",
@@ -3844,33 +3509,24 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(perfcount_module),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
-
-       {N_("VFS module options"), P_SEP, P_SEPARATOR},
-
        {
                .label          = "vfs objects",
-               .type           = P_LIST,
+               .type           = P_CMDLIST,
                .p_class        = P_LOCAL,
                .offset         = LOCAL_VAR(vfs_objects),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_SHARE,
        },
        {
                .label          = "vfs object",
-               .type           = P_LIST,
+               .type           = P_CMDLIST,
                .p_class        = P_LOCAL,
                .offset         = LOCAL_VAR(vfs_objects),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_HIDE,
+               .flags          = FLAG_SYNONYM,
        },
-
-
-       {N_("MSDFS options"), P_SEP, P_SEPARATOR},
-
        {
                .label          = "msdfs root",
                .type           = P_BOOL,
@@ -3878,7 +3534,6 @@ static struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(msdfs_root),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_SHARE,
        },
        {
                .label          = "msdfs proxy",
@@ -3887,7 +3542,14 @@ static struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(msdfs_proxy),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_SHARE,
+       },
+       {
+               .label          = "msdfs shuffle referrals",
+               .type           = P_BOOL,
+               .p_class        = P_LOCAL,
+               .offset         = LOCAL_VAR(msdfs_shuffle_referrals),
+               .special        = NULL,
+               .enum_list      = NULL,
        },
        {
                .label          = "host msdfs",
@@ -3896,11 +3558,7 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(host_msdfs),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
-
-       {N_("Winbind options"), P_SEP, P_SEPARATOR},
-
        {
                .label          = "passdb expand explicit",
                .type           = P_BOOL,
@@ -3908,16 +3566,15 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(passdb_expand_explicit),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "idmap backend",
                .type           = P_STRING,
                .p_class        = P_GLOBAL,
-               .offset         = GLOBAL_VAR(szIdmapBackend),
+               .offset         = GLOBAL_VAR(idmap_backend),
                .special        = handle_idmap_backend,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_DEPRECATED,
+               .flags          = FLAG_DEPRECATED,
        },
        {
                .label          = "idmap cache time",
@@ -3926,7 +3583,6 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(idmap_cache_time),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "idmap negative cache time",
@@ -3935,43 +3591,42 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(idmap_negative_cache_time),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "idmap uid",
                .type           = P_STRING,
                .p_class        = P_GLOBAL,
-               .offset         = GLOBAL_VAR(szIdmapUID),
+               .offset         = GLOBAL_VAR(idmap_uid),
                .special        = handle_idmap_uid,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_DEPRECATED,
+               .flags          = FLAG_DEPRECATED,
        },
        {
                .label          = "winbind uid",
                .type           = P_STRING,
                .p_class        = P_GLOBAL,
-               .offset         = GLOBAL_VAR(szIdmapUID),
+               .offset         = GLOBAL_VAR(idmap_uid),
                .special        = handle_idmap_uid,
                .enum_list      = NULL,
-               .flags          = FLAG_HIDE,
+               .flags          = FLAG_SYNONYM,
        },
        {
                .label          = "idmap gid",
                .type           = P_STRING,
                .p_class        = P_GLOBAL,
-               .offset         = GLOBAL_VAR(szIdmapGID),
+               .offset         = GLOBAL_VAR(idmap_gid),
                .special        = handle_idmap_gid,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_DEPRECATED,
+               .flags          = FLAG_DEPRECATED,
        },
        {
                .label          = "winbind gid",
                .type           = P_STRING,
                .p_class        = P_GLOBAL,
-               .offset         = GLOBAL_VAR(szIdmapGID),
+               .offset         = GLOBAL_VAR(idmap_gid),
                .special        = handle_idmap_gid,
                .enum_list      = NULL,
-               .flags          = FLAG_HIDE,
+               .flags          = FLAG_SYNONYM,
        },
        {
                .label          = "template homedir",
@@ -3980,7 +3635,6 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(template_homedir),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "template shell",
@@ -3989,7 +3643,6 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(template_shell),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "winbind separator",
@@ -3998,7 +3651,6 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(winbind_separator),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "winbind cache time",
@@ -4007,7 +3659,6 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(winbind_cache_time),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "winbind reconnect delay",
@@ -4016,7 +3667,14 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(winbind_reconnect_delay),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
+       },
+       {
+               .label          = "winbind request timeout",
+               .type           = P_INTEGER,
+               .p_class        = P_GLOBAL,
+               .offset         = GLOBAL_VAR(winbind_request_timeout),
+               .special        = NULL,
+               .enum_list      = NULL,
        },
        {
                .label          = "winbind max clients",
@@ -4025,7 +3683,6 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(winbind_max_clients),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "winbind enum users",
@@ -4034,7 +3691,6 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(winbind_enum_users),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "winbind enum groups",
@@ -4043,7 +3699,6 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(winbind_enum_groups),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "winbind use default domain",
@@ -4052,7 +3707,6 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(winbind_use_default_domain),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "winbind trusted domains only",
@@ -4061,7 +3715,6 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(winbind_trusted_domains_only),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "winbind nested groups",
@@ -4070,7 +3723,6 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(winbind_nested_groups),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "winbind expand groups",
@@ -4079,16 +3731,14 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(winbind_expand_groups),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "winbind nss info",
-               .type           = P_LIST,
+               .type           = P_CMDLIST,
                .p_class        = P_GLOBAL,
                .offset         = GLOBAL_VAR(winbind_nss_info),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "winbind refresh tickets",
@@ -4097,7 +3747,6 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(winbind_refresh_tickets),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "winbind offline logon",
@@ -4106,7 +3755,6 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(winbind_offline_logon),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "winbind normalize names",
@@ -4115,7 +3763,6 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(winbind_normalize_names),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "winbind rpc only",
@@ -4124,7 +3771,6 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(winbind_rpc_only),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "create krb5 conf",
@@ -4133,7 +3779,6 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(create_krb5_conf),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "ncalrpc dir",
@@ -4142,16 +3787,14 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(ncalrpc_dir),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "winbind max domain connections",
                .type           = P_INTEGER,
                .p_class        = P_GLOBAL,
-               .offset         = GLOBAL_VAR(winbindMaxDomainConnections),
+               .offset         = GLOBAL_VAR(_winbind_max_domain_connections),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "winbindd socket directory",
@@ -4160,7 +3803,6 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(winbindd_socket_directory),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "winbindd privileged socket directory",
@@ -4169,7 +3811,6 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(winbindd_privileged_socket_directory),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "winbind sealed pipes",
@@ -4178,7 +3819,6 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(winbind_sealed_pipes),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "neutralize nt4 emulation",
@@ -4187,7 +3827,6 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(neutralize_nt4_emulation),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "reject md5 servers",
@@ -4196,7 +3835,6 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(reject_md5_servers),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "require strong key",
@@ -4205,10 +3843,7 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(require_strong_key),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
-
-       {N_("DNS options"), P_SEP, P_SEPARATOR},
        {
                .label          = "allow dns updates",
                .type           = P_ENUM,
@@ -4216,7 +3851,6 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(allow_dns_updates),
                .special        = NULL,
                .enum_list      = enum_dns_update_settings,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "dns forwarder",
@@ -4225,7 +3859,6 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(dns_forwarder),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "dns update command",
@@ -4234,7 +3867,6 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(dns_update_command),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "nsupdate command",
@@ -4243,7 +3875,6 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(nsupdate_command),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "rndc command",
@@ -4252,7 +3883,6 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(rndc_command),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "multicast dns register",
@@ -4261,11 +3891,7 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(multicast_dns_register),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_GLOBAL,
        },
-
-       {N_("AD DC options"), P_SEP, P_SEPARATOR},
-
        {
                .label          = "samba kcc command",
                .type           = P_CMDLIST,
@@ -4273,7 +3899,6 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(samba_kcc_command),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "server services",
@@ -4298,7 +3923,6 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(spn_update_command),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "share backend",
@@ -4323,7 +3947,6 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(allow_nt4_crypto),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "reject md5 clients",
@@ -4332,11 +3955,7 @@ static struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(reject_md5_clients),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
-
-       {N_("TLS options"), P_SEP, P_SEPARATOR},
-
        {
                .label          = "tls enabled",
                .type           = P_BOOL,
@@ -4349,7 +3968,7 @@ static struct parm_struct parm_table[] = {
                .label          = "tls keyfile",
                .type           = P_STRING,
                .p_class        = P_GLOBAL,
-               .offset         = GLOBAL_VAR(tls_keyfile),
+               .offset         = GLOBAL_VAR(_tls_keyfile),
                .special        = NULL,
                .enum_list      = NULL
        },
@@ -4357,7 +3976,7 @@ static struct parm_struct parm_table[] = {
                .label          = "tls certfile",
                .type           = P_STRING,
                .p_class        = P_GLOBAL,
-               .offset         = GLOBAL_VAR(tls_certfile),
+               .offset         = GLOBAL_VAR(_tls_certfile),
                .special        = NULL,
                .enum_list      = NULL
        },
@@ -4365,7 +3984,7 @@ static struct parm_struct parm_table[] = {
                .label          = "tls cafile",
                .type           = P_STRING,
                .p_class        = P_GLOBAL,
-               .offset         = GLOBAL_VAR(tls_cafile),
+               .offset         = GLOBAL_VAR(_tls_cafile),
                .special        = NULL,
                .enum_list      = NULL
        },
@@ -4373,7 +3992,7 @@ static struct parm_struct parm_table[] = {
                .label          = "tls crlfile",
                .type           = P_STRING,
                .p_class        = P_GLOBAL,
-               .offset         = GLOBAL_VAR(tls_crlfile),
+               .offset         = GLOBAL_VAR(_tls_crlfile),
                .special        = NULL,
                .enum_list      = NULL
        },
@@ -4381,7 +4000,15 @@ static struct parm_struct parm_table[] = {
                .label          = "tls dh params file",
                .type           = P_STRING,
                .p_class        = P_GLOBAL,
-               .offset         = GLOBAL_VAR(tls_dhpfile),
+               .offset         = GLOBAL_VAR(_tls_dhpfile),
+               .special        = NULL,
+               .enum_list      = NULL
+       },
+       {
+               .label          = "tls priority",
+               .type           = P_STRING,
+               .p_class        = P_GLOBAL,
+               .offset         = GLOBAL_VAR(tls_priority),
                .special        = NULL,
                .enum_list      = NULL
        },
@@ -4389,3 +4016,7 @@ static struct parm_struct parm_table[] = {
        {NULL,  P_BOOL,  P_NONE,  0,  NULL,  NULL,  0}
 };
 
+int num_parameters(void)
+{
+       return (sizeof(parm_table) / sizeof(struct parm_struct));
+}