lib/param: Put common FN_ macros into param_functions.c
[kai/samba.git] / source3 / param / loadparm.c
index d48ee795e844c06905e0887ab765cc97dcb426f6..3c1a4effe4d554a8c11325c848364a91198ab78d 100644 (file)
 #include <cups/http.h>
 #endif
 
+#ifdef CLUSTER_SUPPORT
+#include "ctdb_private.h"
+#endif
+
 bool bLoaded = false;
 
 extern userdom_struct current_user_info;
@@ -230,6 +234,7 @@ static struct loadparm_service sDefault =
        .bPosixLocking = true,
        .bShareModes = true,
        .bOpLocks = true,
+       .bKernelOplocks = false,
        .bLevel2OpLocks = true,
        .bOnlyUser = false,
        .bMangledNames = true,
@@ -527,7 +532,7 @@ static struct parm_struct parm_table[] = {
        },
        {
                .label          = "realm",
-               .type           = P_USTRING,
+               .type           = P_STRING,
                .p_class        = P_GLOBAL,
                .offset         = GLOBAL_VAR(szRealm),
                .special        = handle_realm,
@@ -717,11 +722,20 @@ static struct parm_struct parm_table[] = {
                .enum_list      = NULL,
                .flags          = FLAG_ADVANCED,
        },
+       {
+               .label          = "private directory",
+               .type           = P_STRING,
+               .p_class        = P_GLOBAL,
+               .offset         = GLOBAL_VAR(szPrivateDir),
+               .special        = NULL,
+               .enum_list      = NULL,
+               .flags          = FLAG_HIDE,
+       },
        {
                .label          = "passdb backend",
                .type           = P_STRING,
                .p_class        = P_GLOBAL,
-               .offset         = GLOBAL_VAR(szPassdbBackend),
+               .offset         = GLOBAL_VAR(passdb_backend),
                .special        = NULL,
                .enum_list      = NULL,
                .flags          = FLAG_ADVANCED | FLAG_WIZARD,
@@ -1402,7 +1416,7 @@ static struct parm_struct parm_table[] = {
                .label          = "log file",
                .type           = P_STRING,
                .p_class        = P_GLOBAL,
-               .offset         = GLOBAL_VAR(szLogFile),
+               .offset         = GLOBAL_VAR(logfile),
                .special        = NULL,
                .enum_list      = NULL,
                .flags          = FLAG_ADVANCED,
@@ -2002,7 +2016,7 @@ static struct parm_struct parm_table[] = {
                .label          = "socket options",
                .type           = P_STRING,
                .p_class        = P_GLOBAL,
-               .offset         = GLOBAL_VAR(szSocketOptions),
+               .offset         = GLOBAL_VAR(socket_options),
                .special        = NULL,
                .enum_list      = NULL,
                .flags          = FLAG_ADVANCED,
@@ -3035,7 +3049,7 @@ static struct parm_struct parm_table[] = {
                .label          = "dns proxy",
                .type           = P_BOOL,
                .p_class        = P_GLOBAL,
-               .offset         = GLOBAL_VAR(bDNSproxy),
+               .offset         = GLOBAL_VAR(bWINSdnsProxy),
                .special        = NULL,
                .enum_list      = NULL,
                .flags          = FLAG_ADVANCED,
@@ -3109,11 +3123,11 @@ static struct parm_struct parm_table[] = {
        {
                .label          = "kernel oplocks",
                .type           = P_BOOL,
-               .p_class        = P_GLOBAL,
-               .offset         = GLOBAL_VAR(bKernelOplocks),
+               .p_class        = P_LOCAL,
+               .offset         = LOCAL_VAR(bKernelOplocks),
                .special        = NULL,
                .enum_list      = NULL,
-               .flags          = FLAG_ADVANCED | FLAG_GLOBAL,
+               .flags          = FLAG_ADVANCED | FLAG_SHARE | FLAG_GLOBAL,
        },
        {
                .label          = "locking",
@@ -4655,9 +4669,9 @@ static void init_globals(bool reinit_globals)
 
        if (!done_init) {
                /* The logfile can be set before this is invoked. Free it if so. */
-               if (Globals.szLogFile != NULL) {
-                       string_free(&Globals.szLogFile);
-                       Globals.szLogFile = NULL;
+               if (Globals.logfile != NULL) {
+                       string_free(&Globals.logfile);
+                       Globals.logfile = NULL;
                }
                done_init = true;
        } else {
@@ -4733,7 +4747,7 @@ static void init_globals(bool reinit_globals)
        string_set(&Globals.szPanicAction, "/bin/sleep 999999999");
 #endif
 
-       string_set(&Globals.szSocketOptions, DEFAULT_SOCKET_OPTIONS);
+       string_set(&Globals.socket_options, DEFAULT_SOCKET_OPTIONS);
 
        string_set(&Globals.szLogonDrive, "");
        /* %N is the NIS auto.home server if -DAUTOHOME is used, else same as %L */
@@ -4838,7 +4852,7 @@ static void init_globals(bool reinit_globals)
           a large number of sites (tridge) */
        Globals.bHostnameLookups = false;
 
-       string_set(&Globals.szPassdbBackend, "tdbsam");
+       string_set(&Globals.passdb_backend, "tdbsam");
        string_set(&Globals.szLdapSuffix, "");
        string_set(&Globals.szLdapMachineSuffix, "");
        string_set(&Globals.szLdapUserSuffix, "");
@@ -4890,10 +4904,7 @@ static void init_globals(bool reinit_globals)
        TALLOC_FREE(Globals.szInitLogonDelayedHosts);
        Globals.InitLogonDelay = 100; /* 100 ms default delay */
 
-       Globals.bDNSproxy = true;
-
-       /* this just means to use them if they exist */
-       Globals.bKernelOplocks = true;
+       Globals.bWINSdnsProxy = true;
 
        Globals.bAllowTrustedDomains = true;
        string_set(&Globals.szIdmapBackend, "tdb");
@@ -5023,17 +5034,17 @@ static char *lp_string(const char *s)
 */
 
 #define FN_GLOBAL_STRING(fn_name,ptr) \
- char *fn_name(void) {return(lp_string(*(char **)(&Globals.ptr) ? *(char **)(&Globals.ptr) : ""));}
+ char *lp_ ## fn_name(void) {return(lp_string(*(char **)(&Globals.ptr) ? *(char **)(&Globals.ptr) : ""));}
 #define FN_GLOBAL_CONST_STRING(fn_name,ptr) \
- const char *fn_name(void) {return(*(const char **)(&Globals.ptr) ? *(const char **)(&Globals.ptr) : "");}
+ const char *lp_ ## fn_name(void) {return(*(const char **)(&Globals.ptr) ? *(const char **)(&Globals.ptr) : "");}
 #define FN_GLOBAL_LIST(fn_name,ptr) \
- const char **fn_name(void) {return(*(const char ***)(&Globals.ptr));}
+ const char **lp_ ## fn_name(void) {return(*(const char ***)(&Globals.ptr));}
 #define FN_GLOBAL_BOOL(fn_name,ptr) \
- bool fn_name(void) {return(*(bool *)(&Globals.ptr));}
+ bool lp_ ## fn_name(void) {return(*(bool *)(&Globals.ptr));}
 #define FN_GLOBAL_CHAR(fn_name,ptr) \
- char fn_name(void) {return(*(char *)(&Globals.ptr));}
+ char lp_ ## fn_name(void) {return(*(char *)(&Globals.ptr));}
 #define FN_GLOBAL_INTEGER(fn_name,ptr) \
- int fn_name(void) {return(*(int *)(&Globals.ptr));}
+ int lp_ ## fn_name(void) {return(*(int *)(&Globals.ptr));}
 
 #define FN_LOCAL_STRING(fn_name,val) \
  char *lp_ ## fn_name(int i) {return(lp_string((LP_SNUM_OK(i) && ServicePtrs[(i)]->val) ? ServicePtrs[(i)]->val : sDefault.val));}
@@ -5053,21 +5064,14 @@ static char *lp_string(const char *s)
 #define FN_LOCAL_CHAR(fn_name,val) \
  char lp_ ## fn_name(const struct share_params *p) {return(LP_SNUM_OK(p->service)? ServicePtrs[(p->service)]->val : sDefault.val);}
 
-FN_GLOBAL_CONST_STRING(lp_smb_ports, smb_ports)
-FN_GLOBAL_CONST_STRING(lp_dos_charset, dos_charset)
-FN_GLOBAL_CONST_STRING(lp_unix_charset, unix_charset)
-FN_GLOBAL_STRING(lp_logfile, szLogFile)
-FN_GLOBAL_STRING(lp_configfile, szConfigFile)
-FN_GLOBAL_CONST_STRING(lp_smb_passwd_file, szSMBPasswdFile)
-FN_GLOBAL_CONST_STRING(lp_private_dir, szPrivateDir)
-FN_GLOBAL_STRING(lp_serverstring, szServerString)
-FN_GLOBAL_INTEGER(lp_printcap_cache_time, PrintcapCacheTime)
-FN_GLOBAL_STRING(lp_addport_cmd, szAddPortCommand)
-FN_GLOBAL_STRING(lp_enumports_cmd, szEnumPortsCommand)
-FN_GLOBAL_STRING(lp_addprinter_cmd, szAddPrinterCommand)
-FN_GLOBAL_STRING(lp_deleteprinter_cmd, szDeletePrinterCommand)
-FN_GLOBAL_STRING(lp_os2_driver_map, szOs2DriverMap)
-FN_GLOBAL_CONST_STRING(lp_lockdir, szLockDir)
+
+static FN_GLOBAL_BOOL(domain_logons, bDomainLogons)
+static FN_GLOBAL_BOOL(_readraw, bReadRaw)
+static FN_GLOBAL_BOOL(time_server, bTimeServer)
+static FN_GLOBAL_BOOL(_writeraw, bWriteRaw)
+static FN_GLOBAL_CONST_STRING(_ctdbd_socket, ctdbdSocket)
+static FN_GLOBAL_INTEGER(_server_role, ServerRole)
+
 /* If lp_statedir() and lp_cachedir() are explicitely set during the
  * build process or in smb.conf, we use that value.  Otherwise they
  * default to the value of lp_lockdir(). */
@@ -5089,83 +5093,7 @@ const char *lp_cachedir(void) {
                return(*(char **)(&Globals.szLockDir) ?
                       *(char **)(&Globals.szLockDir) : "");
 }
-FN_GLOBAL_CONST_STRING(lp_piddir, szPidDir)
-FN_GLOBAL_STRING(lp_mangling_method, szManglingMethod)
-FN_GLOBAL_INTEGER(lp_mangle_prefix, mangle_prefix)
-FN_GLOBAL_CONST_STRING(lp_utmpdir, szUtmpDir)
-FN_GLOBAL_CONST_STRING(lp_wtmpdir, szWtmpDir)
-FN_GLOBAL_BOOL(lp_utmp, bUtmp)
-FN_GLOBAL_STRING(lp_rootdir, szRootdir)
-FN_GLOBAL_STRING(lp_perfcount_module, szSMBPerfcountModule)
-FN_GLOBAL_STRING(lp_defaultservice, szDefaultService)
-FN_GLOBAL_STRING(lp_msg_command, szMsgCommand)
-FN_GLOBAL_STRING(lp_get_quota_command, szGetQuota)
-FN_GLOBAL_STRING(lp_set_quota_command, szSetQuota)
-FN_GLOBAL_STRING(lp_auto_services, szAutoServices)
-FN_GLOBAL_STRING(lp_passwd_program, szPasswdProgram)
-FN_GLOBAL_STRING(lp_passwd_chat, szPasswdChat)
-FN_GLOBAL_CONST_STRING(lp_passwordserver, szPasswordServer)
-FN_GLOBAL_CONST_STRING(lp_name_resolve_order, szNameResolveOrder)
-FN_GLOBAL_CONST_STRING(lp_workgroup, szWorkgroup)
-FN_GLOBAL_CONST_STRING(lp_netbios_name, szNetbiosName)
-FN_GLOBAL_CONST_STRING(lp_netbios_scope, szNetbiosScope)
-FN_GLOBAL_CONST_STRING(lp_realm, szRealmUpper)
-FN_GLOBAL_CONST_STRING(lp_dnsdomain, szDnsDomain)
-FN_GLOBAL_CONST_STRING(lp_afs_username_map, szAfsUsernameMap)
-FN_GLOBAL_INTEGER(lp_afs_token_lifetime, iAfsTokenLifetime)
-FN_GLOBAL_STRING(lp_log_nt_token_command, szLogNtTokenCommand)
-FN_GLOBAL_STRING(lp_username_map, szUsernameMap)
-FN_GLOBAL_CONST_STRING(lp_logon_script, szLogonScript)
-FN_GLOBAL_CONST_STRING(lp_logon_path, szLogonPath)
-FN_GLOBAL_CONST_STRING(lp_logon_drive, szLogonDrive)
-FN_GLOBAL_CONST_STRING(lp_logon_home, szLogonHome)
-FN_GLOBAL_STRING(lp_remote_announce, szRemoteAnnounce)
-FN_GLOBAL_STRING(lp_remote_browse_sync, szRemoteBrowseSync)
-FN_GLOBAL_BOOL(lp_nmbd_bind_explicit_broadcast, bNmbdBindExplicitBroadcast)
-FN_GLOBAL_LIST(lp_wins_server_list, szWINSservers)
-FN_GLOBAL_LIST(lp_interfaces, szInterfaces)
-FN_GLOBAL_STRING(lp_nis_home_map_name, szNISHomeMapName)
-FN_GLOBAL_LIST(lp_netbios_aliases, szNetbiosAliases)
-FN_GLOBAL_CONST_STRING(lp_passdb_backend, szPassdbBackend)
-FN_GLOBAL_LIST(lp_preload_modules, szPreloadModules)
-FN_GLOBAL_STRING(lp_panic_action, szPanicAction)
-FN_GLOBAL_STRING(lp_adduser_script, szAddUserScript)
-FN_GLOBAL_STRING(lp_renameuser_script, szRenameUserScript)
-FN_GLOBAL_STRING(lp_deluser_script, szDelUserScript)
-
-FN_GLOBAL_CONST_STRING(lp_guestaccount, szGuestaccount)
-FN_GLOBAL_STRING(lp_addgroup_script, szAddGroupScript)
-FN_GLOBAL_STRING(lp_delgroup_script, szDelGroupScript)
-FN_GLOBAL_STRING(lp_addusertogroup_script, szAddUserToGroupScript)
-FN_GLOBAL_STRING(lp_deluserfromgroup_script, szDelUserFromGroupScript)
-FN_GLOBAL_STRING(lp_setprimarygroup_script, szSetPrimaryGroupScript)
-
-FN_GLOBAL_STRING(lp_addmachine_script, szAddMachineScript)
-
-FN_GLOBAL_STRING(lp_shutdown_script, szShutdownScript)
-FN_GLOBAL_STRING(lp_abort_shutdown_script, szAbortShutdownScript)
-FN_GLOBAL_STRING(lp_username_map_script, szUsernameMapScript)
-FN_GLOBAL_INTEGER(lp_username_map_cache_time, iUsernameMapCacheTime)
-
-FN_GLOBAL_STRING(lp_check_password_script, szCheckPasswordScript)
-
-FN_GLOBAL_STRING(lp_wins_hook, szWINSHook)
-FN_GLOBAL_CONST_STRING(lp_template_homedir, szTemplateHomedir)
-FN_GLOBAL_CONST_STRING(lp_template_shell, szTemplateShell)
-FN_GLOBAL_CONST_STRING(lp_winbind_separator, szWinbindSeparator)
-FN_GLOBAL_INTEGER(lp_acl_compatibility, iAclCompat)
-FN_GLOBAL_BOOL(lp_winbind_enum_users, bWinbindEnumUsers)
-FN_GLOBAL_BOOL(lp_winbind_enum_groups, bWinbindEnumGroups)
-FN_GLOBAL_BOOL(lp_winbind_use_default_domain, bWinbindUseDefaultDomain)
-FN_GLOBAL_BOOL(lp_winbind_trusted_domains_only, bWinbindTrustedDomainsOnly)
-FN_GLOBAL_BOOL(lp_winbind_nested_groups, bWinbindNestedGroups)
-FN_GLOBAL_INTEGER(lp_winbind_expand_groups, winbind_expand_groups)
-FN_GLOBAL_BOOL(lp_winbind_refresh_tickets, bWinbindRefreshTickets)
-FN_GLOBAL_BOOL(lp_winbind_offline_logon, bWinbindOfflineLogon)
-FN_GLOBAL_BOOL(lp_winbind_normalize_names, bWinbindNormalizeNames)
-FN_GLOBAL_BOOL(lp_winbind_rpc_only, bWinbindRpcOnly)
-FN_GLOBAL_BOOL(lp_create_krb5_conf, bCreateKrb5Conf)
-static FN_GLOBAL_INTEGER(lp_winbind_max_domain_connections_int,
+static FN_GLOBAL_INTEGER(winbind_max_domain_connections_int,
                  winbindMaxDomainConnections)
 
 int lp_winbind_max_domain_connections(void)
@@ -5179,136 +5107,6 @@ int lp_winbind_max_domain_connections(void)
        return MAX(1, lp_winbind_max_domain_connections_int());
 }
 
-FN_GLOBAL_CONST_STRING(lp_idmap_backend, szIdmapBackend)
-FN_GLOBAL_INTEGER(lp_idmap_cache_time, iIdmapCacheTime)
-FN_GLOBAL_INTEGER(lp_idmap_negative_cache_time, iIdmapNegativeCacheTime)
-FN_GLOBAL_INTEGER(lp_keepalive, iKeepalive)
-FN_GLOBAL_BOOL(lp_passdb_expand_explicit, bPassdbExpandExplicit)
-
-FN_GLOBAL_STRING(lp_ldap_suffix, szLdapSuffix)
-FN_GLOBAL_STRING(lp_ldap_admin_dn, szLdapAdminDn)
-FN_GLOBAL_INTEGER(lp_ldap_ssl, ldap_ssl)
-FN_GLOBAL_BOOL(lp_ldap_ssl_ads, ldap_ssl_ads)
-FN_GLOBAL_INTEGER(lp_ldap_deref, ldap_deref)
-FN_GLOBAL_INTEGER(lp_ldap_follow_referral, ldap_follow_referral)
-FN_GLOBAL_INTEGER(lp_ldap_passwd_sync, ldap_passwd_sync)
-FN_GLOBAL_BOOL(lp_ldap_delete_dn, ldap_delete_dn)
-FN_GLOBAL_INTEGER(lp_ldap_replication_sleep, ldap_replication_sleep)
-FN_GLOBAL_INTEGER(lp_ldap_timeout, ldap_timeout)
-FN_GLOBAL_INTEGER(lp_ldap_connection_timeout, ldap_connection_timeout)
-FN_GLOBAL_INTEGER(lp_ldap_page_size, ldap_page_size)
-FN_GLOBAL_INTEGER(lp_ldap_debug_level, ldap_debug_level)
-FN_GLOBAL_INTEGER(lp_ldap_debug_threshold, ldap_debug_threshold)
-FN_GLOBAL_STRING(lp_add_share_cmd, szAddShareCommand)
-FN_GLOBAL_STRING(lp_change_share_cmd, szChangeShareCommand)
-FN_GLOBAL_STRING(lp_delete_share_cmd, szDeleteShareCommand)
-FN_GLOBAL_STRING(lp_usershare_path, szUsersharePath)
-FN_GLOBAL_LIST(lp_usershare_prefix_allow_list, szUsersharePrefixAllowList)
-FN_GLOBAL_LIST(lp_usershare_prefix_deny_list, szUsersharePrefixDenyList)
-
-FN_GLOBAL_LIST(lp_eventlog_list, szEventLogs)
-
-FN_GLOBAL_BOOL(lp_registry_shares, bRegistryShares)
-FN_GLOBAL_BOOL(lp_usershare_allow_guests, bUsershareAllowGuests)
-FN_GLOBAL_BOOL(lp_usershare_owner_only, bUsershareOwnerOnly)
-FN_GLOBAL_BOOL(lp_disable_netbios, bDisableNetbios)
-FN_GLOBAL_BOOL(lp_reset_on_zero_vc, bResetOnZeroVC)
-FN_GLOBAL_BOOL(lp_log_writeable_files_on_exit, bLogWriteableFilesOnExit)
-FN_GLOBAL_BOOL(lp_ms_add_printer_wizard, bMsAddPrinterWizard)
-FN_GLOBAL_BOOL(lp_dns_proxy, bDNSproxy)
-FN_GLOBAL_BOOL(lp_we_are_a_wins_server, bWINSsupport)
-FN_GLOBAL_BOOL(lp_wins_proxy, bWINSproxy)
-FN_GLOBAL_BOOL(lp_local_master, bLocalMaster)
-static FN_GLOBAL_BOOL(lp_domain_logons, bDomainLogons)
-FN_GLOBAL_LIST(lp_init_logon_delayed_hosts, szInitLogonDelayedHosts)
-FN_GLOBAL_INTEGER(lp_init_logon_delay, InitLogonDelay)
-FN_GLOBAL_BOOL(lp_load_printers, bLoadPrinters)
-FN_GLOBAL_BOOL(_lp_readraw, bReadRaw)
-FN_GLOBAL_BOOL(lp_large_readwrite, bLargeReadwrite)
-FN_GLOBAL_BOOL(_lp_writeraw, bWriteRaw)
-FN_GLOBAL_BOOL(lp_null_passwords, bNullPasswords)
-FN_GLOBAL_BOOL(lp_obey_pam_restrictions, bObeyPamRestrictions)
-FN_GLOBAL_BOOL(lp_encrypted_passwords, bEncryptPasswords)
-FN_GLOBAL_INTEGER(lp_client_schannel, clientSchannel)
-FN_GLOBAL_INTEGER(lp_server_schannel, serverSchannel)
-FN_GLOBAL_BOOL(lp_syslog_only, bSyslogOnly)
-FN_GLOBAL_BOOL(lp_timestamp_logs, bTimestampLogs)
-FN_GLOBAL_BOOL(lp_debug_prefix_timestamp, bDebugPrefixTimestamp)
-FN_GLOBAL_BOOL(lp_debug_hires_timestamp, bDebugHiresTimestamp)
-FN_GLOBAL_BOOL(lp_debug_pid, bDebugPid)
-FN_GLOBAL_BOOL(lp_debug_uid, bDebugUid)
-FN_GLOBAL_BOOL(lp_debug_class, bDebugClass)
-FN_GLOBAL_BOOL(lp_enable_core_files, bEnableCoreFiles)
-FN_GLOBAL_BOOL(lp_browse_list, bBrowseList)
-FN_GLOBAL_BOOL(lp_nis_home_map, bNISHomeMap)
-static FN_GLOBAL_BOOL(lp_time_server, bTimeServer)
-FN_GLOBAL_BOOL(lp_bind_interfaces_only, bBindInterfacesOnly)
-FN_GLOBAL_BOOL(lp_pam_password_change, bPamPasswordChange)
-FN_GLOBAL_BOOL(lp_unix_password_sync, bUnixPasswdSync)
-FN_GLOBAL_BOOL(lp_passwd_chat_debug, bPasswdChatDebug)
-FN_GLOBAL_INTEGER(lp_passwd_chat_timeout, iPasswdChatTimeout)
-FN_GLOBAL_BOOL(lp_nt_pipe_support, bNTPipeSupport)
-FN_GLOBAL_BOOL(lp_nt_status_support, bNTStatusSupport)
-FN_GLOBAL_BOOL(lp_stat_cache, bStatCache)
-FN_GLOBAL_INTEGER(lp_max_stat_cache_size, iMaxStatCacheSize)
-FN_GLOBAL_BOOL(lp_allow_trusted_domains, bAllowTrustedDomains)
-FN_GLOBAL_BOOL(lp_map_untrusted_to_domain, bMapUntrustedToDomain)
-FN_GLOBAL_INTEGER(lp_restrict_anonymous, restrict_anonymous)
-FN_GLOBAL_BOOL(lp_lanman_auth, bLanmanAuth)
-FN_GLOBAL_BOOL(lp_ntlm_auth, bNTLMAuth)
-FN_GLOBAL_BOOL(lp_client_plaintext_auth, bClientPlaintextAuth)
-FN_GLOBAL_BOOL(lp_client_lanman_auth, bClientLanManAuth)
-FN_GLOBAL_BOOL(lp_client_ntlmv2_auth, bClientNTLMv2Auth)
-FN_GLOBAL_BOOL(lp_host_msdfs, bHostMSDfs)
-FN_GLOBAL_BOOL(lp_kernel_oplocks, bKernelOplocks)
-FN_GLOBAL_BOOL(lp_enhanced_browsing, enhanced_browsing)
-FN_GLOBAL_BOOL(lp_use_mmap, bUseMmap)
-FN_GLOBAL_BOOL(lp_unix_extensions, bUnixExtensions)
-FN_GLOBAL_BOOL(lp_use_spnego, bUseSpnego)
-FN_GLOBAL_BOOL(lp_client_use_spnego, bClientUseSpnego)
-FN_GLOBAL_BOOL(lp_client_use_spnego_principal, client_use_spnego_principal)
-FN_GLOBAL_BOOL(lp_hostname_lookups, bHostnameLookups)
-FN_GLOBAL_CONST_STRING(lp_dedicated_keytab_file, szDedicatedKeytabFile)
-FN_GLOBAL_INTEGER(lp_kerberos_method, iKerberosMethod)
-FN_GLOBAL_BOOL(lp_defer_sharing_violations, bDeferSharingViolations)
-FN_GLOBAL_BOOL(lp_enable_privileges, bEnablePrivileges)
-FN_GLOBAL_BOOL(lp_enable_asu_support, bASUSupport)
-FN_GLOBAL_INTEGER(lp_os_level, os_level)
-FN_GLOBAL_INTEGER(lp_max_ttl, max_ttl)
-FN_GLOBAL_INTEGER(lp_max_wins_ttl, max_wins_ttl)
-FN_GLOBAL_INTEGER(lp_min_wins_ttl, min_wins_ttl)
-FN_GLOBAL_INTEGER(lp_max_log_size, max_log_size)
-FN_GLOBAL_INTEGER(lp_max_open_files, max_open_files)
-FN_GLOBAL_INTEGER(lp_open_files_db_hash_size, open_files_db_hash_size)
-FN_GLOBAL_INTEGER(lp_maxxmit, max_xmit)
-FN_GLOBAL_INTEGER(lp_maxmux, max_mux)
-FN_GLOBAL_INTEGER(lp_passwordlevel, pwordlevel)
-FN_GLOBAL_INTEGER(lp_usernamelevel, unamelevel)
-FN_GLOBAL_INTEGER(lp_deadtime, deadtime)
-FN_GLOBAL_BOOL(lp_getwd_cache, getwd_cache)
-FN_GLOBAL_INTEGER(lp_srv_maxprotocol, srv_maxprotocol)
-FN_GLOBAL_INTEGER(lp_srv_minprotocol, srv_minprotocol)
-FN_GLOBAL_INTEGER(lp_security, security)
-FN_GLOBAL_LIST(lp_auth_methods, AuthMethods)
-FN_GLOBAL_BOOL(lp_paranoid_server_security, paranoid_server_security)
-FN_GLOBAL_INTEGER(lp_maxdisksize, maxdisksize)
-FN_GLOBAL_INTEGER(lp_lpqcachetime, lpqcachetime)
-FN_GLOBAL_INTEGER(lp_max_smbd_processes, iMaxSmbdProcesses)
-FN_GLOBAL_BOOL(_lp_disable_spoolss, bDisableSpoolss)
-FN_GLOBAL_INTEGER(lp_syslog, syslog)
-FN_GLOBAL_INTEGER(lp_lm_announce, lm_announce)
-FN_GLOBAL_INTEGER(lp_lm_interval, lm_interval)
-FN_GLOBAL_INTEGER(lp_machine_password_timeout, machine_password_timeout)
-FN_GLOBAL_INTEGER(lp_map_to_guest, map_to_guest)
-FN_GLOBAL_INTEGER(lp_oplock_break_wait_time, oplock_break_wait_time)
-FN_GLOBAL_INTEGER(lp_lock_spin_time, iLockSpinTime)
-FN_GLOBAL_INTEGER(lp_usershare_max_shares, iUsershareMaxShares)
-FN_GLOBAL_CONST_STRING(lp_socket_options, szSocketOptions)
-FN_GLOBAL_INTEGER(lp_config_backend, ConfigBackend)
-static FN_GLOBAL_INTEGER(lp__server_role, ServerRole)
-FN_GLOBAL_INTEGER(lp_smb2_max_read, ismb2_max_read)
-FN_GLOBAL_INTEGER(lp_smb2_max_write, ismb2_max_write)
-FN_GLOBAL_INTEGER(lp_smb2_max_trans, ismb2_max_trans)
 int lp_smb2_max_credits(void)
 {
        if (Globals.ismb2_max_credits == 0) {
@@ -5316,8 +5114,6 @@ int lp_smb2_max_credits(void)
        }
        return Globals.ismb2_max_credits;
 }
-FN_GLOBAL_LIST(lp_svcctl_list, szServicesList)
-FN_GLOBAL_STRING(lp_cups_server, szCupsServer)
 int lp_cups_encrypt(void)
 {
        int result = 0;
@@ -5336,27 +5132,14 @@ int lp_cups_encrypt(void)
 #endif
        return result;
 }
-FN_GLOBAL_STRING(lp_iprint_server, szIPrintServer)
-FN_GLOBAL_INTEGER(lp_cups_connection_timeout, cups_connection_timeout)
-FN_GLOBAL_CONST_STRING(lp_ctdbd_socket, ctdbdSocket)
-FN_GLOBAL_LIST(lp_cluster_addresses, szClusterAddresses)
-FN_GLOBAL_BOOL(lp_clustering, clustering)
-FN_GLOBAL_INTEGER(lp_ctdb_timeout, ctdb_timeout)
-FN_GLOBAL_INTEGER(lp_ctdb_locktime_warn_threshold, ctdb_locktime_warn_threshold)
-FN_GLOBAL_BOOL(lp_async_smb_echo_handler, bAsyncSMBEchoHandler)
-FN_GLOBAL_BOOL(lp_multicast_dns_register, bMulticastDnsRegister)
-FN_GLOBAL_BOOL(lp_allow_insecure_widelinks, bAllowInsecureWidelinks)
-FN_GLOBAL_INTEGER(lp_winbind_cache_time, winbind_cache_time)
-FN_GLOBAL_INTEGER(lp_winbind_reconnect_delay, winbind_reconnect_delay)
-FN_GLOBAL_INTEGER(lp_winbind_max_clients, winbind_max_clients)
-FN_GLOBAL_LIST(lp_winbind_nss_info, szWinbindNssInfo)
-FN_GLOBAL_INTEGER(lp_algorithmic_rid_base, AlgorithmicRidBase)
-FN_GLOBAL_INTEGER(lp_name_cache_timeout, name_cache_timeout)
-FN_GLOBAL_INTEGER(lp_client_signing, client_signing)
-FN_GLOBAL_INTEGER(lp_server_signing, server_signing)
-FN_GLOBAL_INTEGER(lp_client_ldap_sasl_wrapping, client_ldap_sasl_wrapping)
-
-FN_GLOBAL_CONST_STRING(lp_ncalrpc_dir, ncalrpc_dir)
+
+/* These functions remain in source3/param for now */
+
+FN_GLOBAL_CONST_STRING(name_resolve_order, szNameResolveOrder)
+FN_GLOBAL_CONST_STRING(smb_ports, smb_ports)
+FN_GLOBAL_INTEGER(security, security)
+FN_GLOBAL_INTEGER(usershare_max_shares, iUsershareMaxShares)
+FN_GLOBAL_STRING(configfile, szConfigFile)
 
 #include "lib/param/param_functions.c"
 
@@ -6952,8 +6735,8 @@ static bool handle_realm(struct loadparm_context *unused, int snum, const char *
        char *dnsdomain = strlower_talloc(talloc_tos(), pszParmValue);
 
        ret &= string_set(&Globals.szRealm, pszParmValue);
-       ret &= string_set(&Globals.szRealmUpper, realm);
-       ret &= string_set(&Globals.szDnsDomain, dnsdomain);
+       ret &= string_set(&Globals.szRealm_upper, realm);
+       ret &= string_set(&Globals.szRealm_lower, dnsdomain);
        TALLOC_FREE(realm);
        TALLOC_FREE(dnsdomain);
 
@@ -8253,7 +8036,7 @@ enum usershare_err parse_usershare_file(TALLOC_CTX *ctx,
        const char **prefixallowlist = lp_usershare_prefix_allow_list();
        const char **prefixdenylist = lp_usershare_prefix_deny_list();
        int us_vers;
-       SMB_STRUCT_DIR *dp;
+       DIR *dp;
        SMB_STRUCT_STAT sbuf;
        char *sharepath = NULL;
        char *comment = NULL;
@@ -8388,7 +8171,7 @@ enum usershare_err parse_usershare_file(TALLOC_CTX *ctx,
         }
 
        /* Ensure this is pointing to a directory. */
-       dp = sys_opendir(sharepath);
+       dp = opendir(sharepath);
 
        if (!dp) {
                DEBUG(2,("parse_usershare_file: share %s path %s is not a directory.\n",
@@ -8402,11 +8185,11 @@ enum usershare_err parse_usershare_file(TALLOC_CTX *ctx,
        if (sys_stat(sharepath, &sbuf, false) == -1) {
                DEBUG(2,("parse_usershare_file: share %s : stat failed on path %s. %s\n",
                        servicename, sharepath, strerror(errno) ));
-               sys_closedir(dp);
+               closedir(dp);
                return USERSHARE_POSIX_ERR;
        }
 
-       sys_closedir(dp);
+       closedir(dp);
 
        if (!S_ISDIR(sbuf.st_ex_mode)) {
                DEBUG(2,("parse_usershare_file: share %s path %s is not a directory.\n",
@@ -8732,9 +8515,9 @@ int load_usershare_service(const char *servicename)
 int load_usershare_shares(struct smbd_server_connection *sconn,
                          bool (*snumused) (struct smbd_server_connection *, int))
 {
-       SMB_STRUCT_DIR *dp;
+       DIR *dp;
        SMB_STRUCT_STAT sbuf;
-       SMB_STRUCT_DIRENT *de;
+       struct dirent *de;
        int num_usershares = 0;
        int max_user_shares = Globals.iUsershareMaxShares;
        unsigned int num_dir_entries, num_bad_dir_entries, num_tmp_dir_entries;
@@ -8798,7 +8581,7 @@ int load_usershare_shares(struct smbd_server_connection *sconn,
                }
        }
 
-       dp = sys_opendir(usersharepath);
+       dp = opendir(usersharepath);
        if (!dp) {
                DEBUG(0,("load_usershare_shares:: failed to open directory %s. %s\n",
                        usersharepath, strerror(errno) ));
@@ -8806,7 +8589,7 @@ int load_usershare_shares(struct smbd_server_connection *sconn,
        }
 
        for (num_dir_entries = 0, num_bad_dir_entries = 0, num_tmp_dir_entries = 0;
-                       (de = sys_readdir(dp));
+                       (de = readdir(dp));
                        num_dir_entries++ ) {
                int r;
                const char *n = de->d_name;
@@ -8862,7 +8645,7 @@ int load_usershare_shares(struct smbd_server_connection *sconn,
                }
        }
 
-       sys_closedir(dp);
+       closedir(dp);
 
        /* Sweep through and delete any non-refreshed usershares that are
           not currently in use. */
@@ -9039,10 +8822,6 @@ static bool lp_load_ex(const char *pszFname,
 
        set_allowed_client_auth();
 
-       if (lp_security() == SEC_SERVER) {
-               DEBUG(1, ("WARNING: The security=server option is deprecated\n"));
-       }
-
        if (lp_security() == SEC_ADS && strchr(lp_passwordserver(), ':')) {
                DEBUG(1, ("WARNING: The optional ':port' in password server = %s is deprecated\n",
                          lp_passwordserver()));
@@ -9410,7 +9189,7 @@ const char *lp_printername(int snum)
 
 void lp_set_logfile(const char *name)
 {
-       string_set(&Globals.szLogFile, name);
+       string_set(&Globals.logfile, name);
        debug_set_logfile(name);
 }
 
@@ -9452,7 +9231,7 @@ static uint32 spoolss_state;
 bool lp_disable_spoolss( void )
 {
        if ( spoolss_state == SVCCTL_STATE_UNKNOWN )
-               spoolss_state = _lp_disable_spoolss() ? SVCCTL_STOPPED : SVCCTL_RUNNING;
+               spoolss_state = lp__disable_spoolss() ? SVCCTL_STOPPED : SVCCTL_RUNNING;
 
        return spoolss_state == SVCCTL_STOPPED ? true : false;
 }
@@ -9633,7 +9412,7 @@ bool lp_writeraw(void)
        if (lp_async_smb_echo_handler()) {
                return false;
        }
-       return _lp_writeraw();
+       return lp__writeraw();
 }
 
 bool lp_readraw(void)
@@ -9641,7 +9420,7 @@ bool lp_readraw(void)
        if (lp_async_smb_echo_handler()) {
                return false;
        }
-       return _lp_readraw();
+       return lp__readraw();
 }
 
 int lp_server_role(void)
@@ -9651,3 +9430,15 @@ int lp_server_role(void)
                                   lp_domain_logons(),
                                   lp_domain_master_true_or_auto());
 }
+
+const char *lp_ctdbd_socket(void)
+{
+       const char *result = lp__ctdbd_socket();
+
+#ifdef CLUSTER_SUPPORT
+       if ((result == NULL) || (*result == '\0')) {
+               return CTDB_PATH;
+       }
+#endif
+       return result;
+}