nmap 7.60: autoconf problems

Lukas Schwaighofer <[email protected]>
Newsgroups gmane.comp.security.nmap.devel
Message-ID <20170906205940.4b275d06@localhost>
Hi,

I'm trying to use `autoreconf -fi` on nmap 7.60 sources (*) and ran into
a few problems.  I'm using autoconf 2.69 from Debian testing (2.69-11).

The configure scripts that ship with nmap were also generated by
autoconf 2.69 (at least according to the comments in the files which I
checked using a find command stolen from a very old post by
Fyodor [1]).  But, for some reason, autoreconf does not work, and I get
similar errors as Christopher Owen did back then [2].

I managed to solve my issues with the attached patch, I'd be happy if
that could be included in a future nmap release.  I'd also be
interested in an explanation why autoreconf with the same autoconf
version does not work for me…

Thank you
Lukas


(*) I'm actually running it with the `--no-recursive` option and only in
    the following directories relative to the source directory:
    . libdnet-stripped nbase ncat nmap-update nping nsock/src

[1] http://seclists.org/nmap-dev/2008/q2/232
[2] http://seclists.org/nmap-dev/2008/q2/233

_______________________________________________
Sent through the dev mailing list
https://nmap.org/mailman/listinfo/dev
Archived at http://seclists.org/nmap-dev/
autoconf.patch (text/x-patch, 9.3 KB)
--- a/nping/configure.ac
+++ b/nping/configure.ac
@@ -78,6 +78,7 @@
 
 # Remember that all following tests will run with this CXXFLAGS by default
 AC_MSG_CHECKING(for __func__)
+AH_TEMPLATE(__func__, [C99-specified function identifier])
 AC_TRY_COMPILE([
 #include <stdio.h>
 ],[printf ("%s", __func__);],
@@ -172,7 +173,7 @@
 
 OPENSSL_LIBS=
 if test "$use_openssl" = "yes"; then
-  AC_DEFINE(HAVE_OPENSSL)
+  AC_DEFINE(HAVE_OPENSSL, 1, [Have OpenSSL library])
   OPENSSL_LIBS="-lssl -lcrypto"
   LIBS_TMP="$LIBS"
   LIBS="$OPENSSL_LIBS $LIBS"
@@ -251,7 +252,7 @@
   PCAP_CLEAN="clean-pcap"
   PCAP_DIST_CLEAN="distclean-pcap"
 else
-  AC_DEFINE(HAVE_LIBPCAP)
+  AC_DEFINE(HAVE_LIBPCAP, 1, [Have libpcap library])
   LIBPCAP_LIBS="-lpcap"
   PCAP_DEPENDS=""
   PCAP_BUILD=""
@@ -333,7 +334,7 @@
         ac_cv_sockaddr_has_sa_len=yes,
         ac_cv_sockaddr_has_sa_len=no))
 if test $ac_cv_sockaddr_has_sa_len = yes ; then
-        AC_DEFINE(HAVE_SOCKADDR_SA_LEN)
+        AC_DEFINE(HAVE_SOCKADDR_SA_LEN, 1, [struct sockaddr has sa_len member])
 fi
 
 
@@ -350,7 +351,7 @@
         ac_cv_sockaddr_in_has_sin_len=yes,
         ac_cv_sockaddr_in_has_sin_len=no))
 if test $ac_cv_sockaddr_in_has_sin_len = yes ; then
-        AC_DEFINE(HAVE_SOCKADDR_IN_SIN_LEN)
+        AC_DEFINE(HAVE_SOCKADDR_IN_SIN_LEN, 1, [struct sockaddr_in has sin_len member])
 fi
 
 
@@ -367,7 +368,7 @@
         ac_cv_sockaddr_in6_has_sin6_len=yes,
         ac_cv_sockaddr_in6_has_sin6_len=no))
 if test $ac_cv_sockaddr_in6_has_sin6_len = yes ; then
-        AC_DEFINE(HAVE_SOCKADDR_IN6_SIN6_LEN)
+        AC_DEFINE(HAVE_SOCKADDR_IN6_SIN6_LEN, 1, [struct sockaddr_in6 has sin6_len member])
 fi
 
 
@@ -375,6 +376,7 @@
 AC_C_BIGENDIAN
 
 AC_MSG_CHECKING([if struct in_addr is a wacky huge structure (some Sun boxes)])
