diff options
author | etxrab <etxrab@f5534014-38df-0310-8fa8-9805f1628bb7> | 2011-08-02 16:47:37 +0000 |
---|---|---|
committer | etxrab <etxrab@f5534014-38df-0310-8fa8-9805f1628bb7> | 2011-08-02 16:47:37 +0000 |
commit | 6f96daf2d1b30f0e759f26f9298e9965ed8f3916 (patch) | |
tree | 4a352eb3085965f5427460084a546f9f481c7e5f /asn1 | |
parent | c326210aac72441521ed684b4cc305af6146ac36 (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.c | 2 | ||||
-rw-r--r-- | asn1/ranap/ranap.cnf | 31 |
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; } } |