Index: channels.c =================================================================== RCS file: /cvs/src/usr.bin/ssh/channels.c,v retrieving revision 1.427 diff -u -p -r1.427 channels.c --- channels.c 18 Jan 2023 02:00:10 -0000 1.427 +++ channels.c 20 Jan 2023 10:07:59 -0000 @@ -1622,14 +1622,20 @@ channel_decode_socks5(Channel *c, struct 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) { + char *ctype = "stdio-forward"; + char *rtype = "direct-tcpip"; Channel *c; debug_f("%s:%d", host_to_connect, port_to_connect); - c = channel_new(ssh, "stdio-forward", SSH_CHANNEL_OPENING, in, out, + if (port_to_connect == PORT_STREAMLOCAL) + ctype = rtype = "direct-streamlocal@openssh.com"; + + c = channel_new(ssh, ctype, + SSH_CHANNEL_OPENING, in, out, -1, CHAN_TCP_WINDOW_DEFAULT, CHAN_TCP_PACKET_DEFAULT, 0, "stdio-forward", nonblock); @@ -1639,7 +1645,7 @@ channel_connect_stdio_fwd(struct ssh *ss 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, rtype); return c; } Index: channels.h =================================================================== RCS file: /cvs/src/usr.bin/ssh/channels.h,v retrieving revision 1.148 diff -u -p -r1.148 channels.h --- channels.h 18 Jan 2023 02:00:10 -0000 1.148 +++ channels.h 20 Jan 2023 10:07:59 -0000 @@ -354,7 +354,7 @@ Channel *channel_connect_to_port(struct 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 *, Index: ssh.c =================================================================== RCS file: /cvs/src/usr.bin/ssh/ssh.c,v retrieving revision 1.584 diff -u -p -r1.584 ssh.c --- ssh.c 17 Jan 2023 18:52:44 -0000 1.584 +++ ssh.c 20 Jan 2023 10:07:59 -0000 @@ -878,7 +878,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 {