diff options
author | markus <> | 2004-07-15 15:07:52 +0000 |
---|---|---|
committer | markus <> | 2004-07-15 15:07:52 +0000 |
commit | b53060ba50604219e47eced0aca13d53d0b98b80 (patch) | |
tree | 096e994e24209a61de2f3b5d5c6e9eb2a501680b /src/usr.bin | |
parent | b30926eb26089ec41bda98ce642ae145915f9a26 (diff) | |
download | openbsd-b53060ba50604219e47eced0aca13d53d0b98b80.tar.gz openbsd-b53060ba50604219e47eced0aca13d53d0b98b80.tar.bz2 openbsd-b53060ba50604219e47eced0aca13d53d0b98b80.zip |
add -D for sodebug; ok deraadt, jmc
Diffstat (limited to 'src/usr.bin')
-rw-r--r-- | src/usr.bin/nc/nc.1 | 6 | ||||
-rw-r--r-- | src/usr.bin/nc/netcat.c | 21 |
2 files changed, 22 insertions, 5 deletions
diff --git a/src/usr.bin/nc/nc.1 b/src/usr.bin/nc/nc.1 index 719cdd8466..182950a952 100644 --- a/src/usr.bin/nc/nc.1 +++ b/src/usr.bin/nc/nc.1 | |||
@@ -1,4 +1,4 @@ | |||
1 | .\" $OpenBSD: nc.1,v 1.31 2004/03/12 10:10:00 jmc Exp $ | 1 | .\" $OpenBSD: nc.1,v 1.32 2004/07/15 15:07:52 markus Exp $ |
2 | .\" | 2 | .\" |
3 | .\" Copyright (c) 1996 David Sacerdote | 3 | .\" Copyright (c) 1996 David Sacerdote |
4 | .\" All rights reserved. | 4 | .\" All rights reserved. |
@@ -34,7 +34,7 @@ | |||
34 | .Sh SYNOPSIS | 34 | .Sh SYNOPSIS |
35 | .Nm nc | 35 | .Nm nc |
36 | .Bk -words | 36 | .Bk -words |
37 | .Op Fl 46dhklnrStUuvz | 37 | .Op Fl 46DdhklnrStUuvz |
38 | .Op Fl i Ar interval | 38 | .Op Fl i Ar interval |
39 | .Op Fl p Ar source_port | 39 | .Op Fl p Ar source_port |
40 | .Op Fl s Ar source_ip_address | 40 | .Op Fl s Ar source_ip_address |
@@ -91,6 +91,8 @@ to use IPv4 addresses only. | |||
91 | Forces | 91 | Forces |
92 | .Nm | 92 | .Nm |
93 | to use IPv6 addresses only. | 93 | to use IPv6 addresses only. |
94 | .It Fl D | ||
95 | Enable debugging on the socket. | ||
94 | .It Fl d | 96 | .It Fl d |
95 | Do not attempt to read from stdin. | 97 | Do not attempt to read from stdin. |
96 | .It Fl h | 98 | .It Fl h |
diff --git a/src/usr.bin/nc/netcat.c b/src/usr.bin/nc/netcat.c index ee151972e8..ea907d6b1a 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.72 2004/03/12 10:10:00 jmc Exp $ */ | 1 | /* $OpenBSD: netcat.c,v 1.73 2004/07/15 15:07:52 markus Exp $ */ |
2 | /* | 2 | /* |
3 | * Copyright (c) 2001 Eric Jackson <ericj@monkey.org> | 3 | * Copyright (c) 2001 Eric Jackson <ericj@monkey.org> |
4 | * | 4 | * |
@@ -73,6 +73,7 @@ int uflag; /* UDP - Default to TCP */ | |||
73 | int vflag; /* Verbosity */ | 73 | int vflag; /* Verbosity */ |
74 | int xflag; /* Socks proxy */ | 74 | int xflag; /* Socks proxy */ |
75 | int zflag; /* Port Scan Flag */ | 75 | int zflag; /* Port Scan Flag */ |
76 | int Dflag; /* sodebug */ | ||
76 | int Sflag; /* TCP MD5 signature option */ | 77 | int Sflag; /* TCP MD5 signature option */ |
77 | 78 | ||
78 | int timeout = -1; | 79 | int timeout = -1; |
@@ -114,7 +115,7 @@ main(int argc, char *argv[]) | |||
114 | endp = NULL; | 115 | endp = NULL; |
115 | sv = NULL; | 116 | sv = NULL; |
116 | 117 | ||
117 | while ((ch = getopt(argc, argv, "46UX:dhi:klnp:rs:tuvw:x:zS")) != -1) { | 118 | while ((ch = getopt(argc, argv, "46Ddhi:klnp:rSs:tUuvw:X:x:z")) != -1) { |
118 | switch (ch) { | 119 | switch (ch) { |
119 | case '4': | 120 | case '4': |
120 | family = AF_INET; | 121 | family = AF_INET; |
@@ -184,6 +185,9 @@ main(int argc, char *argv[]) | |||
184 | case 'z': | 185 | case 'z': |
185 | zflag = 1; | 186 | zflag = 1; |
186 | break; | 187 | break; |
188 | case 'D': | ||
189 | Dflag = 1; | ||
190 | break; | ||
187 | case 'S': | 191 | case 'S': |
188 | Sflag = 1; | 192 | Sflag = 1; |
189 | break; | 193 | break; |
@@ -486,6 +490,11 @@ remote_connect(char *host, char *port, struct addrinfo hints) | |||
486 | &x, sizeof(x)) == -1) | 490 | &x, sizeof(x)) == -1) |
487 | err(1, NULL); | 491 | err(1, NULL); |
488 | } | 492 | } |
493 | if (Dflag) { | ||
494 | if (setsockopt(s, SOL_SOCKET, SO_DEBUG, | ||
495 | &x, sizeof(x)) == -1) | ||
496 | err(1, NULL); | ||
497 | } | ||
489 | 498 | ||
490 | if (connect(s, res0->ai_addr, res0->ai_addrlen) == 0) | 499 | if (connect(s, res0->ai_addr, res0->ai_addrlen) == 0) |
491 | break; | 500 | break; |
@@ -542,6 +551,11 @@ local_listen(char *host, char *port, struct addrinfo hints) | |||
542 | if (ret == -1) | 551 | if (ret == -1) |
543 | err(1, NULL); | 552 | err(1, NULL); |
544 | } | 553 | } |
554 | if (Dflag) { | ||
555 | if (setsockopt(s, SOL_SOCKET, SO_DEBUG, | ||
556 | &x, sizeof(x)) == -1) | ||
557 | err(1, NULL); | ||
558 | } | ||
545 | 559 | ||
546 | if (bind(s, (struct sockaddr *)res0->ai_addr, | 560 | if (bind(s, (struct sockaddr *)res0->ai_addr, |
547 | res0->ai_addrlen) == 0) | 561 | res0->ai_addrlen) == 0) |
@@ -753,6 +767,7 @@ help(void) | |||
753 | fprintf(stderr, "\tCommand Summary:\n\ | 767 | fprintf(stderr, "\tCommand Summary:\n\ |
754 | \t-4 Use IPv4\n\ | 768 | \t-4 Use IPv4\n\ |
755 | \t-6 Use IPv6\n\ | 769 | \t-6 Use IPv6\n\ |
770 | \t-D Enable the debug socket option\n\ | ||
756 | \t-d Detach from stdin\n\ | 771 | \t-d Detach from stdin\n\ |
757 | \t-h This help text\n\ | 772 | \t-h This help text\n\ |
758 | \t-i secs\t Delay interval for lines sent, ports scanned\n\ | 773 | \t-i secs\t Delay interval for lines sent, ports scanned\n\ |
@@ -778,7 +793,7 @@ help(void) | |||
778 | void | 793 | void |
779 | usage(int ret) | 794 | usage(int ret) |
780 | { | 795 | { |
781 | fprintf(stderr, "usage: nc [-46dhklnrStUuvz] [-i interval] [-p source_port]\n"); | 796 | fprintf(stderr, "usage: nc [-46DdhklnrStUuvz] [-i interval] [-p source_port]\n"); |
782 | fprintf(stderr, "\t [-s source_ip_address] [-w timeout] [-X socks_version]\n"); | 797 | fprintf(stderr, "\t [-s source_ip_address] [-w timeout] [-X socks_version]\n"); |
783 | fprintf(stderr, "\t [-x proxy_address[:port]] [hostname] [port[s]]\n"); | 798 | fprintf(stderr, "\t [-x proxy_address[:port]] [hostname] [port[s]]\n"); |
784 | if (ret) | 799 | if (ret) |