x86. This was due to a workaround for an Ancient Solaris 2.1 bug
which activated when the OS string matched "solaris2.1*". The
problem has now been resolved until Solaris 20 comes out and hits
our "solaris2.2*" bug workarounds. Thanks to Nathan Bills for the
problem report. Fixed by Fyodor.
only code left in Nmap that still uses rand() is in the Lua math
library. Perhaps at some point we'll need to expose high-quality random
numbers to Lua via our custom nmap library.
for remaining services on campus has been exceptionally poor.
* Added LANDesk Management Suite Targeted Multicast Service
* Changed Microsoft-HTTPAPI (SSDP/UPnP) match to be more generic to
better match the errors it returns
* Added OpenVMS 8.3 Alpha telnetd
* Changed vmware-auth matches to slightly generalize them so they catch
more auth settings
* Changed Snap Appliance webadmin to catch cases where a non-401
response is given
* Changed a generic Apache match to use non-greedy .* to fix
capturing too much (more work/testing needed to fully fix)
We still have a few hundred services to go on my todo list; I'm still
working on them...
Automake does. Otherwise, when you run an uninstall, it will delete
/usr/bin/nmap, not the nmap you might be staging elsewhere. This has no effect
if DESTDIR is undefined.
existing LUA library. A bashism caused one test to fail on system
which don't use bash as /bin/sh, and another bug fixed --with-liblua
configure option for specifying your own liblua. [Daniel
Roethlisberger]
Ensuring the safety of assert() calls by keeping NDEBUG undefined throughout
Nmap, Nbase and Nsock.
I've tested this on Linux and Windows XP without problems. On Windows I've
removed the definitions of _DEBUG and NDEBUG from the *.vcproj files.
Nmap 3.00 (July 31, 2002). Dates are in MM/DD/YY format. If someone
wants to track down dates for the last 22% of the file (pre-3.00), you
are welcome to do so and send a patch. Searching Google for the
version number and site:seclists.org seems to work well.
o Also started the process of preparing changelog for next release.
guide. They don't honor scan delay and may violate congestion control.
Both this things should be fixed. I was going to do it by having
get_next_target_probe just return the same probe multiple times, and
then either extend struct probespec to include a source address or have
sendIPScanProbe keep track of the decoy index and fill in source
addresses. But I was stopped by timing pings. Those should certainly be
decoyed, but in the code they are just sent as they are needed, and
don't have a dispatching function to modify. What would be good is a
global queue of probes waiting to be sent you could just insert all your
spoofed probes into, and then let the rest of the code take care of
scheduling them.
This change keeps a list of probes awaiting retransmit so that
doAnyOutstandingRetransmits doesn't have to search for them. At high
scan rates this function could take 100 ms or more. Now I have measured
it to take 2 ms or less.
The variable num_probes_waiting_retransmit has been renamed
num_probes_timed_out to better explain its purpose. This list of probes
that can be retransmitted immediately is called
probes_waiting_retransmits, but not all timed-out probes can be
retransmitted immediately. I've done my best to explain the distinction
in comments.
I thought long and hard about how to address this issue, and this is
what I decided on. But of course, every little optimization brings some
complexity and the chance of making a mistake. I'd appreciate someone
taking a look at this change.
-arch i386" when building a universal binary on Mac OS X, and you can't
generate dependencies while using those flags. Include directories were
previously moved to CPPFLAGS so the right dependencies are still found.
script. This is to enable us to use just CPPFLAGS where we don't want CXXFLAGS
also. An example of this is when we are generating dependencies with -MM. The
Apple GCC won't let us use this flag when we also give "-arch ppc -arch i386"
in CXXFLAGS, as we would when generating a universal binary.
metapackage (.mpkg) installer. The installer lets you pick if you want to
install Nmap or Zenmap or both. It puts Nmap in /usr/local and the previously
developed Zenmap.app in /Applications.
minutes. Part of what printStatusMessage does is display the total
elapsed time. The code looked like this:
log_write(LOG_STDOUT,
"Stats: %d:%02d:%02d elapsed; %d hosts completed (%d up), %d undergoing %s\n",
time/60/24, time/60 % 24, time % 60, o.numhosts_scanned - o.numhosts_scanning,
o.numhosts_up, o.numhosts_scanning, scantype2str(o.current_scantype));
where time is the number of seconds since the program started. However,
this code acts as though each hour has only 24 minutes. That is, after
0:23:59 it would become 1:00:00. This commit changes the 24s to 60s to
make it work right.
was always falling back to the system ARP cache. Of course this
raises the question of whether NmapArpCache is needed in the first
place. [Daniel Roethlisberger]