diff options
author | Anders Broman <anders.broman@ericsson.com> | 2009-09-07 17:17:07 +0000 |
---|---|---|
committer | Anders Broman <anders.broman@ericsson.com> | 2009-09-07 17:17:07 +0000 |
commit | d41058065f9d351120861324b02571f19be10c6a (patch) | |
tree | 2f4a02ef234a2dd8043ff8e3b0ffe02f447bb137 /epan | |
parent | ff7fda0df5705664202ffe40805596ab77710f6d (diff) |
From Mike Morrin:
The GSM L3 part of the BSSMAP CipherModeComplete message is not being decoded.
Sligtly modified.
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=3983
svn path=/trunk/; revision=29776
Diffstat (limited to 'epan')
-rw-r--r-- | epan/dissectors/packet-gsm_a_bssmap.c | 5 | ||||
-rw-r--r-- | epan/dissectors/packet-gsm_a_common.h | 1 | ||||
-rw-r--r-- | epan/dissectors/packet-gsm_a_rr.c | 2 |
3 files changed, 5 insertions, 3 deletions
diff --git a/epan/dissectors/packet-gsm_a_bssmap.c b/epan/dissectors/packet-gsm_a_bssmap.c index 4bcf952e00..f473bfd5a6 100644 --- a/epan/dissectors/packet-gsm_a_bssmap.c +++ b/epan/dissectors/packet-gsm_a_bssmap.c @@ -2182,8 +2182,9 @@ be_l3_msg(tvbuff_t *tvb, proto_tree *tree, guint32 offset, guint len, gchar *add */ l3_tvb = tvb_new_subset(tvb, curr_offset, len, len); - call_dissector(dtap_handle, l3_tvb, g_pinfo, g_tree); - + /* although not obvious in 48.008, the L3 contents here are + the contents of the 44.018 CIPHER MODE COMPLETE PDU */ + dtap_rr_cip_mode_cpte(l3_tvb, tree, 0, len); curr_offset += len; EXTRANEOUS_DATA_CHECK(len, curr_offset - offset); diff --git a/epan/dissectors/packet-gsm_a_common.h b/epan/dissectors/packet-gsm_a_common.h index 3e3e5bc691..ac6a9a2641 100644 --- a/epan/dissectors/packet-gsm_a_common.h +++ b/epan/dissectors/packet-gsm_a_common.h @@ -609,6 +609,7 @@ guint16 de_rej_cause(tvbuff_t *tvb, proto_tree *tree, guint32 offset, guint len, guint16 de_d_gb_call_ref(tvbuff_t *tvb, proto_tree *tree, guint32 offset, guint len, gchar *add_string _U_, int string_len _U_); void dtap_rr_ho_cmd(tvbuff_t *tvb, proto_tree *tree, guint32 offset, guint len); +void dtap_rr_cip_mode_cpte(tvbuff_t *tvb, proto_tree *tree, guint32 offset, guint len); void bssmap_perf_loc_abort(tvbuff_t *tvb, proto_tree *tree, guint32 offset, guint len); void bssmap_reset(tvbuff_t *tvb, proto_tree *tree, guint32 offset, guint len); diff --git a/epan/dissectors/packet-gsm_a_rr.c b/epan/dissectors/packet-gsm_a_rr.c index b8e0cba879..10fdf094c4 100644 --- a/epan/dissectors/packet-gsm_a_rr.c +++ b/epan/dissectors/packet-gsm_a_rr.c @@ -6824,7 +6824,7 @@ dtap_rr_cip_mode_cmd(tvbuff_t *tvb, proto_tree *tree, guint32 offset, guint len) /* * 9.1.10 Ciphering Mode Complete */ -static void +void dtap_rr_cip_mode_cpte(tvbuff_t *tvb, proto_tree *tree, guint32 offset, guint len) { guint32 curr_offset; |