summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--usr.bin/ssh/channels.c7
-rw-r--r--usr.bin/ssh/channels.h4
-rw-r--r--usr.bin/ssh/ssh.c6
3 files changed, 10 insertions, 7 deletions
diff --git a/usr.bin/ssh/channels.c b/usr.bin/ssh/channels.c
index 7351b3b6d8d..7c43bf38f94 100644
--- a/usr.bin/ssh/channels.c
+++ b/usr.bin/ssh/channels.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: channels.c,v 1.431 2023/06/05 13:24:36 millert Exp $ */
+/* $OpenBSD: channels.c,v 1.432 2023/07/04 03:59:21 dlg Exp $ */
/*
* Author: Tatu Ylonen <ylo@cs.hut.fi>
* Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
@@ -1622,7 +1622,7 @@ channel_decode_socks5(Channel *c, struct sshbuf *input, struct sshbuf *output)
Channel *
channel_connect_stdio_fwd(struct ssh *ssh,
- const char *host_to_connect, u_short port_to_connect,
+ const char *host_to_connect, int port_to_connect,
int in, int out, int nonblock)
{
Channel *c;
@@ -1639,7 +1639,8 @@ channel_connect_stdio_fwd(struct ssh *ssh,
c->force_drain = 1;
channel_register_fds(ssh, c, in, out, -1, 0, 1, 0);
- port_open_helper(ssh, c, "direct-tcpip");
+ port_open_helper(ssh, c, port_to_connect == PORT_STREAMLOCAL ?
+ "direct-streamlocal@openssh.com" : "direct-tcpip");
return c;
}
diff --git a/usr.bin/ssh/channels.h b/usr.bin/ssh/channels.h
index fae9cbd7fbf..36820d3ae9a 100644
--- a/usr.bin/ssh/channels.h
+++ b/usr.bin/ssh/channels.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: channels.h,v 1.150 2023/06/05 13:24:36 millert Exp $ */
+/* $OpenBSD: channels.h,v 1.151 2023/07/04 03:59:21 dlg Exp $ */
/*
* Author: Tatu Ylonen <ylo@cs.hut.fi>
@@ -354,7 +354,7 @@ Channel *channel_connect_to_port(struct ssh *, const char *, u_short,
char *, char *, int *, const char **);
Channel *channel_connect_to_path(struct ssh *, const char *, char *, char *);
Channel *channel_connect_stdio_fwd(struct ssh *, const char*,
- u_short, int, int, int);
+ int, int, int, int);
Channel *channel_connect_by_listen_address(struct ssh *, const char *,
u_short, char *, char *);
Channel *channel_connect_by_listen_path(struct ssh *, const char *,
diff --git a/usr.bin/ssh/ssh.c b/usr.bin/ssh/ssh.c
index 5d828f1cd82..3f90b6dd9a9 100644
--- a/usr.bin/ssh/ssh.c
+++ b/usr.bin/ssh/ssh.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: ssh.c,v 1.589 2023/06/21 05:08:32 djm Exp $ */
+/* $OpenBSD: ssh.c,v 1.590 2023/07/04 03:59:21 dlg Exp $ */
/*
* Author: Tatu Ylonen <ylo@cs.hut.fi>
* Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
@@ -881,7 +881,9 @@ main(int ac, char **av)
if (muxclient_command != 0)
fatal("Cannot specify stdio forward with -O");
if (parse_forward(&fwd, optarg, 1, 0)) {
- options.stdio_forward_host = fwd.listen_host;
+ options.stdio_forward_host =
+ fwd.listen_port == PORT_STREAMLOCAL ?
+ fwd.listen_path : fwd.listen_host;
options.stdio_forward_port = fwd.listen_port;
free(fwd.connect_host);
} else {