~mdw
/
sgt
/
putty
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Some introductory blurb in the docs
[sgt/putty]
/
ssh.c
diff --git
a/ssh.c
b/ssh.c
index
dba040b
..
8d310e1
100644
(file)
--- a/
ssh.c
+++ b/
ssh.c
@@
-1128,7
+1128,9
@@
static void ssh_detect_bugs(char *vstring) {
char *imp; /* pointer to implementation part */
imp = vstring;
imp += strcspn(imp, "-");
char *imp; /* pointer to implementation part */
imp = vstring;
imp += strcspn(imp, "-");
+ if (*imp) imp++;
imp += strcspn(imp, "-");
imp += strcspn(imp, "-");
+ if (*imp) imp++;
ssh_remote_bugs = 0;
ssh_remote_bugs = 0;
@@
-2245,7
+2247,8
@@
static void ssh1_protocol(unsigned char *in, int inlen, int ispkt) {
if (c) {
int closetype;
closetype = (pktin.type == SSH1_MSG_CHANNEL_CLOSE ? 1 : 2);
if (c) {
int closetype;
closetype = (pktin.type == SSH1_MSG_CHANNEL_CLOSE ? 1 : 2);
- send_packet(pktin.type, PKT_INT, c->remoteid, PKT_END);
+ if (!(c->closes & closetype))
+ send_packet(pktin.type, PKT_INT, c->remoteid, PKT_END);
if ((c->closes == 0) && (c->type == CHAN_X11)) {
logevent("X11 connection closed");
assert(c->u.x11.s != NULL);
if ((c->closes == 0) && (c->type == CHAN_X11)) {
logevent("X11 connection closed");
assert(c->u.x11.s != NULL);