summaryrefslogtreecommitdiff
path: root/clientloop.c
diff options
context:
space:
mode:
Diffstat (limited to 'clientloop.c')
-rw-r--r--clientloop.c15
1 files changed, 14 insertions, 1 deletions
diff --git a/clientloop.c b/clientloop.c
index 086c0dfe8..9b90c64f3 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 */
116extern Options options; 120extern Options options;
117 121
@@ -1374,9 +1378,18 @@ client_loop(struct ssh *ssh, int have_pty, int escape_char_arg,
1374 break; 1378 break;
1375 1379
1376 /* Do channel operations unless rekeying in progress. */ 1380 /* Do channel operations unless rekeying in progress. */
1377 if (!ssh_packet_is_rekeying(ssh)) 1381 if (!ssh_packet_is_rekeying(ssh)) {
1378 channel_after_select(ssh, readset, writeset); 1382 channel_after_select(ssh, readset, writeset);
1379 1383
1384#ifdef GSSAPI
1385 if (options.gss_renewal_rekey &&
1386 ssh_gssapi_credentials_updated(NULL)) {
1387 debug("credentials updated - forcing rekey");
1388 need_rekeying = 1;
1389 }
1390#endif
1391 }
1392
1380 /* Buffer input from the connection. */ 1393 /* Buffer input from the connection. */
1381 client_process_net_input(ssh, readset); 1394 client_process_net_input(ssh, readset);
1382 1395