dropbear: close all active clients on shutdown
authorChristian Schoenebeck <christian.schoenebeck@gmail.com>
Thu, 12 Jul 2018 02:36:03 +0000 (22:36 -0400)
committerJohn Crispin <john@phrozen.org>
Mon, 16 Jul 2018 06:40:51 +0000 (08:40 +0200)
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>
package/network/services/dropbear/files/dropbear.init

index 2225113..b86e52d 100755 (executable)
@@ -148,6 +148,11 @@ service_triggers()
        procd_add_validation validate_section_dropbear
 }
 
+shutdown() {
+       # close all open connections
+       killall dropbear
+}
+
 killclients()
 {
        local ignore=''