summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--docs-xml/smbdotconf/winbind/winbindrequesttimeout.xml16
-rw-r--r--lib/param/loadparm.c2
-rw-r--r--lib/param/param_table.c9
-rw-r--r--source3/param/loadparm.c1
4 files changed, 28 insertions, 0 deletions
diff --git a/docs-xml/smbdotconf/winbind/winbindrequesttimeout.xml b/docs-xml/smbdotconf/winbind/winbindrequesttimeout.xml
new file mode 100644
index 0000000000..322087161d
--- /dev/null
+++ b/docs-xml/smbdotconf/winbind/winbindrequesttimeout.xml
@@ -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>
diff --git a/lib/param/loadparm.c b/lib/param/loadparm.c
index b58a058f18..bc96dc3fb9 100644
--- a/lib/param/loadparm.c
+++ b/lib/param/loadparm.c
@@ -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");
diff --git a/lib/param/param_table.c b/lib/param/param_table.c
index 79b948980a..d3f60c3818 100644
--- a/lib/param/param_table.c
+++ b/lib/param/param_table.c
@@ -4038,6 +4038,15 @@ struct parm_struct parm_table[] = {
.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,
.p_class = P_GLOBAL,
diff --git a/source3/param/loadparm.c b/source3/param/loadparm.c
index deaba21ee2..13bd9b9ff0 100644
--- a/source3/param/loadparm.c
+++ b/source3/param/loadparm.c
@@ -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;