summaryrefslogtreecommitdiff
path: root/clientloop.c
diff options
context:
space:
mode:
Diffstat (limited to 'clientloop.c')
-rw-r--r--clientloop.c15
1 files changed, 14 insertions, 1 deletions
diff --git a/clientloop.c b/clientloop.c
index 4289a4081..99c68b690 100644
--- a/clientloop.c
+++ b/clientloop.c
@@ -113,6 +113,10 @@
113#include "ssherr.h" 113#include "ssherr.h"
114#include "hostfile.h" 114#include "hostfile.h"
115 115
116#ifdef GSSAPI
117#include "ssh-gss.h"
118#endif
119
116/* import options */ 120/* import options */
117extern Options options; 121extern Options options;
118 122
@@ -1664,9 +1668,18 @@ client_loop(int have_pty, int escape_char_arg, int ssh2_chan_id)
1664 break; 1668 break;
1665 1669
1666 /* Do channel operations unless rekeying in progress. */ 1670 /* Do channel operations unless rekeying in progress. */
1667 if (!ssh_packet_is_rekeying(active_state)) 1671 if (!ssh_packet_is_rekeying(active_state)) {
1668 channel_after_select(readset, writeset); 1672 channel_after_select(readset, writeset);
1669 1673
1674#ifdef GSSAPI
1675 if (options.gss_renewal_rekey &&
1676 ssh_gssapi_credentials_updated(NULL)) {
1677 debug("credentials updated - forcing rekey");
1678 need_rekeying = 1;
1679 }
1680#endif
1681 }
1682
1670 /* Buffer input from the connection. */ 1683 /* Buffer input from the connection. */
1671 client_process_net_input(readset); 1684 client_process_net_input(readset);
1672 1685