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

Diff for /src/usr.bin/ssh/ssh-keyscan.c between version 1.53 and 1.54

version 1.53, 2005/04/28 10:17:56 version 1.54, 2005/05/24 17:32:44
Line 484 
Line 484 
 static void  static void
 congreet(int s)  congreet(int s)
 {  {
         int remote_major = 0, remote_minor = 0, n = 0;          int remote_major = 0, remote_minor = 0;
         char buf[256], *cp;          char buf[256], *cp;
         char remote_version[sizeof buf];          char remote_version[sizeof buf];
         size_t bufsiz;          size_t bufsiz, n = 0;
         con *c = &fdcon[s];          con *c = &fdcon[s];
   
         bufsiz = sizeof(buf);          bufsiz = sizeof(buf);
Line 497 
Line 497 
                         *cp = '\n';                          *cp = '\n';
                 cp++;                  cp++;
         }          }
         if (n < 0) {          if (n == 0) {
                 if (errno != ECONNREFUSED)                  switch (errno) {
                   case EPIPE:
                           error("%s: Connection closed by remote host", c->c_name);
                           break;
                   case ECONNREFUSED:
                           break;
                   default:
                         error("read (%s): %s", c->c_name, strerror(errno));                          error("read (%s): %s", c->c_name, strerror(errno));
                           break;
                   }
                 conrecycle(s);                  conrecycle(s);
                 return;                  return;
         }          }
         if (n == 0) {  
                 error("%s: Connection closed by remote host", c->c_name);  
                 conrecycle(s);  
                 return;  
         }  
         if (*cp != '\n' && *cp != '\r') {          if (*cp != '\n' && *cp != '\r') {
                 error("%s: bad greeting", c->c_name);                  error("%s: bad greeting", c->c_name);
                 confree(s);                  confree(s);
Line 557 
Line 560 
 conread(int s)  conread(int s)
 {  {
         con *c = &fdcon[s];          con *c = &fdcon[s];
         int n;          size_t n;
   
         if (c->c_status == CS_CON) {          if (c->c_status == CS_CON) {
                 congreet(s);                  congreet(s);
                 return;                  return;
         }          }
         n = atomicio(read, s, c->c_data + c->c_off, c->c_len - c->c_off);          n = atomicio(read, s, c->c_data + c->c_off, c->c_len - c->c_off);
         if (n < 0) {          if (n == 0) {
                 error("read (%s): %s", c->c_name, strerror(errno));                  error("read (%s): %s", c->c_name, strerror(errno));
                 confree(s);                  confree(s);
                 return;                  return;

Legend:
Removed from v.1.53  
changed lines
  Added in v.1.54