diff options
author | djm <> | 2025-05-21 08:41:35 +0000 |
---|---|---|
committer | djm <> | 2025-05-21 08:41:35 +0000 |
commit | c6ea37f37e2639ae1be03aff7c79a5962ee70a62 (patch) | |
tree | fd82dbfdcc3f7656a8be12d00e46cfac88c898d3 /src/usr.bin/nc/netcat.c | |
parent | 80cafa36f69e0e544fce4f1ced15c277adaba45c (diff) | |
download | openbsd-c6ea37f37e2639ae1be03aff7c79a5962ee70a62.tar.gz openbsd-c6ea37f37e2639ae1be03aff7c79a5962ee70a62.tar.bz2 openbsd-c6ea37f37e2639ae1be03aff7c79a5962ee70a62.zip |
add SOCKS4A support to nc(1)'s proxy (-X) mode
SOCKS4A is a fairly obscure extension to the olde SOCKS4 protocol that
allows passing the destination as a string rather than a literal IPv4
address, which is the only thing that vanilla SOCKS4 supports.
The motivation for adding something so niche is to test the SOCKS4A
server code in ssh(1)'s dynamic forwarding (-D) support.
ok tb@
Diffstat (limited to 'src/usr.bin/nc/netcat.c')
-rw-r--r-- | src/usr.bin/nc/netcat.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/usr.bin/nc/netcat.c b/src/usr.bin/nc/netcat.c index 67beb10d0a..bf4a7ccf12 100644 --- a/src/usr.bin/nc/netcat.c +++ b/src/usr.bin/nc/netcat.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: netcat.c,v 1.230 2025/05/14 08:56:41 tb Exp $ */ | 1 | /* $OpenBSD: netcat.c,v 1.231 2025/05/21 08:41:35 djm Exp $ */ |
2 | /* | 2 | /* |
3 | * Copyright (c) 2001 Eric Jackson <ericj@monkey.org> | 3 | * Copyright (c) 2001 Eric Jackson <ericj@monkey.org> |
4 | * Copyright (c) 2015 Bob Beck. All rights reserved. | 4 | * Copyright (c) 2015 Bob Beck. All rights reserved. |
@@ -190,6 +190,8 @@ main(int argc, char *argv[]) | |||
190 | socksv = -1; /* HTTP proxy CONNECT */ | 190 | socksv = -1; /* HTTP proxy CONNECT */ |
191 | else if (strcmp(optarg, "4") == 0) | 191 | else if (strcmp(optarg, "4") == 0) |
192 | socksv = 4; /* SOCKS v.4 */ | 192 | socksv = 4; /* SOCKS v.4 */ |
193 | else if (strcasecmp(optarg, "4A") == 0) | ||
194 | socksv = 44; /* SOCKS v.4A */ | ||
193 | else if (strcmp(optarg, "5") == 0) | 195 | else if (strcmp(optarg, "5") == 0) |
194 | socksv = 5; /* SOCKS v.5 */ | 196 | socksv = 5; /* SOCKS v.5 */ |
195 | else | 197 | else |