host, which means that it is either found down or else all
port/script/traceroute/etc. scanning is finished. In r12798 I made it be
updated as soon as DNS resolution happened, to make the status display
"X undergoing Ping Scan" accurate. However the main loop also uses this
variable to count how many addresses have been generated so it knows
when to stop scanning random addresses. If -iR was used, only the first
hostgroup out of all the random addresses would be fully scanned and
then the scan would end. This change fixes that and also makes the
output more like it was pre-r12798; for example, if you had done name
resolution on 1024 hosts with --max-hostgroup 8, and had found the 8th
up host at the 280th one pinged, the output was
Stats: 0:00:29 elapsed; 1016 hosts completed (8 up), 8 undergoing Connect Scan
and is now
Stats: 0:00:29 elapsed; 272 hosts completed (8 up), 8 undergoing Connect Scan
in Visual C++ in Debug mode. The isprint, isalpha, etc. functions from ctype.h
have an assertion that the value of the character passed in is <= 255. If you
pass a character whose value is >= 128, it is cast to an unsigned int, making
it a large positive number and failing the assertion. This is the same thing
that was reported in http://seclists.org/nmap-dev/2007/q2/0257.html, in regard
to non-ASCII characters in nmap-mac-prefixes.
fixed libc bug caused getaddrinfo(3) to fail unless a socket type
hint is provided. Patch originally provided by Hajimu UMEMOTO of
FreeBSD. [Daniel Roethlisberger]
loops that iterate over targets, not inside them. That prevents having
to iterate over every target doing nothing in the common case when those
scan types aren't used.
("and", "or", or "not") combined with categories, filenames, and filenames with
a '*', wildcard, to match many files. This change requires the script database
to be recompiled. Please see the thread at
http://seclists.org/nmap-dev/2009/q2/0100.html for more information.
messages. Instead of handling an error nicely, it caused a format string
error of its own:
./nselib/stdnse.lua:61: bad argument #3 to 'format' (string expected, got nil)
It seems that a deadlock happens immediately after one of these errors
occurs. This change doesn't fix the deadlock but allows the underlying
error message to be printed.
out of date. Here is an example:
NSE: failed to initialize the script engine:
./nse_main.lua:289: database appears to be corrupt or out of date;
please update using: nmap --script-updatedb
Windows. Use this bundle if no other was specified with --ssl-trustfile.
Instructions for extracting the certificates are included. I have to go back
now and make this compile on Unix.
which makes the 'to' value in a for .. to loop of type 'nil' - causing:
nselib/dns.lua:54: 'for' limit must be a number
stack traceback:
nselib/dns.lua:54: in function 'sendPackets'
nselib/dns.lua:194: in function 'query'
struct not being set in any of the pcap functions. Because of this,
the callback routines would attempt to use a NULL pointer for the lua_State *
and would then SEGFAULT.
[1] http://seclists.org/nmap-dev/2009/q2/0180.html