From 65ab502176d16eed6af156049c7b010c6655a231 Mon Sep 17 00:00:00 2001 From: Ilia Ross Date: Thu, 8 Jan 2026 18:30:41 +0200 Subject: [PATCH] Add an option to configure RPC timeout --- lang/en | 8 ++++++++ webmin/change_session.cgi | 6 ++++++ webmin/edit_session.cgi | 5 +++++ webmin/help/rpc_timeout.html | 6 ++++++ webmin/lang/en | 2 ++ 5 files changed, 27 insertions(+) create mode 100644 webmin/help/rpc_timeout.html diff --git a/lang/en b/lang/en index 92c91da97..6293a4ed6 100644 --- a/lang/en +++ b/lang/en @@ -475,6 +475,14 @@ time_in_mins=In $1 minutes time_in_sec=In $1 second time_in_secs=In $1 seconds time_now=Just now +time_second=second +time_seconds=seconds +time_minute=minute +time_minutes=minutes +time_hour=hour +time_hours=hours +time_day=day +time_days=days defcert_error=Default $1 bundled SSL certificate is being used. It is highly advised to update default $2 certificate before proceeding with login. diff --git a/webmin/change_session.cgi b/webmin/change_session.cgi index b29feca02..8a1164d21 100755 --- a/webmin/change_session.cgi +++ b/webmin/change_session.cgi @@ -180,6 +180,12 @@ $in{'passreset_timeout'} =~ /^\d+$/ && $in{'passreset_timeout'} > 0 || &error($text{'session_epassreset_timeout'}); $gconfig{'passreset_timeout'} = $in{'passreset_timeout'}; +# RPC timeout +my $rpc_timeout = $in{'rpc_timeout'}; +$rpc_timeout =~ /^\d+$/ && $rpc_timeout > 0 || + &error($text{'session_erpc_timeout'}); +$gconfig{'rpc_timeout'} = $rpc_timeout; + &write_file("$config_directory/config", \%gconfig); &unlock_file("$config_directory/config"); diff --git a/webmin/edit_session.cgi b/webmin/edit_session.cgi index 3a54c2490..54847d39e 100755 --- a/webmin/edit_session.cgi +++ b/webmin/edit_session.cgi @@ -174,6 +174,11 @@ print &ui_table_row($text{'session_md5'}, [ 2, $text{'session_sha512'}."
" ], [ 3, $text{'session_yescrypt'} ] ])); +# RPC timeout +print &ui_table_row(&hlink($text{'session_rpc_timeout'}, 'rpc_timeout'), + &ui_textbox("rpc_timeout", $gconfig{'rpc_timeout'} || 60, 3). + " ".$text{'time_seconds'}); + print ui_table_end(); print ui_form_end([ [ "save", $text{'save'} ] ]); diff --git a/webmin/help/rpc_timeout.html b/webmin/help/rpc_timeout.html new file mode 100644 index 000000000..66e5d89c2 --- /dev/null +++ b/webmin/help/rpc_timeout.html @@ -0,0 +1,6 @@ +
RPC session timeout
+ +Sets how many seconds Webmin keeps an RPC session open while it is waiting with +no activity. + +