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>
Wed, 8 Aug 2018 13:36:46 +0000 (15:36 +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>
(cherry picked from commit 1e177844bc814d3846312c91cd0f7a54df4f32b9)

package/network/services/dropbear/files/dropbear.init

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