aboutsummaryrefslogtreecommitdiffstats
path: root/asn1
diff options
context:
space:
mode:
authoretxrab <etxrab@f5534014-38df-0310-8fa8-9805f1628bb7>2011-08-02 16:47:37 +0000
committeretxrab <etxrab@f5534014-38df-0310-8fa8-9805f1628bb7>2011-08-02 16:47:37 +0000
commit6f96daf2d1b30f0e759f26f9298e9965ed8f3916 (patch)
tree4a352eb3085965f5427460084a546f9f481c7e5f /asn1
parentc326210aac72441521ed684b4cc305af6146ac36 (diff)
Bug 6146 - Malformed RANAP packets when HandOver procedure on iuh
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=6146 git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@38312 f5534014-38df-0310-8fa8-9805f1628bb7
Diffstat (limited to 'asn1')
-rw-r--r--asn1/ranap/packet-ranap-template.c2
-rw-r--r--asn1/ranap/ranap.cnf31
2 files changed, 21 insertions, 12 deletions
diff --git a/asn1/ranap/packet-ranap-template.c b/asn1/ranap/packet-ranap-template.c
index 0838009456..3a59de16dc 100644
--- a/asn1/ranap/packet-ranap-template.c
+++ b/asn1/ranap/packet-ranap-template.c
@@ -66,6 +66,7 @@ static int proto_ranap = -1;
/* initialise sub-dissector handles */
static dissector_handle_t rrc_s_to_trnc_handle = NULL;
+static dissector_handle_t rrc_t_to_srnc_handle = NULL;
static dissector_handle_t rrc_ho_to_utran_cmd = NULL;
static int hf_ranap_imsi_digits = -1;
@@ -359,6 +360,7 @@ proto_reg_handoff_ranap(void)
if (!initialized) {
ranap_handle = find_dissector("ranap");
rrc_s_to_trnc_handle = find_dissector("rrc.s_to_trnc_cont");
+ rrc_t_to_srnc_handle = find_dissector("rrc.t_to_srnc_cont");
rrc_ho_to_utran_cmd = find_dissector("rrc.irat.ho_to_utran_cmd");
initialized = TRUE;
#include "packet-ranap-dis-tab.c"
diff --git a/asn1/ranap/ranap.cnf b/asn1/ranap/ranap.cnf
index 9c7bf69375..aa75bd282a 100644
--- a/asn1/ranap/ranap.cnf
+++ b/asn1/ranap/ranap.cnf
@@ -222,18 +222,25 @@ MAX_VAL = asn1_param_get_integer(%(ACTX)s,"upperBound")
%(DEFAULT_BODY)s
if ((rrc_message_tvb)&&(tvb_length(rrc_message_tvb)!=0)){
- if(ProtocolIE_ID == id_Source_ToTarget_TransparentContainer){
- /* Note: In the current version of this specification, this IE may
- * either carry the Source RNC to Target RNC Transparent Container
- * or the Source eNB to Target eNB Transparent Container IE as defined in [49]...
- */
- call_dissector(rrc_s_to_trnc_handle,rrc_message_tvb,%(ACTX)s->pinfo, proto_tree_get_root(tree));
- }else{
- if(pdu_type == SOUT){
- if(ProcedureCode==id_RelocationResourceAllocation){
- call_dissector(rrc_ho_to_utran_cmd,rrc_message_tvb,%(ACTX)s->pinfo, proto_tree_get_root(tree));
- }
- }
+ switch(ProtocolIE_ID){
+ case id_Source_ToTarget_TransparentContainer: /* INTEGER ::= 61 */
+ /* 9.2.1.30a Source to Target Transparent Container
+ * Note: In the current version of this specification, this IE may
+ * either carry the Source RNC to Target RNC Transparent Container
+ * or the Source eNB to Target eNB Transparent Container IE as defined in [49]...
+ */
+ call_dissector(rrc_s_to_trnc_handle,rrc_message_tvb,%(ACTX)s->pinfo, proto_tree_get_root(tree));
+ break;
+ case id_Target_ToSource_TransparentContainer: /* INTEGER ::= 63 */
+ /* 9.2.1.30b Target to Source Transparent Container
+ * In the current version of this specification, this IE may
+ * either carry the Target RNC to Source RNC Transparent Container
+ * or the Target eNB to Source eNB Transparent Container IE as defined in [49]...
+ */
+ call_dissector(rrc_t_to_srnc_handle,rrc_message_tvb,%(ACTX)s->pinfo, proto_tree_get_root(tree));
+ break;
+ default:
+ break;
}
}