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 b5a1f7038..9def2a1a9 100644 --- a/clientloop.c +++ b/clientloop.c | |||
@@ -112,6 +112,10 @@ | |||
112 | #include "ssherr.h" | 112 | #include "ssherr.h" |
113 | #include "hostfile.h" | 113 | #include "hostfile.h" |
114 | 114 | ||
115 | #ifdef GSSAPI | ||
116 | #include "ssh-gss.h" | ||
117 | #endif | ||
118 | |||
115 | /* import options */ | 119 | /* import options */ |
116 | extern Options options; | 120 | extern Options options; |
117 | 121 | ||
@@ -1373,9 +1377,18 @@ client_loop(struct ssh *ssh, int have_pty, int escape_char_arg, | |||
1373 | break; | 1377 | break; |
1374 | 1378 | ||
1375 | /* Do channel operations unless rekeying in progress. */ | 1379 | /* Do channel operations unless rekeying in progress. */ |
1376 | if (!ssh_packet_is_rekeying(ssh)) | 1380 | if (!ssh_packet_is_rekeying(ssh)) { |
1377 | channel_after_select(ssh, readset, writeset); | 1381 | channel_after_select(ssh, readset, writeset); |
1378 | 1382 | ||
1383 | #ifdef GSSAPI | ||
1384 | if (options.gss_renewal_rekey && | ||
1385 | ssh_gssapi_credentials_updated(NULL)) { | ||
1386 | debug("credentials updated - forcing rekey"); | ||
1387 | need_rekeying = 1; | ||
1388 | } | ||
1389 | #endif | ||
1390 | } | ||
1391 | |||
1379 | /* Buffer input from the connection. */ | 1392 | /* Buffer input from the connection. */ |
1380 | client_process_net_input(ssh, readset); | 1393 | client_process_net_input(ssh, readset); |
1381 | 1394 | ||