Wireshark-bugs: [Wireshark-bugs] [Bug 3630] New: IPv6 Router Advertisement flags and lifetime ar
Date: Mon, 29 Jun 2009 07:47:33 -0700 (PDT)
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=3630

           Summary: IPv6 Router Advertisement flags and lifetime are mis-
                    parsed
           Product: Wireshark
           Version: 1.2.0
          Platform: Other
        OS/Version: All
            Status: NEW
          Severity: Major
          Priority: Low
         Component: Wireshark
        AssignedTo: wireshark-bugs@xxxxxxxxxxxxx
        ReportedBy: derekmorr@xxxxxxx


Created an attachment (id=3226)
 --> (https://bugs.wireshark.org/bugzilla/attachment.cgi?id=3226)
ICMPv6 capture with O flag set to off.

Build Information:
Version 1.2.0 (SVN Rev 28753)

Copyright 1998-2009 Gerald Combs <gerald@xxxxxxxxxxxxx> and contributors.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Compiled with GTK+ 2.12.9, with GLib 2.16.3, with libpcap 0.9.5, with libz
1.2.3, without POSIX capabilities, with libpcre 7.8, with SMI 0.4.8, without
c-ares, without ADNS, without Lua, with GnuTLS 2.6.2, with Gcrypt 1.4.3, with
MIT Kerberos, without GeoIP, with PortAudio V19-devel (built Nov 14 2008),
without AirPcap.

Running on Darwin 9.7.0, with libpcap version 0.9.5, GnuTLS 2.6.2, Gcrypt
1.4.3.

Built using gcc 4.0.1 (Apple Inc. build 5488).
--
WireShark 1.2.0 uses the wrong offsets to parse the Router Advertisement (RA)
flags and lifetime fields. This is a regression against 1.0.x, which displays
the correct values.

For example, on one of my LANs, my RAs do not have the O flag set, yet
WireShark 1.2.0 says that it is set.

This bug appears to have been introduced in SVN Rev 27967 in
epan/dissectors/packet-icmpv6, lines 1868-1870, which define byte offsets into
the ICMPv6 packet for various fields. It looks like ND_RA_FLAGS_RESERVED_OFFSET
should be 5 rather than 4, and ND_RA_ROUTER_LIFETIME_OFFSET should be 6. As a
result, WS 1.2.0 is using the hop limit for the flags field.

I've attached a sample capture showing several RAs. The router is not setting
the O flag. WS 1.0.8 correctly displays this. WS 1.2.0 does not. WS 1.2.0 uses
byte 0x3A for flags; it should use byte 0x3B. It uses bytes 0x3B and 0x3C for
the router lifetime; it should use bytes 0x3C and 0x3D.


-- 
Configure bugmail: https://bugs.wireshark.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.