summaryrefslogtreecommitdiff
path: root/source3
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
commitbf291c95bceda9e8181999f3dc524589fd82814c (patch)
tree4ec8dcb733da92c590835583764156d307edca7f /source3
parente0fa472a3b50dba7ab62541b8d6666f0ae29f397 (diff)
downloadsamba-bf291c95bceda9e8181999f3dc524589fd82814c.tar.gz
samba-bf291c95bceda9e8181999f3dc524589fd82814c.tar.bz2
samba-bf291c95bceda9e8181999f3dc524589fd82814c.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 (This used to be commit f7c1f85438f7e0da2a96e3fc8f774f8c6936370e)
Diffstat (limited to 'source3')
-rw-r--r--source3/include/proto.h2
-rw-r--r--source3/param/loadparm.c24
2 files changed, 26 insertions, 0 deletions
diff --git a/source3/include/proto.h b/source3/include/proto.h
index a19d51fe0f..dec48e8714 100644
--- a/source3/include/proto.h
+++ b/source3/include/proto.h
@@ -5875,6 +5875,8 @@ bool lp_we_are_a_wins_server(void);
bool lp_wins_proxy(void);
bool lp_local_master(void);
bool lp_domain_logons(void);
+const char **lp_init_logon_delayed_hosts(void);
+int lp_init_logon_delay(void);
bool lp_load_printers(void);
bool lp_readraw(void);
bool lp_large_readwrite(void);
diff --git a/source3/param/loadparm.c b/source3/param/loadparm.c
index 6902bb0437..7882b37c2c 100644
--- a/source3/param/loadparm.c
+++ b/source3/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)