Nmap Development mailing list archives

Re: Solaris checksum bug not in Solaris 10?


From: Fyodor <fyodor () insecure org>
Date: Tue, 6 May 2008 16:29:45 -0700

On Mon, Apr 28, 2008 at 10:47:23AM -0800, Nathan L. Bills wrote:
Hi nmap-dev,

When I build nmap 4.60 on Solaris 10 using gcc version 3.4.6 and run a 
udp scan against a linux target host, I get 'UDP: bad checksum.'  errors 
on the target and nmap reports all the ports as 'open|filtered'.  
However, in config.h, when I change this:

#define STUPID_SOLARIS_CHECKSUM_BUG 1

to this:

#undef STUPID_SOLARIS_CHECKSUM_BUG

and rebuild the software, nmap runs correctly, reporting that the ports 
are closed, and I don't see the bad checksum errors anymore on the linux 
target.  Maybe that Solaris checksum bug is no longer there in Solaris 10?

Thanks for the report.  I think I see the problem.  The configure.ac
has:

  *-solaris2.0* | *-solaris2.1* | *-solaris2.2* | *-solaris2.3* | *-solaris2.4* | *-solaris2.5.1 )
    AC_DEFINE(STUPID_SOLARIS_CHECKSUM_BUG)
    AC_DEFINE(SOLARIS)
    ;;
  *-solaris*)
    AC_DEFINE(SOLARIS)
    ;;

So the idea is to only enable that (poorly named) define for Solaris
2.0 - 2.5.1.  But now that we're up to Solaris 10, that
"*-solaris2.1*" string is catching again.

It looks like this was already fixed in nsock (by Marek, I think), so
I have copied the relevant lines from nsock/src/configure.ac and
regenerated configure.  If you get a chance, would you test the latest
SVN version to ensure that it resolves the problem?  Also, I'm
assuming that you're running Solaris 10 x86.

Cheers,
-F

_______________________________________________
Sent through the nmap-dev mailing list
http://cgi.insecure.org/mailman/listinfo/nmap-dev
Archived at http://SecLists.Org


Current thread: