summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordjm <djm@openbsd.org>2017-08-30 03:59:08 +0000
committerdjm <djm@openbsd.org>2017-08-30 03:59:08 +0000
commit3c79e014f9f14c6c70365065bbe8723685e87fe1 (patch)
treedf7fdaadc63e07e63b620855bce34b7e5ef97b30
parentRemove unused variable; no binary change. (diff)
downloadwireguard-openbsd-3c79e014f9f14c6c70365065bbe8723685e87fe1.tar.xz
wireguard-openbsd-3c79e014f9f14c6c70365065bbe8723685e87fe1.zip
pass packet state down to some of the channels function (more
to come...); ok markus@
-rw-r--r--usr.bin/ssh/channels.c18
-rw-r--r--usr.bin/ssh/channels.h8
-rw-r--r--usr.bin/ssh/clientloop.c8
-rw-r--r--usr.bin/ssh/serverloop.c8
4 files changed, 21 insertions, 21 deletions
diff --git a/usr.bin/ssh/channels.c b/usr.bin/ssh/channels.c
index 6490c8b650b..baa5fe55814 100644
--- a/usr.bin/ssh/channels.c
+++ b/usr.bin/ssh/channels.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: channels.c,v 1.365 2017/05/31 08:58:52 deraadt Exp $ */
+/* $OpenBSD: channels.c,v 1.366 2017/08/30 03:59:08 djm Exp $ */
/*
* Author: Tatu Ylonen <ylo@cs.hut.fi>
* Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
@@ -1969,8 +1969,8 @@ channel_garbage_collect(Channel *c)
}
static void
-channel_handler(chan_fn *ftab[], fd_set *readset, fd_set *writeset,
- time_t *unpause_secs)
+channel_handler(struct ssh *ssh, chan_fn *ftab[],
+ fd_set *readset, fd_set *writeset, time_t *unpause_secs)
{
static int did_init = 0;
u_int i, oalloc;
@@ -2025,8 +2025,8 @@ channel_handler(chan_fn *ftab[], fd_set *readset, fd_set *writeset,
* select bitmasks.
*/
void
-channel_prepare_select(fd_set **readsetp, fd_set **writesetp, int *maxfdp,
- u_int *nallocp, time_t *minwait_secs, int rekeying)
+channel_prepare_select(struct ssh *ssh, fd_set **readsetp, fd_set **writesetp,
+ int *maxfdp, u_int *nallocp, time_t *minwait_secs)
{
u_int n, sz, nfdset;
@@ -2048,8 +2048,8 @@ channel_prepare_select(fd_set **readsetp, fd_set **writesetp, int *maxfdp,
memset(*readsetp, 0, sz);
memset(*writesetp, 0, sz);
- if (!rekeying)
- channel_handler(channel_pre, *readsetp, *writesetp,
+ if (!ssh_packet_is_rekeying(ssh))
+ channel_handler(ssh, channel_pre, *readsetp, *writesetp,
minwait_secs);
}
@@ -2058,9 +2058,9 @@ channel_prepare_select(fd_set **readsetp, fd_set **writesetp, int *maxfdp,
* events pending.
*/
void
-channel_after_select(fd_set *readset, fd_set *writeset)
+channel_after_select(struct ssh *ssh, fd_set *readset, fd_set *writeset)
{
- channel_handler(channel_post, readset, writeset, NULL);
+ channel_handler(ssh, channel_post, readset, writeset, NULL);
}
diff --git a/usr.bin/ssh/channels.h b/usr.bin/ssh/channels.h
index 83130d8e1ad..9bf4a32adf9 100644
--- a/usr.bin/ssh/channels.h
+++ b/usr.bin/ssh/channels.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: channels.h,v 1.126 2017/05/30 14:23:52 markus Exp $ */
+/* $OpenBSD: channels.h,v 1.127 2017/08/30 03:59:08 djm Exp $ */
/*
* Author: Tatu Ylonen <ylo@cs.hut.fi>
@@ -246,9 +246,9 @@ int channel_input_status_confirm(int, u_int32_t, struct ssh *);
/* file descriptor handling (read/write) */
-void channel_prepare_select(fd_set **, fd_set **, int *, u_int*,
- time_t*, int);
-void channel_after_select(fd_set *, fd_set *);
+void channel_prepare_select(struct ssh *, fd_set **, fd_set **, int *,
+ u_int*, time_t*);
+void channel_after_select(struct ssh *, fd_set *, fd_set *);
void channel_output_poll(void);
int channel_not_very_much_buffered_data(void);
diff --git a/usr.bin/ssh/clientloop.c b/usr.bin/ssh/clientloop.c
index d66cfbe19e7..df260f21376 100644
--- a/usr.bin/ssh/clientloop.c
+++ b/usr.bin/ssh/clientloop.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: clientloop.c,v 1.301 2017/07/14 03:18:21 dtucker Exp $ */
+/* $OpenBSD: clientloop.c,v 1.302 2017/08/30 03:59:08 djm Exp $ */
/*
* Author: Tatu Ylonen <ylo@cs.hut.fi>
* Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
@@ -498,8 +498,8 @@ client_wait_until_can_do_something(fd_set **readsetp, fd_set **writesetp,
int ret;
/* Add any selections by the channel mechanism. */
- channel_prepare_select(readsetp, writesetp, maxfdp, nallocp,
- &minwait_secs, rekeying);
+ channel_prepare_select(active_state, readsetp, writesetp, maxfdp,
+ nallocp, &minwait_secs);
/* channel_prepare_select could have closed the last channel */
if (session_closed && !channel_still_open() &&
@@ -1344,7 +1344,7 @@ client_loop(int have_pty, int escape_char_arg, int ssh2_chan_id)
/* Do channel operations unless rekeying in progress. */
if (!ssh_packet_is_rekeying(active_state))
- channel_after_select(readset, writeset);
+ channel_after_select(active_state, readset, writeset);
/* Buffer input from the connection. */
client_process_net_input(readset);
diff --git a/usr.bin/ssh/serverloop.c b/usr.bin/ssh/serverloop.c
index 44e05fa1d45..ced2d52bdad 100644
--- a/usr.bin/ssh/serverloop.c
+++ b/usr.bin/ssh/serverloop.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: serverloop.c,v 1.195 2017/08/11 04:16:35 dtucker Exp $ */
+/* $OpenBSD: serverloop.c,v 1.196 2017/08/30 03:59:08 djm Exp $ */
/*
* Author: Tatu Ylonen <ylo@cs.hut.fi>
* Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
@@ -201,8 +201,8 @@ wait_until_can_do_something(int connection_in, int connection_out,
static time_t last_client_time;
/* Allocate and update select() masks for channel descriptors. */
- channel_prepare_select(readsetp, writesetp, maxfdp, nallocp,
- &minwait_secs, 0);
+ channel_prepare_select(active_state, readsetp, writesetp, maxfdp,
+ nallocp, &minwait_secs);
/* XXX need proper deadline system for rekey/client alive */
if (minwait_secs != 0)
@@ -404,7 +404,7 @@ server_loop2(Authctxt *authctxt)
collect_children();
if (!ssh_packet_is_rekeying(active_state))
- channel_after_select(readset, writeset);
+ channel_after_select(active_state, readset, writeset);
if (process_input(readset, connection_in) < 0)
break;
process_output(writeset, connection_out);