From 9920473cc165e75ee9aa5cbb9e568eb5fb67e9e6 Mon Sep 17 00:00:00 2001 From: Volker Lendecke Date: Mon, 19 May 2008 18:15:06 +0200 Subject: [PATCH] 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 --- source/winbindd/winbindd_cm.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/source/winbindd/winbindd_cm.c b/source/winbindd/winbindd_cm.c index 47df4e40589..c6dab6f2e6e 100644 --- a/source/winbindd/winbindd_cm.c +++ b/source/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; -- 2.47.3