Wireshark-bugs: [Wireshark-bugs] [Bug 5206] Wireshark incorrectly processes SMPP optional parame
Date: Mon, 13 Sep 2010 03:33:08 -0700 (PDT)
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=5206

--- Comment #2 from Petr Kolar <Petr.Kolar@xxxxxxxxxxx> 2010-09-13 03:32:56 PDT ---
(In reply to comment #1)
> source_network_id
> 
> Field         Size octets Type     Description 
> Parameter Tag 2           Integer  0x060D 
> Length        2           Integer  Length of Value part in octets  
> Value         7-65        C-Octet  ..... 
>                           String 

Well, marking the PDU as malformed is correct according to this information.
But what is incorrect is the way how the subsequent TLVs are processed.

======= SMPP 5.0 =======

Tagged Length Value (TLV)

A Tagged Length Value Field is a special composite field that comprises of
three parts:
• A 2-octet Integer (Tag) The tag identifies the parameter.
• A 2-octet Integer (Length) The length field indicates the length of the value
field in octets. Note that this length does not include the length of the tag
and length fields.
• An Octet String (Value) The value field contains the actual data for the
TLV field.

The Tag identifies the parameter. The Length indicates the size of the Value
field in octets.

======= end of excerpt form SMPP 5.0 =======

The Length field is always length of the Value field in octets. The SMPP
decoder must never add additional bytes to a Value field of a TLV, in quest of
supplementing the field to correct format.

The length fields of the TLVs create similar frame for SMPP Optional Parameters
as the command_length field does for PDU packets in data (e.g. TCP) stream.

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