Changelog:
o Added a few missing configuration options to nbase\nbase_winconfig.h:
#define HAVE_STRING_H 1
#define STDC_HEADERS 1
#define HAVE_SOCKADDR_STORAGE 1
o Removed my cute extra debugging stuff, as apparently nmap's concept
of "portable" is "let's #define our troubles away". Looking at
mswin32/winclude.h we see such wonderful gems as:
#undef errno
#define errno WSAGetLastError()
#define close my_close
#define read(x,y,z) recv(x,(char*)(y),z,0)
int my_close(int sd);
Why is this a problem? Well, let's say you have a function called
read(), such as the one found on std::istream. Well, too bad! You
can't use it anymore, because that got #define'd to something weird.
Worse, you can't even declare it. Also, anything that uses errno
gets all screwed up. Nmap should just provide an abstraction layer
for this; or, better yet, use someone else's (although considering
the esoteric-ness of using pcap with the sockets, I doubt existing
abstraction layers such as APR will be that useful).
Conclusion? I apparently don't get to use STL much unless I ditch
Win32 support for now (or try to get all my #include's in just the
right order so as to not hit a problem with a #define... but that's
just scary). I'll probably put some time into just trying to fix
this problem as I really want to be using Win32 to do all of my
work on this project from now on.
FTP Information (for "released" versions):
Source: ftp://ftp.saurik.com/pub/nmap/nmap-3.30+V-2.35.tgz
Patch: ftp://ftp.saurik.com/pub/nmap/nmap+V-2.35
Win32 Binaries: ftp://ftp.saurik.com/pub/nmap/nmap-3.30+V-2.35.win32.zip
CVS Information (for current versions):
Repository: :pserver:anoncvs_at_cvs.saurik.com:/cvs/nmap
Module: nmap
Password: anoncvs
Sincerely,
Jay Freeman (saurik)
saurik_at_saurik.com
--------------------------------------------------
For help using this (nmap-hackers) mailing list, send a blank email to
nmap-hackers-help_at_insecure.org . List run by ezmlm-idx (www.ezmlm.org).
Received on Jul 21 2003