Errors in CVS versions of core_udp_connect() and port enum
The networking swiss army knife
Status: Beta
Brought to you by:
themnemonic
Also found problems in core_udp_connect() - parameters were changed from standard values (AF_INET etc.) to NETCAT_* values which are different. But the UDP function was not updated (fixed in netcore.c, similarly in udphelper.c). Also recent (Open)Solaris enforce the irrelevance of SO_LINGER for UDP protocol by failing the setsockopt() call, so bad returns are now ignored.
Another problem was in port enumeration and counts - after initialization "0-0" was an initial port range, and it is invalid.
Repairs to these bugs and two previously reported by me today are attached to this report. Also includes a few more debug messages to trace failures in these codepaths.
Patch file to CVS version (as of 20110926) to fix UDP on OpenSolaris, port enumeration, debug mode...