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.c16
1 files changed, 11 insertions, 5 deletions
diff --git a/src/usr.bin/nc/netcat.c b/src/usr.bin/nc/netcat.c
index a10a8954c5..cec87ff731 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.85 2006/01/20 00:01:20 millert Exp $ */ 1/* $OpenBSD: netcat.c,v 1.86 2006/01/25 23:21:37 djm Exp $ */
2/* 2/*
3 * Copyright (c) 2001 Eric Jackson <ericj@monkey.org> 3 * Copyright (c) 2001 Eric Jackson <ericj@monkey.org>
4 * 4 *
@@ -70,6 +70,7 @@ int jflag; /* use jumbo frames if we can */
70int kflag; /* More than one connect */ 70int kflag; /* More than one connect */
71int lflag; /* Bind to local port */ 71int lflag; /* Bind to local port */
72int nflag; /* Don't do name look up */ 72int nflag; /* Don't do name look up */
73char *Pflag; /* Proxy username */
73char *pflag; /* Localport flag */ 74char *pflag; /* Localport flag */
74int rflag; /* Random ports flag */ 75int rflag; /* Random ports flag */
75char *sflag; /* Source Address */ 76char *sflag; /* Source Address */
@@ -92,8 +93,8 @@ void help(void);
92int local_listen(char *, char *, struct addrinfo); 93int local_listen(char *, char *, struct addrinfo);
93void readwrite(int); 94void readwrite(int);
94int remote_connect(const char *, const char *, struct addrinfo); 95int remote_connect(const char *, const char *, struct addrinfo);
95int socks_connect(const char *, const char *, struct addrinfo, const char *, const char *, 96int socks_connect(const char *, const char *, struct addrinfo,
96 struct addrinfo, int); 97 const char *, const char *, struct addrinfo, int, const char *);
97int udptest(int); 98int udptest(int);
98int unix_connect(char *); 99int unix_connect(char *);
99int unix_listen(char *); 100int unix_listen(char *);
@@ -123,7 +124,7 @@ main(int argc, char *argv[])
123 sv = NULL; 124 sv = NULL;
124 125
125 while ((ch = getopt(argc, argv, 126 while ((ch = getopt(argc, argv,
126 "46Ddhi:jklnp:rSs:tT:Uuvw:X:x:z")) != -1) { 127 "46Ddhi:jklnP:p:rSs:tT:Uuvw:X:x:z")) != -1) {
127 switch (ch) { 128 switch (ch) {
128 case '4': 129 case '4':
129 family = AF_INET; 130 family = AF_INET;
@@ -167,6 +168,9 @@ main(int argc, char *argv[])
167 case 'n': 168 case 'n':
168 nflag = 1; 169 nflag = 1;
169 break; 170 break;
171 case 'P':
172 Pflag = optarg;
173 break;
170 case 'p': 174 case 'p':
171 pflag = optarg; 175 pflag = optarg;
172 break; 176 break;
@@ -354,7 +358,8 @@ main(int argc, char *argv[])
354 358
355 if (xflag) 359 if (xflag)
356 s = socks_connect(host, portlist[i], hints, 360 s = socks_connect(host, portlist[i], hints,
357 proxyhost, proxyport, proxyhints, socksv); 361 proxyhost, proxyport, proxyhints, socksv,
362 Pflag);
358 else 363 else
359 s = remote_connect(host, portlist[i], hints); 364 s = remote_connect(host, portlist[i], hints);
360 365
@@ -818,6 +823,7 @@ help(void)
818 \t-k Keep inbound sockets open for multiple connects\n\ 823 \t-k Keep inbound sockets open for multiple connects\n\
819 \t-l Listen mode, for inbound connects\n\ 824 \t-l Listen mode, for inbound connects\n\
820 \t-n Suppress name/port resolutions\n\ 825 \t-n Suppress name/port resolutions\n\
826 \t-P proxyuser\tUsername for proxy authentication\n\
821 \t-p port\t Specify local port for remote connects\n\ 827 \t-p port\t Specify local port for remote connects\n\
822 \t-r Randomize remote ports\n\ 828 \t-r Randomize remote ports\n\
823 \t-S Enable the TCP MD5 signature option\n\ 829 \t-S Enable the TCP MD5 signature option\n\