+AH_TEMPLATE(IN_ADDR_DEEPSTRUCT, [], [struct in_addr is a wacky huge structure (some Sun boxes)])
 
 AC_TRY_COMPILE([#include <netinet/in.h>], struct in_addr i; i._S_un._S_addr;, \
              AC_DEFINE(IN_ADDR_DEEPSTRUCT) \
@@ -435,7 +437,7 @@
         ac_cv_ip_has_ip_sum=yes,
         ac_cv_ip_has_ip_sum=no))
 if test $ac_cv_ip_has_ip_sum = yes ; then
-        AC_DEFINE(HAVE_IP_IP_SUM)
+        AC_DEFINE(HAVE_IP_IP_SUM, 1, [struct ip has ip_sum member])
 fi
 
 AC_CACHE_CHECK(if function signal is accessible, ac_cv_have_signal,
@@ -456,33 +458,36 @@
         ac_cv_have_signal=yes,
         ac_cv_have_signal=no))
 if test $ac_cv_have_signal = yes ; then
-        AC_DEFINE(HAVE_SIGNAL)
+        AC_DEFINE(HAVE_SIGNAL, 1, [ssignal function is accessible])
 fi
 
 
 
 
+AH_TEMPLATE(SOLARIS, [Sun/Oracle Solaris])
+AH_TEMPLATE(STUPID_SOLARIS_CHECKSUM_BUG, [],
+            [A bug in Solaris causing incorrect IP checksums])
 case "$host" in
   *alpha-dec-osf*)
-    AC_DEFINE(DEC)
+    AC_DEFINE(DEC, 1, [DEC Alpha])
     ;;
   *-netbsd* | *-knetbsd*-gnu)
-    AC_DEFINE(NETBSD)
+    AC_DEFINE(NETBSD, 1, [NetBSD])
     ;;
   *-openbsd*)
-    AC_DEFINE(OPENBSD)
+    AC_DEFINE(OPENBSD, 1, [OpenBSD])
     ;;
   *-freebsd* | *-kfreebsd*-gnu | *-dragonfly*)
-    AC_DEFINE(FREEBSD)
+    AC_DEFINE(FREEBSD, 1, [FreeBSD])
     ;;
   *-bsdi*)
-    AC_DEFINE(BSDI)
+    AC_DEFINE(BSDI, 1, [BSD/OS])
     ;;
   *-sgi-irix5* | *-sgi-irix6*)
-    AC_DEFINE(IRIX)
+    AC_DEFINE(IRIX, 1, [IRIX])
     ;;
   *-hpux*)
-    AC_DEFINE(HPUX)
+    AC_DEFINE(HPUX, 1, [HP-UX])
     # To link with libnet and NM (/usr/lib/libnm.sl) library
     # on HP-UX 11.11 (other versions?) Mikhail Zakharov ([email protected])
     AC_CHECK_LIB(nm, open_mib)
@@ -524,14 +529,15 @@
     AC_DEFINE(SOLARIS)
     ;;
   *-sunos4*)
-    AC_DEFINE(SUNOS)
-    AC_DEFINE(SPRINTF_RETURNS_STRING)
+    AC_DEFINE(SUNOS, 1, [SunOS 4])
+    AC_DEFINE(SPRINTF_RETURNS_STRING, 1,
+              [sprintf(9f) returns its first argument, not the number of characters printed])
     ;;
   *-linux*)
-    AC_DEFINE(LINUX)
+    AC_DEFINE(LINUX, 1, [Linux])
     ;;
   *-apple-darwin*)
-    AC_DEFINE(MACOSX)
+    AC_DEFINE(MACOSX, 1, [Apple OS X])
     dnl on Mac OSX the math library seems to contain unwanted getopt cruft
     AC_CHECK_LIB(m, main)
     needs_cpp_precomp=yes
--- a/nbase/acinclude.m4
+++ b/nbase/acinclude.m4
@@ -137,7 +137,7 @@
 
 if test "$ac_cv_define_sockaddr_in6" = "yes"; then
   have_sockaddr_in6=1
-  AC_DEFINE(HAVE_SOCKADDR_IN6)
+  AC_DEFINE(HAVE_SOCKADDR_IN6, 1, [Define if struct sockaddr_in6 exists])
 else
   have_sockaddr_in6=0
 fi
