From 53ef46d2491bad21366ffa63cadcc59adfbca34c Mon Sep 17 00:00:00 2001 From: Jon Ludlam Date: Tue, 11 Mar 2014 11:56:55 +0000 Subject: [PATCH] Add a configurable idle timeout to stunnel Signed-off-by: Jon Ludlam Signed-off-by: Akshay --- ocaml/xapi/xapi.ml | 9 +++++++++ scripts/init.d-xapissl | 8 +++++++- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/ocaml/xapi/xapi.ml b/ocaml/xapi/xapi.ml index 77307e590b1..859034bfe3c 100644 --- a/ocaml/xapi/xapi.ml +++ b/ocaml/xapi/xapi.ml @@ -678,6 +678,14 @@ let listen_unix_socket () = let domain_sock = Xapi_http.bind (Unix.ADDR_UNIX(Xapi_globs.unix_domain_socket)) in ignore(Http_svr.start Xapi_http.server domain_sock) +let set_stunnel_timeout () = + try + let timeout = int_of_string (Xapi_inventory.lookup Xapi_inventory._stunnel_idle_timeout) in + debug "Setting stunnel timeout to %d" timeout; + Stunnel.timeoutidle := Some timeout + with _ -> + debug "Using default stunnel timeout (usually 43200)" + let server_init() = let print_server_starting_message() = debug "on_system_boot=%b pool_role=%s" !Xapi_globs.on_system_boot (Pool_role.string_of (Pool_role.get_role ())) in @@ -781,6 +789,7 @@ let server_init() = Startup.run ~__context [ "XAPI SERVER STARTING", [], print_server_starting_message; "Parsing inventory file", [], Xapi_inventory.read_inventory; + "Setting stunnel timeout", [], set_stunnel_timeout; "Initialising local database", [], init_local_database; "Loading DHCP leases", [], Xapi_udhcpd.init; "Reading pool secret", [], Helpers.get_pool_secret; diff --git a/scripts/init.d-xapissl b/scripts/init.d-xapissl index 5921c33e5b4..c50c68c9b97 100755 --- a/scripts/init.d-xapissl +++ b/scripts/init.d-xapissl @@ -52,7 +52,12 @@ mgmt_ip() { writeconffile () { # Initial boilerplate which is valid whether the management # interface is enabled or disabled. - cat > $SSLCONFFILE < $SSLCONFFILE <