]> andersk Git - openssh.git/blobdiff - auth-rsa.c
- djm@cvs.openbsd.org 2002/02/12 12:44:46
[openssh.git] / auth-rsa.c
index 5846a0662c9fc38132ef1bc839cccc8a732dce98..f7ae03cfdaf13009c5b28b2e5fc6d5dd92a86aa6 100644 (file)
@@ -14,7 +14,7 @@
  */
 
 #include "includes.h"
-RCSID("$OpenBSD: auth-rsa.c,v 1.46 2001/12/18 10:06:24 jakob Exp $");
+RCSID("$OpenBSD: auth-rsa.c,v 1.50 2001/12/28 14:50:54 markus Exp $");
 
 #include <openssl/rsa.h>
 #include <openssl/md5.h>
@@ -66,14 +66,17 @@ auth_rsa_challenge_dialog(RSA *pk)
        u_char buf[32], mdbuf[16], response[16];
        MD5_CTX md;
        u_int i;
-       int plen, len;
+       int len;
 
-       encrypted_challenge = BN_new();
-       challenge = BN_new();
+       if ((encrypted_challenge = BN_new()) == NULL)
+               fatal("auth_rsa_challenge_dialog: BN_new() failed");
+       if ((challenge = BN_new()) == NULL)
+               fatal("auth_rsa_challenge_dialog: BN_new() failed");
 
        /* Generate a random challenge. */
        BN_rand(challenge, 256, 0, 0);
-       ctx = BN_CTX_new();
+       if ((ctx = BN_CTX_new()) == NULL)
+               fatal("auth_rsa_challenge_dialog: BN_CTX_new() failed");
        BN_mod(challenge, challenge, pk->n, ctx);
        BN_CTX_free(ctx);
 
@@ -88,10 +91,10 @@ auth_rsa_challenge_dialog(RSA *pk)
        packet_write_wait();
 
        /* Wait for a response. */
-       packet_read_expect(&plen, SSH_CMSG_AUTH_RSA_RESPONSE);
-       packet_integrity_check(plen, 16, SSH_CMSG_AUTH_RSA_RESPONSE);
+       packet_read_expect(SSH_CMSG_AUTH_RSA_RESPONSE);
        for (i = 0; i < 16; i++)
                response[i] = packet_get_char();
+       packet_check_eom();
 
        /* The response is MD5 of decrypted challenge plus session id. */
        len = BN_num_bytes(challenge);
This page took 0.041856 seconds and 4 git commands to generate.