summaryrefslogtreecommitdiffstats
path: root/kexdh.c
diff options
context:
space:
mode:
authorDamien Miller <djm@mindrot.org>2002-02-05 12:19:52 +1100
committerDamien Miller <djm@mindrot.org>2002-02-05 12:19:52 +1100
commit9ab47eeb229761173ce5da5b4976d9ea9a7b75e4 (patch)
tree4c6a56b641c77b2d728cf6dd2f77bc1058020efb /kexdh.c
parent07a2d429b2aafe273056f71ab150456fe3ff31ef (diff)
- markus@cvs.openbsd.org 2002/01/31 13:35:11
[kexdh.c kexgex.c] cross check announced key type and type from key blob
Diffstat (limited to 'kexdh.c')
-rw-r--r--kexdh.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/kexdh.c b/kexdh.c
index 60d13a8b..f87d5295 100644
--- a/kexdh.c
+++ b/kexdh.c
@@ -23,7 +23,7 @@
*/
#include "includes.h"
-RCSID("$OpenBSD: kexdh.c,v 1.13 2002/01/25 22:07:40 markus Exp $");
+RCSID("$OpenBSD: kexdh.c,v 1.14 2002/01/31 13:35:11 markus Exp $");
#include <openssl/crypto.h>
#include <openssl/bn.h>
@@ -121,7 +121,8 @@ kexdh_client(Kex *kex)
server_host_key = key_from_blob(server_host_key_blob, sbloblen);
if (server_host_key == NULL)
fatal("cannot decode server_host_key_blob");
-
+ if (server_host_key->type != kex->hostkey_type)
+ fatal("type mismatch for decoded server_host_key_blob");
if (kex->verify_host_key == NULL)
fatal("cannot verify server_host_key");
if (kex->verify_host_key(server_host_key) == -1)