diff options
author | markus@openbsd.org <markus@openbsd.org> | 2017-09-21 19:16:53 +0000 |
---|---|---|
committer | Damien Miller <djm@mindrot.org> | 2017-09-22 09:14:53 +1000 |
commit | 609d7a66ce578abf259da2d5f6f68795c2bda731 (patch) | |
tree | fa0c5a5d6f04f69a6cd15bd4d3954412c4a1480c /ssh.c | |
parent | 36945fa103176c00b39731e1fc1919a0d0808b81 (diff) |
upstream commit
Add 'reverse' dynamic forwarding which combines dynamic
forwarding (-D) with remote forwarding (-R) where the remote-forwarded port
expects SOCKS-requests.
The SSH server code is unchanged and the parsing happens at the SSH
clients side. Thus the full SOCKS-request is sent over the forwarded
channel and the client parses c->output. Parsing happens in
channel_before_prepare_select(), _before_ the select bitmask is
computed in the pre[] handlers, but after network input processing
in the post[] handlers.
help and ok djm@
Upstream-ID: aa25a6a3851064f34fe719e0bf15656ad5a64b89
Diffstat (limited to 'ssh.c')
-rw-r--r-- | ssh.c | 5 |
1 files changed, 3 insertions, 2 deletions
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: ssh.c,v 1.463 2017/09/12 06:32:07 djm Exp $ */ | 1 | /* $OpenBSD: ssh.c,v 1.464 2017/09/21 19:16:53 markus Exp $ */ |
2 | /* | 2 | /* |
3 | * Author: Tatu Ylonen <ylo@cs.hut.fi> | 3 | * Author: Tatu Ylonen <ylo@cs.hut.fi> |
4 | * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland | 4 | * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland |
@@ -868,7 +868,8 @@ main(int ac, char **av) | |||
868 | break; | 868 | break; |
869 | 869 | ||
870 | case 'R': | 870 | case 'R': |
871 | if (parse_forward(&fwd, optarg, 0, 1)) { | 871 | if (parse_forward(&fwd, optarg, 0, 1) || |
872 | parse_forward(&fwd, optarg, 1, 1)) { | ||
872 | add_remote_forward(&options, &fwd); | 873 | add_remote_forward(&options, &fwd); |
873 | } else { | 874 | } else { |
874 | fprintf(stderr, | 875 | fprintf(stderr, |