- djm@cvs.openbsd.org 2014/04/29 13:10:30
[clientloop.c serverloop.c] bz#1818 - don't send channel success/failre replies on channels that have sent a close already; analysis and patch from Simon Tatham; ok markus@
This commit is contained in:
parent
633de33b19
commit
c589378556
|
@ -31,6 +31,11 @@
|
||||||
buffer_get_string_ptr's return should be const to remind
|
buffer_get_string_ptr's return should be const to remind
|
||||||
callers that futzing with it will futz with the actual buffer
|
callers that futzing with it will futz with the actual buffer
|
||||||
contents
|
contents
|
||||||
|
- djm@cvs.openbsd.org 2014/04/29 13:10:30
|
||||||
|
[clientloop.c serverloop.c]
|
||||||
|
bz#1818 - don't send channel success/failre replies on channels that
|
||||||
|
have sent a close already; analysis and patch from Simon Tatham;
|
||||||
|
ok markus@
|
||||||
|
|
||||||
20140430
|
20140430
|
||||||
- (dtucker) [defines.h] Define __GNUC_PREREQ__ macro if we don't already
|
- (dtucker) [defines.h] Define __GNUC_PREREQ__ macro if we don't already
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
/* $OpenBSD: clientloop.c,v 1.258 2014/02/02 03:44:31 djm Exp $ */
|
/* $OpenBSD: clientloop.c,v 1.259 2014/04/29 13:10:30 djm Exp $ */
|
||||||
/*
|
/*
|
||||||
* Author: Tatu Ylonen <ylo@cs.hut.fi>
|
* Author: Tatu Ylonen <ylo@cs.hut.fi>
|
||||||
* Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
|
* Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
|
||||||
|
@ -2054,7 +2054,7 @@ client_input_channel_req(int type, u_int32_t seq, void *ctxt)
|
||||||
}
|
}
|
||||||
packet_check_eom();
|
packet_check_eom();
|
||||||
}
|
}
|
||||||
if (reply && c != NULL) {
|
if (reply && c != NULL && !(c->flags & CHAN_CLOSE_SENT)) {
|
||||||
packet_start(success ?
|
packet_start(success ?
|
||||||
SSH2_MSG_CHANNEL_SUCCESS : SSH2_MSG_CHANNEL_FAILURE);
|
SSH2_MSG_CHANNEL_SUCCESS : SSH2_MSG_CHANNEL_FAILURE);
|
||||||
packet_put_int(c->remote_id);
|
packet_put_int(c->remote_id);
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
/* $OpenBSD: serverloop.c,v 1.170 2014/02/02 03:44:31 djm Exp $ */
|
/* $OpenBSD: serverloop.c,v 1.171 2014/04/29 13:10:30 djm Exp $ */
|
||||||
/*
|
/*
|
||||||
* Author: Tatu Ylonen <ylo@cs.hut.fi>
|
* Author: Tatu Ylonen <ylo@cs.hut.fi>
|
||||||
* Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
|
* Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
|
||||||
|
@ -1204,7 +1204,7 @@ server_input_channel_req(int type, u_int32_t seq, void *ctxt)
|
||||||
} else if ((c->type == SSH_CHANNEL_LARVAL ||
|
} else if ((c->type == SSH_CHANNEL_LARVAL ||
|
||||||
c->type == SSH_CHANNEL_OPEN) && strcmp(c->ctype, "session") == 0)
|
c->type == SSH_CHANNEL_OPEN) && strcmp(c->ctype, "session") == 0)
|
||||||
success = session_input_channel_req(c, rtype);
|
success = session_input_channel_req(c, rtype);
|
||||||
if (reply) {
|
if (reply && !(c->flags & CHAN_CLOSE_SENT)) {
|
||||||
packet_start(success ?
|
packet_start(success ?
|
||||||
SSH2_MSG_CHANNEL_SUCCESS : SSH2_MSG_CHANNEL_FAILURE);
|
SSH2_MSG_CHANNEL_SUCCESS : SSH2_MSG_CHANNEL_FAILURE);
|
||||||
packet_put_int(c->remote_id);
|
packet_put_int(c->remote_id);
|
||||||
|
|
Loading…
Reference in New Issue