Wireshark-commits: [Wireshark-commits] master b4284772: GSM RR: properly handle CSN.1 Null breakpoi

From: Wireshark code review <code-review-do-not-reply@xxxxxxxxxxxxx>
Date: Tue, 21 Jul 2020 04:34:52 +0000
URL: https://code.wireshark.org/review/gitweb?p=wireshark.git;a=commit;h=b4284772b360bc105f79da49b2b0461526b2e594
Submitter: "Anders Broman <a.broman58@xxxxxxxxx>"
Changed: branch: master
Repository: wireshark

Commits:

b4284772 by Vadim Yanitskiy (vyanitskiy@xxxxxxxxxxx):

    GSM RR: properly handle CSN.1 Null breakpoints in IA Rest Octets
    
    In CSN.1, the message may be safely cropped at specific parts
    of its definition called Null breakpoints or rather "message
    escape" labels (see 3GPP TS 44.060, section 11.1.3.3).
    
    These labels usually preceed the optional protocol extensions,
    added in newer releases of 3GPP specifications.  The following
    IA Rest Octets (see 3GPP TS 44.018, section 10.5.2.16) sample
    illustrates that:
    
      IA Rest Octets
          H... .... = First Discriminator Bit: High
          .H.. .... = Second Discriminator Bit: High
          ..0. .... = Discriminator Bit: Packet Assignment
          ...1 .... = Discriminator Bit: Packet Downlink Assignment
          Packet Downlink Assignment
              .... 0000  0000 0000  0000 0000  0000 0000  0001 .... = TLLI: 0x00000001
              .... 1... = TFI Assignment (etc): Present
              .... .000  00.. .... = TFI_Assignment: 0
              ..0. .... = RLC_Mode: RLC acknowledged mode
              ...0 .... = Alpha: Not Present
              .... 0000  0... .... = Gamma: 0 dB (0)
              .0.. .... = Polling: no action is required from MS
              ..0. .... = TA_Valid: the timing advance value is not valid
              ...0 .... = Timing Advance Index: Not Present
              .... 0... = TBF Starting Time: Not Present
              .... .0.. = P0: Not Present
              .... ..L. = Additions in R99: Not Present
              .... ...L = Additions in Rel-6: Not Present
      [Malformed Packet: GSM CCCH]
          [Expert Info (Error/Malformed): Malformed Packet (Exception occurred)]
              [Malformed Packet (Exception occurred)]
              [Severity level: Error]
              [Group: Malformed]
    
    In GSM, the maximum length of a MAC block (on xCCH channels) is
    limited to 23 bytes, so the message was cut in the middle, and
    the Rel-7, Rel-10, and Rel-13 additions did not fit.  Although,
    the message is still correct according to the specifications,
    so we should not consider it as "Malformed".
    
    Change-Id: I6920c87d3a3247f4342fea69a8bb40c28316f422
    Reviewed-on: https://code.wireshark.org/review/37912
    Reviewed-by: Harald Welte <laforge@xxxxxxxxxxxx>
    Reviewed-by: Pau Espin Pedrol <pespin@xxxxxxxxxxx>
    Petri-Dish: Alexis La Goutte <alexis.lagoutte@xxxxxxxxx>
    Tested-by: Petri Dish Buildbot
    Reviewed-by: Anders Broman <a.broman58@xxxxxxxxx>
    

Actions performed:

    from  6b4fae1   Windows: Switch from the WpdPack SDK to vcpkg's libpcap.
     add  b4284772  GSM RR: properly handle CSN.1 Null breakpoints in IA Rest Octets


Summary of changes:
 epan/dissectors/packet-gsm_a_rr.c | 10 ++++++++++
 1 file changed, 10 insertions(+)