summaryrefslogtreecommitdiff
path: root/clientloop.c
diff options
context:
space:
mode:
Diffstat (limited to 'clientloop.c')
-rw-r--r--clientloop.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/clientloop.c b/clientloop.c
index 87ceb3dab..fba1b5496 100644
--- a/clientloop.c
+++ b/clientloop.c
@@ -115,6 +115,10 @@
115#include "ssherr.h" 115#include "ssherr.h"
116#include "hostfile.h" 116#include "hostfile.h"
117 117
118#ifdef GSSAPI
119#include "ssh-gss.h"
120#endif
121
118/* import options */ 122/* import options */
119extern Options options; 123extern Options options;
120 124
@@ -1610,6 +1614,15 @@ client_loop(int have_pty, int escape_char_arg, int ssh2_chan_id)
1610 /* Do channel operations unless rekeying in progress. */ 1614 /* Do channel operations unless rekeying in progress. */
1611 if (!rekeying) { 1615 if (!rekeying) {
1612 channel_after_select(readset, writeset); 1616 channel_after_select(readset, writeset);
1617
1618#ifdef GSSAPI
1619 if (options.gss_renewal_rekey &&
1620 ssh_gssapi_credentials_updated(NULL)) {
1621 debug("credentials updated - forcing rekey");
1622 need_rekeying = 1;
1623 }
1624#endif
1625
1613 if (need_rekeying || packet_need_rekeying()) { 1626 if (need_rekeying || packet_need_rekeying()) {
1614 debug("need rekeying"); 1627 debug("need rekeying");
1615 active_state->kex->done = 0; 1628 active_state->kex->done = 0;