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

Diff for /src/usr.bin/ssh/ssh.c between version 1.172 and 1.173

version 1.172, 2002/05/22 23:18:25 version 1.173, 2002/05/23 19:24:30
Line 124 
Line 124 
 struct sockaddr_storage hostaddr;  struct sockaddr_storage hostaddr;
   
 /* Private host keys. */  /* Private host keys. */
 struct {  Sensitive sensitive_data;
         Key     **keys;  
         int     nkeys;  
 } sensitive_data;  
   
 /* Original real UID. */  /* Original real UID. */
 uid_t original_real_uid;  uid_t original_real_uid;
Line 669 
Line 666 
          */           */
         sensitive_data.nkeys = 0;          sensitive_data.nkeys = 0;
         sensitive_data.keys = NULL;          sensitive_data.keys = NULL;
           sensitive_data.external_keysign = 0;
         if (!cerr && (options.rhosts_rsa_authentication ||          if (!cerr && (options.rhosts_rsa_authentication ||
             options.hostbased_authentication)) {              options.hostbased_authentication)) {
                 sensitive_data.nkeys = 3;                  sensitive_data.nkeys = 3;
Line 679 
Line 677 
                     _PATH_HOST_DSA_KEY_FILE, "", NULL);                      _PATH_HOST_DSA_KEY_FILE, "", NULL);
                 sensitive_data.keys[2] = key_load_private_type(KEY_RSA,                  sensitive_data.keys[2] = key_load_private_type(KEY_RSA,
                     _PATH_HOST_RSA_KEY_FILE, "", NULL);                      _PATH_HOST_RSA_KEY_FILE, "", NULL);
   
                   if (sensitive_data.keys[0] == NULL &&
                       sensitive_data.keys[1] == NULL &&
                       sensitive_data.keys[2] == NULL) {
                           sensitive_data.keys[1] = key_load_public(
                               _PATH_HOST_DSA_KEY_FILE, NULL);
                           sensitive_data.keys[2] = key_load_public(
                               _PATH_HOST_RSA_KEY_FILE, NULL);
                           sensitive_data.external_keysign = 1;
                   }
         }          }
         /*          /*
          * Get rid of any extra privileges that we may have.  We will no           * Get rid of any extra privileges that we may have.  We will no
Line 738 
Line 746 
         signal(SIGPIPE, SIG_IGN); /* ignore SIGPIPE early */          signal(SIGPIPE, SIG_IGN); /* ignore SIGPIPE early */
   
         /* Log into the remote system.  This never returns if the login fails. */          /* Log into the remote system.  This never returns if the login fails. */
         ssh_login(sensitive_data.keys, sensitive_data.nkeys,          ssh_login(&sensitive_data, host, (struct sockaddr *)&hostaddr, pw);
             host, (struct sockaddr *)&hostaddr, pw);  
   
         /* We no longer need the private host keys.  Clear them now. */          /* We no longer need the private host keys.  Clear them now. */
         if (sensitive_data.nkeys != 0) {          if (sensitive_data.nkeys != 0) {

Legend:
Removed from v.1.172  
changed lines
  Added in v.1.173