Open log files in binary mode.

This avoids CRLF translation on Windows.
Put test filehandles into binary mode.
Automatically XFAIL SCTP tests on Windows.
XFAIL Unix domain socket tests on Windows.
[NSE] Updated parse_form function to support double quotes and return more attributes.
Split Windows/POSIX implementations of ncat_openlog.

O_BINARY doesn't exist on POSIX.
Minor updates to the descriptions of some new scripts
Sort nmap-os-db
Factor out icmp_probe_match.

Part of Chris Johnson's patch from
http://seclists.org/nmap-dev/2013/q3/296.
Store ICMP ID in ICMP probes.

Part of Chris Johnson's patch from
http://seclists.org/nmap-dev/2013/q3/296.
Match icmpid in icmp_probe_match.

Remainder of Chris Johnson's patch from
http://seclists.org/nmap-dev/2013/q3/296.

Previously, Nmap could match replies that came in response to an
original probe, with one of the retransmissions of the probe. One effect
was that latency would be measured to be smaller than it should. Chris
Johnson summarized the problem and showed how to reproduce it at
http://seclists.org/nmap-dev/2013/q3/113.
CHANGELOG for ICMP ID matching.
Update CHANGELOG for Nmap 6.40. I didn't realize just how many great improvements were in this release until I had to write them all down :)
[NSE] Convert these values to numeric (for example, when they passed as command line args).
Add --proxies to nmap help screen.
Document --proxies option.
Update --proxies docs
Regen man pages
Add some Nsock proxy todos and note some done tasks
Patch by nnposter that improves performance of http-default-accounts

http://seclists.org/nmap-dev/2013/q3/346

For any given fingerprint from http-default-accounts-fingerprints
script http-default-accounts currently tests corresponding default
credentials if at least one  of the probe URLs succeeded, namely
returned with status other than 404.

Some web servers, such as Linksys devices, respond with HTTP/401 even
for non-existent URLs. This causes the script to assume that these URLs
do exist and to test the credentials, while ideally they should be
tested only on those servers where they make sense.

The purpose of the attached patches is to reduce unnecessary credential
guessing by implementing a new optional fingerprint element, function
target_check(), which takes some already collected target information,
including a probe URL response, and returns true or false, indicating
whether the credential guessing should be attempted or not.

All of the current fingerprints have been retrofitted with simple
target validations as follows:

* If the fingerprint uses native HTTP authentication, validate that the
target's realm matches the server type.

* If the fingerprint uses form-based authentication, validate that the
probe URL returned with HTTP/200 (as opposed to perhaps HTTP/401).

When testing against the above-mentioned Linksys the difference was
notable: 14 login attempts before the patch versus 1 attempt after the
patch.

This functionality provides opportunity for further improvement by
being able to match page content to differentiate between real HTTP/200
and a custom error page. (As of now the script completely skips targets
that return HTTP/200 for non-existent pages.)