From 8e312f3db05059499cf6655663ce31e73d508817 Mon Sep 17 00:00:00 2001 From: Ben Lindstrom Date: Wed, 4 Apr 2001 23:50:21 +0000 Subject: - markus@cvs.openbsd.org 2001/04/04 22:04:35 [kex.c kexgex.c serverloop.c] parse full kexinit packet. make server-side more robust, too. --- kex.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'kex.c') diff --git a/kex.c b/kex.c index da9c56eb..0720c073 100644 --- a/kex.c +++ b/kex.c @@ -23,7 +23,7 @@ */ #include "includes.h" -RCSID("$OpenBSD: kex.c,v 1.30 2001/04/04 20:25:37 markus Exp $"); +RCSID("$OpenBSD: kex.c,v 1.31 2001/04/04 22:04:34 markus Exp $"); #include @@ -166,6 +166,7 @@ kex_input_kexinit(int type, int plen, void *ctxt) { char *ptr; int dlen; + int i; Kex *kex = (Kex *)ctxt; debug("SSH2_MSG_KEXINIT received"); @@ -175,6 +176,15 @@ kex_input_kexinit(int type, int plen, void *ctxt) ptr = packet_get_raw(&dlen); buffer_append(&kex->peer, ptr, dlen); + /* discard packet */ + for (i = 0; i < KEX_COOKIE_LEN; i++) + packet_get_char(); + for (i = 0; i < PROPOSAL_MAX; i++) + xfree(packet_get_string(NULL)); + packet_get_char(); + packet_get_int(); + packet_done(); + kex_kexinit_finish(kex); } -- cgit v1.2.3