From 5a3642d5aa725b0a54e6e303e1afdbfefdb81de7 Mon Sep 17 00:00:00 2001 From: Volker Lendecke Date: Mon, 19 May 2008 18:15:06 +0200 Subject: 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) --- source3/winbindd/winbindd_cm.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'source3') 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; -- cgit