Nmap Development mailing list archives

Re: GSoC Proposal: Nmap on Maemo/ Symbian


From: David Fifield <david () bamsoftware com>
Date: Tue, 23 Mar 2010 09:51:49 -0600

On Tue, Mar 23, 2010 at 04:59:11PM +0530, Sukhbir Singh wrote:
As for a Qt port of Zenmap, a big issue is that we only want to
maintain one codebase.  Currently we use the same core Zenmap code for
Linux, Windows, and Mac because we only use cross-platform
dependencies (GTK, Python, etc.) and we pull those in on each
platform.  So we're not going to maintain both Qt and GTK versions of
Zenmap.  I suppose we could change Zenmap to use Qt rather than GTK on
all platforms, but that would be a lot of work and risk and so there
would have to be extremely compelling reasons to do so (not just to
make it work better on Symbian).  So it may be best to try and figure
out how you can make GTK and the other Zenmap dependencies work well
on Symbian.

I am aware of the Zenmap PyGTK requirement. A couple of quick points I will
make in this regard:

1. There is no port of the GTK+ toolkit on the Symbian platform. Qt/ C++ is
now used to program for Symbian, earlier it was Symbian C++ but that is no
longer preferred. So if we stick with GTK+, we have to rule out the Symbian
port.

It's great to be thinking about these things and I'm glad you're
interested in the project! I have to say though, that I think it's
completely unworkable to rewrite Zenmap using Qt. Even if it was
successful, we would have to abandon the existing GTK+ version. The key
thing, as Fyodor mentioned, is having to maintain two codebases. There's
no good way to do that.

2. However, if we were to use Qt, we would have two ports (actually three,
continue reading) in the three months time period - for Symbian and Maemo
both.

I'm pretty sure Zenmap does run on Maemo, at least there is code that is
designed to handle it. Fyodor had it running on a version of Maemo, just
not the most recent one.

Another interesting positive side effect (the third port) of this would be
that there would be a proper KDE front end for Nmap. The only one was: KNmap
[2], but that was last updated in 2006 and uses Qt 2.3 (latest is 4.6) Now
if we were to say that Symbian might fade away, KDE surely won't :)

There was a newer Qt interface to Nmap announced in December 2009. I
just looked and its most recent release was a few days ago. Maybe it
would be better to port that to work on Symbian?

http://www.nmapsi4.org/
http://seclists.org/nmap-dev/2009/q4/654

So effectively, I would be writing one code for three platforms to start
with, not to mention the other platforms that are supported by Qt. [3]

Also, if you are looking to port Nmap to different mobile platforms, there
has to be a deviation from the 'one code' base. Like if Nmap is to be ported
to Android, Java would be used, for iPhone, Objective C. But I think in the
case of Qt, the shift would be worth it.

Can't these platforms run native compiled code? Why does the language
matter? I'm pretty sure Nmap runs on Android, but I'm not sure about
Zenmap.

Thanks for the ideas. I'm looking at this from the point of view of a
maintenance programmer, so naturally I'm going to resist big changes
like this. But sometimes change is good. Anyway, it's good to see
thought going into the future direction of the interface of Zenmap.

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


Current thread: