Now does most of it's work through Lua:
From Nmap-dev: "Many of the changes consist of changing how Nmap interfaces
with Lua that were sometimes awkward or inflexible. Most of the functions
have been made to be callable directly by Lua which offers many technical
advantages: stack management is alleviated, errors are handled cleanly and
are more descriptive, and there is increased reusability."
Additionally:
-- Moved all lua_State * symbols from "l" to "L". This is to maintain
consistency with other Lua libraries (convention) and to make our macros portable.
-- Moved file system manipulation over to nse_fs.cc (from nse_init.cc)
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.
-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.
following command:
grep -l 'umitGUI\|umitCore' * -r | grep -v '/\.svn/' | xargs -n 1 -t sed -i -e 's/umitGUI/zenmapGUI/' -e 's/umitCore/zenmapCore/'
This allows both Umit and Zenmap to be installed at the same time.
"all" depending on libpcre/libpcre.a, it now depends on a target pcre_build,
which always runs and does the build in the subdirectory. "nmap" depends on
libpcre/libpcre.a itself. The same thing happens for other subdirectory builds.
Subdirectory builds are prerequisites of "all" and "make nmap" happens in the
body of "all" so the subdirectories are always built first.
or strip with no arguments was stripping dynamically loaded NSE functions on
Mac OS X. The difference between plain strip and strip -x was so slight on
Linux that I just made it unconditional.
"/usr/bin/env python" when DESTDIR is defined. This keeps from hardcoding a
specific interpreter location when building for installation on another
machine.
care of building all prerequisites. One downside is that you can't do
"make nmap" in an clean tree any more, if anyone ever did that. You have
to do "make" once to build the prerequisites. This is how Automake does
it. I'll keep thinking about this.
updating one of Umit's version numbers and having Umit adjust all the others,
Nmap calls a script of Umit's that updates all its version numbers at once.
This also makes Umit's versioning scheme more independent of Nmap's.
This is the merging of the code that was previously in
/nmap-exp/david/nmap-massping-migration. These are all the big changes
that get rid of massping in favor of doing host discovery using
ultra_scan.
For now, there is a toggle that turns these new changes off. Undefine
NEW_MASSPING in targets.cc to go back to the old code. All of that will
be deleted eventually.
There are likely a few more changes that will be made to this system in
the near future. Those will be made in
/nmap-exp/david/nmap-massping-migration and merged back.
Don't release this just yet, because I'm going to make a few more
commits real quick to remove some debugging stuff.
(Note to self: this merge back was from r5693 in
/nmap-exp/david/nmap-massping-migration.)