summaryrefslogtreecommitdiffstats
path: root/usr.bin/ssh/channels.c
diff options
context:
space:
mode:
authormarkus <markus@openbsd.org>2001-04-04 20:25:35 +0000
committermarkus <markus@openbsd.org>2001-04-04 20:25:35 +0000
commitd53226a6d73036aba092334710033cab4c0edcfb (patch)
tree6102e7d928aced68da5e5122208f0962f7ab3d8b /usr.bin/ssh/channels.c
parentDocument softdep option. (diff)
downloadwireguard-openbsd-d53226a6d73036aba092334710033cab4c0edcfb.tar.xz
wireguard-openbsd-d53226a6d73036aba092334710033cab4c0edcfb.zip
more robust rekeying
don't send channel data after rekeying is started.
Diffstat (limited to 'usr.bin/ssh/channels.c')
-rw-r--r--usr.bin/ssh/channels.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/usr.bin/ssh/channels.c b/usr.bin/ssh/channels.c
index 097a1d4a9f2..da426a38c9b 100644
--- a/usr.bin/ssh/channels.c
+++ b/usr.bin/ssh/channels.c
@@ -40,7 +40,7 @@
*/
#include "includes.h"
-RCSID("$OpenBSD: channels.c,v 1.99 2001/03/16 19:06:29 markus Exp $");
+RCSID("$OpenBSD: channels.c,v 1.100 2001/04/04 20:25:35 markus Exp $");
#include <openssl/rsa.h>
#include <openssl/dsa.h>
@@ -1005,7 +1005,8 @@ channel_handler(chan_fn *ftab[], fd_set * readset, fd_set * writeset)
}
void
-channel_prepare_select(fd_set **readsetp, fd_set **writesetp, int *maxfdp)
+channel_prepare_select(fd_set **readsetp, fd_set **writesetp, int *maxfdp,
+ int rekeying)
{
int n;
u_int sz;
@@ -1025,7 +1026,8 @@ channel_prepare_select(fd_set **readsetp, fd_set **writesetp, int *maxfdp)
memset(*readsetp, 0, sz);
memset(*writesetp, 0, sz);
- channel_handler(channel_pre, *readsetp, *writesetp);
+ if (!rekeying)
+ channel_handler(channel_pre, *readsetp, *writesetp);
}
void