diff options
author | Anders Broman <anders.broman@ericsson.com> | 2006-02-18 23:29:51 +0000 |
---|---|---|
committer | Anders Broman <anders.broman@ericsson.com> | 2006-02-18 23:29:51 +0000 |
commit | 06d62952872508243c53c521f531f66afe06cacc (patch) | |
tree | 47e600ff46978be88df6fbdf4f8315d501df415e /epan/dissectors/packet-gsm_a.c | |
parent | accc35dd2a2f9f4324bd050a2cc37e1de1d37927 (diff) | |
download | wireshark-06d62952872508243c53c521f531f66afe06cacc.tar.gz wireshark-06d62952872508243c53c521f531f66afe06cacc.tar.bz2 wireshark-06d62952872508243c53c521f531f66afe06cacc.zip |
From Florent.Drouin@alcatel.fr
Add the same workaround used in packet-ftam.c for the bad handling of the asn "IMPLICIT SEQUENCE", in the packet-gsm_map-template.c. This patch concerns Map V3 messages, not correctly decoded with the previous workaround "offset=offset+2".
Change a parameter for Provide Roaming Number decoding.
Add a decoding fonction for "Channel needed" parameter to avoid a decoding error for Paging messages
with a change to actually dissct channel needed.
svn path=/trunk/; revision=17350
Diffstat (limited to 'epan/dissectors/packet-gsm_a.c')
-rw-r--r-- | epan/dissectors/packet-gsm_a.c | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/epan/dissectors/packet-gsm_a.c b/epan/dissectors/packet-gsm_a.c index d15b6fd185..1e065787b5 100644 --- a/epan/dissectors/packet-gsm_a.c +++ b/epan/dissectors/packet-gsm_a.c @@ -2765,6 +2765,7 @@ be_ciph_resp_mode(tvbuff_t *tvb, proto_tree *tree, guint32 offset, guint len, gc return(curr_offset - offset); } + /* * [2] 3.2.2.35 */ @@ -2794,6 +2795,23 @@ be_l3_msg(tvbuff_t *tvb, proto_tree *tree, guint32 offset, guint len, gchar *add } /* + * [2] 3.2.2.36 Channel Needed + */static guint8 +be_cha_needed(tvbuff_t *tvb, proto_tree *tree, guint32 offset, guint len, gchar *add_string _U_, int string_len _U_) +{ + guint32 curr_offset; + + len = len; + curr_offset = offset; + + /* no length check possible */ + proto_tree_add_item(tree, hf_gsm_a_rr_chnl_needed_ch1, tvb, curr_offset, 1, FALSE); + + return(curr_offset - offset); +} + + +/* * [2] 3.2.2.43 */ static guint8 @@ -12429,7 +12447,7 @@ static guint8 (*bssmap_elem_fcn[])(tvbuff_t *tvb, proto_tree *tree, guint32 offs be_chosen_chan, /* Chosen Channel */ NULL, /* Total Resource Accessible */ be_ciph_resp_mode, /* Cipher Response Mode */ - NULL, /* Channel Needed */ + be_cha_needed, /* Channel Needed */ NULL, /* Trace Type */ NULL, /* TriggerID */ NULL, /* Trace Reference */ |