Bug ID |
10976
|
Summary |
jmirror packet dissector expects ipv6 flow label = 0
|
Product |
Wireshark
|
Version |
1.10.6
|
Hardware |
x86
|
OS |
Windows 7
|
Status |
UNCONFIRMED
|
Severity |
Major
|
Priority |
Low
|
Component |
Dissection engine (libwireshark)
|
Assignee |
bugzilla-admin@wireshark.org
|
Reporter |
shehan.perera@gmail.com
|
Build Information:
Version 1.10.6 (v1.10.6 from master-1.10)
Copyright 1998-2014 Gerald Combs <gerald@wireshark.org> 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 (32-bit) with GTK+ 2.24.14, with Cairo 1.10.2, with Pango 1.30.1, with
GLib 2.34.1, with WinPcap (4_1_3), with libz 1.2.5, without POSIX capabilities,
without libnl, with SMI 0.4.8, with c-ares 1.9.1, with Lua 5.1, without Python,
with GnuTLS 2.12.18, with Gcrypt 1.4.6, with MIT Kerberos, with GeoIP, with
PortAudio V19-devel (built Mar 7 2014), with AirPcap.
Running on 32-bit Windows 7 Service Pack 1, build 7601, with WinPcap version
4.1.3 (packet.dll version 4.1.0.2980), based on libpcap version 1.0 branch
1_0_rel0b (20091008), GnuTLS 2.12.18, Gcrypt 1.4.6, without AirPcap.
Intel(R) Core(TM) i5-3340M CPU @ 2.70GHz, with 3232MB of physical
memory.
Built using Microsoft Visual C++ 10.0 build 40219
Wireshark is Open Source Software released under the GNU General Public
License.
Check the man page and http://www.wireshark.org for more information.
--
Hi
The current code for the jmirror dissector checks for the next header based on
the following:
* IPv4 Header: 0100 0101 xxxx xx00 ==> Pattern for standard
IPv4 20-byte header
* IPv6 Header: 0110 xxxx xxxx 0000 0000 0000 0000 0000 ==> Pattern for standard
IPv6 header with no flow label
* PPP/HDLC: 1111 1111 0000 0011 xx00 0000 0010 0001 ==> HDLC-like framing
for PPP (FF 03 x0 21)
* PPP/HDLC: 1111 1111 0000 0011 0000 0000 0101 0111 ==>
HDLC-like framing for PPP IPv6 (FF 03 00 57)
When the ipv6 flow label is non-zero the dissector does not detect the payload
as being ipv6.
Current code:
/* Look for IPv6 with no flow label */
else if ( hi_nibble(byte0) == 6 && lo_nibble(byte1) == 0 && byte2 == 0 && byte3
== 0 && ipv6_handle )
return ipv6_handle;
Update:
remove check for value of byte3.
resulting code:
else if ( hi_nibble(byte0) == 6 && lo_nibble(byte1) == 0 && byte2 == 0 &&
ipv6_handle )
return ipv6_handle;
I do not have the environment to compile this. Will it be possible to provide
an updated nightly build?
Many thanks
You are receiving this mail because:
- You are watching all bug changes.