summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog7
-rw-r--r--ssh-rsa.c6
2 files changed, 9 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog
index 2ccd501ab..93aaeb033 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -12,6 +12,11 @@
12 - markus@cvs.openbsd.org 2003/06/12 19:12:03 12 - markus@cvs.openbsd.org 2003/06/12 19:12:03
13 [scard.c scard.h ssh-agent.c ssh.c] 13 [scard.c scard.h ssh-agent.c ssh.c]
14 add sc_get_key_label; larsch at trustcenter.de; bugzilla#591 14 add sc_get_key_label; larsch at trustcenter.de; bugzilla#591
15 - markus@cvs.openbsd.org 2003/06/16 08:22:35
16 [ssh-rsa.c]
17 make sure the signature has at least the expected length (don't
18 insist on len == hlen + oidlen, since this breaks some smartcards)
19 bugzilla #592; ok djm@
15 20
1620030614 2120030614
17 - (djm) Update license on fake-rfc2553.[ch]; ok itojun@ 22 - (djm) Update license on fake-rfc2553.[ch]; ok itojun@
@@ -527,4 +532,4 @@
527 - Fix sshd BindAddress and -b options for systems using fake-getaddrinfo. 532 - Fix sshd BindAddress and -b options for systems using fake-getaddrinfo.
528 Report from murple@murple.net, diagnosis from dtucker@zip.com.au 533 Report from murple@murple.net, diagnosis from dtucker@zip.com.au
529 534
530$Id: ChangeLog,v 1.2805 2003/06/18 10:28:40 djm Exp $ 535$Id: ChangeLog,v 1.2806 2003/06/18 10:29:01 djm Exp $
diff --git a/ssh-rsa.c b/ssh-rsa.c
index efbc9e664..db8e5e359 100644
--- a/ssh-rsa.c
+++ b/ssh-rsa.c
@@ -23,7 +23,7 @@
23 */ 23 */
24 24
25#include "includes.h" 25#include "includes.h"
26RCSID("$OpenBSD: ssh-rsa.c,v 1.28 2003/02/12 09:33:04 markus Exp $"); 26RCSID("$OpenBSD: ssh-rsa.c,v 1.29 2003/06/16 08:22:35 markus Exp $");
27 27
28#include <openssl/evp.h> 28#include <openssl/evp.h>
29#include <openssl/err.h> 29#include <openssl/err.h>
@@ -247,8 +247,8 @@ openssh_RSA_verify(int type, u_char *hash, u_int hashlen,
247 ERR_error_string(ERR_get_error(), NULL)); 247 ERR_error_string(ERR_get_error(), NULL));
248 goto done; 248 goto done;
249 } 249 }
250 if (len != hlen + oidlen) { 250 if (len < hlen + oidlen) {
251 error("bad decrypted len: %d != %d + %d", len, hlen, oidlen); 251 error("bad decrypted len: %d < %d + %d", len, hlen, oidlen);
252 goto done; 252 goto done;
253 } 253 }
254 if (memcmp(decrypted, oid, oidlen) != 0) { 254 if (memcmp(decrypted, oid, oidlen) != 0) {