There should be better error handling here in general, but an empty
string is something that Nmap can legitimately emit.
http://seclists.org/nmap-dev/2012/q2/876
We checked for OSError so that we could give a useful custom error
message on ENOENT. But on Windows, it is a WindowsError, which is a
subclass of OSError.
An important side effect of this change is the move the
--with-included-loaders flag from gtk2 to gdk-pixbuf2. This upstream
change:
http://git.gnome.org/browse/gtk+/commit/configure.in?h=gtk-2-24&id=cb29d2770714943af7b488a6a94f1f37b7466c8f
means that --with-included-loaders no longer has an effect when given to
gtk2's configure. This caused dynamic loaders to be searched for under
my /Users/david/macports-10.5 installation directory, which isn't
present after installing from the .dmg package.
Here's an report of a hang caused by the missing loaders:
http://seclists.org/nmap-dev/2012/q2/370
This restores code removed in r28342, which rewrites sys.path to include
the directory in which the Zenmap modules are installed. This is needed
to run the program without changes to PYTHONPATH when the installation
directory is not among the Python interpreter's default search paths.
(/usr/local/lib/python2.7/site-packages/ or a user's home directory are
common cases.) A difference is that now we make sure that the directory
we are adding is not writable by any other users, to avoid installation
mistakes like Debian bug #663217.
This is based on an idea from jah in
http://seclists.org/nmap-dev/2012/q1/655. Make ScanChooser and
DiffWindow take a flat list of scans, not a dict of names → scans, and
centralize the deduplication in ScanChooser.add_scan.
Remove the code from setup.py which augments the module search path with
install directories such as /usr/local/lib/python2.7/dist-packages/
because doing so is unnecessary, and can also be a potential security
risk if distributors do the initial install in world writeable
directories such as /tmp and then copy the resultant zenmap to
non-writeable dirs for installation on other systems.
This was contributed by Frederik Schwarzer and avoids this warning:
kbuildsycoca4(21865) KConfigGroup::readXdgListEntry: List entry Categories in "/usr/share/applications/zenmap.desktop" is not compliant with XDG standard (missing trailing semicolon).
If you have trouble updating after this revision you need to follow
these instructions. You have probably just seen an error like this:
svn: URL 'svn://svn.insecure.org/nping' of existing directory 'nping'
does not match expected URL 'svn://svn.insecure.org/nmap/nping'
This is caused by the replacement of SVN externals.
Here's what you need to do. First, save any local changes you might have
in the nping, nsock, nbase, ncat, and zenmap directories. (For example
by running "cd nping; svn diff > ../nping.diff".) If you don't have any
local changes you can skip this step.
Then run these commands:
rm -rf nping/ nsock/ nbase/ ncat/ zenmap/
svn update
svn cleanup
If all else fails, you can just delete your whole working directory and
check out anew:
svn co --username guest --password "" svn://svn.insecure.org/nmap
There may be further discussion in the mailing list thread at
http://seclists.org/nmap-dev/2011/q4/303.