summaryrefslogtreecommitdiff
path: root/src/usr.bin/nc/netcat.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/usr.bin/nc/netcat.c')
-rw-r--r--src/usr.bin/nc/netcat.c19
1 files changed, 12 insertions, 7 deletions
diff --git a/src/usr.bin/nc/netcat.c b/src/usr.bin/nc/netcat.c
index a2cb168e32..5e034466d4 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.74 2004/09/15 18:44:45 deraadt Exp $ */ 1/* $OpenBSD: netcat.c,v 1.75 2004/10/17 03:13:55 djm Exp $ */
2/* 2/*
3 * Copyright (c) 2001 Eric Jackson <ericj@monkey.org> 3 * Copyright (c) 2001 Eric Jackson <ericj@monkey.org>
4 * 4 *
@@ -127,9 +127,14 @@ main(int argc, char *argv[])
127 family = AF_UNIX; 127 family = AF_UNIX;
128 break; 128 break;
129 case 'X': 129 case 'X':
130 socksv = (int)strtoul(optarg, &endp, 10); 130 if (strcasecmp(optarg, "connect") == 0)
131 if ((socksv != 4 && socksv != 5) || *endp != '\0') 131 socksv = -1; /* HTTP proxy CONNECT */
132 errx(1, "only SOCKS version 4 and 5 supported"); 132 else if (strcmp(optarg, "4") == 0)
133 socksv = 4; /* SOCKS v.4 */
134 else if (strcmp(optarg, "5") == 0)
135 socksv = 5; /* SOCKS v.5 */
136 else
137 errx(1, "unsupported proxy protocol");
133 break; 138 break;
134 case 'd': 139 case 'd':
135 dflag = 1; 140 dflag = 1;
@@ -779,8 +784,8 @@ help(void)
779 \t-u UDP mode\n\ 784 \t-u UDP mode\n\
780 \t-v Verbose\n\ 785 \t-v Verbose\n\
781 \t-w secs\t Timeout for connects and final net reads\n\ 786 \t-w secs\t Timeout for connects and final net reads\n\
782 \t-X vers\t SOCKS version (4 or 5)\n\ 787 \t-X proto Proxy protocol: \"4\", \"5\" (SOCKS) or \"connect\"\n\
783 \t-x addr[:port]\tSpecify socks proxy address and port\n\ 788 \t-x addr[:port]\tSpecify proxy address and port\n\
784 \t-z Zero-I/O mode [used for scanning]\n\ 789 \t-z Zero-I/O mode [used for scanning]\n\
785 Port numbers can be individual or ranges: lo-hi [inclusive]\n"); 790 Port numbers can be individual or ranges: lo-hi [inclusive]\n");
786 exit(1); 791 exit(1);
@@ -790,7 +795,7 @@ void
790usage(int ret) 795usage(int ret)
791{ 796{
792 fprintf(stderr, "usage: nc [-46DdhklnrStUuvz] [-i interval] [-p source_port]\n"); 797 fprintf(stderr, "usage: nc [-46DdhklnrStUuvz] [-i interval] [-p source_port]\n");
793 fprintf(stderr, "\t [-s source_ip_address] [-w timeout] [-X socks_version]\n"); 798 fprintf(stderr, "\t [-s source_ip_address] [-w timeout] [-X proxy_version]\n");
794 fprintf(stderr, "\t [-x proxy_address[:port]] [hostname] [port[s]]\n"); 799 fprintf(stderr, "\t [-x proxy_address[:port]] [hostname] [port[s]]\n");
795 if (ret) 800 if (ret)
796 exit(1); 801 exit(1);