diff options
author | Christian Schoenebeck <christian.schoenebeck@gmail.com> | 2018-07-11 22:36:03 -0400 |
---|---|---|
committer | John Crispin <john@phrozen.org> | 2018-08-08 15:36:46 +0200 |
commit | 8139438fc036fc0f5e2070373cc8caa9091f38bc (patch) | |
tree | eeaf8132528db6fb193ccac2149a7a4e191457d7 | |
parent | c3df07ab3b2b5c0c8b989e9d1d14c3e75ed0c237 (diff) | |
download | openwrt-8139438fc036fc0f5e2070373cc8caa9091f38bc.tar.gz openwrt-8139438fc036fc0f5e2070373cc8caa9091f38bc.tar.bz2 openwrt-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)
-rwxr-xr-x | package/network/services/dropbear/files/dropbear.init | 5 |
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='' |