forked from osmocom/wireshark
Various small changes:
- add a missing test on null pointer - always initialize rrc_nas_sys_info_gsm_map_type with a value from its associated enum - fix some typo errors - remove some useless directives from conformance file - detabify files (ASN.1 generated dissectors are indented with spaces) svn path=/trunk/; revision=44358
This commit is contained in:
parent
a1218c94c9
commit
25523bd0bf
|
@ -147,7 +147,7 @@ static int activation_frame;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Return the maximum conunter, useful for initiating counters
|
* Return the maximum counter, useful for initiating counters
|
||||||
*/
|
*/
|
||||||
#if 0
|
#if 0
|
||||||
static int get_max_counter(int com_context){
|
static int get_max_counter(int com_context){
|
||||||
|
@ -165,7 +165,7 @@ static int get_max_counter(int com_context){
|
||||||
return max;
|
return max;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
/** Utility functions used for various comparions/cleanups in tree **/
|
/** Utility functions used for various comparisons/cleanups in tree **/
|
||||||
gint rrc_key_cmp(gconstpointer b_ptr, gconstpointer a_ptr, gpointer ignore _U_){
|
gint rrc_key_cmp(gconstpointer b_ptr, gconstpointer a_ptr, gpointer ignore _U_){
|
||||||
if( GPOINTER_TO_INT(a_ptr) > GPOINTER_TO_INT(b_ptr) ){
|
if( GPOINTER_TO_INT(a_ptr) > GPOINTER_TO_INT(b_ptr) ){
|
||||||
return -1;
|
return -1;
|
||||||
|
@ -173,7 +173,7 @@ gint rrc_key_cmp(gconstpointer b_ptr, gconstpointer a_ptr, gpointer ignore _U_){
|
||||||
return GPOINTER_TO_INT(a_ptr) < GPOINTER_TO_INT(b_ptr);
|
return GPOINTER_TO_INT(a_ptr) < GPOINTER_TO_INT(b_ptr);
|
||||||
}
|
}
|
||||||
void rrc_free_key(gpointer key _U_){
|
void rrc_free_key(gpointer key _U_){
|
||||||
/*Key's should be de allocated elsewhere.*/
|
/*Keys should be de allocated elsewhere.*/
|
||||||
|
|
||||||
}
|
}
|
||||||
void rrc_free_value(gpointer value ){
|
void rrc_free_value(gpointer value ){
|
||||||
|
|
|
@ -399,7 +399,7 @@ fp_info *fpinf ;
|
||||||
%(DEFAULT_BODY)s
|
%(DEFAULT_BODY)s
|
||||||
|
|
||||||
fpinf = p_get_proto_data(actx->pinfo->fd, proto_fp);
|
fpinf = p_get_proto_data(actx->pinfo->fd, proto_fp);
|
||||||
if( (c_inf = g_tree_lookup(rrc_ciph_inf, GINT_TO_POINTER((gint)fpinf->com_context_id))) != NULL ){
|
if(fpinf && ((c_inf = g_tree_lookup(rrc_ciph_inf, GINT_TO_POINTER((gint)fpinf->com_context_id))) != NULL) ){
|
||||||
c_inf->setup_frame = actx->pinfo->fd->num;
|
c_inf->setup_frame = actx->pinfo->fd->num;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -547,7 +547,7 @@ fp_info *fpinf ;
|
||||||
call_dissector(gsm_a_dtap_handle,gsm_message_tvb,actx->pinfo, tree);
|
call_dissector(gsm_a_dtap_handle,gsm_message_tvb,actx->pinfo, tree);
|
||||||
}
|
}
|
||||||
#.FN_BODY GSM-Classmark2 VAL_PTR = ¶meter_tvb
|
#.FN_BODY GSM-Classmark2 VAL_PTR = ¶meter_tvb
|
||||||
tvbuff_t *parameter_tvb=NULL;
|
tvbuff_t *parameter_tvb=NULL;
|
||||||
|
|
||||||
%(DEFAULT_BODY)s
|
%(DEFAULT_BODY)s
|
||||||
if (parameter_tvb){
|
if (parameter_tvb){
|
||||||
|
@ -555,7 +555,7 @@ tvbuff_t *parameter_tvb=NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
#.FN_BODY GSM-Classmark3 VAL_PTR = ¶meter_tvb
|
#.FN_BODY GSM-Classmark3 VAL_PTR = ¶meter_tvb
|
||||||
tvbuff_t *parameter_tvb=NULL;
|
tvbuff_t *parameter_tvb=NULL;
|
||||||
|
|
||||||
%(DEFAULT_BODY)s
|
%(DEFAULT_BODY)s
|
||||||
if (parameter_tvb){
|
if (parameter_tvb){
|
||||||
|
@ -563,7 +563,7 @@ tvbuff_t *parameter_tvb=NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
#.FN_BODY InterRATHandoverInfoWithInterRATCapabilities-r3-IEs/interRATHandoverInfo VAL_PTR = ¶meter_tvb
|
#.FN_BODY InterRATHandoverInfoWithInterRATCapabilities-r3-IEs/interRATHandoverInfo VAL_PTR = ¶meter_tvb
|
||||||
tvbuff_t *parameter_tvb=NULL;
|
tvbuff_t *parameter_tvb=NULL;
|
||||||
|
|
||||||
%(DEFAULT_BODY)s
|
%(DEFAULT_BODY)s
|
||||||
if (parameter_tvb){
|
if (parameter_tvb){
|
||||||
|
@ -745,29 +745,17 @@ HNBName TYPE=FT_STRING DISPLAY=BASE_NONE
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
#.FN_BODY DL-LogicalChannelMapping-r5
|
|
||||||
|
|
||||||
%(DEFAULT_BODY)s
|
|
||||||
|
|
||||||
#.FN_BODY DL-LogicalChannelMapping-r7
|
|
||||||
|
|
||||||
%(DEFAULT_BODY)s
|
|
||||||
#.FN_BODY LogicalChannelIdentity
|
|
||||||
|
|
||||||
%(DEFAULT_BODY)s
|
|
||||||
|
|
||||||
#.FN_BODY MAC-d-FlowIdentity VAL_PTR = &flowd
|
#.FN_BODY MAC-d-FlowIdentity VAL_PTR = &flowd
|
||||||
%(DEFAULT_BODY)s
|
%(DEFAULT_BODY)s
|
||||||
|
|
||||||
#.FN_BODY SRB-InformationSetupList2-r6
|
#.FN_BODY SRB-InformationSetupList2-r6
|
||||||
|
|
||||||
%(DEFAULT_BODY)s
|
%(DEFAULT_BODY)s
|
||||||
/*Clear memory*/
|
/*Clear memory*/
|
||||||
memset(num_chans_per_flow,0,sizeof(guint8));
|
memset(num_chans_per_flow,0,sizeof(guint8));
|
||||||
|
|
||||||
#.FN_BODY H-RNTI VAL_PTR = &hrnti
|
#.FN_BODY H-RNTI VAL_PTR = &hrnti
|
||||||
%(DEFAULT_BODY)s
|
%(DEFAULT_BODY)s
|
||||||
|
|
||||||
#.FN_BODY START-Value VAL_PTR = &start_val
|
#.FN_BODY START-Value VAL_PTR = &start_val
|
||||||
fp_info *fpinf;
|
fp_info *fpinf;
|
||||||
|
@ -775,16 +763,16 @@ HNBName TYPE=FT_STRING DISPLAY=BASE_NONE
|
||||||
int i;
|
int i;
|
||||||
guint32 * start;
|
guint32 * start;
|
||||||
|
|
||||||
%(DEFAULT_BODY)s
|
%(DEFAULT_BODY)s
|
||||||
|
|
||||||
/*We base this map on comuncation context from fp*/
|
/*We base this map on communication context from fp*/
|
||||||
fpinf = p_get_proto_data(actx->pinfo->fd, proto_fp);
|
fpinf = p_get_proto_data(actx->pinfo->fd, proto_fp);
|
||||||
|
|
||||||
/*If no info found, skip all this*/
|
/*If no info found, skip all this*/
|
||||||
if(fpinf == NULL){
|
if(fpinf == NULL){
|
||||||
return offset;
|
return offset;
|
||||||
}
|
}
|
||||||
/*Retrieves the start value for the two ciphering domains*/
|
/*Retrieve the start value for the two ciphering domains*/
|
||||||
switch(rrc_nas_sys_info_gsm_map_type){
|
switch(rrc_nas_sys_info_gsm_map_type){
|
||||||
case RRC_NAS_SYS_INFO_CS:
|
case RRC_NAS_SYS_INFO_CS:
|
||||||
/*
|
/*
|
||||||
|
@ -793,16 +781,16 @@ HNBName TYPE=FT_STRING DISPLAY=BASE_NONE
|
||||||
break;
|
break;
|
||||||
case RRC_NAS_SYS_INFO_PS:
|
case RRC_NAS_SYS_INFO_PS:
|
||||||
|
|
||||||
/*Find the entry for the comucnation context (taken from FP)*/
|
/*Find the entry for the communication context (taken from FP)*/
|
||||||
if( (c_inf = g_tree_lookup(rrc_ciph_inf, GINT_TO_POINTER((gint)fpinf->com_context_id))) == NULL ){
|
if( (c_inf = g_tree_lookup(rrc_ciph_inf, GINT_TO_POINTER((gint)fpinf->com_context_id))) == NULL ){
|
||||||
c_inf = g_malloc0(sizeof(rrc_ciphering_info));
|
c_inf = g_malloc0(sizeof(rrc_ciphering_info));
|
||||||
|
|
||||||
/*Initaite tree with START_PS values.*/
|
/*Initiate tree with START_PS values.*/
|
||||||
if(!c_inf->start_ps)
|
if(!c_inf->start_ps)
|
||||||
c_inf->start_ps = g_tree_new_full(rrc_key_cmp,
|
c_inf->start_ps = g_tree_new_full(rrc_key_cmp,
|
||||||
NULL,rrc_free_key,rrc_free_value);
|
NULL,rrc_free_key,rrc_free_value);
|
||||||
|
|
||||||
/*Clear and intiliaze seq_no matrix*/
|
/*Clear and initialize seq_no matrix*/
|
||||||
for(i = 0; i< 31; i++){
|
for(i = 0; i< 31; i++){
|
||||||
c_inf->seq_no[i][0] = -1;
|
c_inf->seq_no[i][0] = -1;
|
||||||
c_inf->seq_no[i][1] = -1;
|
c_inf->seq_no[i][1] = -1;
|
||||||
|
@ -810,7 +798,7 @@ HNBName TYPE=FT_STRING DISPLAY=BASE_NONE
|
||||||
g_tree_insert(rrc_ciph_inf, GINT_TO_POINTER((gint)fpinf->com_context_id), c_inf);
|
g_tree_insert(rrc_ciph_inf, GINT_TO_POINTER((gint)fpinf->com_context_id), c_inf);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*Retrive and store the value*/
|
/*Retrieve and store the value*/
|
||||||
start = g_malloc(sizeof(guint32));
|
start = g_malloc(sizeof(guint32));
|
||||||
*start = tvb_get_bits32(start_val,0,20,ENC_BIG_ENDIAN);
|
*start = tvb_get_bits32(start_val,0,20,ENC_BIG_ENDIAN);
|
||||||
if(c_inf && c_inf->start_ps)
|
if(c_inf && c_inf->start_ps)
|
||||||
|
@ -822,7 +810,7 @@ HNBName TYPE=FT_STRING DISPLAY=BASE_NONE
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
/*is this dangerous?*/
|
/*is this dangerous?*/
|
||||||
rrc_nas_sys_info_gsm_map_type = 0;
|
rrc_nas_sys_info_gsm_map_type = RRC_NAS_SYS_INFO_CN_COMMON;
|
||||||
|
|
||||||
#.FN_BODY RB-ActivationTimeInfo
|
#.FN_BODY RB-ActivationTimeInfo
|
||||||
fp_info *fpinf;
|
fp_info *fpinf;
|
||||||
|
|
|
@ -14814,7 +14814,7 @@ static int activation_frame;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Return the maximum conunter, useful for initiating counters
|
* Return the maximum counter, useful for initiating counters
|
||||||
*/
|
*/
|
||||||
#if 0
|
#if 0
|
||||||
static int get_max_counter(int com_context){
|
static int get_max_counter(int com_context){
|
||||||
|
@ -14832,7 +14832,7 @@ static int get_max_counter(int com_context){
|
||||||
return max;
|
return max;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
/** Utility functions used for various comparions/cleanups in tree **/
|
/** Utility functions used for various comparisons/cleanups in tree **/
|
||||||
gint rrc_key_cmp(gconstpointer b_ptr, gconstpointer a_ptr, gpointer ignore _U_){
|
gint rrc_key_cmp(gconstpointer b_ptr, gconstpointer a_ptr, gpointer ignore _U_){
|
||||||
if( GPOINTER_TO_INT(a_ptr) > GPOINTER_TO_INT(b_ptr) ){
|
if( GPOINTER_TO_INT(a_ptr) > GPOINTER_TO_INT(b_ptr) ){
|
||||||
return -1;
|
return -1;
|
||||||
|
@ -14840,7 +14840,7 @@ gint rrc_key_cmp(gconstpointer b_ptr, gconstpointer a_ptr, gpointer ignore _U_){
|
||||||
return GPOINTER_TO_INT(a_ptr) < GPOINTER_TO_INT(b_ptr);
|
return GPOINTER_TO_INT(a_ptr) < GPOINTER_TO_INT(b_ptr);
|
||||||
}
|
}
|
||||||
void rrc_free_key(gpointer key _U_){
|
void rrc_free_key(gpointer key _U_){
|
||||||
/*Key's should be de allocated elsewhere.*/
|
/*Keys should be de allocated elsewhere.*/
|
||||||
|
|
||||||
}
|
}
|
||||||
void rrc_free_value(gpointer value ){
|
void rrc_free_value(gpointer value ){
|
||||||
|
@ -15088,7 +15088,7 @@ dissect_rrc_ActivationTime(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _
|
||||||
|
|
||||||
static int
|
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_) {
|
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 849 "../../asn1/rrc/rrc.cnf"
|
#line 837 "../../asn1/rrc/rrc.cnf"
|
||||||
|
|
||||||
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
||||||
1U, 32U, &rbid, FALSE);
|
1U, 32U, &rbid, FALSE);
|
||||||
|
@ -15105,7 +15105,7 @@ dissect_rrc_RB_Identity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_,
|
||||||
|
|
||||||
static int
|
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_) {
|
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 855 "../../asn1/rrc/rrc.cnf"
|
#line 843 "../../asn1/rrc/rrc.cnf"
|
||||||
|
|
||||||
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
||||||
0U, 4095U, &activation_frame, FALSE);
|
0U, 4095U, &activation_frame, FALSE);
|
||||||
|
@ -15125,7 +15125,7 @@ static const per_sequence_t RB_ActivationTimeInfo_sequence[] = {
|
||||||
|
|
||||||
static int
|
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_) {
|
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 828 "../../asn1/rrc/rrc.cnf"
|
#line 816 "../../asn1/rrc/rrc.cnf"
|
||||||
fp_info *fpinf;
|
fp_info *fpinf;
|
||||||
rrc_ciphering_info * c_inf;
|
rrc_ciphering_info * c_inf;
|
||||||
|
|
||||||
|
@ -19203,7 +19203,7 @@ dissect_rrc_T_r3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_
|
||||||
|
|
||||||
static int
|
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_) {
|
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 770 "../../asn1/rrc/rrc.cnf"
|
#line 758 "../../asn1/rrc/rrc.cnf"
|
||||||
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
|
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
|
||||||
16, 16, FALSE, &hrnti);
|
16, 16, FALSE, &hrnti);
|
||||||
|
|
||||||
|
@ -32472,14 +32472,9 @@ dissect_rrc_UL_TransportChannelType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_
|
||||||
|
|
||||||
static int
|
static int
|
||||||
dissect_rrc_LogicalChannelIdentity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
dissect_rrc_LogicalChannelIdentity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||||
#line 757 "../../asn1/rrc/rrc.cnf"
|
|
||||||
|
|
||||||
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
||||||
1U, 15U, NULL, FALSE);
|
1U, 15U, NULL, FALSE);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
return offset;
|
return offset;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -38381,7 +38376,7 @@ dissect_rrc_RLC_Info_r5(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_,
|
||||||
|
|
||||||
static int
|
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_) {
|
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 761 "../../asn1/rrc/rrc.cnf"
|
#line 749 "../../asn1/rrc/rrc.cnf"
|
||||||
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
||||||
0U, 7U, &flowd, FALSE);
|
0U, 7U, &flowd, FALSE);
|
||||||
|
|
||||||
|
@ -38485,14 +38480,9 @@ static const per_sequence_t DL_LogicalChannelMapping_r5_sequence[] = {
|
||||||
|
|
||||||
static int
|
static int
|
||||||
dissect_rrc_DL_LogicalChannelMapping_r5(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
dissect_rrc_DL_LogicalChannelMapping_r5(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||||
#line 750 "../../asn1/rrc/rrc.cnf"
|
|
||||||
|
|
||||||
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
||||||
ett_rrc_DL_LogicalChannelMapping_r5, DL_LogicalChannelMapping_r5_sequence);
|
ett_rrc_DL_LogicalChannelMapping_r5, DL_LogicalChannelMapping_r5_sequence);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
return offset;
|
return offset;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -41956,7 +41946,6 @@ dissect_rrc_DL_TransportChannelType_r7(tvbuff_t *tvb _U_, int offset _U_, asn1_c
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
return offset;
|
return offset;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -41969,13 +41958,9 @@ static const per_sequence_t DL_LogicalChannelMapping_r7_sequence[] = {
|
||||||
|
|
||||||
static int
|
static int
|
||||||
dissect_rrc_DL_LogicalChannelMapping_r7(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
dissect_rrc_DL_LogicalChannelMapping_r7(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||||
#line 754 "../../asn1/rrc/rrc.cnf"
|
|
||||||
|
|
||||||
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
||||||
ett_rrc_DL_LogicalChannelMapping_r7, DL_LogicalChannelMapping_r7_sequence);
|
ett_rrc_DL_LogicalChannelMapping_r7, DL_LogicalChannelMapping_r7_sequence);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
return offset;
|
return offset;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -80099,7 +80084,7 @@ static const per_choice_t DL_DCCH_MessageType_choice[] = {
|
||||||
|
|
||||||
static int
|
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_) {
|
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 859 "../../asn1/rrc/rrc.cnf"
|
#line 847 "../../asn1/rrc/rrc.cnf"
|
||||||
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
||||||
ett_rrc_DL_DCCH_MessageType, DL_DCCH_MessageType_choice,
|
ett_rrc_DL_DCCH_MessageType, DL_DCCH_MessageType_choice,
|
||||||
&msg_type);
|
&msg_type);
|
||||||
|
@ -80129,7 +80114,7 @@ dissect_rrc_DL_DCCH_Message(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx
|
||||||
|
|
||||||
static int
|
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_) {
|
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 773 "../../asn1/rrc/rrc.cnf"
|
#line 761 "../../asn1/rrc/rrc.cnf"
|
||||||
fp_info *fpinf;
|
fp_info *fpinf;
|
||||||
rrc_ciphering_info * c_inf;
|
rrc_ciphering_info * c_inf;
|
||||||
int i;
|
int i;
|
||||||
|
@ -80139,14 +80124,14 @@ dissect_rrc_START_Value(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_,
|
||||||
20, 20, FALSE, &start_val);
|
20, 20, FALSE, &start_val);
|
||||||
|
|
||||||
|
|
||||||
/*We base this map on comuncation context from fp*/
|
/*We base this map on communication context from fp*/
|
||||||
fpinf = p_get_proto_data(actx->pinfo->fd, proto_fp);
|
fpinf = p_get_proto_data(actx->pinfo->fd, proto_fp);
|
||||||
|
|
||||||
/*If no info found, skip all this*/
|
/*If no info found, skip all this*/
|
||||||
if(fpinf == NULL){
|
if(fpinf == NULL){
|
||||||
return offset;
|
return offset;
|
||||||
}
|
}
|
||||||
/*Retrieves the start value for the two ciphering domains*/
|
/*Retrieve the start value for the two ciphering domains*/
|
||||||
switch(rrc_nas_sys_info_gsm_map_type){
|
switch(rrc_nas_sys_info_gsm_map_type){
|
||||||
case RRC_NAS_SYS_INFO_CS:
|
case RRC_NAS_SYS_INFO_CS:
|
||||||
/*
|
/*
|
||||||
|
@ -80155,16 +80140,16 @@ dissect_rrc_START_Value(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_,
|
||||||
break;
|
break;
|
||||||
case RRC_NAS_SYS_INFO_PS:
|
case RRC_NAS_SYS_INFO_PS:
|
||||||
|
|
||||||
/*Find the entry for the comucnation context (taken from FP)*/
|
/*Find the entry for the communication context (taken from FP)*/
|
||||||
if( (c_inf = g_tree_lookup(rrc_ciph_inf, GINT_TO_POINTER((gint)fpinf->com_context_id))) == NULL ){
|
if( (c_inf = g_tree_lookup(rrc_ciph_inf, GINT_TO_POINTER((gint)fpinf->com_context_id))) == NULL ){
|
||||||
c_inf = g_malloc0(sizeof(rrc_ciphering_info));
|
c_inf = g_malloc0(sizeof(rrc_ciphering_info));
|
||||||
|
|
||||||
/*Initaite tree with START_PS values.*/
|
/*Initiate tree with START_PS values.*/
|
||||||
if(!c_inf->start_ps)
|
if(!c_inf->start_ps)
|
||||||
c_inf->start_ps = g_tree_new_full(rrc_key_cmp,
|
c_inf->start_ps = g_tree_new_full(rrc_key_cmp,
|
||||||
NULL,rrc_free_key,rrc_free_value);
|
NULL,rrc_free_key,rrc_free_value);
|
||||||
|
|
||||||
/*Clear and intiliaze seq_no matrix*/
|
/*Clear and initialize seq_no matrix*/
|
||||||
for(i = 0; i< 31; i++){
|
for(i = 0; i< 31; i++){
|
||||||
c_inf->seq_no[i][0] = -1;
|
c_inf->seq_no[i][0] = -1;
|
||||||
c_inf->seq_no[i][1] = -1;
|
c_inf->seq_no[i][1] = -1;
|
||||||
|
@ -80172,7 +80157,7 @@ dissect_rrc_START_Value(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_,
|
||||||
g_tree_insert(rrc_ciph_inf, GINT_TO_POINTER((gint)fpinf->com_context_id), c_inf);
|
g_tree_insert(rrc_ciph_inf, GINT_TO_POINTER((gint)fpinf->com_context_id), c_inf);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*Retrive and store the value*/
|
/*Retrieve and store the value*/
|
||||||
start = g_malloc(sizeof(guint32));
|
start = g_malloc(sizeof(guint32));
|
||||||
*start = tvb_get_bits32(start_val,0,20,ENC_BIG_ENDIAN);
|
*start = tvb_get_bits32(start_val,0,20,ENC_BIG_ENDIAN);
|
||||||
if(c_inf && c_inf->start_ps)
|
if(c_inf && c_inf->start_ps)
|
||||||
|
@ -80184,7 +80169,7 @@ dissect_rrc_START_Value(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_,
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
/*is this dangerous?*/
|
/*is this dangerous?*/
|
||||||
rrc_nas_sys_info_gsm_map_type = 0;
|
rrc_nas_sys_info_gsm_map_type = RRC_NAS_SYS_INFO_CN_COMMON;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -88318,7 +88303,7 @@ dissect_rrc_UE_RadioAccessCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx
|
||||||
static int
|
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_) {
|
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 550 "../../asn1/rrc/rrc.cnf"
|
#line 550 "../../asn1/rrc/rrc.cnf"
|
||||||
tvbuff_t *parameter_tvb=NULL;
|
tvbuff_t *parameter_tvb=NULL;
|
||||||
|
|
||||||
offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
|
offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
|
||||||
5, 5, FALSE, ¶meter_tvb);
|
5, 5, FALSE, ¶meter_tvb);
|
||||||
|
@ -88337,7 +88322,7 @@ tvbuff_t *parameter_tvb=NULL;
|
||||||
static int
|
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_) {
|
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 558 "../../asn1/rrc/rrc.cnf"
|
#line 558 "../../asn1/rrc/rrc.cnf"
|
||||||
tvbuff_t *parameter_tvb=NULL;
|
tvbuff_t *parameter_tvb=NULL;
|
||||||
|
|
||||||
offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
|
offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
|
||||||
1, 32, FALSE, ¶meter_tvb);
|
1, 32, FALSE, ¶meter_tvb);
|
||||||
|
@ -90048,7 +90033,7 @@ fp_info *fpinf ;
|
||||||
|
|
||||||
|
|
||||||
fpinf = p_get_proto_data(actx->pinfo->fd, proto_fp);
|
fpinf = p_get_proto_data(actx->pinfo->fd, proto_fp);
|
||||||
if( (c_inf = g_tree_lookup(rrc_ciph_inf, GINT_TO_POINTER((gint)fpinf->com_context_id))) != NULL ){
|
if(fpinf && ((c_inf = g_tree_lookup(rrc_ciph_inf, GINT_TO_POINTER((gint)fpinf->com_context_id))) != NULL) ){
|
||||||
c_inf->setup_frame = actx->pinfo->fd->num;
|
c_inf->setup_frame = actx->pinfo->fd->num;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -94243,7 +94228,7 @@ static const per_sequence_t SRB_InformationSetupList2_r6_sequence_of[1] = {
|
||||||
|
|
||||||
static int
|
static int
|
||||||
dissect_rrc_SRB_InformationSetupList2_r6(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
dissect_rrc_SRB_InformationSetupList2_r6(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
||||||
#line 764 "../../asn1/rrc/rrc.cnf"
|
#line 752 "../../asn1/rrc/rrc.cnf"
|
||||||
|
|
||||||
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
||||||
ett_rrc_SRB_InformationSetupList2_r6, SRB_InformationSetupList2_r6_sequence_of,
|
ett_rrc_SRB_InformationSetupList2_r6, SRB_InformationSetupList2_r6_sequence_of,
|
||||||
|
@ -125682,7 +125667,7 @@ dissect_rrc_UE_HistoryInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t
|
||||||
static int
|
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_) {
|
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 566 "../../asn1/rrc/rrc.cnf"
|
#line 566 "../../asn1/rrc/rrc.cnf"
|
||||||
tvbuff_t *parameter_tvb=NULL;
|
tvbuff_t *parameter_tvb=NULL;
|
||||||
|
|
||||||
offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
|
offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
|
||||||
0, 255, FALSE, ¶meter_tvb);
|
0, 255, FALSE, ¶meter_tvb);
|
||||||
|
|
Loading…
Reference in New Issue