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 dc0e557ad..77d549822 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
@@ -1609,6 +1613,15 @@ client_loop(int have_pty, int escape_char_arg, int ssh2_chan_id)
1609 /* Do channel operations unless rekeying in progress. */ 1613 /* Do channel operations unless rekeying in progress. */
1610 if (!rekeying) { 1614 if (!rekeying) {
1611 channel_after_select(readset, writeset); 1615 channel_after_select(readset, writeset);
1616
1617#ifdef GSSAPI
1618 if (options.gss_renewal_rekey &&
1619 ssh_gssapi_credentials_updated(NULL)) {
1620 debug("credentials updated - forcing rekey");
1621 need_rekeying = 1;
1622 }
1623#endif
1624
1612 if (need_rekeying || packet_need_rekeying()) { 1625 if (need_rekeying || packet_need_rekeying()) {
1613 debug("need rekeying"); 1626 debug("need rekeying");
1614 active_state->kex->done = 0; 1627 active_state->kex->done = 0;