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 9820455c4..1567e4a2f 100644
--- a/clientloop.c
+++ b/clientloop.c
@@ -114,6 +114,10 @@
114#include "ssherr.h" 114#include "ssherr.h"
115#include "hostfile.h" 115#include "hostfile.h"
116 116
117#ifdef GSSAPI
118#include "ssh-gss.h"
119#endif
120
117/* import options */ 121/* import options */
118extern Options options; 122extern Options options;
119 123
@@ -1662,9 +1666,18 @@ client_loop(int have_pty, int escape_char_arg, int ssh2_chan_id)
1662 break; 1666 break;
1663 1667
1664 /* Do channel operations unless rekeying in progress. */ 1668 /* Do channel operations unless rekeying in progress. */
1665 if (!ssh_packet_is_rekeying(active_state)) 1669 if (!ssh_packet_is_rekeying(active_state)) {
1666 channel_after_select(readset, writeset); 1670 channel_after_select(readset, writeset);
1667 1671
1672#ifdef GSSAPI
1673 if (options.gss_renewal_rekey &&
1674 ssh_gssapi_credentials_updated(NULL)) {
1675 debug("credentials updated - forcing rekey");
1676 need_rekeying = 1;
1677 }
1678#endif
1679 }
1680
1668 /* Buffer input from the connection. */ 1681 /* Buffer input from the connection. */
1669 client_process_net_input(readset); 1682 client_process_net_input(readset);
1670 1683