aboutsummaryrefslogtreecommitdiffstats
path: root/package/network/services
diff options
context:
space:
mode:
authorChristian Schoenebeck <christian.schoenebeck@gmail.com>2018-07-11 22:36:03 -0400
committerJohn Crispin <john@phrozen.org>2018-08-08 15:36:46 +0200
commit8139438fc036fc0f5e2070373cc8caa9091f38bc (patch)
treeeeaf8132528db6fb193ccac2149a7a4e191457d7 /package/network/services
parentc3df07ab3b2b5c0c8b989e9d1d14c3e75ed0c237 (diff)
downloadupstream-8139438fc036fc0f5e2070373cc8caa9091f38bc.tar.gz
upstream-8139438fc036fc0f5e2070373cc8caa9091f38bc.tar.bz2
upstream-8139438fc036fc0f5e2070373cc8caa9091f38bc.zip
dropbear: close all active clients on shutdown
Override the default shutdown action (stop) and close all processes of dropbear Since commit 498fe85, the stop action only closes the process that's listening for new connections, maintaining the ones with existing clients. This poses a problem when restarting or shutting-down a device, because the connections with existing SSH clients, like OpenSSH, are not properly closed, causing them to hang. This situation can be avoided by closing all dropbear processes when shutting-down the system, which closes properly the connections with current clients. Signed-off-by: Christian Schoenebeck <christian.schoenebeck@gmail.com> [Luis: Rework commit message] Signed-off-by: Luis Araneda <luaraneda@gmail.com> (cherry picked from commit 1e177844bc814d3846312c91cd0f7a54df4f32b9)
Diffstat (limited to 'package/network/services')
-rwxr-xr-xpackage/network/services/dropbear/files/dropbear.init5
1 files changed, 5 insertions, 0 deletions
diff --git a/package/network/services/dropbear/files/dropbear.init b/package/network/services/dropbear/files/dropbear.init
index 2225113498..b86e52d8bc 100755
--- a/package/network/services/dropbear/files/dropbear.init
+++ b/package/network/services/dropbear/files/dropbear.init
@@ -148,6 +148,11 @@ service_triggers()
procd_add_validation validate_section_dropbear
}
+shutdown() {
+ # close all open connections
+ killall dropbear
+}
+
killclients()
{
local ignore=''