From 85edc7a0058960e7c9f7e50f49f9416cd46d96a1 Mon Sep 17 00:00:00 2001 From: kris Date: Sat, 3 May 2008 17:58:48 +0000 Subject: [PATCH] Merging over from /nmap-exp/kris/assert-testing Ensuring the safety of assert() calls by keeping NDEBUG undefined throughout Nmap, Nbase and Nsock. I've tested this on Linux and Windows XP without problems. On Windows I've removed the definitions of _DEBUG and NDEBUG from the *.vcproj files. --- CHANGELOG | 4 ++++ NmapOutputTable.h | 2 +- libdnet-stripped/libdnet-stripped.vcproj | 4 ++-- liblua/liblua.vcproj | 4 ++-- libpcre/libpcre.vcproj | 4 ++-- mswin32/nmap.vcproj | 14 ++------------ nmap.h | 3 +++ nselib-bin/nse_bitlib.vcproj | 4 ++-- service_scan.cc | 4 ---- utils.h | 3 +-- 10 files changed, 19 insertions(+), 27 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index c25047df2..fdec0338e 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,5 +1,9 @@ # Nmap Changelog ($Id$); -*-text-*- +o Since assert() calls are used for various security-related tests, + their safety is now ensured by keeping NDEBUG undefined throughout + Nmap, Nbase and Nsock. [Kris] + Nmap 4.62 [5/3/08] o Added a new --min-rate option that allows specifying a minimum rate diff --git a/NmapOutputTable.h b/NmapOutputTable.h index 68352659f..ba55df072 100644 --- a/NmapOutputTable.h +++ b/NmapOutputTable.h @@ -102,7 +102,7 @@ #ifndef NMAPOUTPUTTABLE_H #define NMAPOUTPUTTABLE_H -#include +#include "nmap.h" #ifndef __attribute__ #define __attribute__(args) diff --git a/libdnet-stripped/libdnet-stripped.vcproj b/libdnet-stripped/libdnet-stripped.vcproj index c9598e646..8027dbb47 100755 --- a/libdnet-stripped/libdnet-stripped.vcproj +++ b/libdnet-stripped/libdnet-stripped.vcproj @@ -43,7 +43,7 @@ AdditionalOptions="/D "_CRT_SECURE_NO_DEPRECATE"" Optimization="0" AdditionalIncludeDirectories="include;"..\mswin32\pcap-include"" - PreprocessorDefinitions="WIN32;_DEBUG;_LIB" + PreprocessorDefinitions="WIN32;_LIB" MinimalRebuild="true" BasicRuntimeChecks="3" RuntimeLibrary="1" @@ -108,7 +108,7 @@ Name="VCCLCompilerTool" AdditionalOptions="/D "_CRT_SECURE_NO_DEPRECATE"" AdditionalIncludeDirectories="include;"..\mswin32\pcap-include"" - PreprocessorDefinitions="WIN32;NDEBUG;_LIB" + PreprocessorDefinitions="WIN32;_LIB" RuntimeLibrary="0" UsePrecompiledHeader="0" WarningLevel="3" diff --git a/liblua/liblua.vcproj b/liblua/liblua.vcproj index 008cc3ddc..89bc37ec1 100644 --- a/liblua/liblua.vcproj +++ b/liblua/liblua.vcproj @@ -42,7 +42,7 @@ UseUnicodeResponseFiles="false" AdditionalOptions="/D "_CRT_SECURE_NO_DEPRECATE"" Optimization="0" - PreprocessorDefinitions="WIN32;_DEBUG;_LIB" + PreprocessorDefinitions="WIN32;_LIB" MinimalRebuild="true" ExceptionHandling="0" BasicRuntimeChecks="0" @@ -114,7 +114,7 @@ UseUnicodeResponseFiles="false" AdditionalOptions="/D "_CRT_SECURE_NO_DEPRECATE"" WholeProgramOptimization="false" - PreprocessorDefinitions="WIN32;NDEBUG;_LIB" + PreprocessorDefinitions="WIN32;_LIB" MinimalRebuild="false" ExceptionHandling="0" BasicRuntimeChecks="0" diff --git a/libpcre/libpcre.vcproj b/libpcre/libpcre.vcproj index 4cb4c6d3e..a11e12501 100644 --- a/libpcre/libpcre.vcproj +++ b/libpcre/libpcre.vcproj @@ -40,7 +40,7 @@ - @@ -142,7 +137,7 @@ Optimization="2" InlineFunctionExpansion="1" AdditionalIncludeDirectories=".;..;../liblua;../nbase;../libpcre;winip;..\nsock\include;"pcap-include";"..\libdnet-stripped\include"" - PreprocessorDefinitions="NDEBUG;WIN32;_CONSOLE" + PreprocessorDefinitions="WIN32;_CONSOLE" StringPooling="true" RuntimeLibrary="0" EnableFunctionLevelLinking="true" @@ -157,11 +152,6 @@ - diff --git a/nmap.h b/nmap.h index 20a285123..bc176ef82 100644 --- a/nmap.h +++ b/nmap.h @@ -227,6 +227,9 @@ void *realloc(); #include #endif +/* Keep assert() defined for security reasons */ +#undef NDEBUG + #include #include diff --git a/nselib-bin/nse_bitlib.vcproj b/nselib-bin/nse_bitlib.vcproj index 99c02f936..4a50874c8 100644 --- a/nselib-bin/nse_bitlib.vcproj +++ b/nselib-bin/nse_bitlib.vcproj @@ -40,7 +40,7 @@ Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="..\liblua" - PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;NSE_BITLIB_EXPORTS;WIN32;LUA_BUILD_AS_DLL;LUA_LIB" + PreprocessorDefinitions="WIN32;_WINDOWS;_USRDLL;NSE_BITLIB_EXPORTS;WIN32;LUA_BUILD_AS_DLL;LUA_LIB" MinimalRebuild="false" ExceptionHandling="0" BasicRuntimeChecks="0" @@ -120,7 +120,7 @@ #include #include +#include "nmap.h" #ifdef WIN32 #include "mswin32\winclude.h" #else @@ -117,7 +118,6 @@ #include #endif -#include #include #include "nmap_config.h" #endif @@ -140,7 +140,6 @@ #include "nbase.h" #include "nmap_error.h" -#include "nmap.h" #include "global_structures.h" /* Arithmatic difference modulo 2^32 */