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

Diff for /src/usr.bin/ssh/sshconnect.c between version 1.158 and 1.159

version 1.158, 2004/06/21 17:36:31 version 1.159, 2005/01/05 08:51:32
Line 293 
Line 293 
  * second).  If proxy_command is non-NULL, it specifies the command (with %h   * second).  If proxy_command is non-NULL, it specifies the command (with %h
  * and %p substituted for host and port, respectively) to use to contact   * and %p substituted for host and port, respectively) to use to contact
  * the daemon.   * the daemon.
  * Return values:  
  *    0 for OK  
  *    ECONNREFUSED if we got a "Connection Refused" by the peer on any address  
  *    ECONNABORTED if we failed without a "Connection refused"  
  * Suitable error messages for the connection failure will already have been  
  * printed.  
  */   */
 int  int
 ssh_connect(const char *host, struct sockaddr_storage * hostaddr,  ssh_connect(const char *host, struct sockaddr_storage * hostaddr,
Line 311 
Line 305 
         char ntop[NI_MAXHOST], strport[NI_MAXSERV];          char ntop[NI_MAXHOST], strport[NI_MAXSERV];
         struct addrinfo hints, *ai, *aitop;          struct addrinfo hints, *ai, *aitop;
         struct servent *sp;          struct servent *sp;
         /*  
          * Did we get only other errors than "Connection refused" (which  
          * should block fallback to rsh and similar), or did we get at least  
          * one "Connection refused"?  
          */  
         int full_failure = 1;  
   
         debug2("ssh_connect: needpriv %d", needpriv);          debug2("ssh_connect: needpriv %d", needpriv);
   
Line 377 
Line 365 
                                 memcpy(hostaddr, ai->ai_addr, ai->ai_addrlen);                                  memcpy(hostaddr, ai->ai_addr, ai->ai_addrlen);
                                 break;                                  break;
                         } else {                          } else {
                                 if (errno == ECONNREFUSED)  
                                         full_failure = 0;  
                                 debug("connect to address %s port %s: %s",                                  debug("connect to address %s port %s: %s",
                                     ntop, strport, strerror(errno));                                      ntop, strport, strerror(errno));
                                 /*                                  /*
Line 404 
Line 390 
   
         /* Return failure if we didn't get a successful connection. */          /* Return failure if we didn't get a successful connection. */
         if (attempt >= connection_attempts) {          if (attempt >= connection_attempts) {
                 logit("ssh: connect to host %s port %s: %s",                  error("ssh: connect to host %s port %s: %s",
                     host, strport, strerror(errno));                      host, strport, strerror(errno));
                 return full_failure ? ECONNABORTED : ECONNREFUSED;                  return (-1);
         }          }
   
         debug("Connection established.");          debug("Connection established.");

Legend:
Removed from v.1.158  
changed lines
  Added in v.1.159