summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog4
-rw-r--r--key.c8
2 files changed, 11 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 8ee8e2768..866e4aa46 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -10,6 +10,10 @@
10 - dtucker@cvs.openbsd.org 2010/01/13 00:19:04 10 - dtucker@cvs.openbsd.org 2010/01/13 00:19:04
11 [sshconnect.c auth.c] 11 [sshconnect.c auth.c]
12 Fix a couple of typos/mispellings in comments 12 Fix a couple of typos/mispellings in comments
13 - dtucker@cvs.openbsd.org 2010/01/13 01:10:56
14 [key.c]
15 Ignore and log any Protocol 1 keys where the claimed size is not equal to
16 the actual size. Noted by Derek Martin, ok djm@
13 17
1420100112 1820100112
15 - (dtucker) OpenBSD CVS Sync 19 - (dtucker) OpenBSD CVS Sync
diff --git a/key.c b/key.c
index f2edf6d5d..5aea416b3 100644
--- a/key.c
+++ b/key.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: key.c,v 1.81 2009/12/11 18:16:33 markus Exp $ */ 1/* $OpenBSD: key.c,v 1.82 2010/01/13 01:10:56 dtucker Exp $ */
2/* 2/*
3 * read_bignum(): 3 * read_bignum():
4 * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland 4 * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
@@ -522,6 +522,12 @@ key_read(Key *ret, char **cpp)
522 return -1; 522 return -1;
523 if (!read_bignum(cpp, ret->rsa->n)) 523 if (!read_bignum(cpp, ret->rsa->n))
524 return -1; 524 return -1;
525 /* validate the claimed number of bits */
526 if ((u_int)BN_num_bits(ret->rsa->n) != bits) {
527 verbose("key_read: claimed key size %d does not match "
528 "actual %d", bits, BN_num_bits(ret->rsa->n));
529 return -1;
530 }
525 success = 1; 531 success = 1;
526 break; 532 break;
527 case KEY_UNSPEC: 533 case KEY_UNSPEC: