diff options
Diffstat (limited to 'clientloop.c')
-rw-r--r-- | clientloop.c | 13 |
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 */ |
119 | extern Options options; | 123 | extern 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; |