summaryrefslogtreecommitdiff
path: root/source3
diff options
context:
space:
mode:
authorVolker Lendecke <vl@samba.org>2008-05-19 18:15:06 +0200
committerMichael Adam <obnox@samba.org>2008-08-13 11:40:35 +0200
commit5a3642d5aa725b0a54e6e303e1afdbfefdb81de7 (patch)
tree0e917db894c6c37bf40be391177d0ae5073422f3 /source3
parent9b987e3923f7e8714acec6a2929435b1e6016645 (diff)
downloadsamba-5a3642d5aa725b0a54e6e303e1afdbfefdb81de7.tar.gz
samba-5a3642d5aa725b0a54e6e303e1afdbfefdb81de7.tar.bz2
samba-5a3642d5aa725b0a54e6e303e1afdbfefdb81de7.zip
Add winbind:online check timeout parameter
This is a band-aid for the rather convoluted offline/online mess in winbind right now. Winbind re-uses the offline functionality that is targeted at domain client installations on laptops to not overload disfunctional DCs. It uses the winbind cache timeout as the retry timeout after a DC reboot. I am using a parametric options because when this mess is cleaned up, that parameter needs to go away again. I'd recommend to use something like winbind:online check timeout = 30 in typical LAN environments. This means a reconnect is attempted every 30 seconds. Volker (This used to be commit 9920473cc165e75ee9aa5cbb9e568eb5fb67e9e6)
Diffstat (limited to 'source3')
-rw-r--r--source3/winbindd/winbindd_cm.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/source3/winbindd/winbindd_cm.c b/source3/winbindd/winbindd_cm.c
index 47df4e4058..c6dab6f2e6 100644
--- a/source3/winbindd/winbindd_cm.c
+++ b/source3/winbindd/winbindd_cm.c
@@ -292,6 +292,22 @@ static void check_domain_online_handler(struct event_context *ctx,
static void calc_new_online_timeout_check(struct winbindd_domain *domain)
{
int wbc = lp_winbind_cache_time();
+ int domain_online_check;
+
+ /*
+ * If "winbind:online check timeout" is set explicitly,
+ * override the default of "winbind cache timeout"
+ *
+ * Add this as a parametric option and don't document it. The
+ * whole offline abuse for non-reachable DCs needs
+ * fixing. Till then, use this hackish parameter.
+ */
+
+ domain_online_check = lp_parm_int(-1, "winbind",
+ "online check timeout", 0);
+ if (domain_online_check != 0) {
+ wbc = domain_online_check;
+ }
if (domain->startup) {
domain->check_online_timeout = 10;