diff options
author | Darren Tucker <dtucker@cvs.openbsd.org> | 2016-06-03 03:14:42 +0000 |
---|---|---|
committer | Darren Tucker <dtucker@cvs.openbsd.org> | 2016-06-03 03:14:42 +0000 |
commit | dae7b1260f4192cf92eeb3eaa188dba7067b7b17 (patch) | |
tree | 436159d7335bd30e7f015c6f7b7b76789335ddb9 | |
parent | 3a0e6a46a211c4aa0d2a9a84d401bf0e5b3f5c00 (diff) |
Move the host and port used by ssh -W into the Options struct.
This will make future changes a bit easier. ok djm@
-rw-r--r-- | usr.bin/ssh/mux.c | 10 | ||||
-rw-r--r-- | usr.bin/ssh/readconf.c | 4 | ||||
-rw-r--r-- | usr.bin/ssh/readconf.h | 6 | ||||
-rw-r--r-- | usr.bin/ssh/ssh.c | 23 |
4 files changed, 22 insertions, 21 deletions
diff --git a/usr.bin/ssh/mux.c b/usr.bin/ssh/mux.c index 8c5c8dc1518..c797fc6956d 100644 --- a/usr.bin/ssh/mux.c +++ b/usr.bin/ssh/mux.c @@ -1,4 +1,4 @@ -/* $OpenBSD: mux.c,v 1.59 2016/04/01 02:34:10 djm Exp $ */ +/* $OpenBSD: mux.c,v 1.60 2016/06/03 03:14:41 dtucker Exp $ */ /* * Copyright (c) 2002-2008 Damien Miller <djm@openbsd.org> * @@ -75,8 +75,6 @@ extern char *host; extern int subsystem_flag; extern Buffer command; extern volatile sig_atomic_t quit_pending; -extern char *stdio_forward_host; -extern int stdio_forward_port; /* Context for session open confirmation callback */ struct mux_session_confirm_ctx { @@ -1971,8 +1969,8 @@ mux_client_request_stdio_fwd(int fd) buffer_put_int(&m, MUX_C_NEW_STDIO_FWD); buffer_put_int(&m, muxclient_request_id); buffer_put_cstring(&m, ""); /* reserved */ - buffer_put_cstring(&m, stdio_forward_host); - buffer_put_int(&m, stdio_forward_port); + buffer_put_cstring(&m, options.stdio_forward_host); + buffer_put_int(&m, options.stdio_forward_port); if (mux_client_write_packet(fd, &m) != 0) fatal("%s: write packet: %s", __func__, strerror(errno)); @@ -2094,7 +2092,7 @@ muxclient(const char *path) u_int pid; if (muxclient_command == 0) { - if (stdio_forward_host != NULL) + if (options.stdio_forward_host != NULL) muxclient_command = SSHMUX_COMMAND_STDIO_FWD; else muxclient_command = SSHMUX_COMMAND_OPEN; diff --git a/usr.bin/ssh/readconf.c b/usr.bin/ssh/readconf.c index b9cb3884e9e..785003e3533 100644 --- a/usr.bin/ssh/readconf.c +++ b/usr.bin/ssh/readconf.c @@ -1,4 +1,4 @@ -/* $OpenBSD: readconf.c,v 1.254 2016/05/04 14:29:58 markus Exp $ */ +/* $OpenBSD: readconf.c,v 1.255 2016/06/03 03:14:41 dtucker Exp $ */ /* * Author: Tatu Ylonen <ylo@cs.hut.fi> * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland @@ -1733,6 +1733,8 @@ initialize_options(Options * options) options->forward_x11 = -1; options->forward_x11_trusted = -1; options->forward_x11_timeout = -1; + options->stdio_forward_host = NULL; + options->stdio_forward_port = 0; options->exit_on_forward_failure = -1; options->xauth_location = NULL; options->fwd_opts.gateway_ports = -1; diff --git a/usr.bin/ssh/readconf.h b/usr.bin/ssh/readconf.h index f0e498ea28f..a8b0b918848 100644 --- a/usr.bin/ssh/readconf.h +++ b/usr.bin/ssh/readconf.h @@ -1,4 +1,4 @@ -/* $OpenBSD: readconf.h,v 1.115 2016/05/04 12:21:53 markus Exp $ */ +/* $OpenBSD: readconf.h,v 1.116 2016/06/03 03:14:41 dtucker Exp $ */ /* * Author: Tatu Ylonen <ylo@cs.hut.fi> @@ -112,6 +112,10 @@ typedef struct { struct Forward *remote_forwards; int clear_forwardings; + /* stdio forwarding (-W) host and port */ + char *stdio_forward_host; + int stdio_forward_port; + int enable_ssh_keysign; int64_t rekey_limit; int rekey_interval; diff --git a/usr.bin/ssh/ssh.c b/usr.bin/ssh/ssh.c index adb88e9d455..bf715c561b2 100644 --- a/usr.bin/ssh/ssh.c +++ b/usr.bin/ssh/ssh.c @@ -1,4 +1,4 @@ -/* $OpenBSD: ssh.c,v 1.440 2016/05/04 14:29:58 markus Exp $ */ +/* $OpenBSD: ssh.c,v 1.441 2016/06/03 03:14:41 dtucker Exp $ */ /* * Author: Tatu Ylonen <ylo@cs.hut.fi> * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland @@ -136,10 +136,6 @@ int ostdin_null_flag, ono_shell_flag, otty_flag, orequest_tty; */ int fork_after_authentication_flag = 0; -/* forward stdio to remote host and port */ -char *stdio_forward_host = NULL; -int stdio_forward_port = 0; - /* * General data structure for command line options and options configurable * in configuration files. See readconf.h. @@ -621,7 +617,7 @@ main(int ac, char **av) options.fwd_opts.gateway_ports = 1; break; case 'O': - if (stdio_forward_host != NULL) + if (options.stdio_forward_host != NULL) fatal("Cannot specify multiplexing " "command with -W"); else if (muxclient_command != 0) @@ -740,13 +736,13 @@ main(int ac, char **av) } break; case 'W': - if (stdio_forward_host != NULL) + if (options.stdio_forward_host != NULL) fatal("stdio forward already specified"); if (muxclient_command != 0) fatal("Cannot specify stdio forward with -O"); if (parse_forward(&fwd, optarg, 1, 0)) { - stdio_forward_host = fwd.listen_host; - stdio_forward_port = fwd.listen_port; + options.stdio_forward_host = fwd.listen_host; + options.stdio_forward_port = fwd.listen_port; free(fwd.connect_host); } else { fprintf(stderr, @@ -1489,18 +1485,19 @@ ssh_init_stdio_forwarding(void) Channel *c; int in, out; - if (stdio_forward_host == NULL) + if (options.stdio_forward_host == NULL) return; if (!compat20) fatal("stdio forwarding require Protocol 2"); - debug3("%s: %s:%d", __func__, stdio_forward_host, stdio_forward_port); + debug3("%s: %s:%d", __func__, options.stdio_forward_host, + options.stdio_forward_port); if ((in = dup(STDIN_FILENO)) < 0 || (out = dup(STDOUT_FILENO)) < 0) fatal("channel_connect_stdio_fwd: dup() in/out failed"); - if ((c = channel_connect_stdio_fwd(stdio_forward_host, - stdio_forward_port, in, out)) == NULL) + if ((c = channel_connect_stdio_fwd(options.stdio_forward_host, + options.stdio_forward_port, in, out)) == NULL) fatal("%s: channel_connect_stdio_fwd failed", __func__); channel_register_cleanup(c->self, client_cleanup_stdio_fwd, 0); channel_register_open_confirm(c->self, ssh_stdio_confirm, NULL); |