s3: winbindd: Add new parameter "winbind request timeout" set to 60 seconds with...
authorJeremy Allison <jra@samba.org>
Fri, 25 Jul 2014 19:44:53 +0000 (12:44 -0700)
committerJeremy Allison <jra@samba.org>
Tue, 29 Jul 2014 19:08:12 +0000 (21:08 +0200)
"This parameter specifies the number of seconds the winbindd
daemon will wait before disconnecting either a client connection
with no outstanding requests (idle) or a client connection with a
request that has remained outstanding (hung) for longer than this
number of seconds."

Bug 3204 winbindd: Exceeding 200 client connections, no idle connection found

https://bugzilla.samba.org/show_bug.cgi?id=3204

Signed-off-by: Jeremy Allison <jra@samba.org>
Reviewed-by: Ira Cooper <ira@samba.org>
docs-xml/smbdotconf/winbind/winbindrequesttimeout.xml [new file with mode: 0644]
lib/param/loadparm.c
lib/param/param_table.c
source3/param/loadparm.c

diff --git a/docs-xml/smbdotconf/winbind/winbindrequesttimeout.xml b/docs-xml/smbdotconf/winbind/winbindrequesttimeout.xml
new file mode 100644 (file)
index 0000000..3220871
--- /dev/null
@@ -0,0 +1,16 @@
+<samba:parameter name="winbind request timeout"
+                 context="G"
+                                type="integer"
+                 advanced="1" developer="1"
+                 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+       <para>This parameter specifies the number of
+       seconds the <citerefentry><refentrytitle>winbindd</refentrytitle>
+       <manvolnum>8</manvolnum></citerefentry> daemon will wait before
+       disconnecting either a client connection with no outstanding
+       requests (idle) or a client connection with a request that has
+       remained outstanding (hung) for longer than this number of seconds.</para>
+</description>
+
+<value type="default">60</value>
+</samba:parameter>
index b58a058f1832539640f79d8d78e3259d0013cd2e..bc96dc3fb9d44c2c814d5694715f6850f7089f80 100644 (file)
@@ -2509,6 +2509,8 @@ struct loadparm_context *loadparm_init(TALLOC_CTX *mem_ctx)
 
        lpcfg_do_global_parameter(lp_ctx, "winbind reconnect delay", "30");
 
+       lpcfg_do_global_parameter(lp_ctx, "winbind request timeout", "60");
+
        lpcfg_do_global_parameter(lp_ctx, "nt acl support", "yes");
 
        lpcfg_do_global_parameter(lp_ctx, "acl check permissions", "yes");
index 79b948980a4a4ec5f16112fce498b55923ecb728..d3f60c3818aa5323d1f083b17777d6acca7f169d 100644 (file)
@@ -4037,6 +4037,15 @@ struct parm_struct parm_table[] = {
                .enum_list      = NULL,
                .flags          = FLAG_ADVANCED,
        },
+       {
+               .label          = "winbind request timeout",
+               .type           = P_INTEGER,
+               .p_class        = P_GLOBAL,
+               .offset         = GLOBAL_VAR(winbind_request_timeout),
+               .special        = NULL,
+               .enum_list      = NULL,
+               .flags          = FLAG_ADVANCED,
+       },
        {
                .label          = "winbind max clients",
                .type           = P_INTEGER,
index deaba21ee26c65cef54f36272dd79cd6a6b73eee..13bd9b9ff0b8c82d76faf9e8d3c5f208ba633730 100644 (file)
@@ -913,6 +913,7 @@ static void init_globals(bool reinit_globals)
 
        Globals.winbind_cache_time = 300;       /* 5 minutes */
        Globals.winbind_reconnect_delay = 30;   /* 30 seconds */
+       Globals.winbind_request_timeout = 60;   /* 60 seconds */
        Globals.winbind_max_clients = 200;
        Globals.winbind_enum_users = false;
        Globals.winbind_enum_groups = false;