Windows and UNIX, and install/distro system for the source tarball, RPM, OS X
installer (thanks to David) and the Windows installer.
configure --without-ncat keeps it out on Unix
too. The section in scripting.xml about creating C modules is gone. (But maybe
it should be replaced with a tutorial on making static modules?) The only
places where nselib-bin is still referenced are in mswin32/nsis/Nmap.nsi, where
it is still removed on uninstallation; and in mswin32/nmap.vcproj, from where I
don't have the resources now to remove it.
nse_main and nse_nsock. nse_main now uses Lua to create printable output
while a cleaner hexify procedure has been placed in nsock.
nse_string is removed as a result.
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.