nmap/nsock
david 9cd1ef697b Update nsock_tod before creating a timer.
nsock_tod is Nsock's idea of the current time. It is updated when an
nsock_pool is initialized, on each iteration of nsock_loop, and in a few
other places. What could go wrong, with respect to timers, is a sequence
like this:
	nsp_new
	[... some long delay ...]
	nsock_create_timer(timeout)
	nsock_loop
The time elapsed after the creatino of the timer until it fires would
not be timeout, but rather timeout - delay. If the delay was long
enough, the timer would fire as loop as nsock_loop was entered.

This showed itself in IPv6 OS detection. We schedule 6 timers
immediately, 100 ms apart. If the pcap_open or anything else took too
long, then the timers would fire all at once. This messed up the
calculation of the TCP_ISR feature.

Perhaps we should do this when any new event is created? It is already
done manually at the beginning of each of the connect functions.
2012-03-16 20:02:57 +00:00
..
examples Update the headers for each code file. This updates code copyright dates to 2012, notes the awesome NSE in the list of technology, and slightly rewords the derivative works clarification 2012-03-01 06:32:23 +00:00
include Added a --nsock-engine option to nmap, nping and ncat to enforce use of a 2012-03-01 09:05:02 +00:00
src Update nsock_tod before creating a timer. 2012-03-16 20:02:57 +00:00
nsock.vcxproj Merged nsock-engines from nmap-exp. This rewrite of the nsock library adds 2012-01-05 01:08:16 +00:00