summaryrefslogtreecommitdiffstats
path: root/source/param
diff options
context:
space:
mode:
authorMichael Adam <obnox@samba.org>2008-08-09 00:31:48 +0200
committerMichael Adam <obnox@samba.org>2008-08-09 01:15:58 +0200
commitf7c1f85438f7e0da2a96e3fc8f774f8c6936370e (patch)
tree5ca60c06986e07949574b72b155445b036c34b71 /source/param
parent742bedce417c666b5e91d8d0a7dc7682dc62eba2 (diff)
downloadsamba-f7c1f85438f7e0da2a96e3fc8f774f8c6936370e.tar.gz
samba-f7c1f85438f7e0da2a96e3fc8f774f8c6936370e.tar.xz
samba-f7c1f85438f7e0da2a96e3fc8f774f8c6936370e.zip
loadparm: add two parameters "init logon delay hosts" and "init logon delay"
"init logon delays hosts" takes a list of hosts names or addresses or networks for which the initial SAMLOGON reply should be delayed (so other DCs get preferred by XP workstations if there are any). This option takes the same type of list as "hosts allow" does. "init logon delay" allows one to configure the delay for the hosts configured for delayed initial samlogon with "init logon delayed hosts". The value is interpreted as milliseconds. The default value is 100. This commit only introduces the parameters. They will be activated in a subsequent commit. Michael
Diffstat (limited to 'source/param')
-rw-r--r--source/param/loadparm.c24
1 files changed, 24 insertions, 0 deletions
diff --git a/source/param/loadparm.c b/source/param/loadparm.c
index 6902bb0437d..7882b37c2ce 100644
--- a/source/param/loadparm.c
+++ b/source/param/loadparm.c
@@ -273,6 +273,8 @@ struct global {
int iPreferredMaster;
int iDomainMaster;
bool bDomainLogons;
+ char **szInitLogonDelayedHosts;
+ int InitLogonDelay;
bool bEncryptPasswords;
bool bUpdateEncrypt;
int clientSchannel;
@@ -3190,6 +3192,23 @@ static struct parm_struct parm_table[] = {
.flags = FLAG_ADVANCED,
},
+ {
+ .label = "init logon delayed hosts",
+ .type = P_LIST,
+ .p_class = P_GLOBAL,
+ .ptr = &Globals.szInitLogonDelayedHosts,
+ .flags = FLAG_ADVANCED,
+ },
+
+ {
+ .label = "init logon delay",
+ .type = P_INTEGER,
+ .p_class = P_GLOBAL,
+ .ptr = &Globals.InitLogonDelay,
+ .flags = FLAG_ADVANCED,
+
+ },
+
{N_("Browse Options"), P_SEP, P_SEPARATOR},
{
@@ -4797,6 +4816,9 @@ static void init_globals(bool first_time_only)
Globals.bWINSsupport = False;
Globals.bWINSproxy = False;
+ TALLOC_FREE(Globals.szInitLogonDelayedHosts);
+ Globals.InitLogonDelay = 100; /* 100 ms default delay */
+
Globals.bDNSproxy = True;
/* this just means to use them if they exist */
@@ -5109,6 +5131,8 @@ FN_GLOBAL_BOOL(lp_we_are_a_wins_server, &Globals.bWINSsupport)
FN_GLOBAL_BOOL(lp_wins_proxy, &Globals.bWINSproxy)
FN_GLOBAL_BOOL(lp_local_master, &Globals.bLocalMaster)
FN_GLOBAL_BOOL(lp_domain_logons, &Globals.bDomainLogons)
+FN_GLOBAL_LIST(lp_init_logon_delayed_hosts, &Globals.szInitLogonDelayedHosts)
+FN_GLOBAL_INTEGER(lp_init_logon_delay, &Globals.InitLogonDelay)
FN_GLOBAL_BOOL(lp_load_printers, &Globals.bLoadPrinters)
FN_GLOBAL_BOOL(lp_readraw, &Globals.bReadRaw)
FN_GLOBAL_BOOL(lp_large_readwrite, &Globals.bLargeReadwrite)