diff options
Diffstat (limited to 'clientloop.c')
-rw-r--r-- | clientloop.c | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/clientloop.c b/clientloop.c index 4289a4081..99c68b690 100644 --- a/clientloop.c +++ b/clientloop.c | |||
@@ -113,6 +113,10 @@ | |||
113 | #include "ssherr.h" | 113 | #include "ssherr.h" |
114 | #include "hostfile.h" | 114 | #include "hostfile.h" |
115 | 115 | ||
116 | #ifdef GSSAPI | ||
117 | #include "ssh-gss.h" | ||
118 | #endif | ||
119 | |||
116 | /* import options */ | 120 | /* import options */ |
117 | extern Options options; | 121 | extern Options options; |
118 | 122 | ||
@@ -1664,9 +1668,18 @@ client_loop(int have_pty, int escape_char_arg, int ssh2_chan_id) | |||
1664 | break; | 1668 | break; |
1665 | 1669 | ||
1666 | /* Do channel operations unless rekeying in progress. */ | 1670 | /* Do channel operations unless rekeying in progress. */ |
1667 | if (!ssh_packet_is_rekeying(active_state)) | 1671 | if (!ssh_packet_is_rekeying(active_state)) { |
1668 | channel_after_select(readset, writeset); | 1672 | channel_after_select(readset, writeset); |
1669 | 1673 | ||
1674 | #ifdef GSSAPI | ||
1675 | if (options.gss_renewal_rekey && | ||
1676 | ssh_gssapi_credentials_updated(NULL)) { | ||
1677 | debug("credentials updated - forcing rekey"); | ||
1678 | need_rekeying = 1; | ||
1679 | } | ||
1680 | #endif | ||
1681 | } | ||
1682 | |||
1670 | /* Buffer input from the connection. */ | 1683 | /* Buffer input from the connection. */ |
1671 | client_process_net_input(readset); | 1684 | client_process_net_input(readset); |
1672 | 1685 | ||