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

Diff for /src/usr.bin/ssh/ssh-agent.c between version 1.100 and 1.101

version 1.100, 2002/08/21 20:10:28 version 1.101, 2002/08/22 19:27:53
Line 103 
Line 103 
 extern char *__progname;  extern char *__progname;
   
 static void  static void
   close_socket(SocketEntry *e)
   {
           shutdown(e->fd, SHUT_RDWR);
           close(e->fd);
           e->fd = -1;
           e->type = AUTH_UNUSED;
           buffer_free(&e->input);
           buffer_free(&e->output);
           buffer_free(&e->request);
   }
   
   static void
 idtab_init(void)  idtab_init(void)
 {  {
         int i;          int i;
Line 613 
Line 625 
         cp = buffer_ptr(&e->input);          cp = buffer_ptr(&e->input);
         msg_len = GET_32BIT(cp);          msg_len = GET_32BIT(cp);
         if (msg_len > 256 * 1024) {          if (msg_len > 256 * 1024) {
                 shutdown(e->fd, SHUT_RDWR);                  close_socket(e);
                 close(e->fd);  
                 e->fd = -1;  
                 e->type = AUTH_UNUSED;  
                 buffer_free(&e->input);  
                 buffer_free(&e->output);  
                 buffer_free(&e->request);  
                 return;                  return;
         }          }
         if (buffer_len(&e->input) < msg_len + 4)          if (buffer_len(&e->input) < msg_len + 4)
Line 832 
Line 838 
                                         break;                                          break;
                                 } while (1);                                  } while (1);
                                 if (len <= 0) {                                  if (len <= 0) {
                                         shutdown(sockets[i].fd, SHUT_RDWR);                                          close_socket(&sockets[i]);
                                         close(sockets[i].fd);  
                                         sockets[i].fd = -1;  
                                         sockets[i].type = AUTH_UNUSED;  
                                         buffer_free(&sockets[i].input);  
                                         buffer_free(&sockets[i].output);  
                                         buffer_free(&sockets[i].request);  
                                         break;                                          break;
                                 }                                  }
                                 buffer_consume(&sockets[i].output, len);                                  buffer_consume(&sockets[i].output, len);
Line 852 
Line 852 
                                         break;                                          break;
                                 } while (1);                                  } while (1);
                                 if (len <= 0) {                                  if (len <= 0) {
                                         shutdown(sockets[i].fd, SHUT_RDWR);                                          close_socket(&sockets[i]);
                                         close(sockets[i].fd);  
                                         sockets[i].fd = -1;  
                                         sockets[i].type = AUTH_UNUSED;  
                                         buffer_free(&sockets[i].input);  
                                         buffer_free(&sockets[i].output);  
                                         buffer_free(&sockets[i].request);  
                                         break;                                          break;
                                 }                                  }
                                 buffer_append(&sockets[i].input, buf, len);                                  buffer_append(&sockets[i].input, buf, len);

Legend:
Removed from v.1.100  
changed lines
  Added in v.1.101