summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDamien Miller <djm@mindrot.org>2012-02-11 08:18:43 +1100
committerDamien Miller <djm@mindrot.org>2012-02-11 08:18:43 +1100
commit1de2cfe9a9304b00900aaa6ff9fe612e2ba51ba8 (patch)
tree2bc26f81af62c8aedef9b388c211214e129a4643
parent8d60be548778c025db8daa0345f8d77331086fc6 (diff)
- markus@cvs.openbsd.org 2012/01/25 19:26:43
[packet.c] do not permit SSH2_MSG_SERVICE_REQUEST/ACCEPT during rekeying; ok dtucker@, djm@
-rw-r--r--ChangeLog4
-rw-r--r--packet.c8
2 files changed, 9 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index 8eebcaffb..460a635ba 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -20,6 +20,10 @@
20 Ensure that $DISPLAY contains only valid characters before using it to 20 Ensure that $DISPLAY contains only valid characters before using it to
21 extract xauth data so that it can't be used to play local shell 21 extract xauth data so that it can't be used to play local shell
22 metacharacter games. Report from r00t_ati at ihteam.net, ok markus. 22 metacharacter games. Report from r00t_ati at ihteam.net, ok markus.
23 - markus@cvs.openbsd.org 2012/01/25 19:26:43
24 [packet.c]
25 do not permit SSH2_MSG_SERVICE_REQUEST/ACCEPT during rekeying;
26 ok dtucker@, djm@
23 27
2420120206 2820120206
25 - (djm) [ssh-keygen.c] Don't fail in do_gen_all_hostkeys on platforms 29 - (djm) [ssh-keygen.c] Don't fail in do_gen_all_hostkeys on platforms
diff --git a/packet.c b/packet.c
index 5e82fe753..0d29efffd 100644
--- a/packet.c
+++ b/packet.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: packet.c,v 1.174 2011/12/07 05:44:38 djm Exp $ */ 1/* $OpenBSD: packet.c,v 1.175 2012/01/25 19:26:43 markus Exp $ */
2/* 2/*
3 * Author: Tatu Ylonen <ylo@cs.hut.fi> 3 * Author: Tatu Ylonen <ylo@cs.hut.fi>
4 * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland 4 * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
@@ -972,8 +972,10 @@ packet_send2(void)
972 972
973 /* during rekeying we can only send key exchange messages */ 973 /* during rekeying we can only send key exchange messages */
974 if (active_state->rekeying) { 974 if (active_state->rekeying) {
975 if (!((type >= SSH2_MSG_TRANSPORT_MIN) && 975 if ((type < SSH2_MSG_TRANSPORT_MIN) ||
976 (type <= SSH2_MSG_TRANSPORT_MAX))) { 976 (type > SSH2_MSG_TRANSPORT_MAX) ||
977 (type == SSH2_MSG_SERVICE_REQUEST) ||
978 (type == SSH2_MSG_SERVICE_ACCEPT)) {
977 debug("enqueue packet: %u", type); 979 debug("enqueue packet: %u", type);
978 p = xmalloc(sizeof(*p)); 980 p = xmalloc(sizeof(*p));
979 p->type = type; 981 p->type = type;