Nmap Announce mailing list archives

nmap+V-1.1 & nmap misuses -I...


From: "Jay Freeman \(saurik\)" <saurik () saurik com>
Date: Tue, 16 May 2000 17:12:52 -0500

nmap-type people:

Finally figured out why my patch was returning bad results or even crashing
on FreeBSD and some installations of Linux (mainly thanks to a friend who
gave me an account on his FreeBSD box).  nmap’s Makefile.in has the
following line:

INCLS = -I. -I$(LIBPCAPDIR)

This adds to the search path at the beginning… before the system libraries
:-) (at least for gcc, can’t speak for other compilers).  So if you do
something like #include <getopt.h> (or my <regex.h>) it doesn’t even bother
checking the system file location, and simply gets the file from “.”.  This
actually breaks things like:

#ifdef HAVE_GETOPT_H
#include <getopt.h>
#else
/* The next half-dozen lines are from gcc-2.95 ... -Fyodor */
/* Include getopt.h for the sake of getopt_long.
   We don't need the declaration of getopt, and it could conflict
   with something from a system header file, so effectively nullify that.
*/
#define getopt getopt_loser
#include "getopt.h"
#undef getopt
#endif

:which are currently in nmap.h.  Hasn’t caused any problems so far because
getopt.h is rather standard (unlike the regex.h I was trying to use).  The
three required changes to fix this (adding “-I-“ to the end of INCLS, and
changing the two instances of <config.h> to “config.h”) can be found in a
patch at ftp://ftp.saurik.com/pub/nmap/nmap+f .

There is a new version of the nmap+V patch which should hopefully fix all
the problems people have been mailing me about at
ftp://ftp.saurik.com/pub/nmap/nmap+V-1.1 (patched tarball at
ftp://ftp.saurik.com/pub/nmap/nmap-2.53+V-1.1.tgz ).

Sincerely,
Jay Freeman (saurik)
saurik () saurik com <mailto:saurik () saurik com>




Current thread: