Wireshark-bugs: [Wireshark-bugs] [Bug 4588] New: Decoding of 3 digit MNC value appears to be bro

Date: Tue, 16 Mar 2010 18:06:08 -0700 (PDT)
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=4588

           Summary: Decoding of 3 digit MNC value appears to be broken in
                    dissect_e212_mcc_mnc()
           Product: Wireshark
           Version: 1.3.x (Experimental)
          Platform: All
        OS/Version: All
            Status: NEW
          Severity: Minor
          Priority: Low
         Component: Wireshark
        AssignedTo: wireshark-bugs@xxxxxxxxxxxxx
        ReportedBy: markjwallis@xxxxxxxxx


Build Information:

Copyright 1998-2010 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.10.4, with GLib 2.12.3, with libpcap 0.9.4, with libz
1.2.3, with POSIX capabilities (Linux), with libpcre 6.6, with SMI 0.4.5,
without c-ares, without ADNS, without Lua, without Python, with GnuTLS 1.4.1,
with Gcrypt 1.2.3, with MIT Kerberos, without GeoIP, without PortAudio, without
AirPcap, with new_packet_list.

Running on Linux 2.6.18-92.1.17.el5, with libpcap version 0.9.4, GnuTLS 1.4.1,
Gcrypt 1.2.3.

Built using gcc 4.1.2 20071124 (Red Hat 4.1.2-42).

--
dissect_e212_mcc_mnc() in packet-e212.c was recently much improved to decode
the entire PLMN-id but the decoding order of a 3 digit MNC was also changed. 

The modified function no longer decodes a 3 digit MNC encoded using 3GPP TS
25.413 and instead appears to decode 3 digit MNCs using 3GPP TS 24.008 

I think a strategy is needed here to accommodate dissectors that wish to have
an MCC/MNC with a 3 digit MNC decoded using the older TS 24.008 differently
from those that want to have the MCC/MNC decoded using newer standards such as
TS 25.413.


wireshark 1.3.4-SVN-32016 
dissect_e212_mcc_mnc()

        /* MNC, Mobile network code (octet 3 bits 5 to 8, octet 4)  */
        mnc3 = octet >> 4;
        offset++;
        octet = tvb_get_guint8(tvb,offset);
        mnc1 = octet & 0x0f;
        mnc2 = octet >> 4;


wireshark 1.1.2
wireshark_e212_mcc_mnc()

        /* MNC, Mobile network code (octet 3 bits 5 to 8, octet 4)  */
        mnc1 = octet >> 4;
        offset++;
        octet = tvb_get_guint8(tvb,offset);
        mnc2 = octet & 0x0f;
        mnc3 = octet >> 4;

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