[BACK]Return to auth-rsa.c CVS log [TXT][DIR] Up to [local] / src / usr.bin / ssh

Diff for /src/usr.bin/ssh/Attic/auth-rsa.c between version 1.45 and 1.46

version 1.45, 2001/11/29 22:08:48 version 1.46, 2001/12/18 10:06:24
Line 31 
Line 31 
 #include "log.h"  #include "log.h"
 #include "servconf.h"  #include "servconf.h"
 #include "auth.h"  #include "auth.h"
   #include "hostfile.h"
   
 /* import */  /* import */
 extern ServerOptions options;  extern ServerOptions options;
Line 128 
Line 129 
         FILE *f;          FILE *f;
         u_long linenum = 0;          u_long linenum = 0;
         struct stat st;          struct stat st;
         RSA *pk;          Key *key;
           char *fp;
   
         /* no user given */          /* no user given */
         if (pw == NULL)          if (pw == NULL)
Line 170 
Line 172 
         /* Flag indicating whether authentication has succeeded. */          /* Flag indicating whether authentication has succeeded. */
         authenticated = 0;          authenticated = 0;
   
         pk = RSA_new();          key = key_new(KEY_RSA1);
         pk->e = BN_new();  
         pk->n = BN_new();  
   
         /*          /*
          * Go though the accepted keys, looking for the current key.  If           * Go though the accepted keys, looking for the current key.  If
Line 210 
Line 210 
                         options = NULL;                          options = NULL;
   
                 /* Parse the key from the line. */                  /* Parse the key from the line. */
                 if (!auth_rsa_read_key(&cp, &bits, pk->e, pk->n)) {                  if (hostfile_read_key(&cp, &bits, key) == 0) {
                         debug("%.100s, line %lu: non ssh1 key syntax",                          debug("%.100s, line %lu: non ssh1 key syntax",
                             file, linenum);                              file, linenum);
                         continue;                          continue;
Line 218 
Line 218 
                 /* cp now points to the comment part. */                  /* cp now points to the comment part. */
   
                 /* Check if the we have found the desired key (identified by its modulus). */                  /* Check if the we have found the desired key (identified by its modulus). */
                 if (BN_cmp(pk->n, client_n) != 0)                  if (BN_cmp(key->rsa->n, client_n) != 0)
                         continue;                          continue;
   
                 /* check the real bits  */                  /* check the real bits  */
                 if (bits != BN_num_bits(pk->n))                  if (bits != BN_num_bits(key->rsa->n))
                         log("Warning: %s, line %lu: keysize mismatch: "                          log("Warning: %s, line %lu: keysize mismatch: "
                             "actual %d vs. announced %d.",                              "actual %d vs. announced %d.",
                             file, linenum, BN_num_bits(pk->n), bits);                              file, linenum, BN_num_bits(key->rsa->n), bits);
   
                 /* We have found the desired key. */                  /* We have found the desired key. */
                 /*                  /*
Line 236 
Line 236 
                         continue;                          continue;
   
                 /* Perform the challenge-response dialog for this key. */                  /* Perform the challenge-response dialog for this key. */
                 if (!auth_rsa_challenge_dialog(pk)) {                  if (!auth_rsa_challenge_dialog(key->rsa)) {
                         /* Wrong response. */                          /* Wrong response. */
                         verbose("Wrong response to RSA authentication challenge.");                          verbose("Wrong response to RSA authentication challenge.");
                         packet_send_debug("Wrong response to RSA authentication challenge.");                          packet_send_debug("Wrong response to RSA authentication challenge.");
Line 255 
Line 255 
                  * otherwise continue searching.                   * otherwise continue searching.
                  */                   */
                 authenticated = 1;                  authenticated = 1;
   
                   fp = key_fingerprint(key, SSH_FP_MD5, SSH_FP_HEX);
                   verbose("Found matching %s key: %s",
                       key_type(key), fp);
                   xfree(fp);
   
                 break;                  break;
         }          }
   
Line 265 
Line 271 
         xfree(file);          xfree(file);
         fclose(f);          fclose(f);
   
         RSA_free(pk);          key_free(key);
   
         if (authenticated)          if (authenticated)
                 packet_send_debug("RSA authentication accepted.");                  packet_send_debug("RSA authentication accepted.");

Legend:
Removed from v.1.45  
changed lines
  Added in v.1.46