@@ -166,7 +166,7 @@
 
 if test "$ac_cv_define_af_inet6" = "yes"; then
   have_af_inet6=1
-  AC_DEFINE(HAVE_AF_INET6)
+  AC_DEFINE(HAVE_AF_INET6, 1, [Define if AF_INET6 is defined])
 else
   have_af_inet6=0
 fi
@@ -195,7 +195,7 @@
 
 if test "$ac_cv_define_sockaddr_storage" = "yes"; then
   have_sockaddr_storage=1
-  AC_DEFINE(HAVE_SOCKADDR_STORAGE)
+  AC_DEFINE(HAVE_SOCKADDR_STORAGE, 1, [Define if struct sockaddr_storage exists])
 else
   have_sockaddr_storage=0
 fi
--- a/nbase/configure.ac
+++ b/nbase/configure.ac
@@ -129,7 +129,7 @@
         ac_cv_sockaddr_has_sa_len=yes,
         ac_cv_sockaddr_has_sa_len=no))
 if test $ac_cv_sockaddr_has_sa_len = yes ; then
-        AC_DEFINE(HAVE_SOCKADDR_SA_LEN)
+        AC_DEFINE(HAVE_SOCKADDR_SA_LEN, 1, [define if sockaddr has sa_len member])
 fi
 
 dnl check endedness
@@ -225,7 +225,7 @@
 fi
 
 if test "$have_ipv6" = "1"; then
-  AC_DEFINE(HAVE_IPV6)
+  AC_DEFINE(HAVE_IPV6, 1, [define if IPv6 is available])
 fi
 
 # First we test whether they specified openssl desires explicitly
@@ -286,7 +286,7 @@
 fi
 
 if test "$use_openssl" = "yes"; then
-  AC_DEFINE(HAVE_OPENSSL)
+  AC_DEFINE(HAVE_OPENSSL, 1, [define if libssl is available])
 fi
 
 CHECK_PROC_SELF_EXE
--- a/ncat/configure.ac
+++ b/ncat/configure.ac
@@ -176,7 +176,7 @@
   PCAP_BUILD=""
   PCAP_CLEAN=""
   PCAP_DIST_CLEAN=""
-  AC_DEFINE(HAVE_LIBPCAP)
+  AC_DEFINE([HAVE_LIBPCAP], [1], [Define to 1 if you have libpcap])
 else
   if test "${LIBPCAP_INC+set}" = "set"; then
     LDFLAGS="-L$libpcapdir $_ldflags"
@@ -286,7 +286,7 @@
     LUA_BUILD="build-lua"
     LUA_CLEAN="clean-lua"
     LUA_DIST_CLEAN="distclean-lua"
-    AC_DEFINE(LUA_INCLUDED)
+    AC_DEFINE([LUA_INCLUDED], [1], [Define to 1 if you have LUA])
   else
     AC_MSG_RESULT(yes) 
   fi
--- a/nsock/src/configure.ac
+++ b/nsock/src/configure.ac
@@ -24,15 +24,18 @@
 dnl Host specific hacks
 AC_CANONICAL_HOST
 
+AH_TEMPLATE(SOLARIS, [Sun/Oracle Solaris])
+AH_TEMPLATE(IRIX, [IRIX])
+
 case "$host" in
   *alpha-dec-osf*)
-    AC_DEFINE(DEC)
+    AC_DEFINE(DEC, 1, [DEC Alpha])
     ;;
   *-netbsd* | *-knetbsd*-gnu)
-    AC_DEFINE(NETBSD)
+    AC_DEFINE(NETBSD, 1, [NetBSD])
     ;;
   *-openbsd*)
-    AC_DEFINE(OPENBSD)
+    AC_DEFINE(OPENBSD, 1, [OpenBSD])
     ;;
   *-sgi-irix5*)
     AC_DEFINE(IRIX)
@@ -41,12 +44,12 @@
     AC_DEFINE(IRIX)
     ;;
   *-hpux*)
-    AC_DEFINE(HPUX)
+    AC_DEFINE(HPUX, 1, [HP-UX])
     ;;
   *-solaris2.1[[1-9]]*)
     AC_DEFINE(SOLARIS)
     # Solaris 11 and later use BPF packet capture rather than DLPI.
-    AC_DEFINE(SOLARIS_BPF_PCAP_CAPTURE)
+    AC_DEFINE(SOLARIS_BPF_PCAP_CAPTURE, 1, [BPF packet capture on Solaris])
     ;;
   *-solaris2.0*)  
     AC_DEFINE(SOLARIS)
