param: don't list '-valid' and 'copy' as synonyms - they aren't
[garming/samba-autobuild/.git] / lib / param / param_table.c
index 7a13e6f84a677b4a6c463e09080d8973e5db8af4..cefc6ce8118b5acca9adb0082d3992f5ebe608f6 100644 (file)
@@ -40,7 +40,8 @@
 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"},
@@ -114,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"},
@@ -174,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 */
 
@@ -268,20 +274,9 @@ 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)
@@ -289,8 +284,6 @@ static const struct enum_list enum_case[] = {
 
 
 struct parm_struct parm_table[] = {
-       {N_("Base Options"), P_SEP, P_SEPARATOR},
-
        {
                .label          = "dos charset",
                .type           = P_STRING,
@@ -298,7 +291,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(dos_charset),
                .special        = handle_dos_charset,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED
        },
        {
                .label          = "unix charset",
@@ -307,7 +299,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(unix_charset),
                .special        = handle_charset,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED
        },
        {
                .label          = "comment",
@@ -316,7 +307,6 @@ 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",
@@ -325,7 +315,6 @@ 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",
@@ -334,7 +323,7 @@ struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(path),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_HIDE,
+               .flags          = FLAG_SYNONYM,
        },
        {
                .label          = "workgroup",
@@ -343,16 +332,14 @@ 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",
@@ -361,7 +348,6 @@ 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",
@@ -370,7 +356,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(netbios_aliases),
                .special        = handle_netbios_aliases,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "netbios scope",
@@ -379,7 +364,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(netbios_scope),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "server string",
@@ -388,7 +372,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(server_string),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_BASIC | FLAG_ADVANCED,
        },
        {
                .label          = "interfaces",
@@ -397,7 +380,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(interfaces),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_BASIC | FLAG_ADVANCED | FLAG_WIZARD,
        },
        {
                .label          = "bind interfaces only",
@@ -406,7 +388,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(bind_interfaces_only),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_WIZARD,
        },
        {
                .label          = "config backend",
@@ -415,7 +396,6 @@ 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",
@@ -424,11 +404,7 @@ 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,
@@ -436,7 +412,6 @@ 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",
@@ -445,7 +420,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(auth_methods),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "encrypt passwords",
@@ -454,7 +428,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(encrypt_passwords),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_BASIC | FLAG_ADVANCED | FLAG_WIZARD,
        },
        {
                .label          = "client schannel",
@@ -463,7 +436,6 @@ 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",
@@ -472,7 +444,6 @@ 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",
@@ -481,7 +452,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(allow_trusted_domains),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "map to guest",
@@ -490,7 +460,6 @@ 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",
@@ -499,7 +468,7 @@ 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",
@@ -508,7 +477,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(old_password_allowed_period),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "obey pam restrictions",
@@ -517,7 +485,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(obey_pam_restrictions),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "password server",
@@ -526,7 +493,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(password_server),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_WIZARD,
        },
        {
                .label          = "smb passwd file",
@@ -535,7 +501,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(smb_passwd_file),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "private dir",
@@ -544,7 +509,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(private_dir),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "private directory",
@@ -553,7 +517,7 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(private_dir),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_HIDE,
+               .flags          = FLAG_SYNONYM,
        },
        {
                .label          = "passdb backend",
@@ -562,7 +526,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(passdb_backend),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_WIZARD,
        },
        {
                .label          = "algorithmic rid base",
@@ -571,7 +534,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(algorithmic_rid_base),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "root directory",
@@ -580,7 +542,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(root_directory),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "root dir",
@@ -589,7 +550,7 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(root_directory),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_HIDE,
+               .flags          = FLAG_SYNONYM,
        },
        {
                .label          = "root",
@@ -598,7 +559,7 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(root_directory),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_HIDE,
+               .flags          = FLAG_SYNONYM,
        },
        {
                .label          = "guest account",
@@ -607,7 +568,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(guest_account),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_BASIC | FLAG_ADVANCED,
        },
        {
                .label          = "enable privileges",
@@ -616,7 +576,7 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(enable_privileges),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_DEPRECATED,
+               .flags          = FLAG_DEPRECATED,
        },
 
        {
@@ -626,7 +586,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(pam_password_change),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "passwd program",
@@ -635,7 +594,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(passwd_program),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "passwd chat",
@@ -644,7 +602,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(passwd_chat),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "passwd chat debug",
@@ -653,7 +610,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(passwd_chat_debug),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "passwd chat timeout",
@@ -662,7 +618,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(passwd_chat_timeout),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "check password script",
@@ -671,7 +626,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(check_password_script),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "username map",
@@ -680,7 +634,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(username_map),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "username level",
@@ -689,7 +642,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(username_level),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "unix password sync",
@@ -698,7 +650,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(unix_password_sync),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "restrict anonymous",
@@ -707,7 +658,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(restrict_anonymous),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "lanman auth",
@@ -716,7 +666,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(lanman_auth),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "ntlm auth",
@@ -725,7 +674,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(ntlm_auth),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "client NTLMv2 auth",
@@ -734,7 +682,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(client_ntlmv2_auth),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "client lanman auth",
@@ -743,7 +690,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(client_lanman_auth),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "client plaintext auth",
@@ -752,7 +698,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(client_plaintext_auth),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "client use spnego principal",
@@ -761,7 +706,7 @@ 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",
@@ -770,7 +715,7 @@ 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",
@@ -779,7 +724,7 @@ struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(username),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_HIDE,
+               .flags          = FLAG_SYNONYM,
        },
        {
                .label          = "users",
@@ -788,7 +733,7 @@ struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(username),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_HIDE,
+               .flags          = FLAG_SYNONYM,
        },
        {
                .label          = "invalid users",
@@ -797,7 +742,6 @@ struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(invalid_users),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_GLOBAL | FLAG_SHARE,
        },
        {
                .label          = "valid users",
@@ -806,7 +750,6 @@ struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(valid_users),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_GLOBAL | FLAG_SHARE,
        },
        {
                .label          = "admin users",
@@ -815,7 +758,6 @@ struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(admin_users),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_GLOBAL | FLAG_SHARE,
        },
        {
                .label          = "read list",
@@ -824,7 +766,6 @@ struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(read_list),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_GLOBAL | FLAG_SHARE,
        },
        {
                .label          = "write list",
@@ -833,7 +774,6 @@ struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(write_list),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_GLOBAL | FLAG_SHARE,
        },
        {
                .label          = "force user",
@@ -842,7 +782,6 @@ struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(force_user),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_SHARE,
        },
        {
                .label          = "force group",
@@ -851,7 +790,6 @@ struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(force_group),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_SHARE,
        },
        {
                .label          = "group",
@@ -860,7 +798,7 @@ struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(force_group),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
+               .flags          = FLAG_SYNONYM,
        },
        {
                .label          = "read only",
@@ -869,7 +807,14 @@ 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",
@@ -878,7 +823,7 @@ struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(read_only),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_HIDE,
+               .flags          = FLAG_SYNONYM,
        },
        {
                .label          = "writeable",
@@ -887,7 +832,7 @@ struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(read_only),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_HIDE,
+               .flags          = FLAG_SYNONYM,
        },
        {
                .label          = "writable",
@@ -896,7 +841,7 @@ 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",
@@ -905,7 +850,7 @@ 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",
@@ -914,7 +859,6 @@ 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",
@@ -923,7 +867,6 @@ 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",
@@ -932,7 +875,6 @@ struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(acl_allow_execute_always),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_GLOBAL | FLAG_SHARE,
        },
 
        {
@@ -942,7 +884,6 @@ 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",
@@ -951,7 +892,7 @@ 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",
@@ -960,7 +901,6 @@ 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",
@@ -969,7 +909,6 @@ 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",
@@ -978,7 +917,7 @@ 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",
@@ -987,7 +926,6 @@ 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",
@@ -996,7 +934,6 @@ 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",
@@ -1005,7 +942,6 @@ struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(inherit_permissions),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_SHARE,
        },
        {
                .label          = "inherit acls",
@@ -1014,7 +950,6 @@ struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(inherit_acls),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_SHARE,
        },
        {
                .label          = "inherit owner",
@@ -1023,7 +958,6 @@ struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(inherit_owner),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_SHARE,
        },
        {
                .label          = "guest only",
@@ -1032,7 +966,6 @@ struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(guest_only),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_SHARE,
        },
        {
                .label          = "only guest",
@@ -1041,7 +974,7 @@ struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(guest_only),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_HIDE,
+               .flags          = FLAG_SYNONYM,
        },
        {
                .label          = "administrative share",
@@ -1050,7 +983,6 @@ struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(administrative_share),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_SHARE | FLAG_PRINT,
        },
 
        {
@@ -1060,7 +992,6 @@ 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",
@@ -1069,7 +1000,7 @@ struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(guest_ok),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_HIDE,
+               .flags          = FLAG_SYNONYM,
        },
        {
                .label          = "only user",
@@ -1078,7 +1009,7 @@ struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(only_user),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_SHARE | FLAG_DEPRECATED,
+               .flags          = FLAG_DEPRECATED,
        },
        {
                .label          = "hosts allow",
@@ -1087,7 +1018,6 @@ struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(hosts_allow),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_GLOBAL | FLAG_BASIC | FLAG_ADVANCED | FLAG_SHARE | FLAG_PRINT,
        },
        {
                .label          = "allow hosts",
@@ -1096,7 +1026,7 @@ struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(hosts_allow),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_HIDE,
+               .flags          = FLAG_SYNONYM,
        },
        {
                .label          = "hosts deny",
@@ -1105,7 +1035,6 @@ struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(hosts_deny),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_GLOBAL | FLAG_BASIC | FLAG_ADVANCED | FLAG_SHARE | FLAG_PRINT,
        },
        {
                .label          = "deny hosts",
@@ -1114,7 +1043,7 @@ struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(hosts_deny),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_HIDE,
+               .flags          = FLAG_SYNONYM,
        },
        {
                .label          = "preload modules",
@@ -1123,7 +1052,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(preload_modules),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_GLOBAL,
        },
        {
                .label          = "dedicated keytab file",
@@ -1132,7 +1060,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(dedicated_keytab_file),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "kerberos method",
@@ -1141,7 +1068,6 @@ 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",
@@ -1150,12 +1076,7 @@ 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,
@@ -1163,7 +1084,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(log_level),
                .special        = handle_debug_list,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "debuglevel",
@@ -1172,7 +1092,7 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(log_level),
                .special        = handle_debug_list,
                .enum_list      = NULL,
-               .flags          = FLAG_HIDE,
+               .flags          = FLAG_SYNONYM,
        },
        {
                .label          = "syslog",
@@ -1181,7 +1101,7 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(syslog),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
+               .flags          = FLAG_DEPRECATED,
        },
        {
                .label          = "syslog only",
@@ -1190,7 +1110,7 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(syslog_only),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
+               .flags          = FLAG_DEPRECATED,
        },
        {
                .label          = "log file",
@@ -1199,7 +1119,14 @@ 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",
@@ -1208,7 +1135,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(max_log_size),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "debug timestamp",
@@ -1217,7 +1143,7 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(timestamp_logs),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
+               .flags          = FLAG_SYNONYM,
        },
        {
                .label          = "timestamp logs",
@@ -1226,7 +1152,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(timestamp_logs),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "debug prefix timestamp",
@@ -1235,7 +1160,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(debug_prefix_timestamp),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "debug hires timestamp",
@@ -1244,7 +1168,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(debug_hires_timestamp),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "debug pid",
@@ -1253,7 +1176,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(debug_pid),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "debug uid",
@@ -1262,7 +1184,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(debug_uid),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "debug class",
@@ -1271,7 +1192,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(debug_class),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "enable core files",
@@ -1280,11 +1200,7 @@ 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,
@@ -1292,7 +1208,6 @@ struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(allocation_roundup_size),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "aio read size",
@@ -1301,7 +1216,6 @@ struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(aio_read_size),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "aio write size",
@@ -1310,7 +1224,6 @@ struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(aio_write_size),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "aio write behind",
@@ -1319,7 +1232,6 @@ 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",
@@ -1328,7 +1240,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(smb_ports),
                .special        = handle_smb_ports,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "large readwrite",
@@ -1337,7 +1248,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(large_readwrite),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "server max protocol",
@@ -1346,7 +1256,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(server_max_protocol),
                .special        = NULL,
                .enum_list      = enum_protocol,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "max protocol",
@@ -1355,7 +1264,7 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(server_max_protocol),
                .special        = NULL,
                .enum_list      = enum_protocol,
-               .flags          = FLAG_ADVANCED,
+               .flags          = FLAG_SYNONYM,
        },
        {
                .label          = "protocol",
@@ -1364,7 +1273,7 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(server_max_protocol),
                .special        = NULL,
                .enum_list      = enum_protocol,
-               .flags          = FLAG_ADVANCED,
+               .flags          = FLAG_SYNONYM,
        },
        {
                .label          = "server min protocol",
@@ -1373,7 +1282,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(server_min_protocol),
                .special        = NULL,
                .enum_list      = enum_protocol,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "min protocol",
@@ -1382,7 +1290,7 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(server_min_protocol),
                .special        = NULL,
                .enum_list      = enum_protocol,
-               .flags          = FLAG_ADVANCED,
+               .flags          = FLAG_SYNONYM,
        },
        {
                .label          = "client max protocol",
@@ -1391,7 +1299,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(_client_max_protocol),
                .special        = NULL,
                .enum_list      = enum_protocol,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "client min protocol",
@@ -1400,7 +1307,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(client_min_protocol),
                .special        = NULL,
                .enum_list      = enum_protocol,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "unicode",
@@ -1414,10 +1320,9 @@ 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",
@@ -1426,7 +1331,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(read_raw),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "write raw",
@@ -1435,7 +1339,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(write_raw),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "disable netbios",
@@ -1444,7 +1347,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(disable_netbios),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "reset on zero vc",
@@ -1453,7 +1355,6 @@ 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",
@@ -1462,7 +1363,6 @@ 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",
@@ -1471,7 +1371,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(defer_sharing_violations),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_GLOBAL,
        },
        {
                .label          = "ea support",
@@ -1480,7 +1379,6 @@ 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",
@@ -1489,7 +1387,6 @@ 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",
@@ -1498,7 +1395,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(nt_pipe_support),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "nt status support",
@@ -1507,7 +1403,14 @@ 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",
@@ -1516,7 +1419,6 @@ 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",
@@ -1525,7 +1427,6 @@ 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",
@@ -1534,7 +1435,6 @@ 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",
@@ -1543,7 +1443,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(max_mux),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "max xmit",
@@ -1552,7 +1451,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(max_xmit),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "name resolve order",
@@ -1561,7 +1459,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(name_resolve_order),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_WIZARD,
        },
        {
                .label          = "max ttl",
@@ -1570,7 +1467,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(max_ttl),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "max wins ttl",
@@ -1579,7 +1475,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(max_wins_ttl),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "min wins ttl",
@@ -1588,7 +1483,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(min_wins_ttl),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "time server",
@@ -1597,7 +1491,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(time_server),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "unix extensions",
@@ -1606,7 +1499,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(unix_extensions),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "use spnego",
@@ -1615,7 +1507,7 @@ 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",
@@ -1624,7 +1516,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(client_signing),
                .special        = NULL,
                .enum_list      = enum_smb_signing_vals,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "server signing",
@@ -1633,7 +1524,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(server_signing),
                .special        = NULL,
                .enum_list      = enum_smb_signing_vals,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "smb encrypt",
@@ -1642,7 +1532,6 @@ 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",
@@ -1651,7 +1540,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(client_use_spnego),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "client ldap sasl wrapping",
@@ -1660,7 +1548,6 @@ 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",
@@ -1669,7 +1556,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(enable_asu_support),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "svcctl list",
@@ -1678,7 +1564,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(svcctl_list),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "cldap port",
@@ -1694,7 +1579,8 @@ 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",
@@ -1702,7 +1588,8 @@ 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",
@@ -1743,11 +1630,7 @@ 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,
@@ -1755,7 +1638,6 @@ struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(block_size),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_SHARE | FLAG_GLOBAL,
        },
        {
                .label          = "deadtime",
@@ -1764,7 +1646,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(deadtime),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "getwd cache",
@@ -1773,7 +1654,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(getwd_cache),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "keepalive",
@@ -1782,16 +1662,14 @@ 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",
@@ -1800,16 +1678,14 @@ 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",
@@ -1818,7 +1694,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(lpq_cache_time),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "max smbd processes",
@@ -1827,7 +1702,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(max_smbd_processes),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "max connections",
@@ -1836,7 +1710,6 @@ struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(max_connections),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_SHARE,
        },
        {
                .label          = "max disk size",
@@ -1845,7 +1718,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(max_disk_size),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "max open files",
@@ -1854,7 +1726,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(max_open_files),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "min print space",
@@ -1863,7 +1734,6 @@ struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(min_print_space),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_PRINT,
        },
        {
                .label          = "socket options",
@@ -1872,7 +1742,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(socket_options),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "strict allocate",
@@ -1881,7 +1750,6 @@ struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(strict_allocate),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_SHARE,
        },
        {
                .label          = "strict rename",
@@ -1890,7 +1758,6 @@ struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(strict_rename),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_SHARE,
        },
        {
                .label          = "strict sync",
@@ -1899,7 +1766,6 @@ struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(strict_sync),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_SHARE,
        },
        {
                .label          = "sync always",
@@ -1908,7 +1774,6 @@ struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(sync_always),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_SHARE,
        },
        {
                .label          = "use mmap",
@@ -1917,16 +1782,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(use_mmap),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
-       },
-       {
-               .label          = "use ntdb",
-               .type           = P_BOOL,
-               .p_class        = P_GLOBAL,
-               .offset         = GLOBAL_VAR(use_ntdb),
-               .special        = NULL,
-               .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "use sendfile",
@@ -1935,7 +1790,6 @@ struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(_use_sendfile),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_SHARE,
        },
        {
                .label          = "hostname lookups",
@@ -1944,7 +1798,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(hostname_lookups),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "write cache size",
@@ -1953,7 +1806,6 @@ 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",
@@ -1962,7 +1814,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(name_cache_timeout),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "ctdbd socket",
@@ -1971,7 +1822,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(_ctdbd_socket),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_GLOBAL,
        },
        {
                .label          = "cluster addresses",
@@ -1980,7 +1830,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(cluster_addresses),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_GLOBAL,
        },
        {
                .label          = "clustering",
@@ -1989,7 +1838,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(clustering),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_GLOBAL,
        },
        {
                .label          = "ctdb timeout",
@@ -1998,7 +1846,6 @@ 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",
@@ -2007,7 +1854,6 @@ 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",
@@ -2016,7 +1862,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(smb2_max_read),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "smb2 max write",
@@ -2025,7 +1870,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(smb2_max_write),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "smb2 max trans",
@@ -2034,20 +1878,15 @@ 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,
@@ -2055,16 +1894,14 @@ 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",
@@ -2073,7 +1910,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(load_printers),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_PRINT,
        },
        {
                .label          = "printcap cache time",
@@ -2082,25 +1918,23 @@ 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",
@@ -2109,7 +1943,6 @@ struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(printable),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_PRINT,
        },
        {
                .label          = "print notify backchannel",
@@ -2118,7 +1951,6 @@ struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(print_notify_backchannel),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "print ok",
@@ -2127,7 +1959,7 @@ struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(printable),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_HIDE,
+               .flags          = FLAG_SYNONYM,
        },
        {
                .label          = "printing",
@@ -2136,7 +1968,6 @@ 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",
@@ -2145,7 +1976,6 @@ 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",
@@ -2154,16 +1984,14 @@ 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,
        },
        {
 
@@ -2173,7 +2001,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(cups_connection_timeout),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "iprint server",
@@ -2182,7 +2009,6 @@ 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",
@@ -2191,7 +2017,6 @@ 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",
@@ -2200,7 +2025,6 @@ 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",
@@ -2209,7 +2033,7 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(_disable_spoolss),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_HIDE,
+               .flags          = FLAG_SYNONYM,
        },
        {
                .label          = "lpq command",
@@ -2218,7 +2042,6 @@ 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",
@@ -2227,7 +2050,6 @@ 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",
@@ -2236,7 +2058,6 @@ 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",
@@ -2245,7 +2066,6 @@ 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",
@@ -2254,7 +2074,6 @@ 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",
@@ -2263,7 +2082,6 @@ 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",
@@ -2272,7 +2090,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(addport_command),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "enumports command",
@@ -2281,7 +2098,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(enumports_command),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "addprinter command",
@@ -2290,7 +2106,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(addprinter_command),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "deleteprinter command",
@@ -2299,7 +2114,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(deleteprinter_command),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "show add printer wizard",
@@ -2308,7 +2122,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(show_add_printer_wizard),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "os2 driver map",
@@ -2317,7 +2130,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(os2_driver_map),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
 
        {
@@ -2327,7 +2139,6 @@ struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(_printername),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_PRINT,
        },
        {
                .label          = "printer",
@@ -2336,7 +2147,7 @@ struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(_printername),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_HIDE,
+               .flags          = FLAG_SYNONYM,
        },
        {
                .label          = "use client driver",
@@ -2345,7 +2156,6 @@ struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(use_client_driver),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_PRINT,
        },
        {
                .label          = "default devmode",
@@ -2354,7 +2164,6 @@ struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(default_devmode),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_PRINT,
        },
        {
                .label          = "force printername",
@@ -2363,7 +2172,6 @@ struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(force_printername),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_PRINT,
        },
        {
                .label          = "printjob username",
@@ -2372,11 +2180,7 @@ 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,
@@ -2384,7 +2188,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(mangling_method),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "mangle prefix",
@@ -2393,7 +2196,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(mangle_prefix),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
 
        {
@@ -2403,7 +2205,6 @@ struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(default_case),
                .special        = NULL,
                .enum_list      = enum_case,
-               .flags          = FLAG_ADVANCED | FLAG_SHARE,
        },
        {
                .label          = "case sensitive",
@@ -2412,7 +2213,6 @@ 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",
@@ -2421,7 +2221,7 @@ 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",
@@ -2430,7 +2230,6 @@ 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",
@@ -2439,7 +2238,6 @@ 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",
@@ -2448,7 +2246,6 @@ 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",
@@ -2457,7 +2254,6 @@ 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",
@@ -2466,7 +2262,6 @@ 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",
@@ -2475,7 +2270,6 @@ 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",
@@ -2484,7 +2278,6 @@ 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",
@@ -2493,7 +2286,6 @@ 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",
@@ -2502,7 +2294,6 @@ 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",
@@ -2511,7 +2302,6 @@ 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",
@@ -2520,7 +2310,6 @@ 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",
@@ -2529,7 +2318,6 @@ 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",
@@ -2538,7 +2326,6 @@ 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",
@@ -2547,7 +2334,6 @@ 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",
@@ -2556,7 +2342,6 @@ 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",
@@ -2565,7 +2350,6 @@ 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",
@@ -2574,7 +2358,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(max_stat_cache_size),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "stat cache",
@@ -2583,7 +2366,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(stat_cache),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "store dos attributes",
@@ -2592,7 +2374,6 @@ 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",
@@ -2601,12 +2382,7 @@ 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,
@@ -2614,11 +2390,7 @@ 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,
@@ -2626,7 +2398,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(add_user_script),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "rename user script",
@@ -2635,7 +2406,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(rename_user_script),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "delete user script",
@@ -2644,7 +2414,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(delete_user_script),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "add group script",
@@ -2653,7 +2422,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(add_group_script),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "delete group script",
@@ -2662,7 +2430,6 @@ 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",
@@ -2671,7 +2438,6 @@ 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",
@@ -2680,7 +2446,6 @@ 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",
@@ -2689,7 +2454,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(set_primary_group_script),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "add machine script",
@@ -2698,7 +2462,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(add_machine_script),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "shutdown script",
@@ -2707,7 +2470,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(shutdown_script),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "abort shutdown script",
@@ -2716,7 +2478,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(abort_shutdown_script),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "username map script",
@@ -2725,7 +2486,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(username_map_script),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "username map cache time",
@@ -2734,7 +2494,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(username_map_cache_time),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "logon script",
@@ -2743,7 +2502,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(logon_script),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "logon path",
@@ -2752,7 +2510,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(logon_path),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "logon drive",
@@ -2761,7 +2518,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(logon_drive),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "logon home",
@@ -2770,7 +2526,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(logon_home),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "domain logons",
@@ -2779,7 +2534,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(_domain_logons),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
 
        {
@@ -2789,7 +2543,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(init_logon_delayed_hosts),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
 
        {
@@ -2799,12 +2552,8 @@ 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,
@@ -2812,7 +2561,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(os_level),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_BASIC | FLAG_ADVANCED,
        },
        {
                .label          = "lm announce",
@@ -2821,7 +2569,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(lm_announce),
                .special        = NULL,
                .enum_list      = enum_bool_auto,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "lm interval",
@@ -2830,25 +2577,23 @@ 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",
@@ -2857,7 +2602,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(local_master),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_BASIC | FLAG_ADVANCED,
        },
        {
                .label          = "domain master",
@@ -2866,7 +2610,6 @@ 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",
@@ -2875,7 +2618,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(browse_list),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "browseable",
@@ -2884,7 +2626,6 @@ 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",
@@ -2893,7 +2634,7 @@ 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",
@@ -2902,7 +2643,6 @@ 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",
@@ -2911,11 +2651,7 @@ 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,
@@ -2923,7 +2659,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(wins_dns_proxy),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "wins proxy",
@@ -2932,7 +2667,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(wins_proxy),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "wins server",
@@ -2941,7 +2675,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(wins_server_list),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_BASIC | FLAG_ADVANCED | FLAG_WIZARD,
        },
        {
                .label          = "wins support",
@@ -2950,7 +2683,6 @@ 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",
@@ -2959,11 +2691,7 @@ 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,
@@ -2971,7 +2699,6 @@ 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",
@@ -2980,7 +2707,6 @@ 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",
@@ -2989,7 +2715,6 @@ struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(fake_oplocks),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_SHARE,
        },
        {
                .label          = "kernel oplocks",
@@ -2998,7 +2723,6 @@ 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",
@@ -3007,7 +2731,14 @@ 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",
@@ -3016,7 +2747,6 @@ 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",
@@ -3025,7 +2755,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(lock_spin_time),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_GLOBAL,
        },
        {
                .label          = "oplocks",
@@ -3034,7 +2763,6 @@ struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(oplocks),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_SHARE | FLAG_GLOBAL,
        },
        {
                .label          = "level2 oplocks",
@@ -3043,7 +2771,6 @@ 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",
@@ -3052,7 +2779,6 @@ 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",
@@ -3061,7 +2787,6 @@ 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",
@@ -3070,7 +2795,6 @@ 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",
@@ -3079,11 +2803,7 @@ 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,
@@ -3091,7 +2811,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(ldap_admin_dn),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "ldap delete dn",
@@ -3100,34 +2819,30 @@ 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",
@@ -3136,7 +2851,6 @@ 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",
@@ -3145,7 +2859,7 @@ 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",
@@ -3154,7 +2868,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(ldap_replication_sleep),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "ldap suffix",
@@ -3163,7 +2876,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(ldap_suffix),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "ldap ssl",
@@ -3172,7 +2884,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(ldap_ssl),
                .special        = NULL,
                .enum_list      = enum_ldap_ssl,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "ldap ssl ads",
@@ -3181,7 +2892,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(ldap_ssl_ads),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "ldap deref",
@@ -3190,7 +2900,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(ldap_deref),
                .special        = NULL,
                .enum_list      = enum_ldap_deref,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "ldap follow referral",
@@ -3199,7 +2908,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(ldap_follow_referral),
                .special        = NULL,
                .enum_list      = enum_bool_auto,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "ldap timeout",
@@ -3208,7 +2916,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(ldap_timeout),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "ldap connection timeout",
@@ -3217,7 +2924,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(ldap_connection_timeout),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "ldap page size",
@@ -3226,16 +2932,14 @@ 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",
@@ -3244,7 +2948,6 @@ 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",
@@ -3253,11 +2956,7 @@ 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_CMDLIST,
@@ -3265,11 +2964,7 @@ struct parm_struct parm_table[] = {
                .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,
@@ -3277,7 +2972,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(add_share_command),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "change share command",
@@ -3286,7 +2980,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(change_share_command),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "delete share command",
@@ -3295,7 +2988,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(delete_share_command),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "config file",
@@ -3304,7 +2996,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(next_configfile),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_HIDE|FLAG_META,
        },
        {
                .label          = "preload",
@@ -3313,7 +3004,7 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(auto_services),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
+               .flags          = FLAG_SYNONYM,
        },
        {
                .label          = "auto services",
@@ -3322,7 +3013,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(auto_services),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "lock directory",
@@ -3331,7 +3021,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(lock_directory),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "lock dir",
@@ -3340,7 +3029,7 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(lock_directory),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_HIDE,
+               .flags          = FLAG_SYNONYM,
        },
        {
                .label          = "state directory",
@@ -3349,7 +3038,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(state_directory),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "cache directory",
@@ -3358,7 +3046,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(cache_directory),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "pid directory",
@@ -3367,7 +3054,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(pid_directory),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "ntp signd socket directory",
@@ -3376,7 +3062,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(ntp_signd_socket_directory),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
 
 #ifdef WITH_UTMP
@@ -3387,7 +3072,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(utmp_directory),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "wtmp directory",
@@ -3396,7 +3080,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(wtmp_directory),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "utmp",
@@ -3405,7 +3088,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(utmp),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
 #endif
        {
@@ -3415,7 +3097,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(defaultservice),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "default",
@@ -3424,7 +3105,7 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(defaultservice),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
+               .flags          = FLAG_SYNONYM,
        },
        {
                .label          = "message command",
@@ -3433,7 +3114,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(message_command),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "dfree cache time",
@@ -3442,7 +3122,6 @@ struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(dfree_cache_time),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "dfree command",
@@ -3451,7 +3130,6 @@ struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(dfree_command),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "get quota command",
@@ -3460,7 +3138,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(get_quota_command),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "set quota command",
@@ -3469,7 +3146,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(set_quota_command),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "remote announce",
@@ -3478,7 +3154,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(remote_announce),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "remote browse sync",
@@ -3487,7 +3162,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(remote_browse_sync),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "nbt client socket address",
@@ -3496,7 +3170,7 @@ 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",
@@ -3505,7 +3179,7 @@ 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",
@@ -3514,7 +3188,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(nmbd_bind_explicit_broadcast),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "homedir map",
@@ -3523,7 +3196,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(homedir_map),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "afs username map",
@@ -3532,7 +3204,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(afs_username_map),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "afs token lifetime",
@@ -3541,7 +3212,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(afs_token_lifetime),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "log nt token command",
@@ -3550,7 +3220,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(log_nt_token_command),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "NIS homedir",
@@ -3559,7 +3228,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(nis_homedir),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "-valid",
@@ -3568,25 +3236,22 @@ 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",
@@ -3595,7 +3260,6 @@ struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(preexec),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_SHARE | FLAG_PRINT,
        },
        {
                .label          = "exec",
@@ -3604,7 +3268,7 @@ struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(preexec),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
+               .flags          = FLAG_SYNONYM,
        },
        {
                .label          = "preexec close",
@@ -3613,7 +3277,6 @@ struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(preexec_close),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_SHARE,
        },
        {
                .label          = "postexec",
@@ -3622,7 +3285,6 @@ struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(postexec),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_SHARE | FLAG_PRINT,
        },
        {
                .label          = "root preexec",
@@ -3631,7 +3293,6 @@ 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",
@@ -3640,7 +3301,6 @@ struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(root_preexec_close),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_SHARE,
        },
        {
                .label          = "root postexec",
@@ -3649,16 +3309,14 @@ 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",
@@ -3667,7 +3325,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(registry_shares),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "usershare allow guests",
@@ -3676,7 +3333,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(usershare_allow_guests),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "usershare max shares",
@@ -3685,7 +3341,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(usershare_max_shares),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "usershare owner only",
@@ -3694,7 +3349,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(usershare_owner_only),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "usershare path",
@@ -3703,7 +3357,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(usershare_path),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "usershare prefix allow list",
@@ -3712,7 +3365,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(usershare_prefix_allow_list),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "usershare prefix deny list",
@@ -3721,7 +3373,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(usershare_prefix_deny_list),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "usershare template share",
@@ -3730,7 +3381,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(usershare_template_share),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "volume",
@@ -3739,7 +3389,6 @@ struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(volume),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_SHARE,
        },
        {
                .label          = "fstype",
@@ -3748,7 +3397,6 @@ struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(fstype),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_SHARE,
        },
        {
                .label          = "allow insecure wide links",
@@ -3757,16 +3405,14 @@ 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",
@@ -3775,7 +3421,6 @@ 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",
@@ -3784,7 +3429,6 @@ struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(dont_descend),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_SHARE,
        },
        {
                .label          = "magic script",
@@ -3793,7 +3437,6 @@ struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(magic_script),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_SHARE,
        },
        {
                .label          = "magic output",
@@ -3802,7 +3445,6 @@ struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(magic_output),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_SHARE,
        },
        {
                .label          = "delete readonly",
@@ -3811,7 +3453,6 @@ 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",
@@ -3820,7 +3461,6 @@ 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",
@@ -3829,7 +3469,6 @@ 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",
@@ -3838,7 +3477,6 @@ 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",
@@ -3847,7 +3485,6 @@ 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",
@@ -3856,7 +3493,6 @@ 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",
@@ -3865,7 +3501,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(panic_action),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "perfcount module",
@@ -3874,11 +3509,7 @@ 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_CMDLIST,
@@ -3886,7 +3517,6 @@ struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(vfs_objects),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_SHARE,
        },
        {
                .label          = "vfs object",
@@ -3895,12 +3525,8 @@ struct parm_struct parm_table[] = {
                .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,
@@ -3908,7 +3534,6 @@ struct parm_struct parm_table[] = {
                .offset         = LOCAL_VAR(msdfs_root),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_SHARE,
        },
        {
                .label          = "msdfs proxy",
@@ -3917,7 +3542,14 @@ 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",
@@ -3926,11 +3558,7 @@ 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,
@@ -3938,16 +3566,15 @@ 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",
@@ -3956,7 +3583,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(idmap_cache_time),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "idmap negative cache time",
@@ -3965,43 +3591,42 @@ 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",
@@ -4010,7 +3635,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(template_homedir),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "template shell",
@@ -4019,7 +3643,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(template_shell),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "winbind separator",
@@ -4028,7 +3651,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(winbind_separator),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "winbind cache time",
@@ -4037,7 +3659,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(winbind_cache_time),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "winbind reconnect delay",
@@ -4046,7 +3667,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(winbind_reconnect_delay),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "winbind request timeout",
@@ -4055,7 +3675,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(winbind_request_timeout),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "winbind max clients",
@@ -4064,7 +3683,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(winbind_max_clients),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "winbind enum users",
@@ -4073,7 +3691,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(winbind_enum_users),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "winbind enum groups",
@@ -4082,7 +3699,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(winbind_enum_groups),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "winbind use default domain",
@@ -4091,7 +3707,6 @@ 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",
@@ -4100,7 +3715,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(winbind_trusted_domains_only),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "winbind nested groups",
@@ -4109,7 +3723,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(winbind_nested_groups),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "winbind expand groups",
@@ -4118,7 +3731,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(winbind_expand_groups),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "winbind nss info",
@@ -4127,7 +3739,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(winbind_nss_info),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "winbind refresh tickets",
@@ -4136,7 +3747,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(winbind_refresh_tickets),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "winbind offline logon",
@@ -4145,7 +3755,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(winbind_offline_logon),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "winbind normalize names",
@@ -4154,7 +3763,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(winbind_normalize_names),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "winbind rpc only",
@@ -4163,7 +3771,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(winbind_rpc_only),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "create krb5 conf",
@@ -4172,7 +3779,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(create_krb5_conf),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "ncalrpc dir",
@@ -4181,16 +3787,14 @@ 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",
@@ -4199,7 +3803,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(winbindd_socket_directory),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "winbindd privileged socket directory",
@@ -4208,7 +3811,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(winbindd_privileged_socket_directory),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "winbind sealed pipes",
@@ -4217,7 +3819,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(winbind_sealed_pipes),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "neutralize nt4 emulation",
@@ -4226,7 +3827,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(neutralize_nt4_emulation),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "reject md5 servers",
@@ -4235,7 +3835,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(reject_md5_servers),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "require strong key",
@@ -4244,10 +3843,7 @@ 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,
@@ -4255,7 +3851,6 @@ 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",
@@ -4264,7 +3859,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(dns_forwarder),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "dns update command",
@@ -4273,7 +3867,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(dns_update_command),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "nsupdate command",
@@ -4282,7 +3875,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(nsupdate_command),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "rndc command",
@@ -4291,7 +3883,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(rndc_command),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "multicast dns register",
@@ -4300,11 +3891,7 @@ 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,
@@ -4312,7 +3899,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(samba_kcc_command),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "server services",
@@ -4337,7 +3923,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(spn_update_command),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "share backend",
@@ -4362,7 +3947,6 @@ struct parm_struct parm_table[] = {
                .offset         = GLOBAL_VAR(allow_nt4_crypto),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED,
        },
        {
                .label          = "reject md5 clients",
@@ -4371,11 +3955,7 @@ 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,
@@ -4424,6 +4004,14 @@ struct parm_struct parm_table[] = {
                .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
+       },
 
        {NULL,  P_BOOL,  P_NONE,  0,  NULL,  NULL,  0}
 };