Nmap Development mailing list archives

IPV6_CHECKSUM and nping


From: Gisle Vanem <gvanem () broadpark no>
Date: Mon, 05 Apr 2010 16:17:04 +0200

The option IPV6_CHECKSUM isn't available on Win-XP (and I'm sure older Win-boxes).
So here is a small patch to make nping build on those OS'es:

--- SVN-Latest\nping\nping.cc   Mon Apr 05 16:14:49 2010
+++ nping\nping.cc      Mon Apr 05 16:09:56 2010
@@ -861,6 +861,7 @@
    if( setsockopt(rawfd, IPPROTO_IPV6, IPV6_MULTICAST_HOPS, (char *)&hoplimit, sizeof(hoplimit)) != 0 )
        outError(QT_2, "doIPv6ThroughSocket(): setsockopt() for Multicast Hop Limit on IPv6 socket failed");

+#ifdef IPV6_CHECKSUM  /* This is not available on Win-XP at least */
    /* Transport layer checksum */
    /* This is totally crazy. We have to tell the kernel EXPLICITLY that we
     * want it to set the TCP/UDP checksum for us. Why the hell is this the
@@ -878,6 +879,7 @@
                outError(QT_2, "doIPv6ThroughSocket(): failed to set IPV6_CHECKSUM option on IPv6 s
ocket. ");
        }
    }
+#endif

    /* Bind IPv6 socket to a specific network interface */
    if ( o.issetDevice() )  {

--------------

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


Current thread: