Nmap Development mailing list archives

Nmap 2.54BETA19


From: Fyodor <fyodor () insecure org>
Date: Tue, 2 Jan 2001 02:44:53 -0800 (PST)


Hello,

I hope everyone on nmap-dev had a fantastic time during the holidays!  
Too bad it is over and most of us have to go to work tomorrow!

I had some free time today to port NmapFE to Win32.  It generally seems to
work on my Win2K box, although it ran into problems on my NT4 testbed (
divide by zero exception in GDK).  I haven't tried it on Win95/98/ME
yet.  If anyone has a chance to try it, I would be interested in hearing
your results.

I snuck the new binaries/source into the dist directory at:

http://www.insecure.org/nmap/dist/nmap-2.54BETA19.tgz
http://www.insecure.org/nmap/dist/nmap-2.54BETA19-win32.zip

This isn't a "real" release so please don't announce it on
freshmeat/technotronic/etc.

The Win32 zip is much bigger than usual since I stuck the Glib/GDK/GTK
DLLs in with it.  This is extra overhead for people who already have those
installed, but I doubt very many people do.

Here is a question for the Windows programmers:  Is there an easy way to
do a non-blocking read (or at least check if data is available) on a
Windows anonymous pipe?  What I tried in NmapFE was something to the
effect of:

if (WaitForSingleObject(pipe, 0) == WAIT_OBJECT_0)
    ReadFile(pipe, buf, bufsz, &count, NULL);

I was hoping the Wait would only return WAIT_OBJECT_0 if the pipe had data
which was ready to be read (or if it was closed).  But that doesn't seem
to be working, and so it goes and blocks in ReadFile().  This is why
you'll notice that the GUI is not responsive during a scan.

Anyone have a better idea?  Suggestions and (even better) patches are
welcome.  I don't want to use threads, and it should be portable among
Windows versions.  Overlapped I/O is a possibility although that might
require many changes to the structure of the source code.

Here is the CHANGELONG for BETA19:

-- I ported NmapFE to Windows so that Win32 users can use the
   graphical interface.  It generally works on my W2K box, although
   testing is not complete.  Patches welcome!

-- Various little fixes and cleanups, especially to the Windows port.

-- Applied patch from Andy Lutomirski (Luto () mailandnews com) which
   enhances some of the Win* error messages and adds the --win_trace
   debugging option.

-- Applied some patches from Jay Freeman (saurik () saurik com)
   -- New --data_length option adds indicated number of random data
   bytes to send with scan packet and tcp ping packet (does not
   currently work with ICMP ping packet).  Does not affect OS
   detection, RPC, or connect() scan packets.
   -- Windows portability fixes
   -- Various other little fixes.

-- Renamed rpc.h and error.h because they conflict with Windows
   include files.  By the way, this was a pain to figure out because
   VC++ is such a crappy compiler!  It basically just says problem in
   "foobar.h" without giving you any idea how foobar.h got included!
   gcc gives you a nice message tracing the chain of include files!

Cheers,
Fyodor



---------------------------------------------------------------------
For help using this (nmap-dev) mailing list, send a blank email to 
nmap-dev-help () insecure org . List run by ezmlm-idx (www.ezmlm.org).



Current thread: