[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.72.2.1 and 1.72.2.2

version 1.72.2.1, 2000/06/12 02:37:37 version 1.72.2.2, 2000/09/01 18:23:24
Line 189 
Line 189 
         int gaierr;          int gaierr;
         struct linger linger;          struct linger linger;
   
         debug("ssh_connect: getuid %d geteuid %d anon %d",          debug("ssh_connect: getuid %u geteuid %u anon %d",
               (int) getuid(), (int) geteuid(), anonymous);                (u_int) getuid(), (u_int) geteuid(), anonymous);
   
         /* Get default port if port has not been set. */          /* Get default port if port has not been set. */
         if (port == 0) {          if (port == 0) {
Line 310 
Line 310 
         int connection_out = packet_get_connection_out();          int connection_out = packet_get_connection_out();
   
         /* Read other side\'s version identification. */          /* Read other side\'s version identification. */
         for (i = 0; i < sizeof(buf) - 1; i++) {          for (;;) {
                 int len = read(connection_in, &buf[i], 1);                  for (i = 0; i < sizeof(buf) - 1; i++) {
                 if (len < 0)                          int len = atomicio(read, connection_in, &buf[i], 1);
                         fatal("ssh_exchange_identification: read: %.100s", strerror(errno));                          if (len < 0)
                 if (len != 1)                                  fatal("ssh_exchange_identification: read: %.100s", strerror(errno));
                         fatal("ssh_exchange_identification: Connection closed by remote host");                          if (len != 1)
                 if (buf[i] == '\r') {                                  fatal("ssh_exchange_identification: Connection closed by remote host");
                         buf[i] = '\n';                          if (buf[i] == '\r') {
                         buf[i + 1] = 0;                                  buf[i] = '\n';
                         continue;               /**XXX wait for \n */                                  buf[i + 1] = 0;
                                   continue;               /**XXX wait for \n */
                           }
                           if (buf[i] == '\n') {
                                   buf[i + 1] = 0;
                                   break;
                           }
                 }                  }
                 if (buf[i] == '\n') {                  buf[sizeof(buf) - 1] = 0;
                         buf[i + 1] = 0;                  if (strncmp(buf, "SSH-", 4) == 0)
                         break;                          break;
                 }                  debug("ssh_exchange_identification: %s", buf);
         }          }
         buf[sizeof(buf) - 1] = 0;  
         server_version_string = xstrdup(buf);          server_version_string = xstrdup(buf);
   
         /*          /*
Line 656 
Line 661 
         /* Get local user name.  Use it as server user if no user name was given. */          /* Get local user name.  Use it as server user if no user name was given. */
         pw = getpwuid(original_real_uid);          pw = getpwuid(original_real_uid);
         if (!pw)          if (!pw)
                 fatal("User id %d not found from user database.", original_real_uid);                  fatal("User id %u not found from user database.", original_real_uid);
         local_user = xstrdup(pw->pw_name);          local_user = xstrdup(pw->pw_name);
         server_user = options.user ? options.user : local_user;          server_user = options.user ? options.user : local_user;
   

Legend:
Removed from v.1.72.2.1  
changed lines
  Added in v.1.72.2.2