diff options
Diffstat (limited to 'clientloop.c')
-rw-r--r-- | clientloop.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/clientloop.c b/clientloop.c index a2d2d1d07..52667017c 100644 --- a/clientloop.c +++ b/clientloop.c | |||
@@ -110,6 +110,10 @@ | |||
110 | #include "match.h" | 110 | #include "match.h" |
111 | #include "msg.h" | 111 | #include "msg.h" |
112 | 112 | ||
113 | #ifdef GSSAPI | ||
114 | #include "ssh-gss.h" | ||
115 | #endif | ||
116 | |||
113 | /* import options */ | 117 | /* import options */ |
114 | extern Options options; | 118 | extern Options options; |
115 | 119 | ||
@@ -1429,6 +1433,13 @@ client_loop(int have_pty, int escape_char_arg, int ssh2_chan_id) | |||
1429 | /* Do channel operations unless rekeying in progress. */ | 1433 | /* Do channel operations unless rekeying in progress. */ |
1430 | if (!rekeying) { | 1434 | if (!rekeying) { |
1431 | channel_after_select(readset, writeset); | 1435 | channel_after_select(readset, writeset); |
1436 | |||
1437 | if (options.gss_renewal_rekey && | ||
1438 | ssh_gssapi_credentials_updated(GSS_C_NO_CONTEXT)) { | ||
1439 | debug("credentials updated - forcing rekey"); | ||
1440 | need_rekeying = 1; | ||
1441 | } | ||
1442 | |||
1432 | if (need_rekeying || packet_need_rekeying()) { | 1443 | if (need_rekeying || packet_need_rekeying()) { |
1433 | debug("need rekeying"); | 1444 | debug("need rekeying"); |
1434 | xxx_kex->done = 0; | 1445 | xxx_kex->done = 0; |