[openssh-commits] [openssh] 04/08: upstream commit

git+noreply at mindrot.org git+noreply at mindrot.org
Mon Sep 4 09:39:05 AEST 2017


This is an automated email from the git hooks/post-receive script.

djm pushed a commit to branch master
in repository openssh.

commit 71e5a536ec815d542b199f2ae6d646c0db9f1b58
Author: djm at openbsd.org <djm at openbsd.org>
Date:   Wed Aug 30 03:59:08 2017 +0000

    upstream commit
    
    pass packet state down to some of the channels function
    (more to come...); ok markus@
    
    Upstream-ID: d8ce7a94f4059d7ac1e01fb0eb01de0c4b36c81b
---
 channels.c   | 18 +++++++++---------
 channels.h   |  8 ++++----
 clientloop.c |  8 ++++----
 serverloop.c |  8 ++++----
 4 files changed, 21 insertions(+), 21 deletions(-)

diff --git a/channels.c b/channels.c
index 028d5db2..d9e81b5f 100644
--- a/channels.c
+++ b/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 at cs.hut.fi>
  * Copyright (c) 1995 Tatu Ylonen <ylo at cs.hut.fi>, Espoo, Finland
@@ -1996,8 +1996,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;
@@ -2052,8 +2052,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;
 
@@ -2075,8 +2075,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);
 }
 
@@ -2085,9 +2085,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/channels.h b/channels.h
index 36e5363a..5ecb4d7c 100644
--- a/channels.h
+++ b/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 at cs.hut.fi>
@@ -249,9 +249,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/clientloop.c b/clientloop.c
index 248c9541..2934c476 100644
--- a/clientloop.c
+++ b/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 at cs.hut.fi>
  * Copyright (c) 1995 Tatu Ylonen <ylo at cs.hut.fi>, Espoo, Finland
@@ -506,8 +506,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() &&
@@ -1353,7 +1353,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/serverloop.c b/serverloop.c
index 5cc3fc09..bc56709b 100644
--- a/serverloop.c
+++ b/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 at cs.hut.fi>
  * Copyright (c) 1995 Tatu Ylonen <ylo at cs.hut.fi>, Espoo, Finland
@@ -207,8 +207,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)
@@ -411,7 +411,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);

-- 
To stop receiving notification emails like this one, please contact
djm at mindrot.org.


More information about the openssh-commits mailing list