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

Diff for /src/usr.bin/ssh/ssh-keygen.c between version 1.61 and 1.63

version 1.61, 2001/05/25 14:37:32 version 1.63, 2001/06/23 15:12:20
Line 75 
Line 75 
   
 char hostname[MAXHOSTNAMELEN];  char hostname[MAXHOSTNAMELEN];
   
 void  static void
 ask_filename(struct passwd *pw, const char *prompt)  ask_filename(struct passwd *pw, const char *prompt)
 {  {
         char buf[1024];          char buf[1024];
Line 108 
Line 108 
         have_identity = 1;          have_identity = 1;
 }  }
   
 Key *  static Key *
 load_identity(char *filename)  load_identity(char *filename)
 {  {
         char *pass;          char *pass;
Line 132 
Line 132 
 #define SSH_COM_PRIVATE_BEGIN           "---- BEGIN SSH2 ENCRYPTED PRIVATE KEY ----"  #define SSH_COM_PRIVATE_BEGIN           "---- BEGIN SSH2 ENCRYPTED PRIVATE KEY ----"
 #define SSH_COM_PRIVATE_KEY_MAGIC       0x3f6ff9eb  #define SSH_COM_PRIVATE_KEY_MAGIC       0x3f6ff9eb
   
 void  static void
 do_convert_to_ssh2(struct passwd *pw)  do_convert_to_ssh2(struct passwd *pw)
 {  {
         Key *k;          Key *k;
Line 165 
Line 165 
         exit(0);          exit(0);
 }  }
   
 void  static void
 buffer_get_bignum_bits(Buffer *b, BIGNUM *value)  buffer_get_bignum_bits(Buffer *b, BIGNUM *value)
 {  {
         int bits = buffer_get_int(b);          int bits = buffer_get_int(b);
Line 178 
Line 178 
         buffer_consume(b, bytes);          buffer_consume(b, bytes);
 }  }
   
 Key *  static Key *
 do_convert_private_ssh2_from_blob(char *blob, int blen)  do_convert_private_ssh2_from_blob(char *blob, int blen)
 {  {
         Buffer b;          Buffer b;
         Key *key = NULL;          Key *key = NULL;
         int ignore, magic, rlen, ktype;          int magic, rlen, ktype, i1, i2, i3, i4;
           u_long e;
         char *type, *cipher;          char *type, *cipher;
   
         buffer_init(&b);          buffer_init(&b);
Line 195 
Line 196 
                 buffer_free(&b);                  buffer_free(&b);
                 return NULL;                  return NULL;
         }          }
         ignore = buffer_get_int(&b);          i1 = buffer_get_int(&b);
         type   = buffer_get_string(&b, NULL);          type   = buffer_get_string(&b, NULL);
         cipher = buffer_get_string(&b, NULL);          cipher = buffer_get_string(&b, NULL);
         ignore = buffer_get_int(&b);          i2 = buffer_get_int(&b);
         ignore = buffer_get_int(&b);          i3 = buffer_get_int(&b);
         ignore = buffer_get_int(&b);          i4 = buffer_get_int(&b);
           debug("ignore (%d %d %d %d)", i1,i2,i3,i4);
         if (strcmp(cipher, "none") != 0) {          if (strcmp(cipher, "none") != 0) {
                 error("unsupported cipher %s", cipher);                  error("unsupported cipher %s", cipher);
                 xfree(cipher);                  xfree(cipher);
Line 231 
Line 232 
                 buffer_get_bignum_bits(&b, key->dsa->priv_key);                  buffer_get_bignum_bits(&b, key->dsa->priv_key);
                 break;                  break;
         case KEY_RSA:          case KEY_RSA:
                 if (!BN_set_word(key->rsa->e, (u_long) buffer_get_char(&b))) {                  e  = buffer_get_char(&b);
                   debug("e %lx", e);
                   if (e < 30) {
                           e <<= 8;
                           e += buffer_get_char(&b);
                           debug("e %lx", e);
                           e <<= 8;
                           e += buffer_get_char(&b);
                           debug("e %lx", e);
                   }
                   if (!BN_set_word(key->rsa->e, e)) {
                         buffer_free(&b);                          buffer_free(&b);
                         key_free(key);                          key_free(key);
                         return NULL;                          return NULL;
Line 254 
Line 265 
                 u_int slen;                  u_int slen;
                 u_char *sig, data[10] = "abcde12345";                  u_char *sig, data[10] = "abcde12345";
   
                 key_sign(key, &sig, &slen, data, sizeof data);                  key_sign(key, &sig, &slen, data, sizeof(data));
                 key_verify(key, sig, slen, data, sizeof data);                  key_verify(key, sig, slen, data, sizeof(data));
                 xfree(sig);                  xfree(sig);
         }          }
 #endif  #endif
         return key;          return key;
 }  }
   
 void  static void
 do_convert_from_ssh2(struct passwd *pw)  do_convert_from_ssh2(struct passwd *pw)
 {  {
         Key *k;          Key *k;
Line 335 
Line 346 
         exit(0);          exit(0);
 }  }
   
 void  static void
 do_print_public(struct passwd *pw)  do_print_public(struct passwd *pw)
 {  {
         Key *prv;          Key *prv;
Line 359 
Line 370 
         exit(0);          exit(0);
 }  }
   
 void  static void
 do_fingerprint(struct passwd *pw)  do_fingerprint(struct passwd *pw)
 {  {
         FILE *f;          FILE *f;
Line 456 
Line 467 
  * Perform changing a passphrase.  The argument is the passwd structure   * Perform changing a passphrase.  The argument is the passwd structure
  * for the current user.   * for the current user.
  */   */
 void  static void
 do_change_passphrase(struct passwd *pw)  do_change_passphrase(struct passwd *pw)
 {  {
         char *comment;          char *comment;
Line 532 
Line 543 
 /*  /*
  * Change the comment of a private key file.   * Change the comment of a private key file.
  */   */
 void  static void
 do_change_comment(struct passwd *pw)  do_change_comment(struct passwd *pw)
 {  {
         char new_comment[1024], *comment, *passphrase;          char new_comment[1024], *comment, *passphrase;
Line 625 
Line 636 
         exit(0);          exit(0);
 }  }
   
 void  static void
 usage(void)  usage(void)
 {  {
         printf("Usage: %s [-ceilpqyB] [-t type] [-b bits] [-f file] [-C comment] "          printf("Usage: %s [-ceilpqyB] [-t type] [-b bits] [-f file] [-C comment] "

Legend:
Removed from v.1.61  
changed lines
  Added in v.1.63