[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.74 and 1.75

version 1.74, 2000/05/17 16:57:02 version 1.75, 2000/06/17 19:24:34
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 = 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))
                         break;                          break;
                 }                  debug("ssh_exchange_identification: %s", buf);
         }          }
         buf[sizeof(buf) - 1] = 0;  
         server_version_string = xstrdup(buf);          server_version_string = xstrdup(buf);
   
         /*          /*

Legend:
Removed from v.1.74  
changed lines
  Added in v.1.75