aboutsummaryrefslogtreecommitdiffstats
path: root/package/dropbear
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@openwrt.org>2007-05-09 19:15:37 +0000
committerFelix Fietkau <nbd@openwrt.org>2007-05-09 19:15:37 +0000
commit16840c5f6a573e970c5964f5e3d5ee1274bfb7a6 (patch)
tree1b5bee8c8bcc7b5dced2dc9355dae192cb0f67cb /package/dropbear
parent402ec54af8095c4a63f77bca0f311efdfaecd6f2 (diff)
downloadupstream-16840c5f6a573e970c5964f5e3d5ee1274bfb7a6.tar.gz
upstream-16840c5f6a573e970c5964f5e3d5ee1274bfb7a6.tar.bz2
upstream-16840c5f6a573e970c5964f5e3d5ee1274bfb7a6.zip
fix tty close patch (#1651)
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@7148 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'package/dropbear')
-rw-r--r--package/dropbear/patches/160-tty_close.patch11
1 files changed, 10 insertions, 1 deletions
diff --git a/package/dropbear/patches/160-tty_close.patch b/package/dropbear/patches/160-tty_close.patch
index 01b6251b86..c85429ce89 100644
--- a/package/dropbear/patches/160-tty_close.patch
+++ b/package/dropbear/patches/160-tty_close.patch
@@ -1,7 +1,7 @@
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 @@
+@@ -309,15 +309,15 @@
&& (ERRFD_IS_WRITE(channel) || channel->errfd == FD_CLOSED)) {
send_msg_channel_eof(channel);
}
@@ -14,6 +14,15 @@ diff -ur db.old/common-channel.c db.dev/common-channel.c
- TRACE(("sending close, readfd is closed"))
- send_msg_channel_close(channel);
- }
++
++ /* And if we can't receive any more data from them either, close up (server only) */
++ if (!channel->sent_close
++ && channel->readfd == FD_CLOSED
++ && !ERRFD_IS_WRITE(channel)
++ && !write_pending(channel)) {
++ TRACE(("sending close, readfd is closed"))
++ send_msg_channel_close(channel);
++ }
}
/* Check whether a deferred (EINPROGRESS) connect() was successful, and