aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@openwrt.org>2007-05-06 17:53:16 +0000
committerFelix Fietkau <nbd@openwrt.org>2007-05-06 17:53:16 +0000
commit8a1f956e039d8268a5d83333de3b3bf59c5ebb2b (patch)
treec351ede764ae64b5516b37f434f2417affd35dc6
parent8283abc45a5702bf9e92bfbdea08e33cc797aac1 (diff)
downloadupstream-8a1f956e039d8268a5d83333de3b3bf59c5ebb2b.tar.gz
upstream-8a1f956e039d8268a5d83333de3b3bf59c5ebb2b.tar.bz2
upstream-8a1f956e039d8268a5d83333de3b3bf59c5ebb2b.zip
prevent dropbear from closing the tty prematurely if the readfd closes
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@7117 3c298f89-4303-0410-b956-a3cf2f4a3e73
-rw-r--r--package/dropbear/patches/160-tty_close.patch19
1 files changed, 19 insertions, 0 deletions
diff --git a/package/dropbear/patches/160-tty_close.patch b/package/dropbear/patches/160-tty_close.patch
new file mode 100644
index 0000000000..01b6251b86
--- /dev/null
+++ b/package/dropbear/patches/160-tty_close.patch
@@ -0,0 +1,19 @@
+diff -ur db.old/common-channel.c db.dev/common-channel.c
+--- db.old/common-channel.c 2007-02-22 17:17:15.000000000 +0100
++++ db.dev/common-channel.c 2007-05-06 19:50:19.154943528 +0200
+@@ -309,15 +309,6 @@
+ && (ERRFD_IS_WRITE(channel) || channel->errfd == FD_CLOSED)) {
+ send_msg_channel_eof(channel);
+ }
+-
+- /* And if we can't receive any more data from them either, close up */
+- if (!channel->sent_close
+- && channel->readfd == FD_CLOSED
+- && (ERRFD_IS_WRITE(channel) || channel->errfd == FD_CLOSED)
+- && !write_pending(channel)) {
+- TRACE(("sending close, readfd is closed"))
+- send_msg_channel_close(channel);
+- }
+ }
+
+ /* Check whether a deferred (EINPROGRESS) connect() was successful, and