From 06d62952872508243c53c521f531f66afe06cacc Mon Sep 17 00:00:00 2001 From: Anders Broman Date: Sat, 18 Feb 2006 23:29:51 +0000 Subject: 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 --- epan/dissectors/packet-gsm_a.c | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) (limited to 'epan/dissectors/packet-gsm_a.c') 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 */ @@ -2793,6 +2794,23 @@ be_l3_msg(tvbuff_t *tvb, proto_tree *tree, guint32 offset, guint len, gchar *add return(curr_offset - offset); } +/* + * [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 */ @@ -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 */ -- cgit v1.2.3