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

Diff for /src/usr.bin/ssh/clientloop.c between version 1.283 and 1.284

version 1.283, 2016/02/01 21:18:17 version 1.284, 2016/02/08 10:57:07
Line 1490 
Line 1490 
 {  {
         fd_set *readset = NULL, *writeset = NULL;          fd_set *readset = NULL, *writeset = NULL;
         double start_time, total_time;          double start_time, total_time;
         int r, max_fd = 0, max_fd2 = 0, len, rekeying = 0;          int r, max_fd = 0, max_fd2 = 0, len;
         u_int64_t ibytes, obytes;          u_int64_t ibytes, obytes;
         u_int nalloc = 0;          u_int nalloc = 0;
         char buf[100];          char buf[100];
Line 1605 
Line 1605 
                 if (compat20 && session_closed && !channel_still_open())                  if (compat20 && session_closed && !channel_still_open())
                         break;                          break;
   
                 rekeying = (active_state->kex != NULL && !active_state->kex->done);                  if (ssh_packet_is_rekeying(active_state)) {
   
                 if (rekeying) {  
                         debug("rekeying in progress");                          debug("rekeying in progress");
                   } else if (need_rekeying) {
                           /* manual rekey request */
                           debug("need rekeying");
                           if ((r = kex_start_rekex(active_state)) != 0)
                                   fatal("%s: kex_start_rekex: %s", __func__,
                                       ssh_err(r));
                           need_rekeying = 0;
                 } else {                  } else {
                         /*                          /*
                          * Make packets of buffered stdin data, and buffer                           * Make packets of buffered stdin data, and buffer
Line 1639 
Line 1644 
                  */                   */
                 max_fd2 = max_fd;                  max_fd2 = max_fd;
                 client_wait_until_can_do_something(&readset, &writeset,                  client_wait_until_can_do_something(&readset, &writeset,
                     &max_fd2, &nalloc, rekeying);                      &max_fd2, &nalloc, ssh_packet_is_rekeying(active_state));
   
                 if (quit_pending)                  if (quit_pending)
                         break;                          break;
   
                 /* Do channel operations unless rekeying in progress. */                  /* Do channel operations unless rekeying in progress. */
                 if (!rekeying) {                  if (!ssh_packet_is_rekeying(active_state))
                         channel_after_select(readset, writeset);                          channel_after_select(readset, writeset);
                         if (need_rekeying || packet_need_rekeying()) {  
                                 debug("need rekeying");  
                                 active_state->kex->done = 0;  
                                 if ((r = kex_send_kexinit(active_state)) != 0)  
                                         fatal("%s: kex_send_kexinit: %s",  
                                             __func__, ssh_err(r));  
                                 need_rekeying = 0;  
                         }  
                 }  
   
                 /* Buffer input from the connection.  */                  /* Buffer input from the connection.  */
                 client_process_net_input(readset);                  client_process_net_input(readset);

Legend:
Removed from v.1.283  
changed lines
  Added in v.1.284