From bad1caa2e0952c41e550b507118c168e604dbb88 Mon Sep 17 00:00:00 2001 From: fyodor Date: Tue, 6 May 2008 23:28:34 +0000 Subject: [PATCH] o Fixed a bug which caused Nmap to send bad checksums on Solaris 10 x86. This was due to a workaround for an Ancient Solaris 2.1 bug which activated when the OS string matched "solaris2.1*". The problem has now been resolved until Solaris 20 comes out and hits our "solaris2.2*" bug workarounds. Thanks to Nathan Bills for the problem report. Fixed by Fyodor. --- CHANGELOG | 7 +++++++ configure | 58 +++++++++++++++++++++++++++++++++++++++++++++++++++- configure.ac | 25 +++++++++++++++++++++- 3 files changed, 88 insertions(+), 2 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index 975fb7ec5..b916bb052 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,5 +1,12 @@ # Nmap Changelog ($Id$); -*-text-*- +o Fixed a bug which caused Nmap to send bad checksums on Solaris 10 + x86. This was due to a workaround for an Ancient Solaris 2.1 bug + which activated when the OS string matched "solaris2.1*". The + problem has now been resolved until Solaris 20 comes out and hits + our "solaris2.2*" bug workarounds. Thanks to Nathan Bills for the + problem report. Fixed by Fyodor. + o We now compile in IPv6 support on Windows. In order to use this, you need to have IPv6 set up. It is installed by default on Vista, but must be downloaded from MS for XP. See diff --git a/configure b/configure index 5f0b76229..d9c20fd17 100755 --- a/configure +++ b/configure @@ -4375,7 +4375,63 @@ _ACEOF fi ;; - *-solaris2.0* | *-solaris2.1* | *-solaris2.2* | *-solaris2.3* | *-solaris2.4* | *-solaris2.5.1 ) + *-solaris2.0*) + cat >>confdefs.h <<\_ACEOF +#define STUPID_SOLARIS_CHECKSUM_BUG 1 +_ACEOF + + cat >>confdefs.h <<\_ACEOF +#define SOLARIS 1 +_ACEOF + + ;; + *-solaris2.[1-9][0-9]*) + cat >>confdefs.h <<\_ACEOF +#define SOLARIS 1 +_ACEOF + + ;; + *-solaris2.1*) + cat >>confdefs.h <<\_ACEOF +#define STUPID_SOLARIS_CHECKSUM_BUG 1 +_ACEOF + + cat >>confdefs.h <<\_ACEOF +#define SOLARIS 1 +_ACEOF + + ;; + *-solaris2.2*) + cat >>confdefs.h <<\_ACEOF +#define STUPID_SOLARIS_CHECKSUM_BUG 1 +_ACEOF + + cat >>confdefs.h <<\_ACEOF +#define SOLARIS 1 +_ACEOF + + ;; + *-solaris2.3*) + cat >>confdefs.h <<\_ACEOF +#define STUPID_SOLARIS_CHECKSUM_BUG 1 +_ACEOF + + cat >>confdefs.h <<\_ACEOF +#define SOLARIS 1 +_ACEOF + + ;; + *-solaris2.4*) + cat >>confdefs.h <<\_ACEOF +#define STUPID_SOLARIS_CHECKSUM_BUG 1 +_ACEOF + + cat >>confdefs.h <<\_ACEOF +#define SOLARIS 1 +_ACEOF + + ;; + *-solaris2.5.1) cat >>confdefs.h <<\_ACEOF #define STUPID_SOLARIS_CHECKSUM_BUG 1 _ACEOF diff --git a/configure.ac b/configure.ac index 663aab386..70c2e7d83 100644 --- a/configure.ac +++ b/configure.ac @@ -138,7 +138,30 @@ case "$host" in # on HP-UX 11.11 (other versions?) Mikhail Zakharov (zmey20000@yahoo.com) AC_CHECK_LIB(nm, open_mib) ;; - *-solaris2.0* | *-solaris2.1* | *-solaris2.2* | *-solaris2.3* | *-solaris2.4* | *-solaris2.5.1 ) + *-solaris2.0*) + AC_DEFINE(STUPID_SOLARIS_CHECKSUM_BUG) + AC_DEFINE(SOLARIS) + ;; + *-solaris2.[[1-9]][[0-9]]*) + AC_DEFINE(SOLARIS) + ;; + *-solaris2.1*) + AC_DEFINE(STUPID_SOLARIS_CHECKSUM_BUG) + AC_DEFINE(SOLARIS) + ;; + *-solaris2.2*) + AC_DEFINE(STUPID_SOLARIS_CHECKSUM_BUG) + AC_DEFINE(SOLARIS) + ;; + *-solaris2.3*) + AC_DEFINE(STUPID_SOLARIS_CHECKSUM_BUG) + AC_DEFINE(SOLARIS) + ;; + *-solaris2.4*) + AC_DEFINE(STUPID_SOLARIS_CHECKSUM_BUG) + AC_DEFINE(SOLARIS) + ;; + *-solaris2.5.1) AC_DEFINE(STUPID_SOLARIS_CHECKSUM_BUG) AC_DEFINE(SOLARIS) ;;