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

Diff for /src/usr.bin/ssh/authfd.c between version 1.88 and 1.89

version 1.88, 2013/11/08 00:39:14 version 1.89, 2013/12/06 13:30:08
Line 41 
Line 41 
 #include <sys/socket.h>  #include <sys/socket.h>
   
 #include <openssl/evp.h>  #include <openssl/evp.h>
   
 #include <openssl/crypto.h>  #include <openssl/crypto.h>
   
 #include <fcntl.h>  #include <fcntl.h>
 #include <stdlib.h>  #include <stdlib.h>
 #include <signal.h>  #include <signal.h>
Line 472 
Line 472 
 static void  static void
 ssh_encode_identity_ssh2(Buffer *b, Key *key, const char *comment)  ssh_encode_identity_ssh2(Buffer *b, Key *key, const char *comment)
 {  {
         buffer_put_cstring(b, key_ssh_name(key));          key_private_serialize(key, b);
         switch (key->type) {  
         case KEY_RSA:  
                 buffer_put_bignum2(b, key->rsa->n);  
                 buffer_put_bignum2(b, key->rsa->e);  
                 buffer_put_bignum2(b, key->rsa->d);  
                 buffer_put_bignum2(b, key->rsa->iqmp);  
                 buffer_put_bignum2(b, key->rsa->p);  
                 buffer_put_bignum2(b, key->rsa->q);  
                 break;  
         case KEY_RSA_CERT_V00:  
         case KEY_RSA_CERT:  
                 if (key->cert == NULL || buffer_len(&key->cert->certblob) == 0)  
                         fatal("%s: no cert/certblob", __func__);  
                 buffer_put_string(b, buffer_ptr(&key->cert->certblob),  
                     buffer_len(&key->cert->certblob));  
                 buffer_put_bignum2(b, key->rsa->d);  
                 buffer_put_bignum2(b, key->rsa->iqmp);  
                 buffer_put_bignum2(b, key->rsa->p);  
                 buffer_put_bignum2(b, key->rsa->q);  
                 break;  
         case KEY_DSA:  
                 buffer_put_bignum2(b, key->dsa->p);  
                 buffer_put_bignum2(b, key->dsa->q);  
                 buffer_put_bignum2(b, key->dsa->g);  
                 buffer_put_bignum2(b, key->dsa->pub_key);  
                 buffer_put_bignum2(b, key->dsa->priv_key);  
                 break;  
         case KEY_DSA_CERT_V00:  
         case KEY_DSA_CERT:  
                 if (key->cert == NULL || buffer_len(&key->cert->certblob) == 0)  
                         fatal("%s: no cert/certblob", __func__);  
                 buffer_put_string(b, buffer_ptr(&key->cert->certblob),  
                     buffer_len(&key->cert->certblob));  
                 buffer_put_bignum2(b, key->dsa->priv_key);  
                 break;  
         case KEY_ECDSA:  
                 buffer_put_cstring(b, key_curve_nid_to_name(key->ecdsa_nid));  
                 buffer_put_ecpoint(b, EC_KEY_get0_group(key->ecdsa),  
                     EC_KEY_get0_public_key(key->ecdsa));  
                 buffer_put_bignum2(b, EC_KEY_get0_private_key(key->ecdsa));  
                 break;  
         case KEY_ECDSA_CERT:  
                 if (key->cert == NULL || buffer_len(&key->cert->certblob) == 0)  
                         fatal("%s: no cert/certblob", __func__);  
                 buffer_put_string(b, buffer_ptr(&key->cert->certblob),  
                     buffer_len(&key->cert->certblob));  
                 buffer_put_bignum2(b, EC_KEY_get0_private_key(key->ecdsa));  
                 break;  
         }  
         buffer_put_cstring(b, comment);          buffer_put_cstring(b, comment);
 }  }
   

Legend:
Removed from v.1.88  
changed lines
  Added in v.1.89