]> git.ipfire.org Git - thirdparty/openssh-portable.git/commitdiff
- djm@cvs.openbsd.org 2010/12/03 23:55:27
authorDarren Tucker <dtucker@zip.com.au>
Sat, 4 Dec 2010 22:01:47 +0000 (09:01 +1100)
committerDarren Tucker <dtucker@zip.com.au>
Sat, 4 Dec 2010 22:01:47 +0000 (09:01 +1100)
     [auth-rsa.c]
     move check for revoked keys to run earlier (in auth_rsa_key_allowed)
     bz#1829; patch from ldv AT altlinux.org; ok markus@

ChangeLog
auth-rsa.c

index 26c9b477c28855da5ce35925d3e18b511b6dc4ef..a8aeacc560dbf59a2935d8f1d0bd3188583cad17 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -7,6 +7,10 @@
      check that g^x^q === 1 mod p; recommended by JPAKE author Feng Hao
      (this code is still disabled, but apprently people are treating it as
      a reference implementation)
+   - djm@cvs.openbsd.org 2010/12/03 23:55:27
+     [auth-rsa.c]
+     move check for revoked keys to run earlier (in auth_rsa_key_allowed)
+     bz#1829; patch from ldv AT altlinux.org; ok markus@
 
 20101204
  - (djm) [openbsd-compat/bindresvport.c] Use arc4random_uniform(range)
index 56702d130f9c1436b3ed13d9016ee1b821055169..4edaab056aa0876720e6d7e093534ab1e515c8f1 100644 (file)
@@ -1,4 +1,4 @@
-/* $OpenBSD: auth-rsa.c,v 1.78 2010/07/13 23:13:16 djm Exp $ */
+/* $OpenBSD: auth-rsa.c,v 1.79 2010/12/03 23:55:27 djm Exp $ */
 /*
  * Author: Tatu Ylonen <ylo@cs.hut.fi>
  * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
@@ -94,9 +94,6 @@ auth_rsa_verify_response(Key *key, BIGNUM *challenge, u_char response[16])
        MD5_CTX md;
        int len;
 
-       if (auth_key_is_revoked(key))
-               return 0;
-
        /* don't allow short keys */
        if (BN_num_bits(key->rsa->n) < SSH_RSA_MINIMUM_MODULUS_SIZE) {
                error("auth_rsa_verify_response: RSA modulus too small: %d < minimum %d bits",
@@ -249,6 +246,10 @@ auth_rsa_key_allowed(struct passwd *pw, BIGNUM *client_n, Key **rkey)
                            "actual %d vs. announced %d.",
                            file, linenum, BN_num_bits(key->rsa->n), bits);
 
+               /* Never accept a revoked key */
+               if (auth_key_is_revoked(key))
+                       break;
+
                /* We have found the desired key. */
                /*
                 * If our options do not allow this key to be used,