dropbear: fix regression where TTY modes weren't reset for client
authorKonstantin Demin <rockdrilla@gmail.com>
Mon, 25 Mar 2019 18:41:37 +0000 (21:41 +0300)
committerHans Dedecker <dedeckeh@gmail.com>
Mon, 25 Mar 2019 21:25:33 +0000 (22:25 +0100)
cherry-pick upstream commit 7bc6280613f5ab4ee86c14c779739070e5784dfe

Signed-off-by: Konstantin Demin <rockdrilla@gmail.com>
package/network/services/dropbear/patches/010-tty-modes-werent-reset-for-client.patch [new file with mode: 0644]

diff --git a/package/network/services/dropbear/patches/010-tty-modes-werent-reset-for-client.patch b/package/network/services/dropbear/patches/010-tty-modes-werent-reset-for-client.patch
new file mode 100644 (file)
index 0000000..5854650
--- /dev/null
@@ -0,0 +1,46 @@
+Hash: 7bc6280613f5ab4ee86c14c779739070e5784dfe
+From: Matt Johnston <matt@ucc.asn.au>
+Date: Sun, 24 Mar 2019 20:41:02 +0800
+Subject: Fix regression where TTY modes weren't reset for client
+
+--- a/cli-chansession.c
++++ b/cli-chansession.c
+@@ -35,7 +35,7 @@
+ #include "chansession.h"
+ #include "agentfwd.h"
+-static void cli_cleanupchansess(const struct Channel *channel);
++static void cli_closechansess(const struct Channel *channel);
+ static int cli_initchansess(struct Channel *channel);
+ static void cli_chansessreq(struct Channel *channel);
+ static void send_chansess_pty_req(const struct Channel *channel);
+@@ -51,8 +51,8 @@ const struct ChanType clichansess = {
+       cli_initchansess, /* inithandler */
+       NULL, /* checkclosehandler */
+       cli_chansessreq, /* reqhandler */
+-      NULL, /* closehandler */
+-      cli_cleanupchansess, /* cleanup */
++      cli_closechansess, /* closehandler */
++      NULL, /* cleanup */
+ };
+ static void cli_chansessreq(struct Channel *channel) {
+@@ -84,7 +84,7 @@ out:
+       
+ /* If the main session goes, we close it up */
+-static void cli_cleanupchansess(const struct Channel *UNUSED(channel)) {
++static void cli_closechansess(const struct Channel *UNUSED(channel)) {
+       cli_tty_cleanup(); /* Restore tty modes etc */
+       /* This channel hasn't gone yet, so we have > 1 */
+@@ -388,8 +388,8 @@ static const struct ChanType cli_chan_ne
+       cli_init_netcat, /* inithandler */
+       NULL,
+       NULL,
++      cli_closechansess,
+       NULL,
+-      cli_cleanupchansess
+ };
+ void cli_send_netcat_request() {