diff options
author | Martin Mathieson <martin.r.mathieson@googlemail.com> | 2014-01-27 12:06:46 +0000 |
---|---|---|
committer | Martin Mathieson <martin.r.mathieson@googlemail.com> | 2014-01-27 12:06:46 +0000 |
commit | f903141d65413c7f47303ee5ca5b5fe780f2fca6 (patch) | |
tree | 2a1fdbd1dc0f9d3c074899b719a67e0c1b71c6e2 /asn1/lte-rrc | |
parent | 3abb51aa67e82777159283f62cbdfad0eaae56ce (diff) | |
download | wireshark-f903141d65413c7f47303ee5ca5b5fe780f2fca6.tar.gz wireshark-f903141d65413c7f47303ee5ca5b5fe780f2fca6.tar.bz2 wireshark-f903141d65413c7f47303ee5ca5b5fe780f2fca6.zip |
Send news of SecurityModeFailure to PDCP dissector, which will attempt to roll back to previous setting
svn path=/trunk/; revision=54978
Diffstat (limited to 'asn1/lte-rrc')
-rw-r--r-- | asn1/lte-rrc/lte-rrc.cnf | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/asn1/lte-rrc/lte-rrc.cnf b/asn1/lte-rrc/lte-rrc.cnf index 65240555ba..12ab434bce 100644 --- a/asn1/lte-rrc/lte-rrc.cnf +++ b/asn1/lte-rrc/lte-rrc.cnf @@ -1092,9 +1092,19 @@ SoundingRS-UL-ConfigDedicated/setup/duration STRINGS=TFS(<e_rrc_duration_val) col_append_str(actx->pinfo->cinfo, COL_INFO, "SecurityModeComplete"); -#.FN_HDR SecurityModeFailure +#.FN_BODY SecurityModeFailure + mac_lte_info *p_mac_lte_info; +%(DEFAULT_BODY)s + /* Look for UE identifier */ + p_mac_lte_info = (mac_lte_info *)p_get_proto_data(wmem_file_scope(), actx->pinfo, proto_mac_lte, 0); + + if (p_mac_lte_info != NULL) { + /* Inform PDCP that the UE failed to execute the securityModeCommand */ + set_pdcp_lte_security_algorithms_failed(p_mac_lte_info->ueid); + } col_append_str(actx->pinfo->cinfo, COL_INFO, "SecurityModeFailure"); + #.FN_HDR UECapabilityInformation @@ -1510,6 +1520,7 @@ SoundingRS-UL-ConfigDedicated/setup/duration STRINGS=TFS(<e_rrc_duration_val) /* We do release the configuration here instead of RRC Connection Release message */ /* as the UE could have locally dropped the previous RRC Connection */ set_mac_lte_drx_config_release(p_mac_lte_info->ueid, actx->pinfo); + /* TODO: also release PDCP security config here */ } %(DEFAULT_BODY)s @@ -1520,6 +1531,10 @@ SoundingRS-UL-ConfigDedicated/setup/duration STRINGS=TFS(<e_rrc_duration_val) %(DEFAULT_BODY)s p_security_algorithms = private_data_pdcp_security_algorithms(actx); p_security_algorithms->configuration_frame = actx->pinfo->fd->num; + p_security_algorithms->previous_configuration_frame = 0; + p_security_algorithms->previous_integrity = eia0; + p_security_algorithms->previous_ciphering = eea0; + /* Look for UE identifier */ p_pdcp_lte_info = (pdcp_lte_info *)p_get_proto_data(wmem_file_scope(), actx->pinfo, proto_pdcp_lte, 0); if (p_pdcp_lte_info != NULL) { |