projects
/
openwrt
/
staging
/
yousong.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
d54c1ec
)
fix tty close patch (#1651)
author
Felix Fietkau
<nbd@openwrt.org>
Wed, 9 May 2007 19:15:37 +0000
(19:15 +0000)
committer
Felix Fietkau
<nbd@openwrt.org>
Wed, 9 May 2007 19:15:37 +0000
(19:15 +0000)
SVN-Revision: 7148
package/dropbear/patches/160-tty_close.patch
patch
|
blob
|
history
diff --git
a/package/dropbear/patches/160-tty_close.patch
b/package/dropbear/patches/160-tty_close.patch
index 01b6251b86d1ecd76bcdbe942ebb4d21a628b927..c85429ce892d6e3ba8733bd83c4e6c0487ddfb8b 100644
(file)
--- 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
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);
}
&& (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);
- }
- 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
}
/* Check whether a deferred (EINPROGRESS) connect() was successful, and