rrc: Dissect algorithm capabilities

asn2wrs created fields for several BITSTRING bits but does not actually uses them. This changeset calls them for the umts ciphering/integrity algorithms and gsm algorithms

Change-Id: I88ddc2aec6805a77fcb3f3d547efda4d513ec919
Reviewed-on: https://code.wireshark.org/review/23899
Petri-Dish: Pascal Quantin <pascal.quantin@gmail.com>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com>
This commit is contained in:
Darien Spencer 2017-10-14 20:22:29 +03:00 committed by Pascal Quantin
parent d0a4a614f9
commit 6aba76666d
3 changed files with 222 additions and 53 deletions

View File

@ -286,6 +286,8 @@ static gint ett_rrc_eutraFeatureGroupIndicators = -1;
static gint ett_rrc_cn_CommonGSM_MAP_NAS_SysInfo = -1;
static gint ett_rrc_ims_info = -1;
static gint ett_rrc_cellIdentity = -1;
static gint ett_rrc_cipheringAlgorithmCap = -1;
static gint ett_rrc_integrityProtectionAlgorithmCap = -1;
static expert_field ei_rrc_no_hrnti = EI_INIT;
@ -539,6 +541,8 @@ void proto_register_rrc(void) {
&ett_rrc_cn_CommonGSM_MAP_NAS_SysInfo,
&ett_rrc_ims_info,
&ett_rrc_cellIdentity,
&ett_rrc_cipheringAlgorithmCap,
&ett_rrc_integrityProtectionAlgorithmCap,
};
static ei_register_info ei[] = {

View File

@ -556,6 +556,85 @@ HandoverFromUTRANCommand-GSM-r6-IEs/gsm-message/single-GSM-Message single-GSM-Me
col_append_str(actx->pinfo->cinfo, COL_INFO, "UTRANMobilityInformationFailure");
%(DEFAULT_BODY)s
#.FN_BODY SecurityCapability/cipheringAlgorithmCap VAL_PTR = &cap_tvb
tvbuff_t *cap_tvb=NULL;
proto_tree *subtree;
%(DEFAULT_BODY)s
if (cap_tvb) {
subtree = proto_item_add_subtree(actx->created_item, ett_rrc_cipheringAlgorithmCap);
/* NOTE: If one of the lines below fail to compile after updating the RRC .asn files
* it probably means one of the 'spare' bits has been utilized and the hf member has a new name
*/
/* First octet */
proto_tree_add_item(subtree, hf_rrc_T_cipheringAlgorithmCap_spare15, cap_tvb, 0, 1, ENC_BIG_ENDIAN);
proto_tree_add_item(subtree, hf_rrc_T_cipheringAlgorithmCap_spare14, cap_tvb, 0, 1, ENC_BIG_ENDIAN);
proto_tree_add_item(subtree, hf_rrc_T_cipheringAlgorithmCap_spare13, cap_tvb, 0, 1, ENC_BIG_ENDIAN);
proto_tree_add_item(subtree, hf_rrc_T_cipheringAlgorithmCap_spare12, cap_tvb, 0, 1, ENC_BIG_ENDIAN);
proto_tree_add_item(subtree, hf_rrc_T_cipheringAlgorithmCap_spare11, cap_tvb, 0, 1, ENC_BIG_ENDIAN);
proto_tree_add_item(subtree, hf_rrc_T_cipheringAlgorithmCap_spare10, cap_tvb, 0, 1, ENC_BIG_ENDIAN);
proto_tree_add_item(subtree, hf_rrc_T_cipheringAlgorithmCap_spare9, cap_tvb, 0, 1, ENC_BIG_ENDIAN);
proto_tree_add_item(subtree, hf_rrc_T_cipheringAlgorithmCap_spare8, cap_tvb, 0, 1, ENC_BIG_ENDIAN);
/* Second octet */
proto_tree_add_item(subtree, hf_rrc_T_cipheringAlgorithmCap_spare7, cap_tvb, 1, 1, ENC_BIG_ENDIAN);
proto_tree_add_item(subtree, hf_rrc_T_cipheringAlgorithmCap_spare6, cap_tvb, 1, 1, ENC_BIG_ENDIAN);
proto_tree_add_item(subtree, hf_rrc_T_cipheringAlgorithmCap_spare5, cap_tvb, 1, 1, ENC_BIG_ENDIAN);
proto_tree_add_item(subtree, hf_rrc_T_cipheringAlgorithmCap_spare4, cap_tvb, 1, 1, ENC_BIG_ENDIAN);
proto_tree_add_item(subtree, hf_rrc_T_cipheringAlgorithmCap_spare3, cap_tvb, 1, 1, ENC_BIG_ENDIAN);
proto_tree_add_item(subtree, hf_rrc_T_cipheringAlgorithmCap_uea2, cap_tvb, 1, 1, ENC_BIG_ENDIAN);
proto_tree_add_item(subtree, hf_rrc_T_cipheringAlgorithmCap_uea1, cap_tvb, 1, 1, ENC_BIG_ENDIAN);
proto_tree_add_item(subtree, hf_rrc_T_cipheringAlgorithmCap_uea0, cap_tvb, 1, 1, ENC_BIG_ENDIAN);
}
#.FN_BODY SecurityCapability/integrityProtectionAlgorithmCap VAL_PTR = &cap_tvb
tvbuff_t *cap_tvb=NULL;
proto_tree *subtree;
%(DEFAULT_BODY)s
if (cap_tvb) {
subtree = proto_item_add_subtree(actx->created_item, ett_rrc_integrityProtectionAlgorithmCap);
/* NOTE: If one of the lines below fail to compile after updating the RRC .asn files
* it probably means one of the 'spare' bits has been utilized and the hf member has a new name
*/
/* First octet */
proto_tree_add_item(subtree, hf_rrc_T_integrityProtectionAlgorithmCap_spare15, cap_tvb, 0, 1, ENC_BIG_ENDIAN);
proto_tree_add_item(subtree, hf_rrc_T_integrityProtectionAlgorithmCap_spare14, cap_tvb, 0, 1, ENC_BIG_ENDIAN);
proto_tree_add_item(subtree, hf_rrc_T_integrityProtectionAlgorithmCap_spare13, cap_tvb, 0, 1, ENC_BIG_ENDIAN);
proto_tree_add_item(subtree, hf_rrc_T_integrityProtectionAlgorithmCap_spare12, cap_tvb, 0, 1, ENC_BIG_ENDIAN);
proto_tree_add_item(subtree, hf_rrc_T_integrityProtectionAlgorithmCap_spare11, cap_tvb, 0, 1, ENC_BIG_ENDIAN);
proto_tree_add_item(subtree, hf_rrc_T_integrityProtectionAlgorithmCap_spare10, cap_tvb, 0, 1, ENC_BIG_ENDIAN);
proto_tree_add_item(subtree, hf_rrc_T_integrityProtectionAlgorithmCap_spare9, cap_tvb, 0, 1, ENC_BIG_ENDIAN);
proto_tree_add_item(subtree, hf_rrc_T_integrityProtectionAlgorithmCap_spare8, cap_tvb, 0, 1, ENC_BIG_ENDIAN);
/* Second octet */
proto_tree_add_item(subtree, hf_rrc_T_integrityProtectionAlgorithmCap_spare7, cap_tvb, 1, 1, ENC_BIG_ENDIAN);
proto_tree_add_item(subtree, hf_rrc_T_integrityProtectionAlgorithmCap_spare6, cap_tvb, 1, 1, ENC_BIG_ENDIAN);
proto_tree_add_item(subtree, hf_rrc_T_integrityProtectionAlgorithmCap_spare5, cap_tvb, 1, 1, ENC_BIG_ENDIAN);
proto_tree_add_item(subtree, hf_rrc_T_integrityProtectionAlgorithmCap_spare4, cap_tvb, 1, 1, ENC_BIG_ENDIAN);
proto_tree_add_item(subtree, hf_rrc_T_integrityProtectionAlgorithmCap_spare3, cap_tvb, 1, 1, ENC_BIG_ENDIAN);
proto_tree_add_item(subtree, hf_rrc_T_integrityProtectionAlgorithmCap_uia2, cap_tvb, 1, 1, ENC_BIG_ENDIAN);
proto_tree_add_item(subtree, hf_rrc_T_integrityProtectionAlgorithmCap_uia1, cap_tvb, 1, 1, ENC_BIG_ENDIAN);
proto_tree_add_item(subtree, hf_rrc_T_integrityProtectionAlgorithmCap_spare0, cap_tvb, 1, 1, ENC_BIG_ENDIAN);
}
#.FN_BODY GsmSecurityCapability VAL_PTR = &cap_tvb
tvbuff_t *cap_tvb=NULL;
proto_tree *subtree;
%(DEFAULT_BODY)s
if (cap_tvb) {
subtree = proto_item_add_subtree(actx->created_item, ett_rrc_GsmSecurityCapability);
proto_tree_add_item(subtree, hf_rrc_GsmSecurityCapability_a5_7, cap_tvb, 0, 1, ENC_BIG_ENDIAN);
proto_tree_add_item(subtree, hf_rrc_GsmSecurityCapability_a5_6, cap_tvb, 0, 1, ENC_BIG_ENDIAN);
proto_tree_add_item(subtree, hf_rrc_GsmSecurityCapability_a5_5, cap_tvb, 0, 1, ENC_BIG_ENDIAN);
proto_tree_add_item(subtree, hf_rrc_GsmSecurityCapability_a5_4, cap_tvb, 0, 1, ENC_BIG_ENDIAN);
proto_tree_add_item(subtree, hf_rrc_GsmSecurityCapability_a5_3, cap_tvb, 0, 1, ENC_BIG_ENDIAN);
proto_tree_add_item(subtree, hf_rrc_GsmSecurityCapability_a5_2, cap_tvb, 0, 1, ENC_BIG_ENDIAN);
proto_tree_add_item(subtree, hf_rrc_GsmSecurityCapability_a5_1, cap_tvb, 0, 1, ENC_BIG_ENDIAN);
}
#.FN_BODY TargetRNC-ToSourceRNC-Container/dL-DCCHmessage VAL_PTR = &dl_dcch_message_tvb
tvbuff_t *dl_dcch_message_tvb=NULL;

View File

@ -18226,6 +18226,8 @@ static gint ett_rrc_eutraFeatureGroupIndicators = -1;
static gint ett_rrc_cn_CommonGSM_MAP_NAS_SysInfo = -1;
static gint ett_rrc_ims_info = -1;
static gint ett_rrc_cellIdentity = -1;
static gint ett_rrc_cipheringAlgorithmCap = -1;
static gint ett_rrc_integrityProtectionAlgorithmCap = -1;
static expert_field ei_rrc_no_hrnti = EI_INIT;
@ -18576,7 +18578,7 @@ dissect_rrc_ActivationTime(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _
static int
dissect_rrc_RB_Identity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 1160 "./asn1/rrc/rrc.cnf"
#line 1239 "./asn1/rrc/rrc.cnf"
guint32 rbid;
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1U, 32U, &rbid, FALSE);
@ -18593,7 +18595,7 @@ private_data_set_rbid(actx, rbid);
static int
dissect_rrc_RLC_SequenceNumber(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 1166 "./asn1/rrc/rrc.cnf"
#line 1245 "./asn1/rrc/rrc.cnf"
guint32 rlc_ciphering_sqn;
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 4095U, &rlc_ciphering_sqn, FALSE);
@ -18614,7 +18616,7 @@ static const per_sequence_t RB_ActivationTimeInfo_sequence[] = {
static int
dissect_rrc_RB_ActivationTimeInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 1132 "./asn1/rrc/rrc.cnf"
#line 1211 "./asn1/rrc/rrc.cnf"
fp_info *fpinf;
rlc_info *rlcinf;
rrc_ciphering_info *ciphering_info;
@ -18683,7 +18685,7 @@ dissect_rrc_CipheringModeInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *act
static int
dissect_rrc_SRNC_Identity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 873 "./asn1/rrc/rrc.cnf"
#line 952 "./asn1/rrc/rrc.cnf"
tvbuff_t * s_rnc_id_tvb = NULL;
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
12, 12, FALSE, &s_rnc_id_tvb, NULL);
@ -18701,7 +18703,7 @@ dissect_rrc_SRNC_Identity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U
static int
dissect_rrc_S_RNTI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 880 "./asn1/rrc/rrc.cnf"
#line 959 "./asn1/rrc/rrc.cnf"
tvbuff_t * s_rnti_tvb = NULL;
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
20, 20, FALSE, &s_rnti_tvb, NULL);
@ -18724,7 +18726,7 @@ static const per_sequence_t U_RNTI_sequence[] = {
static int
dissect_rrc_U_RNTI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 887 "./asn1/rrc/rrc.cnf"
#line 966 "./asn1/rrc/rrc.cnf"
private_data_set_s_rnc_id(actx, 0);
private_data_set_s_rnti(actx, 0);
guint32 s_rnc_id;
@ -18760,7 +18762,7 @@ dissect_rrc_U_RNTI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, prot
static int
dissect_rrc_Digit(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 755 "./asn1/rrc/rrc.cnf"
#line 834 "./asn1/rrc/rrc.cnf"
guint32 digit;
wmem_strbuf_t* digits_strbuf; /* The string of either an IMSI or a MCC-MNC pair */
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
@ -18829,7 +18831,7 @@ static const per_sequence_t PLMN_Identity_sequence[] = {
static int
dissect_rrc_PLMN_Identity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 698 "./asn1/rrc/rrc.cnf"
#line 777 "./asn1/rrc/rrc.cnf"
wmem_strbuf_t* mcc_mnc_strbuf;
guint32 string_len;
gchar* mcc_mnc_string;
@ -18869,7 +18871,7 @@ dissect_rrc_PLMN_Identity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U
static int
dissect_rrc_NAS_SystemInformationGSM_MAP(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 841 "./asn1/rrc/rrc.cnf"
#line 920 "./asn1/rrc/rrc.cnf"
tvbuff_t *nas_sys_info_gsm_map_tvb = NULL;
guint32 length;
enum nas_sys_info_gsm_map cn_domain;
@ -18912,7 +18914,7 @@ dissect_rrc_NAS_SystemInformationGSM_MAP(tvbuff_t *tvb _U_, int offset _U_, asn1
static int
dissect_rrc_T_cn_CommonGSM_MAP_NAS_SysInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 825 "./asn1/rrc/rrc.cnf"
#line 904 "./asn1/rrc/rrc.cnf"
private_data_set_cn_domain(actx, RRC_NAS_SYS_INFO_CN_COMMON);
offset = dissect_rrc_NAS_SystemInformationGSM_MAP(tvb, offset, actx, tree, hf_index);
@ -18932,7 +18934,7 @@ static const value_string rrc_CN_DomainIdentity_vals[] = {
static int
dissect_rrc_CN_DomainIdentity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 818 "./asn1/rrc/rrc.cnf"
#line 897 "./asn1/rrc/rrc.cnf"
guint32 nas_sys_info;
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2, &nas_sys_info, FALSE, 0, NULL);
@ -22591,7 +22593,7 @@ dissect_rrc_SSDT_UL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, pro
static int
dissect_rrc_CellIdentity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 986 "./asn1/rrc/rrc.cnf"
#line 1065 "./asn1/rrc/rrc.cnf"
tvbuff_t * cell_id_tvb = NULL;
proto_item *temp_ti;
proto_tree *cell_identity_tree;
@ -22816,7 +22818,7 @@ dissect_rrc_T_r3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_
static int
dissect_rrc_H_RNTI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 1074 "./asn1/rrc/rrc.cnf"
#line 1153 "./asn1/rrc/rrc.cnf"
tvbuff_t *hrnti_tvb;
struct rrc_info *rrcinf;
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
@ -22825,7 +22827,7 @@ dissect_rrc_H_RNTI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, prot
#line 1079 "./asn1/rrc/rrc.cnf"
#line 1158 "./asn1/rrc/rrc.cnf"
rrcinf = (struct rrc_info *)p_get_proto_data(wmem_file_scope(), actx->pinfo, proto_rrc, 0);
if (!rrcinf) {
rrcinf = wmem_new0(wmem_file_scope(), struct rrc_info);
@ -22851,7 +22853,7 @@ dissect_rrc_E_RNTI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, prot
static int
dissect_rrc_T_cn_CommonGSM_MAP_NAS_SysInfo_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 829 "./asn1/rrc/rrc.cnf"
#line 908 "./asn1/rrc/rrc.cnf"
private_data_set_cn_domain(actx, RRC_NAS_SYS_INFO_CN_COMMON);
offset = dissect_rrc_NAS_SystemInformationGSM_MAP(tvb, offset, actx, tree, hf_index);
@ -28325,7 +28327,7 @@ dissect_rrc_ScramblingCodeType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *ac
static int
dissect_rrc_UL_ScramblingCode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 981 "./asn1/rrc/rrc.cnf"
#line 1060 "./asn1/rrc/rrc.cnf"
guint32 scrambling_code;
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 16777215U, &scrambling_code, FALSE);
@ -38879,7 +38881,7 @@ dissect_rrc_CellChangeOrderFromUTRAN_r3_IEs(tvbuff_t *tvb _U_, int offset _U_, a
static int
dissect_rrc_GERAN_SystemInfoBlock(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 607 "./asn1/rrc/rrc.cnf"
#line 686 "./asn1/rrc/rrc.cnf"
tvbuff_t *parameter_tvb=NULL;
offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
@ -39070,7 +39072,7 @@ dissect_rrc_CellChangeOrderFromUTRAN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx
static int
dissect_rrc_C_RNTI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 912 "./asn1/rrc/rrc.cnf"
#line 991 "./asn1/rrc/rrc.cnf"
fp_info *fpinf = NULL;
umts_mac_info *macinf = NULL;
rlc_info *rlcinf = NULL;
@ -46178,7 +46180,7 @@ dissect_rrc_RLC_Info_r5(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_,
static int
dissect_rrc_MAC_d_FlowIdentity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 1071 "./asn1/rrc/rrc.cnf"
#line 1150 "./asn1/rrc/rrc.cnf"
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 7U, &flowd, FALSE);
@ -46226,7 +46228,7 @@ static const per_choice_t DL_TransportChannelType_r5_choice[] = {
static int
dissect_rrc_DL_TransportChannelType_r5(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 1000 "./asn1/rrc/rrc.cnf"
#line 1079 "./asn1/rrc/rrc.cnf"
/*Here we try to figure out which HS-DSCH channels are multiplexed*/
guint *flowd_p;
guint *cur_val=NULL;
@ -49700,7 +49702,7 @@ static const per_choice_t DL_TransportChannelType_r7_choice[] = {
static int
dissect_rrc_DL_TransportChannelType_r7(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 1035 "./asn1/rrc/rrc.cnf"
#line 1114 "./asn1/rrc/rrc.cnf"
/*Here we try to figure out which HS-DSCH channels are multiplexed*/
guint *flowd_p;
guint *cur_val=NULL;
@ -63849,7 +63851,7 @@ static const per_sequence_t T_single_GSM_Message_r3_sequence[] = {
static int
dissect_rrc_T_single_GSM_Message_r3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 576 "./asn1/rrc/rrc.cnf"
#line 655 "./asn1/rrc/rrc.cnf"
tvbuff_t *gsm_message_tvb=NULL;
guint bits_remaining, whole_octets_remaining;
@ -63875,7 +63877,7 @@ dissect_rrc_T_single_GSM_Message_r3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_
static int
dissect_rrc_GSM_MessageList_item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 568 "./asn1/rrc/rrc.cnf"
#line 647 "./asn1/rrc/rrc.cnf"
tvbuff_t *gsm_messagelist_tvb=NULL;
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
@ -64135,7 +64137,7 @@ static const per_sequence_t T_single_GSM_Message_r6_sequence[] = {
static int
dissect_rrc_T_single_GSM_Message_r6(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 591 "./asn1/rrc/rrc.cnf"
#line 670 "./asn1/rrc/rrc.cnf"
tvbuff_t *gsm_message_tvb=NULL;
guint bits_remaining, whole_octets_remaining;
@ -90278,7 +90280,7 @@ static const value_string rrc_ReleaseCause_vals[] = {
static int
dissect_rrc_ReleaseCause(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 1188 "./asn1/rrc/rrc.cnf"
#line 1267 "./asn1/rrc/rrc.cnf"
guint32 value;
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
8, &value, FALSE, 0, NULL);
@ -91024,8 +91026,40 @@ dissect_rrc_RRCConnectionRelease(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *
static int
dissect_rrc_T_cipheringAlgorithmCap(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 560 "./asn1/rrc/rrc.cnf"
tvbuff_t *cap_tvb=NULL;
proto_tree *subtree;
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
16, 16, FALSE, NULL, NULL);
16, 16, FALSE, &cap_tvb, NULL);
if (cap_tvb) {
subtree = proto_item_add_subtree(actx->created_item, ett_rrc_cipheringAlgorithmCap);
/* NOTE: If one of the lines below fail to compile after updating the RRC .asn files
* it probably means one of the 'spare' bits has been utilized and the hf member has a new name
*/
/* First octet */
proto_tree_add_item(subtree, hf_rrc_T_cipheringAlgorithmCap_spare15, cap_tvb, 0, 1, ENC_BIG_ENDIAN);
proto_tree_add_item(subtree, hf_rrc_T_cipheringAlgorithmCap_spare14, cap_tvb, 0, 1, ENC_BIG_ENDIAN);
proto_tree_add_item(subtree, hf_rrc_T_cipheringAlgorithmCap_spare13, cap_tvb, 0, 1, ENC_BIG_ENDIAN);
proto_tree_add_item(subtree, hf_rrc_T_cipheringAlgorithmCap_spare12, cap_tvb, 0, 1, ENC_BIG_ENDIAN);
proto_tree_add_item(subtree, hf_rrc_T_cipheringAlgorithmCap_spare11, cap_tvb, 0, 1, ENC_BIG_ENDIAN);
proto_tree_add_item(subtree, hf_rrc_T_cipheringAlgorithmCap_spare10, cap_tvb, 0, 1, ENC_BIG_ENDIAN);
proto_tree_add_item(subtree, hf_rrc_T_cipheringAlgorithmCap_spare9, cap_tvb, 0, 1, ENC_BIG_ENDIAN);
proto_tree_add_item(subtree, hf_rrc_T_cipheringAlgorithmCap_spare8, cap_tvb, 0, 1, ENC_BIG_ENDIAN);
/* Second octet */
proto_tree_add_item(subtree, hf_rrc_T_cipheringAlgorithmCap_spare7, cap_tvb, 1, 1, ENC_BIG_ENDIAN);
proto_tree_add_item(subtree, hf_rrc_T_cipheringAlgorithmCap_spare6, cap_tvb, 1, 1, ENC_BIG_ENDIAN);
proto_tree_add_item(subtree, hf_rrc_T_cipheringAlgorithmCap_spare5, cap_tvb, 1, 1, ENC_BIG_ENDIAN);
proto_tree_add_item(subtree, hf_rrc_T_cipheringAlgorithmCap_spare4, cap_tvb, 1, 1, ENC_BIG_ENDIAN);
proto_tree_add_item(subtree, hf_rrc_T_cipheringAlgorithmCap_spare3, cap_tvb, 1, 1, ENC_BIG_ENDIAN);
proto_tree_add_item(subtree, hf_rrc_T_cipheringAlgorithmCap_uea2, cap_tvb, 1, 1, ENC_BIG_ENDIAN);
proto_tree_add_item(subtree, hf_rrc_T_cipheringAlgorithmCap_uea1, cap_tvb, 1, 1, ENC_BIG_ENDIAN);
proto_tree_add_item(subtree, hf_rrc_T_cipheringAlgorithmCap_uea0, cap_tvb, 1, 1, ENC_BIG_ENDIAN);
}
return offset;
}
@ -91034,8 +91068,40 @@ dissect_rrc_T_cipheringAlgorithmCap(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_
static int
dissect_rrc_T_integrityProtectionAlgorithmCap(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 591 "./asn1/rrc/rrc.cnf"
tvbuff_t *cap_tvb=NULL;
proto_tree *subtree;
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
16, 16, FALSE, NULL, NULL);
16, 16, FALSE, &cap_tvb, NULL);
if (cap_tvb) {
subtree = proto_item_add_subtree(actx->created_item, ett_rrc_integrityProtectionAlgorithmCap);
/* NOTE: If one of the lines below fail to compile after updating the RRC .asn files
* it probably means one of the 'spare' bits has been utilized and the hf member has a new name
*/
/* First octet */
proto_tree_add_item(subtree, hf_rrc_T_integrityProtectionAlgorithmCap_spare15, cap_tvb, 0, 1, ENC_BIG_ENDIAN);
proto_tree_add_item(subtree, hf_rrc_T_integrityProtectionAlgorithmCap_spare14, cap_tvb, 0, 1, ENC_BIG_ENDIAN);
proto_tree_add_item(subtree, hf_rrc_T_integrityProtectionAlgorithmCap_spare13, cap_tvb, 0, 1, ENC_BIG_ENDIAN);
proto_tree_add_item(subtree, hf_rrc_T_integrityProtectionAlgorithmCap_spare12, cap_tvb, 0, 1, ENC_BIG_ENDIAN);
proto_tree_add_item(subtree, hf_rrc_T_integrityProtectionAlgorithmCap_spare11, cap_tvb, 0, 1, ENC_BIG_ENDIAN);
proto_tree_add_item(subtree, hf_rrc_T_integrityProtectionAlgorithmCap_spare10, cap_tvb, 0, 1, ENC_BIG_ENDIAN);
proto_tree_add_item(subtree, hf_rrc_T_integrityProtectionAlgorithmCap_spare9, cap_tvb, 0, 1, ENC_BIG_ENDIAN);
proto_tree_add_item(subtree, hf_rrc_T_integrityProtectionAlgorithmCap_spare8, cap_tvb, 0, 1, ENC_BIG_ENDIAN);
/* Second octet */
proto_tree_add_item(subtree, hf_rrc_T_integrityProtectionAlgorithmCap_spare7, cap_tvb, 1, 1, ENC_BIG_ENDIAN);
proto_tree_add_item(subtree, hf_rrc_T_integrityProtectionAlgorithmCap_spare6, cap_tvb, 1, 1, ENC_BIG_ENDIAN);
proto_tree_add_item(subtree, hf_rrc_T_integrityProtectionAlgorithmCap_spare5, cap_tvb, 1, 1, ENC_BIG_ENDIAN);
proto_tree_add_item(subtree, hf_rrc_T_integrityProtectionAlgorithmCap_spare4, cap_tvb, 1, 1, ENC_BIG_ENDIAN);
proto_tree_add_item(subtree, hf_rrc_T_integrityProtectionAlgorithmCap_spare3, cap_tvb, 1, 1, ENC_BIG_ENDIAN);
proto_tree_add_item(subtree, hf_rrc_T_integrityProtectionAlgorithmCap_uia2, cap_tvb, 1, 1, ENC_BIG_ENDIAN);
proto_tree_add_item(subtree, hf_rrc_T_integrityProtectionAlgorithmCap_uia1, cap_tvb, 1, 1, ENC_BIG_ENDIAN);
proto_tree_add_item(subtree, hf_rrc_T_integrityProtectionAlgorithmCap_spare0, cap_tvb, 1, 1, ENC_BIG_ENDIAN);
}
return offset;
}
@ -91059,8 +91125,26 @@ dissect_rrc_SecurityCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *ac
static int
dissect_rrc_GsmSecurityCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 622 "./asn1/rrc/rrc.cnf"
tvbuff_t *cap_tvb=NULL;
proto_tree *subtree;
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
7, 7, FALSE, NULL, NULL);
7, 7, FALSE, &cap_tvb, NULL);
if (cap_tvb) {
subtree = proto_item_add_subtree(actx->created_item, ett_rrc_GsmSecurityCapability);
proto_tree_add_item(subtree, hf_rrc_GsmSecurityCapability_a5_7, cap_tvb, 0, 1, ENC_BIG_ENDIAN);
proto_tree_add_item(subtree, hf_rrc_GsmSecurityCapability_a5_6, cap_tvb, 0, 1, ENC_BIG_ENDIAN);
proto_tree_add_item(subtree, hf_rrc_GsmSecurityCapability_a5_5, cap_tvb, 0, 1, ENC_BIG_ENDIAN);
proto_tree_add_item(subtree, hf_rrc_GsmSecurityCapability_a5_4, cap_tvb, 0, 1, ENC_BIG_ENDIAN);
proto_tree_add_item(subtree, hf_rrc_GsmSecurityCapability_a5_3, cap_tvb, 0, 1, ENC_BIG_ENDIAN);
proto_tree_add_item(subtree, hf_rrc_GsmSecurityCapability_a5_2, cap_tvb, 0, 1, ENC_BIG_ENDIAN);
proto_tree_add_item(subtree, hf_rrc_GsmSecurityCapability_a5_1, cap_tvb, 0, 1, ENC_BIG_ENDIAN);
}
return offset;
}
@ -95859,7 +95943,7 @@ dissect_rrc_UE_ConnTimersAndConstants(tvbuff_t *tvb _U_, int offset _U_, asn1_ct
static int
dissect_rrc_T_cn_CommonGSM_MAP_NAS_SysInfo_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 833 "./asn1/rrc/rrc.cnf"
#line 912 "./asn1/rrc/rrc.cnf"
private_data_set_cn_domain(actx, RRC_NAS_SYS_INFO_CN_COMMON);
offset = dissect_rrc_NAS_SystemInformationGSM_MAP(tvb, offset, actx, tree, hf_index);
@ -98464,7 +98548,7 @@ dissect_rrc_ETWSPrimaryNotificationWithSecurity(tvbuff_t *tvb _U_, int offset _U
static int
dissect_rrc_T_eutra_Message(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 662 "./asn1/rrc/rrc.cnf"
#line 741 "./asn1/rrc/rrc.cnf"
tvbuff_t *eutra_message_tvb = NULL;
offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
NO_BOUND, NO_BOUND, FALSE, &eutra_message_tvb);
@ -98526,7 +98610,7 @@ dissect_rrc_T_r8_04(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, pro
static int
dissect_rrc_T_ims_Information(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 780 "./asn1/rrc/rrc.cnf"
#line 859 "./asn1/rrc/rrc.cnf"
tvbuff_t *imsInformation_tvb=NULL;
offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
1, 32, FALSE, &imsInformation_tvb);
@ -98581,7 +98665,7 @@ dissect_rrc_RSR_VCC_Info(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_
static int
dissect_rrc_T_eutra_Message_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 668 "./asn1/rrc/rrc.cnf"
#line 747 "./asn1/rrc/rrc.cnf"
tvbuff_t *eutra_message_tvb = NULL;
offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
NO_BOUND, NO_BOUND, FALSE, &eutra_message_tvb);
@ -99716,7 +99800,7 @@ static const per_choice_t DL_DCCH_MessageType_choice[] = {
static int
dissect_rrc_DL_DCCH_MessageType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 1171 "./asn1/rrc/rrc.cnf"
#line 1250 "./asn1/rrc/rrc.cnf"
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
ett_rrc_DL_DCCH_MessageType, DL_DCCH_MessageType_choice,
&msg_type);
@ -99736,7 +99820,7 @@ static const per_sequence_t DL_DCCH_Message_sequence[] = {
static int
dissect_rrc_DL_DCCH_Message(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 1174 "./asn1/rrc/rrc.cnf"
#line 1253 "./asn1/rrc/rrc.cnf"
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_rrc_DL_DCCH_Message, DL_DCCH_Message_sequence);
@ -99750,7 +99834,7 @@ dissect_rrc_DL_DCCH_Message(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx
static int
dissect_rrc_START_Value(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 1087 "./asn1/rrc/rrc.cnf"
#line 1166 "./asn1/rrc/rrc.cnf"
tvbuff_t * start_val;
fp_info *fpinf;
rlc_info *rlcinf;
@ -101659,7 +101743,7 @@ dissect_rrc_HandoverFromUtranFailure_v590ext_IEs(tvbuff_t *tvb _U_, int offset _
static int
dissect_rrc_T_eutra_Message_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 674 "./asn1/rrc/rrc.cnf"
#line 753 "./asn1/rrc/rrc.cnf"
tvbuff_t *eutra_message_tvb = NULL;
offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
NO_BOUND, NO_BOUND, FALSE, &eutra_message_tvb);
@ -109273,7 +109357,7 @@ dissect_rrc_UE_RadioAccessCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx
static int
dissect_rrc_GSM_Classmark2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 624 "./asn1/rrc/rrc.cnf"
#line 703 "./asn1/rrc/rrc.cnf"
tvbuff_t *parameter_tvb=NULL;
offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
@ -109292,7 +109376,7 @@ dissect_rrc_GSM_Classmark2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _
static int
dissect_rrc_GSM_Classmark3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 632 "./asn1/rrc/rrc.cnf"
#line 711 "./asn1/rrc/rrc.cnf"
tvbuff_t *parameter_tvb=NULL;
offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
@ -114942,7 +115026,7 @@ static const per_sequence_t IMSI_GSM_MAP_sequence_of[1] = {
static int
dissect_rrc_IMSI_GSM_MAP(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 727 "./asn1/rrc/rrc.cnf"
#line 806 "./asn1/rrc/rrc.cnf"
wmem_strbuf_t* imsi_strbuf;
guint32 string_len;
gchar* imsi_string;
@ -129534,7 +129618,7 @@ static const per_choice_t HandoverToUTRANCommand_choice[] = {
static int
dissect_rrc_HandoverToUTRANCommand(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 1177 "./asn1/rrc/rrc.cnf"
#line 1256 "./asn1/rrc/rrc.cnf"
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
ett_rrc_HandoverToUTRANCommand, HandoverToUTRANCommand_choice,
NULL);
@ -129675,7 +129759,7 @@ static const per_sequence_t UE_SecurityInformation_sequence[] = {
static int
dissect_rrc_UE_SecurityInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 1180 "./asn1/rrc/rrc.cnf"
#line 1259 "./asn1/rrc/rrc.cnf"
private_data_set_cn_domain(actx, RRC_NAS_SYS_INFO_CS);
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_rrc_UE_SecurityInformation, UE_SecurityInformation_sequence);
@ -130078,7 +130162,7 @@ static const per_sequence_t UE_SecurityInformation2_sequence[] = {
static int
dissect_rrc_UE_SecurityInformation2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 1184 "./asn1/rrc/rrc.cnf"
#line 1263 "./asn1/rrc/rrc.cnf"
private_data_set_cn_domain(actx, RRC_NAS_SYS_INFO_PS);
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_rrc_UE_SecurityInformation2, UE_SecurityInformation2_sequence);
@ -137148,7 +137232,7 @@ dissect_rrc_T_supportOfInterRATHOToEUTRATDD(tvbuff_t *tvb _U_, int offset _U_, a
static int
dissect_rrc_T_eutraFeatureGroupIndicators(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 680 "./asn1/rrc/rrc.cnf"
#line 759 "./asn1/rrc/rrc.cnf"
tvbuff_t *eutraFeatureGroupIndicators_tvb=NULL;
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
4, 4, FALSE, &eutraFeatureGroupIndicators_tvb, NULL);
@ -138746,7 +138830,7 @@ dissect_rrc_T_supportOfInter_RAT_PS_Handover(tvbuff_t *tvb _U_, int offset _U_,
static int
dissect_rrc_GSM_MS_RadioAccessCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 640 "./asn1/rrc/rrc.cnf"
#line 719 "./asn1/rrc/rrc.cnf"
tvbuff_t *parameter_tvb=NULL;
offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
@ -139059,7 +139143,7 @@ dissect_rrc_UE_RadioAccessCapability_v860ext_IEs(tvbuff_t *tvb _U_, int offset _
static int
dissect_rrc_T_ue_EUTRA_Capability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 656 "./asn1/rrc/rrc.cnf"
#line 735 "./asn1/rrc/rrc.cnf"
tvbuff_t *ue_eutra_cap_tvb = NULL;
offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
NO_BOUND, NO_BOUND, FALSE, &ue_eutra_cap_tvb);
@ -150772,7 +150856,7 @@ dissect_rrc_ExtSIBTypeInfoSchedulingInfo_List3(tvbuff_t *tvb _U_, int offset _U_
static int
dissect_rrc_HNBName(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 812 "./asn1/rrc/rrc.cnf"
#line 891 "./asn1/rrc/rrc.cnf"
tvbuff_t *hnbname_tvb = NULL;
offset = dissect_per_octet_string(tvb, offset, actx, tree, -1,
@ -151363,7 +151447,7 @@ dissect_rrc_SIB_ReferenceList2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *ac
static int
dissect_rrc_T_cn_CommonGSM_MAP_NAS_SysInfo_03(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 837 "./asn1/rrc/rrc.cnf"
#line 916 "./asn1/rrc/rrc.cnf"
private_data_set_cn_domain(actx, RRC_NAS_SYS_INFO_CN_COMMON);
offset = dissect_rrc_NAS_SystemInformationGSM_MAP(tvb, offset, actx, tree, hf_index);
@ -156667,7 +156751,7 @@ dissect_rrc_UE_HistoryInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t
static int
dissect_rrc_T_interRATHandoverInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 648 "./asn1/rrc/rrc.cnf"
#line 727 "./asn1/rrc/rrc.cnf"
tvbuff_t *parameter_tvb=NULL;
offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
@ -162246,7 +162330,7 @@ dissect_rrc_ToTargetRNC_Container(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t
static int
dissect_rrc_T_dL_DCCHmessage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 560 "./asn1/rrc/rrc.cnf"
#line 639 "./asn1/rrc/rrc.cnf"
tvbuff_t *dl_dcch_message_tvb=NULL;
offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
@ -163078,7 +163162,7 @@ static int dissect_MeasurementReport_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _
/*--- End of included file: packet-rrc-fn.c ---*/
#line 398 "./asn1/rrc/packet-rrc-template.c"
#line 400 "./asn1/rrc/packet-rrc-template.c"
static int
@ -206485,7 +206569,7 @@ void proto_register_rrc(void) {
NULL, HFILL }},
/*--- End of included file: packet-rrc-hfarr.c ---*/
#line 488 "./asn1/rrc/packet-rrc-template.c"
#line 490 "./asn1/rrc/packet-rrc-template.c"
{ &hf_test,
{ "RAB Test", "rrc.RAB.test",
FT_UINT8, BASE_DEC, NULL, 0,
@ -213434,11 +213518,13 @@ void proto_register_rrc(void) {
&ett_rrc_UL_RFC3095_Context,
/*--- End of included file: packet-rrc-ettarr.c ---*/
#line 538 "./asn1/rrc/packet-rrc-template.c"
#line 540 "./asn1/rrc/packet-rrc-template.c"
&ett_rrc_eutraFeatureGroupIndicators,
&ett_rrc_cn_CommonGSM_MAP_NAS_SysInfo,
&ett_rrc_ims_info,
&ett_rrc_cellIdentity,
&ett_rrc_cipheringAlgorithmCap,
&ett_rrc_integrityProtectionAlgorithmCap,
};
static ei_register_info ei[] = {
@ -213533,7 +213619,7 @@ void proto_register_rrc(void) {
/*--- End of included file: packet-rrc-dis-reg.c ---*/
#line 561 "./asn1/rrc/packet-rrc-template.c"
#line 565 "./asn1/rrc/packet-rrc-template.c"