summaryrefslogtreecommitdiff
path: root/usr.bin/nc
AgeCommit message (Collapse)Author
2024-11-02netcat: drop caddr_t cast. It's not needed and not portable.Theo Buehler
From Jonas 'Sortie' Termansen
2024-08-05Remove bogus connect(s, NULL, 0) callTheo Buehler
The only thing it does is error because of a check added in sockargs() in uipc_syscalls r1.155. As guenther pointed out, this may have been added because of a misreading of the last sentence of the first paragraph of the connect(2) manual. Instead of erroring, this will keep listening if -k is given and otherwise it will close the socket and exit with success. ok guenther jeremy
2024-08-02nc(1): remove useless function pointer dereferencingJan Klemkow
ok tb@
2024-04-01Mention that port can be specified as 0 in some situations, so that theTheo de Raadt
system will allocate a port.
2023-08-14netcat: avoid issuing syscalls on fd -1Theo Buehler
In case a socket error condition occurs, readwrite() invalidates the corresponding fd. Later on, readwrite() may still issue a syscall on it. Avoid that by adding a couple of checks for fd == -1. Reported and fix suggested by Leah Neukirchen. Fixes https://github.com/libressl/openbsd/issues/143 "looks right" deraadt
2023-01-04ugly white spaceTheo de Raadt
2022-12-18nc: skip connection info on failed or skipped udptest()Theo Buehler
In udp mode, nc would always print that the connected succeeded independently of whether that was actually the case. Don't do that. idea/ok mpf
2022-12-18nc: do not test the connection in non-interactive modeTheo Buehler
The connection test writes four X to the socket, which corrupts data that we may want to pipe into nc. So don't do that if stdin is not a tty but still do it in scan mode, this is needed according to chris. based on a diff by and ok mpf
2022-12-18nc: clean up and simplify connection_infO()Theo Buehler
ok mpf as part of a larger diff
2022-12-18nc: pass protocol name to connection_info()Theo Buehler
Avoids repeated use of ternary operator on globals.
2022-12-18nc: factor printing of connection info into a functionTheo Buehler
This simply moves a chunk of code in this spaghetti mess into its own function with minimal changes. idea from a diff by mpf
2022-09-11Replace archaic \*(Lt and \*(Gt by plain < and >, respectively,Ingo Schwarze
because these inspire devotion to cargo cult in developers. Cleanup suggested by kn@.
2022-06-08do not refuse valid IPv6 addresses in -X connect (HTTP CONNECT proxy)Damien Miller
support. Identified by Wilmer van der Gaast, ok millert@
2022-06-08KNF, mostly whitespace - no binary change on amd64Theo Buehler
2021-07-12Change the error reporting pattern throughout the tree when unveilBob Beck
fails to report the path that the failure occured on. Suggested by deraadt@ after some tech discussion. Work done and verified by Ashton Fagg <ashton@fagg.id.au> ok deraadt@ semarie@ claudio@
2021-03-31one of the examples needs an -N (and explanation);Jason McIntyre
diff from robert scheck discussed with and tweaked by sthen
2020-02-12Standardize argument naming for "sourceaddr" and unify the wording a bit,Ingo Schwarze
similar to what deraadt@ recently did in other manual pages.
2020-01-26revert previous nc loop refactor from 1.211, breaks bluhm's stuffBob Beck
will attempt again later, now that there is new regress
2020-01-07If the client provides a TLS certificate and the user specifies aAlexander Bluhm
hash value on the nc(1) server command line, the netcat server must use the TLS context of the accepted socket for verification. As the listening socket was used instead, the verification was always successful. If the peer provides a certificate, there must be a hash. Make the hash verification fail safe. OK tb@
2020-01-06The unveil(2) for nc -U -u -l was wrong. The server cannot unveilAlexander Bluhm
the file system as it has to connect to the UNIX domain client socket. The path of the latter is determined dynamically. Instead add a restrictive pledge(2) after connect(2). OK tb@
2020-01-06When using UNIX domain sockets, always call report_sock() with theAlexander Bluhm
path name of the socket. This avoids bad errors from getnameinfo(3). Use the same error check for both calls to getnameinfo(3). OK millert@ tb@
2019-11-17fail to usage if extra argv are presentTheo de Raadt
noticed by jsing and beck, ok tedu
2019-11-13refactor the nc pool loop to not shut down the socket early, andBob Beck
to handle tls_shutdown correctly if using TLS, doing tls_shutdown correctly if we are using the -N flag ok sthen@
2019-11-04Fix an out of bound read/write when using a proxy.Todd C. Miller
From Lucas AT sexy DOT is. OK job@ kn@
2019-10-24Service names are still resolved with -nkn
Just like pfctl(8)'s -N, this flag only avoid DNS; "nc -vz ::1 socks" still works. Fix documentation by copying pfctl's wording. OK deraadt
2019-10-24Print IP address in verbose modejob
OK kn@
2019-10-23Revert previous, which works for -N case but causes regress failuresBob Beck
for tls, since the socket is shut down without calling tls_close(). Since nc appears to have a problem with this in other shutdown() cases I am simply going to bake a new diff for this. noticed by bluhm@.
2019-10-17Fix -N flag to actually shut down the (entire) socket when the inputBob Beck
goes away. This allows for using nc in cases where the network server will no longer expect anything after eof, instead of hanging waiting for more input from our end. Additionaly, shut down if tls is in use if either side of the socket goes away, since we higher level TLS operations (tls_read and write) will require the socket to be both readable and writable as we can get TLS_WANT_POLLIN or TLS_WANT_POLLOUT on either operation. deraadt@ buying it. found by sthen@
2019-08-08added /* no filesystem visibility */ above unveil("/", "") since "" is too easyRicardo Mestre
to misread. as per suggestion by and OK deraadt@
2019-07-29Make proxy auth work with http 1.1 speaking webservers.Sebastian Benoit
Diff from Alexander Koeppe format_c -AT- online -DOT- de, thanks. ok deraadt@
2019-07-03snprintf/vsnprintf return < 0 on error, rather than -1.Theo de Raadt
2019-06-28When system calls indicate an error they return -1, not some arbitraryTheo de Raadt
value < 0. errno is only updated in this case. Change all (most?) callers of syscalls to follow this better, and let's see if this strictness helps us in the future.
2019-06-27Some asprintf() calls were checked < 0, rather than the precise == -1.Theo de Raadt
ok millert nicm tb, etc
2019-02-26Correctly handle tls_read() and tls_write() failures.Joel Sing
Otherwise a TLS error (for example the remote end sent a fatal alert) is silently ignored. ok bluhm@ tb@
2019-01-10Revert back previous commit and stop including strings.hRicardo Mestre
Use memset(3) instead of bzero(3) since POSIX recommends using the former and because it's also more portable (conforms to ANSI C standard) OK tedu@ tb@
2019-01-09Include strings.h for bzero in usr.bin/ncKinichiro Inoguchi
bzero is defined in strings.h. ok deraadt@
2018-12-27too many words in previous;Jason McIntyre
2018-12-27port ranges can be ambiguous with hypenated port-names.Ted Unangst
specify that ranges must be numeric, and only check for range if first argument is a digit. identified by danj, fix suggest by sthen
2018-11-29update for libtls default cert changes.Ted Unangst
bonus: this exposed a few missing const qualifiers.
2018-11-09In verbose mode netcat reports to stderr when the listen systemAlexander Bluhm
call has finished. This allows to write race free scripts as they can check that the server is up and running. OK sthen@ tb@
2018-11-06Use TLS_CA_CERT_FILE instead of a separate define.Joel Sing
ok beck@ bluhm@ tb@
2018-10-26show what went wrong with a unix domain socket, rather than fail silentlyDavid Gwynne
handy if you type the path wrong or don't have permission... ok deraadt@
2018-10-04Plug TLS context leak in nc(1) server and client mode. MoveAlexander Bluhm
tls_free(3) directly after close(2) to catch all cases. based on a patch from Nan Xiao; OK tb@ deraadt@
2018-09-25-T applies to ip6 too, apparently;Jason McIntyre
from nan xiao
2018-09-07Declare strings passed to local_listen() as const. This makes itAlexander Bluhm
consistent to remote_connect() and getaddrinfo(3). from Nan Xiao
2018-09-06Do not close the socket twice in netcat.Alexander Bluhm
from Nan Xiao; OK tb@
2018-08-17spelling;Jason McIntyre
2018-08-17Make the wording more concise, use the imperative throughout, stateIngo Schwarze
more precisely which options require which other options, add many missing incompatibilities, mention the default for -e, and some macro cleanup. OK jmc@ tb@
2018-08-10In typical swiss-army style, various modes and options causeTheo de Raadt
different unveils. Joint work with beck and florian. Let us know if you hit any corner cases.
2018-04-27trailing whitespace, and move arg checking before pledgeBob Beck
in preparation for pledgepath ok deraadt@