Fix to new ssl-enum-ciphers codes from Martyn Tovey.

git-svn-id: https://svn.nmap.org/nmap@28313 e0a8ed71-7df4-0310-8962-fdc924857419
Pass a length argument to frame_is_arp.

git-svn-id: https://svn.nmap.org/nmap@28314 e0a8ed71-7df4-0310-8962-fdc924857419
Factor out common code from read_arp_reply_pcap and read_ns_reply_pcap.

git-svn-id: https://svn.nmap.org/nmap@28315 e0a8ed71-7df4-0310-8962-fdc924857419
Rearrange and document.

git-svn-id: https://svn.nmap.org/nmap@28316 e0a8ed71-7df4-0310-8962-fdc924857419
Don't duplicate #ifdefs.

git-svn-id: https://svn.nmap.org/nmap@28317 e0a8ed71-7df4-0310-8962-fdc924857419
Renamed http-drupal-users-enum to http-drupal-enum-users and fixed
documentation and arguments accordingly.


git-svn-id: https://svn.nmap.org/nmap@28318 e0a8ed71-7df4-0310-8962-fdc924857419
Add a non-blocking workaround for pcaps that buffer packets.

This is designed to solve the following problem: On Solaris 10 (maybe other
platforms), doing a select on a pcap fd works, in that it returns true when
there are frames available to be read. However, after finding the fd selectable
and calling pcap_dispatch (or pcap_next, etc.), libpcap may read more than one
frame and buffer them internally. This means that later calls to select will
return false. So there may be a frame to be read, but you can't know without
calling pcap_dispatch to check, and that blocks indefinitely (on Solaris) if
you're wrong.

The way this works is that we do a non-blocking read on the pcap fd to see if
there is anything available. If not, we do a select with a timeout as usual.
(The select is to enforce the timeout and prevent spinning CPU by repeatedly
trying non-blocking reads.)

I don't know if this phenomenon affects other platforms than Solaris 10
(more specifically, platforms using DLPI for libpcap). This same thing may be
safe or necessary on other platforms. But I have limited it to Solaris for now.
Solaris 11 uses BPF, not DLPI, for libpcap, but we can unconditionally follow
this code path on Solaris because BPF pcap fds can't be selected on.


git-svn-id: https://svn.nmap.org/nmap@28319 e0a8ed71-7df4-0310-8962-fdc924857419
Fix a bug in the last commit: need another level of indirection on packet pointer.

git-svn-id: https://svn.nmap.org/nmap@28320 e0a8ed71-7df4-0310-8962-fdc924857419
Apply the nonblocking pcap read trick in readip_pcap too.

git-svn-id: https://svn.nmap.org/nmap@28321 e0a8ed71-7df4-0310-8962-fdc924857419
CHANGELOG for pcap workaround.

git-svn-id: https://svn.nmap.org/nmap@28322 e0a8ed71-7df4-0310-8962-fdc924857419
Don't allow matching probes that haven't been sent.

This is a reversion of r26232 and r26230, which were themselves
reversions of r26201 and r26202 respectively, in
https://svn.nmap.org/nmap-exp/luis/nmap-os6@26232.

This code has gone back and forth a few times. Looking at it again, I
still think this way is more correct. At any rate, the other way
demonstrably leads to rare assertion failures (which are protecting
against a nonsensical subtraction with an all-zero timeval).


git-svn-id: https://svn.nmap.org/nmap@28325 e0a8ed71-7df4-0310-8962-fdc924857419
split a CPE-related entry into two, and move one of them up in the priority list

git-svn-id: https://svn.nmap.org/nmap@28329 e0a8ed71-7df4-0310-8962-fdc924857419
bugfix for withindomain and withinhost checks.


git-svn-id: https://svn.nmap.org/nmap@28332 e0a8ed71-7df4-0310-8962-fdc924857419
o [NSE] Added new script http-chrono, which measures min, max and average
  response times of web servers. [Ange Gutek]


git-svn-id: https://svn.nmap.org/nmap@28333 e0a8ed71-7df4-0310-8962-fdc924857419
Protect pcap_selectable_fd_valid from platforms that don't have it.

Thanks jah for catching this.

git-svn-id: https://svn.nmap.org/nmap@28335 e0a8ed71-7df4-0310-8962-fdc924857419