[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.50.2.2 and 1.51

version 1.50.2.2, 2005/09/02 03:45:01 version 1.51, 2005/03/01 10:41:28
Line 167 
Line 167 
 static char *  static char *
 Linebuf_getline(Linebuf * lb)  Linebuf_getline(Linebuf * lb)
 {  {
         size_t n = 0;          int n = 0;
         void *p;          void *p;
   
         lb->lineno++;          lb->lineno++;
Line 484 
Line 484 
 static void  static void
 congreet(int s)  congreet(int s)
 {  {
         int n = 0, remote_major = 0, remote_minor = 0;          int remote_major = 0, remote_minor = 0, n = 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;
Line 497 
Line 497 
                         *cp = '\n';                          *cp = '\n';
                 cp++;                  cp++;
         }          }
         if (n == 0) {          if (n < 0) {
                 switch (errno) {                  if (errno != ECONNREFUSED)
                 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 537 
Line 534 
         n = snprintf(buf, sizeof buf, "SSH-%d.%d-OpenSSH-keyscan\r\n",          n = snprintf(buf, sizeof buf, "SSH-%d.%d-OpenSSH-keyscan\r\n",
             c->c_keytype == KT_RSA1? PROTOCOL_MAJOR_1 : PROTOCOL_MAJOR_2,              c->c_keytype == KT_RSA1? PROTOCOL_MAJOR_1 : PROTOCOL_MAJOR_2,
             c->c_keytype == KT_RSA1? PROTOCOL_MINOR_1 : PROTOCOL_MINOR_2);              c->c_keytype == KT_RSA1? PROTOCOL_MINOR_1 : PROTOCOL_MINOR_2);
         if (n < 0 || (size_t)n >= sizeof(buf)) {          if (atomicio(vwrite, s, buf, n) != n) {
                 error("snprintf: buffer too small");  
                 confree(s);  
                 return;  
         }  
         if (atomicio(vwrite, s, buf, n) != (size_t)n) {  
                 error("write (%s): %s", c->c_name, strerror(errno));                  error("write (%s): %s", c->c_name, strerror(errno));
                 confree(s);                  confree(s);
                 return;                  return;
Line 560 
Line 552 
 conread(int s)  conread(int s)
 {  {
         con *c = &fdcon[s];          con *c = &fdcon[s];
         size_t n;          int 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;
Line 682 
Line 674 
 static void  static void
 usage(void)  usage(void)
 {  {
         fprintf(stderr, "usage: %s [-46Hv] [-f file] [-p port] [-T timeout] [-t type]\n"          fprintf(stderr, "usage: %s [-Hv46] [-p port] [-T timeout] [-t type] [-f file]\n"
             "\t\t   [host | addrlist namelist] [...]\n",              "\t\t   [host | addrlist namelist] [...]\n",
             __progname);              __progname);
         exit(1);          exit(1);

Legend:
Removed from v.1.50.2.2  
changed lines
  Added in v.1.51