diff options
author | Damien Miller <djm@mindrot.org> | 2009-02-14 16:33:31 +1100 |
---|---|---|
committer | Damien Miller <djm@mindrot.org> | 2009-02-14 16:33:31 +1100 |
commit | 923e8bb7dc921b3136320f126976bfeee11c9e41 (patch) | |
tree | b6ee668c45a15c12372e84fa912fe11df7267fe7 /monitor.c | |
parent | 330d58587f05fd34f3b1d20a64d254ea0470a6cc (diff) |
- djm@cvs.openbsd.org 2009/02/12 03:26:22
[monitor.c]
some paranoia: check that the serialised key is really KEY_RSA before
diddling its internals
Diffstat (limited to 'monitor.c')
-rw-r--r-- | monitor.c | 6 |
1 files changed, 4 insertions, 2 deletions
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: monitor.c,v 1.100 2008/11/04 08:22:13 djm Exp $ */ | 1 | /* $OpenBSD: monitor.c,v 1.101 2009/02/12 03:26:22 djm Exp $ */ |
2 | /* | 2 | /* |
3 | * Copyright 2002 Niels Provos <provos@citi.umich.edu> | 3 | * Copyright 2002 Niels Provos <provos@citi.umich.edu> |
4 | * Copyright 2002 Markus Friedl <markus@openbsd.org> | 4 | * Copyright 2002 Markus Friedl <markus@openbsd.org> |
@@ -1500,7 +1500,9 @@ mm_answer_rsa_challenge(int sock, Buffer *m) | |||
1500 | fatal("%s: key type mismatch", __func__); | 1500 | fatal("%s: key type mismatch", __func__); |
1501 | if ((key = key_from_blob(blob, blen)) == NULL) | 1501 | if ((key = key_from_blob(blob, blen)) == NULL) |
1502 | fatal("%s: received bad key", __func__); | 1502 | fatal("%s: received bad key", __func__); |
1503 | 1503 | if (key->type != KEY_RSA) | |
1504 | fatal("%s: received bad key type %d", __func__, key->type); | ||
1505 | key->type = KEY_RSA1; | ||
1504 | if (ssh1_challenge) | 1506 | if (ssh1_challenge) |
1505 | BN_clear_free(ssh1_challenge); | 1507 | BN_clear_free(ssh1_challenge); |
1506 | ssh1_challenge = auth_rsa_generate_challenge(key); | 1508 | ssh1_challenge = auth_rsa_generate_challenge(key); |