@@ -73,19 +76,19 @@
     AC_DEFINE(SOLARIS)
     ;;
   *-sunos4*)
-    AC_DEFINE(SUNOS)
+    AC_DEFINE(SUNOS, 1, [SunOS 4])
     ;;
   *-linux*)
-    AC_DEFINE(LINUX)
+    AC_DEFINE(LINUX, 1, [Linux])
     ;;
   *-freebsd* | *-kfreebsd*-gnu | *-dragonfly*)
-    AC_DEFINE(FREEBSD)
+    AC_DEFINE(FREEBSD, 1, [FreeBSD])
     ;;
   *-bsdi*)
-    AC_DEFINE(BSDI)
+    AC_DEFINE(BSDI, 1, [BSD/OS])
     ;;
   *-apple-darwin*)
-    AC_DEFINE(MACOSX)
+    AC_DEFINE(MACOSX, 1, [Apple OS X])
     ;;
 esac
 
@@ -160,7 +163,7 @@
   have_libpcap=yes
 fi
 if test "$have_libpcap" != "no"; then
-  AC_DEFINE(HAVE_PCAP)
+  AC_DEFINE(HAVE_PCAP, 1, [libpcap is available])
   if test "${LIBPCAP_INC+set}" = "set"; then
     CPPFLAGS="-I$LIBPCAP_INC $CPPFLAGS"
     LDFLAGS="-L$LIBPCAP_LIB $LDFLAGS"
@@ -170,8 +173,8 @@
 
 PCAP_DEFINE_NETMASK_UNKNOWN
 
-AX_HAVE_EPOLL([AC_DEFINE(HAVE_EPOLL)], )
-AX_HAVE_POLL([AC_DEFINE(HAVE_POLL)], )
+AX_HAVE_EPOLL([AC_DEFINE(HAVE_EPOLL, 1, [epoll is available])], )
+AX_HAVE_POLL([AC_DEFINE(HAVE_POLL, 1, [poll is available])], )
 AC_CHECK_FUNCS(kqueue kevent, [AC_DEFINE(HAVE_KQUEUE)], )
 
 dnl Checks for programs.
@@ -255,21 +258,21 @@
 
 OPENSSL_LIBS=
 if test "$use_openssl" = "yes"; then
-  AC_DEFINE(HAVE_OPENSSL)
+  AC_DEFINE(HAVE_OPENSSL, 1, [openssl is available])
   OPENSSL_LIBS="-lssl -lcrypto"
   LIBS_TMP="$LIBS"
   LIBS="$OPENSSL_LIBS $LIBS"
   AC_MSG_CHECKING([for SSL_set_tlsext_host_name])
   AC_TRY_LINK([#include <openssl/ssl.h>], [SSL_set_tlsext_host_name(NULL, NULL)],
-    [AC_MSG_RESULT([yes]); AC_DEFINE(HAVE_SSL_SET_TLSEXT_HOST_NAME)],
+    [AC_MSG_RESULT([yes]); AC_DEFINE(HAVE_SSL_SET_TLSEXT_HOST_NAME, 1, [SSL_set_tlsext_host_name available])],
     [AC_MSG_RESULT([no])])
   AC_MSG_CHECKING([for DTLS_client_method])
   AC_TRY_LINK([#include <openssl/ssl.h>], [DTLS_client_method()],
-    [AC_MSG_RESULT([yes]); AC_DEFINE(HAVE_DTLS_CLIENT_METHOD)],
+    [AC_MSG_RESULT([yes]); AC_DEFINE(HAVE_DTLS_CLIENT_METHOD, 1, [DTLS_client_method available])],
     [AC_MSG_RESULT([no])])
   AC_MSG_CHECKING([for SSL_set_alpn_protos])
   AC_TRY_LINK([#include <openssl/ssl.h>], [SSL_set_alpn_protos(NULL, NULL, 0)],
-    [AC_MSG_RESULT([yes]); AC_DEFINE(HAVE_ALPN_SUPPORT)],
+    [AC_MSG_RESULT([yes]); AC_DEFINE(HAVE_ALPN_SUPPORT, 1, [SSL ALPN protos support])],
     [AC_MSG_RESULT([no])])
   LIBS="$LIBS_TMP"
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.