Red Hat Bugzilla – Bug 40689
the -w option does not work, instead, the program waits for connect() to return.
Last modified: 2014-03-16 22:20:47 EDT
From Bugzilla Helper:
User-Agent: Mozilla/4.0 (compatible; MSIE 5.1b1; Mac_PowerPC)
Description of problem:
There is a bug in the timeout mechanism of netcat under Linux (and
IRIX) due to the change in the way setjmp/longjmp is implemented in
the c library.
Steps to Reproduce:
1.pick an IP address that you cannot reach (e.g. behind a firewall,
non-routable, whatever) call it $host
2.nc -vvw2 $host 1-20
3.notice how only the FIRST attempt actualy times out in the 2
seconds you specify, and the rest wait for a full tcp timeout? This is
Actual Results: The first connect() attempt is correctly cut short after
2 seconds, while the rest wait for a full timeout.
Expected Results: Each attempt should have timed out after 2
This is due to a change in glibc, which decided to go one way, while
all the other libcs went another- simply because POSIX doesn't care
one way or the other.
It is broken under every version/distrobution of linux which uses glibc-
I have submitted this to debian already, and now you.
Created attachment 18410 [details]
A patch to bug 40689
I'm reassigning this bug. Netcat is included in the nc package in the distro
(not in Powertools).
Will be fixed in nc-1.10-11; thanks for the patch!