diff --git a/CHANGELOG b/CHANGELOG index 17b363f1c..a57f73e3d 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,5 +1,12 @@ # Nmap Changelog ($Id$); -*-text-*- +o Fixed an assertion failure where raw TCP timing ping probes were + wrongly used during a TCP connect scan: + nmap: scan_engine.cc:2843: UltraProbe* sendIPScanProbe(UltraScanInfo*, + HostScanStats*, const probespec*, u8, u8): + Assertion `USI->scantype != CONNECT_SCAN' failed. + Thanks to LevelZero for the report. [David] + Nmap 4.75 [2008-9-7] o [Zenmap] Added a new Scan Topology system. The idea is that if we diff --git a/scan_engine.cc b/scan_engine.cc index 7c6440eb5..3b5266a2f 100644 --- a/scan_engine.cc +++ b/scan_engine.cc @@ -1022,8 +1022,9 @@ static bool pingprobe_is_appropriate(const UltraScanInfo *USI, return USI->scantype == CONNECT_SCAN || (USI->ping_scan && USI->ptech.connecttcpscan); case(PS_TCP): case(PS_UDP): - return USI->tcp_scan || USI->udp_scan || - (USI->ping_scan && (USI->ptech.rawtcpscan || USI->ptech.rawudpscan)); + return (USI->tcp_scan && USI->scantype != CONNECT_SCAN) || + USI->udp_scan || + (USI->ping_scan && (USI->ptech.rawtcpscan || USI->ptech.rawudpscan)); case(PS_PROTO): return USI->prot_scan || (USI->ping_scan && USI->ptech.rawprotoscan); case(PS_ICMP):