aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-gsm_a.c
diff options
context:
space:
mode:
authorAnders Broman <anders.broman@ericsson.com>2006-02-18 23:29:51 +0000
committerAnders Broman <anders.broman@ericsson.com>2006-02-18 23:29:51 +0000
commit06d62952872508243c53c521f531f66afe06cacc (patch)
tree47e600ff46978be88df6fbdf4f8315d501df415e /epan/dissectors/packet-gsm_a.c
parentaccc35dd2a2f9f4324bd050a2cc37e1de1d37927 (diff)
downloadwireshark-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.c20
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 */