Nmap Development mailing list archives

Re: Testing packages for Zenmap on Mac OS X now available


From: Nathan <nathan.stocks () gmail com>
Date: Wed, 23 Apr 2008 17:43:38 -0600

I'll address my comments to the generic "you" knowing that I really
have no idea who is doing the actual development on this project.

 2. Make an installer that copies Nmap command-line programs to /usr/bin
   and Zenmap.app to /Applications.

I believe the preferred location for custom command-line binaries to
be installed on OS X is /usr/local/bin.  I vote for this option.

 Zenmap doesn't run as root. I haven't found a convenient way to run it
 as root. You can do it by peeking inside the application bundle:
        sudo /Volumes/Zenmap-4.60/Zenmap.app/Contents/MacOS/zenmap
 But there has to be a better way. Please write nmap-dev () insecure org if
 you have suggestions.

Why does Zenmap require to be run as root?  Isn't it just a gui?  If
it's just to call nmap with root privileges, you should really
consider calling nmap with sudo or something similar.  It's not
unheard of for GUI apps who actually do need some root privileges at
some point to use the appropriate OS X framework to prompt the user
for their password when necessary.  I'd just tell you how, but I'm not
experienced with OS X GUI programming, but I bet you the guys on this
list would have lots to say about it:

http://lists.apple.com/mailman/listinfo/unix-porting

 /usr/local/bin is not in the default PATH. As mentioned above, currently
 you have to install Nmap separately. When Nmap is compiled from source,
 by default it is installed in /usr/local/bin. But /usr/local/bin is
 *not* in the default OS X PATH! You will see an error in Zenmap:
 "[Errno 2] No such file or directory". I don't recommend installing Nmap
 with a prefix of /usr, but you can make a symbolic link from
 /usr/bin/nmap to /usr/local/bin/nmap and it will work fine.

Ah, so that's your reason for avoiding /usr/local/bin.  Couldn't
Zenmap simply check for /usr/local/bin/nmap explicitly?  It IS the
default installation location, after all...

As to users not having it in their default path for command-line use,
may I suggest something along the lines of the pseudo-code of

(if /usr/local/bin isn't in $PATH, then)
  (add "PATH=$PATH:/usr/local/bin" to the end of the startup files of
the user's chosen shell)

Of course, the guys on the unix-porting list probably have a slicker
way to do that.

 Running the application from a directory whose name contains a space
 fails. The wrapper scripts necessary to package GTK+ and Pango need to
 carefully escape paths in the files they write.

That's probably a good fix for all operating systems that support
spaces in directory names.  :-)

~ Nathan

_______________________________________________
Sent through the nmap-dev mailing list
http://cgi.insecure.org/mailman/listinfo/nmap-dev
Archived at http://SecLists.Org


Current thread: