]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
Add winbind:online check timeout parameter
authorVolker Lendecke <vl@samba.org>
Mon, 19 May 2008 16:15:06 +0000 (18:15 +0200)
committerMichael Adam <obnox@samba.org>
Wed, 13 Aug 2008 09:40:35 +0000 (11:40 +0200)
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

index 47df4e405893c14ddeec501fb2b5c0c29fe99e9e..c6dab6f2e6e6ff4fc398bb0a5cd623447e5ab686 100644 (file)
@@ -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;