Handle lenght restriction extension of restricted strings.

Fixes 
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=4251

svn path=/trunk/; revision=31047
This commit is contained in:
Anders Broman 2009-11-22 17:00:45 +00:00
parent a6cb92c7a9
commit 98c852386d
15 changed files with 119 additions and 99 deletions

View File

@ -12,7 +12,7 @@ UNALIGNED
InterRATHandoverInfo
InterRATHandoverInfo_PDU
ToTargetRNC-Container_PDU
TargetRNC-ToSourceRNC-Container_PDU
#.OMIT_ASSIGNMENT
#.END

View File

@ -1581,7 +1581,7 @@ dissect_h225_DialedDigits(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U
guint len = 0;
offset = dissect_per_restricted_character_string(tvb, offset, actx, tree, hf_index,
1, 128, "0123456789#*,", 13,
1, 128, FALSE, "0123456789#*,", 13,
&value_tvb);
if (h225_pi && h225_pi->is_destinationInfo == TRUE) {
@ -1605,7 +1605,7 @@ dissect_h225_DialedDigits(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U
static int
dissect_h225_BMPString_SIZE_1_256(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_BMPString(tvb, offset, actx, tree, hf_index,
1, 256);
1, 256, FALSE);
return offset;
}
@ -1615,7 +1615,7 @@ dissect_h225_BMPString_SIZE_1_256(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t
static int
dissect_h225_IA5String_SIZE_1_512(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_IA5String(tvb, offset, actx, tree, hf_index,
1, 512);
1, 512, FALSE);
return offset;
}
@ -1795,7 +1795,7 @@ dissect_h225_PublicTypeOfNumber(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *a
static int
dissect_h225_NumberDigits(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_restricted_character_string(tvb, offset, actx, tree, hf_index,
1, 128, "0123456789#*,", 13,
1, 128, FALSE, "0123456789#*,", 13,
NULL);
return offset;
@ -1900,7 +1900,7 @@ dissect_h225_TBCD_STRING(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_
get_size_constraint_from_stack(actx, "TBCD_STRING", &min_len, &max_len, &has_extension);
offset = dissect_per_restricted_character_string(tvb, offset, actx, tree, hf_index,
min_len, max_len, "0123456789#*abc", 15,
min_len, max_len, has_extension, "0123456789#*abc", 15,
NULL);
return offset;
@ -2093,7 +2093,7 @@ dissect_h225_NatureOfAddress(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx
static int
dissect_h225_IsupDigits(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_restricted_character_string(tvb, offset, actx, tree, hf_index,
1, 128, "0123456789ABCDE", 15,
1, 128, FALSE, "0123456789ABCDE", 15,
NULL);
return offset;
@ -2641,7 +2641,7 @@ dissect_h225_T_tunnelledProtocolObjectID(tvbuff_t *tvb _U_, int offset _U_, asn1
static int
dissect_h225_IA5String_SIZE_1_64(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_IA5String(tvb, offset, actx, tree, hf_index,
1, 64);
1, 64, FALSE);
return offset;
}
@ -3018,7 +3018,7 @@ dissect_h225_T_cryptoEPPwdHash(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *ac
int
dissect_h225_GatekeeperIdentifier(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_BMPString(tvb, offset, actx, tree, hf_index,
1, 128);
1, 128, FALSE);
return offset;
}
@ -3129,7 +3129,7 @@ dissect_h225_FastStart(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_,
static int
dissect_h225_EndpointIdentifier(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_BMPString(tvb, offset, actx, tree, hf_index,
1, 128);
1, 128, FALSE);
return offset;
}
@ -3217,7 +3217,7 @@ dissect_h225_T_connectionParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_
static int
dissect_h225_IA5String_SIZE_1_32(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_IA5String(tvb, offset, actx, tree, hf_index,
1, 32);
1, 32, FALSE);
return offset;
}
@ -3292,7 +3292,7 @@ dissect_h225_INTEGER_0_255(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _
static int
dissect_h225_IA5String_SIZE_0_512(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_IA5String(tvb, offset, actx, tree, hf_index,
0, 512);
0, 512, FALSE);
return offset;
}
@ -3312,7 +3312,7 @@ dissect_h225_H248SignalsDescriptor(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t
static int
dissect_h225_BMPString_SIZE_1_512(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_BMPString(tvb, offset, actx, tree, hf_index,
1, 512);
1, 512, FALSE);
return offset;
}
@ -3483,7 +3483,7 @@ dissect_h225_INTEGER_0_4294967295(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t
static int
dissect_h225_IA5String_SIZE_1_128(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_IA5String(tvb, offset, actx, tree, hf_index,
1, 128);
1, 128, FALSE);
return offset;
}
@ -3762,7 +3762,7 @@ dissect_h225_OCTET_STRING(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U
static int
dissect_h225_IA5String(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_IA5String(tvb, offset, actx, tree, hf_index,
NO_BOUND, NO_BOUND);
NO_BOUND, NO_BOUND, FALSE);
return offset;
}
@ -3772,7 +3772,7 @@ dissect_h225_IA5String(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_,
static int
dissect_h225_BMPString(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_BMPString(tvb, offset, actx, tree, hf_index,
NO_BOUND, NO_BOUND);
NO_BOUND, NO_BOUND, FALSE);
return offset;
}
@ -5493,7 +5493,7 @@ dissect_h225_CallCreditCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t
static int
dissect_h225_PrintableString(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_PrintableString(tvb, offset, actx, tree, hf_index,
NO_BOUND, NO_BOUND);
NO_BOUND, NO_BOUND, FALSE);
return offset;
}

View File

@ -253,7 +253,7 @@ dissect_h235_RandomVal(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_,
static int
dissect_h235_Password(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_BMPString(tvb, offset, actx, tree, hf_index,
1, 128);
1, 128, FALSE);
return offset;
}
@ -263,7 +263,7 @@ dissect_h235_Password(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, p
static int
dissect_h235_Identifier(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_BMPString(tvb, offset, actx, tree, hf_index,
1, 128);
1, 128, FALSE);
return offset;
}
@ -666,7 +666,7 @@ dissect_h235_INTEGER_0_255(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _
static int
dissect_h235_BMPString(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_BMPString(tvb, offset, actx, tree, hf_index,
NO_BOUND, NO_BOUND);
NO_BOUND, NO_BOUND, FALSE);
return offset;
}

View File

@ -2791,7 +2791,7 @@ dissect_h245_T_availableBitRates(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *
static int
dissect_h245_NumericString_SIZE_1_16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_NumericString(tvb, offset, actx, tree, hf_index,
1, 16);
1, 16, FALSE);
return offset;
}
@ -3566,7 +3566,7 @@ dissect_h245_OCTET_STRING_SIZE_16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t
static int
dissect_h245_IA5String_SIZE_1_64(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_IA5String(tvb, offset, actx, tree, hf_index,
1, 64);
1, 64, FALSE);
return offset;
}
@ -8491,7 +8491,7 @@ dissect_h245_T_distribution(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx
static int
dissect_h245_T_e164Address(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_restricted_character_string(tvb, offset, actx, tree, hf_index,
1, 128, "0123456789#*,", 13,
1, 128, FALSE, "0123456789#*,", 13,
NULL);
return offset;
@ -10356,7 +10356,7 @@ dissect_h245_CallInformationReq(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *a
static int
dissect_h245_NumericString_SIZE_0_40(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_NumericString(tvb, offset, actx, tree, hf_index,
0, 40);
0, 40, FALSE);
return offset;
}
@ -10366,7 +10366,7 @@ dissect_h245_NumericString_SIZE_0_40(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx
static int
dissect_h245_IA5String_SIZE_1_40(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_IA5String(tvb, offset, actx, tree, hf_index,
1, 40);
1, 40, FALSE);
return offset;
}
@ -11567,7 +11567,7 @@ dissect_h245_MaintenanceLoopReject(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t
static int
dissect_h245_BMPString_SIZE_1_128(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_BMPString(tvb, offset, actx, tree, hf_index,
1, 128);
1, 128, FALSE);
return offset;
}
@ -13846,7 +13846,7 @@ dissect_h245_T_userInputSupportIndication(tvbuff_t *tvb _U_, int offset _U_, asn
static int
dissect_h245_T_signalType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_restricted_character_string(tvb, offset, actx, tree, hf_index,
1, 1, "0123456789#*ABCD!", 17,
1, 1, FALSE, "0123456789#*ABCD!", 17,
NULL);
return offset;

View File

@ -753,7 +753,7 @@ dissect_h282_NonStandardIdentifier(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t
static int
dissect_h282_TextString(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_BMPString(tvb, offset, actx, tree, hf_index,
0, 255);
0, 255, FALSE);
return offset;
}

View File

@ -1209,7 +1209,7 @@ dissect_h450_2_DummyRes(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_,
static int
dissect_h450_2_CallIdentity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_NumericString(tvb, offset, actx, tree, hf_index,
0, 4);
0, 4, FALSE);
return offset;
}
@ -1333,7 +1333,7 @@ dissect_h450_2_CTIdentifyRes(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx
static int
dissect_h450_2_BMPString_SIZE_1_128(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_BMPString(tvb, offset, actx, tree, hf_index,
1, 128);
1, 128, FALSE);
return offset;
}
@ -1955,7 +1955,7 @@ dissect_h450_3_SubscriptionOption(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t
static int
dissect_h450_3_BMPString_SIZE_1_128(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_BMPString(tvb, offset, actx, tree, hf_index,
1, 128);
1, 128, FALSE);
return offset;
}
@ -3231,7 +3231,7 @@ dissect_h450_7_INTEGER_0_65535(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *ac
static int
dissect_h450_7_NumericString_SIZE_1_10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_NumericString(tvb, offset, actx, tree, hf_index,
1, 10);
1, 10, FALSE);
return offset;
}
@ -3275,7 +3275,7 @@ dissect_h450_7_NbOfMessages(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx
static int
dissect_h450_7_TimeStamp(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_VisibleString(tvb, offset, actx, tree, hf_index,
12, 19);
12, 19, FALSE);
return offset;
}
@ -3501,7 +3501,7 @@ dissect_h450_8_SimpleName(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U
static int
dissect_h450_8_ExtendedName(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_BMPString(tvb, offset, actx, tree, hf_index,
1, 256);
1, 256, FALSE);
return offset;
}

View File

@ -789,7 +789,7 @@ dissect_h460_4_CallPriorityInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *a
static int
dissect_h460_4_X121CountryCode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_restricted_character_string(tvb, offset, actx, tree, hf_index,
3, 3, "0123456789", 10,
3, 3, FALSE, "0123456789", 10,
NULL);
return offset;
@ -814,7 +814,7 @@ dissect_h460_4_T_x121(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, p
static int
dissect_h460_4_E164CountryCode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_restricted_character_string(tvb, offset, actx, tree, hf_index,
3, 3, "0123456789", 10,
3, 3, FALSE, "0123456789", 10,
NULL);
return offset;
@ -825,7 +825,7 @@ dissect_h460_4_E164CountryCode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *ac
static int
dissect_h460_4_T_identificationCode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_restricted_character_string(tvb, offset, actx, tree, hf_index,
1, 4, "0123456789", 10,
1, 4, FALSE, "0123456789", 10,
NULL);
return offset;

View File

@ -438,7 +438,7 @@ void proto_reg_handoff_h501(void);
static int
dissect_h501_ElementIdentifier(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_BMPString(tvb, offset, actx, tree, hf_index,
1, 128);
1, 128, FALSE);
return offset;
}
@ -822,7 +822,7 @@ dissect_h501_DescriptorRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *ac
static int
dissect_h501_GlobalTimeStamp(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_IA5String(tvb, offset, actx, tree, hf_index,
14, 14);
14, 14, FALSE);
return offset;
}
@ -923,7 +923,7 @@ dissect_h501_T_messageType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _
static int
dissect_h501_IA5String_SIZE_3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_IA5String(tvb, offset, actx, tree, hf_index,
3, 3);
3, 3, FALSE);
return offset;
}
@ -943,7 +943,7 @@ dissect_h501_INTEGER_M127_127(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *act
static int
dissect_h501_IA5String_SIZE_6(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_IA5String(tvb, offset, actx, tree, hf_index,
6, 6);
6, 6, FALSE);
return offset;
}
@ -1022,7 +1022,7 @@ dissect_h501_SEQUENCE_OF_PriceElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ct
static int
dissect_h501_IA5String_SIZE_1_2048(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_IA5String(tvb, offset, actx, tree, hf_index,
1, 2048);
1, 2048, FALSE);
return offset;
}

View File

@ -1768,7 +1768,7 @@ static const per_sequence_t MasterInformationBlock_sequence[] = {
static int
dissect_lte_rrc_MasterInformationBlock(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
col_append_str(actx->pinfo->cinfo, COL_INFO, "MasterInformationBlock");
col_append_str(actx->pinfo->cinfo, COL_INFO, "MasterInformationBlock ");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lte_rrc_MasterInformationBlock, MasterInformationBlock_sequence);
@ -4842,7 +4842,7 @@ static const per_sequence_t SystemInformation_sequence[] = {
static int
dissect_lte_rrc_SystemInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
col_append_str(actx->pinfo->cinfo, COL_INFO, "SystemInformation");
col_append_str(actx->pinfo->cinfo, COL_INFO, "SystemInformation ");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lte_rrc_SystemInformation, SystemInformation_sequence);
@ -5259,7 +5259,7 @@ static const per_sequence_t SystemInformationBlockType1_sequence[] = {
static int
dissect_lte_rrc_SystemInformationBlockType1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
col_append_str(actx->pinfo->cinfo, COL_INFO, "SystemInformationBlockType1");
col_append_str(actx->pinfo->cinfo, COL_INFO, "SystemInformationBlockType1 ");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lte_rrc_SystemInformationBlockType1, SystemInformationBlockType1_sequence);
@ -5519,7 +5519,7 @@ static const per_sequence_t Paging_sequence[] = {
static int
dissect_lte_rrc_Paging(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
col_append_str(actx->pinfo->cinfo, COL_INFO, "Paging");
col_append_str(actx->pinfo->cinfo, COL_INFO, "Paging ");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lte_rrc_Paging, Paging_sequence);
@ -8173,7 +8173,7 @@ static const per_sequence_t RRCConnectionReestablishment_sequence[] = {
static int
dissect_lte_rrc_RRCConnectionReestablishment(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
col_append_str(actx->pinfo->cinfo, COL_INFO, "RRCConnectionReestablishment");
col_append_str(actx->pinfo->cinfo, COL_INFO, "RRCConnectionReestablishment ");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lte_rrc_RRCConnectionReestablishment, RRCConnectionReestablishment_sequence);
@ -8252,7 +8252,7 @@ static const per_sequence_t RRCConnectionReestablishmentReject_sequence[] = {
static int
dissect_lte_rrc_RRCConnectionReestablishmentReject(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
col_append_str(actx->pinfo->cinfo, COL_INFO, "RRCConnectionReestablishmentReject");
col_append_str(actx->pinfo->cinfo, COL_INFO, "RRCConnectionReestablishmentReject ");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lte_rrc_RRCConnectionReestablishmentReject, RRCConnectionReestablishmentReject_sequence);
@ -8358,7 +8358,7 @@ static const per_sequence_t RRCConnectionReject_sequence[] = {
static int
dissect_lte_rrc_RRCConnectionReject(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
col_append_str(actx->pinfo->cinfo, COL_INFO, "RRCConnectionReject");
col_append_str(actx->pinfo->cinfo, COL_INFO, "RRCConnectionReject ");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lte_rrc_RRCConnectionReject, RRCConnectionReject_sequence);
@ -8473,7 +8473,7 @@ static const per_sequence_t RRCConnectionSetup_sequence[] = {
static int
dissect_lte_rrc_RRCConnectionSetup(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
col_append_str(actx->pinfo->cinfo, COL_INFO, "RRCConnectionSetup");
col_append_str(actx->pinfo->cinfo, COL_INFO, "RRCConnectionSetup ");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lte_rrc_RRCConnectionSetup, RRCConnectionSetup_sequence);
@ -8650,7 +8650,7 @@ static const per_sequence_t CSFBParametersResponseCDMA2000_sequence[] = {
static int
dissect_lte_rrc_CSFBParametersResponseCDMA2000(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
col_append_str(actx->pinfo->cinfo, COL_INFO, "CSFBParametersResponseCDMA2000");
col_append_str(actx->pinfo->cinfo, COL_INFO, "CSFBParametersResponseCDMA2000 ");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lte_rrc_CSFBParametersResponseCDMA2000, CSFBParametersResponseCDMA2000_sequence);
@ -8808,7 +8808,7 @@ static const per_sequence_t DLInformationTransfer_sequence[] = {
static int
dissect_lte_rrc_DLInformationTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
col_append_str(actx->pinfo->cinfo, COL_INFO, "DLInformationTransfer");
col_append_str(actx->pinfo->cinfo, COL_INFO, "DLInformationTransfer ");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lte_rrc_DLInformationTransfer, DLInformationTransfer_sequence);
@ -8933,7 +8933,7 @@ static const per_sequence_t HandoverFromEUTRAPreparationRequest_sequence[] = {
static int
dissect_lte_rrc_HandoverFromEUTRAPreparationRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
col_append_str(actx->pinfo->cinfo, COL_INFO, "HandoverFromEUTRAPreparationRequest");
col_append_str(actx->pinfo->cinfo, COL_INFO, "HandoverFromEUTRAPreparationRequest ");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lte_rrc_HandoverFromEUTRAPreparationRequest, HandoverFromEUTRAPreparationRequest_sequence);
@ -9252,7 +9252,7 @@ static const per_sequence_t MobilityFromEUTRACommand_sequence[] = {
static int
dissect_lte_rrc_MobilityFromEUTRACommand(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
col_append_str(actx->pinfo->cinfo, COL_INFO, "MobilityFromEUTRACommand");
col_append_str(actx->pinfo->cinfo, COL_INFO, "MobilityFromEUTRACommand ");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lte_rrc_MobilityFromEUTRACommand, MobilityFromEUTRACommand_sequence);
@ -11196,7 +11196,7 @@ static const per_sequence_t RRCConnectionReconfiguration_sequence[] = {
static int
dissect_lte_rrc_RRCConnectionReconfiguration(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
col_append_str(actx->pinfo->cinfo, COL_INFO, "RRCConnectionReconfiguration");
col_append_str(actx->pinfo->cinfo, COL_INFO, "RRCConnectionReconfiguration ");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lte_rrc_RRCConnectionReconfiguration, RRCConnectionReconfiguration_sequence);
@ -11569,7 +11569,7 @@ static const per_sequence_t RRCConnectionRelease_sequence[] = {
static int
dissect_lte_rrc_RRCConnectionRelease(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
col_append_str(actx->pinfo->cinfo, COL_INFO, "RRCConnectionRelease");
col_append_str(actx->pinfo->cinfo, COL_INFO, "RRCConnectionRelease ");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lte_rrc_RRCConnectionRelease, RRCConnectionRelease_sequence);
@ -11690,7 +11690,7 @@ static const per_sequence_t SecurityModeCommand_sequence[] = {
static int
dissect_lte_rrc_SecurityModeCommand(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
col_append_str(actx->pinfo->cinfo, COL_INFO, "SecurityModeCommand");
col_append_str(actx->pinfo->cinfo, COL_INFO, "SecurityModeCommand ");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lte_rrc_SecurityModeCommand, SecurityModeCommand_sequence);
@ -11833,7 +11833,7 @@ static const per_sequence_t UECapabilityEnquiry_sequence[] = {
static int
dissect_lte_rrc_UECapabilityEnquiry(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
col_append_str(actx->pinfo->cinfo, COL_INFO, "UECapabilityEnquiry");
col_append_str(actx->pinfo->cinfo, COL_INFO, "UECapabilityEnquiry ");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lte_rrc_UECapabilityEnquiry, UECapabilityEnquiry_sequence);
@ -12188,7 +12188,7 @@ static const per_sequence_t RRCConnectionReestablishmentRequest_sequence[] = {
static int
dissect_lte_rrc_RRCConnectionReestablishmentRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
col_append_str(actx->pinfo->cinfo, COL_INFO, "RRCConnectionReestablishmentRequest");
col_append_str(actx->pinfo->cinfo, COL_INFO, "RRCConnectionReestablishmentRequest ");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lte_rrc_RRCConnectionReestablishmentRequest, RRCConnectionReestablishmentRequest_sequence);
@ -12320,7 +12320,7 @@ static const per_sequence_t RRCConnectionRequest_sequence[] = {
static int
dissect_lte_rrc_RRCConnectionRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
col_append_str(actx->pinfo->cinfo, COL_INFO, "RRCConnectionRequest");
col_append_str(actx->pinfo->cinfo, COL_INFO, "RRCConnectionRequest ");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lte_rrc_RRCConnectionRequest, RRCConnectionRequest_sequence);
@ -12470,7 +12470,7 @@ static const per_sequence_t CSFBParametersRequestCDMA2000_sequence[] = {
static int
dissect_lte_rrc_CSFBParametersRequestCDMA2000(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
col_append_str(actx->pinfo->cinfo, COL_INFO, "CSFBParametersRequestCDMA2000");
col_append_str(actx->pinfo->cinfo, COL_INFO, "CSFBParametersRequestCDMA2000 ");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lte_rrc_CSFBParametersRequestCDMA2000, CSFBParametersRequestCDMA2000_sequence);
@ -13028,7 +13028,7 @@ static const per_sequence_t MeasurementReport_sequence[] = {
static int
dissect_lte_rrc_MeasurementReport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
col_append_str(actx->pinfo->cinfo, COL_INFO, "MeasurementReport");
col_append_str(actx->pinfo->cinfo, COL_INFO, "MeasurementReport ");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lte_rrc_MeasurementReport, MeasurementReport_sequence);
@ -13108,7 +13108,7 @@ static const per_sequence_t RRCConnectionReconfigurationComplete_sequence[] = {
static int
dissect_lte_rrc_RRCConnectionReconfigurationComplete(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
col_append_str(actx->pinfo->cinfo, COL_INFO, "RRCConnectionReconfigurationComplete");
col_append_str(actx->pinfo->cinfo, COL_INFO, "RRCConnectionReconfigurationComplete ");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lte_rrc_RRCConnectionReconfigurationComplete, RRCConnectionReconfigurationComplete_sequence);
@ -13188,7 +13188,7 @@ static const per_sequence_t RRCConnectionReestablishmentComplete_sequence[] = {
static int
dissect_lte_rrc_RRCConnectionReestablishmentComplete(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
col_append_str(actx->pinfo->cinfo, COL_INFO, "RRCConnectionReestablishmentComplete");
col_append_str(actx->pinfo->cinfo, COL_INFO, "RRCConnectionReestablishmentComplete ");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lte_rrc_RRCConnectionReestablishmentComplete, RRCConnectionReestablishmentComplete_sequence);
@ -13323,7 +13323,7 @@ static const per_sequence_t RRCConnectionSetupComplete_sequence[] = {
static int
dissect_lte_rrc_RRCConnectionSetupComplete(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
col_append_str(actx->pinfo->cinfo, COL_INFO, "RRCConnectionSetupComplete");
col_append_str(actx->pinfo->cinfo, COL_INFO, "RRCConnectionSetupComplete ");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lte_rrc_RRCConnectionSetupComplete, RRCConnectionSetupComplete_sequence);
@ -13403,7 +13403,7 @@ static const per_sequence_t SecurityModeComplete_sequence[] = {
static int
dissect_lte_rrc_SecurityModeComplete(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
col_append_str(actx->pinfo->cinfo, COL_INFO, "SecurityModeComplete");
col_append_str(actx->pinfo->cinfo, COL_INFO, "SecurityModeComplete ");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lte_rrc_SecurityModeComplete, SecurityModeComplete_sequence);
@ -13483,7 +13483,7 @@ static const per_sequence_t SecurityModeFailure_sequence[] = {
static int
dissect_lte_rrc_SecurityModeFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
col_append_str(actx->pinfo->cinfo, COL_INFO, "SecurityModeFailure");
col_append_str(actx->pinfo->cinfo, COL_INFO, "SecurityModeFailure ");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lte_rrc_SecurityModeFailure, SecurityModeFailure_sequence);
@ -13627,7 +13627,7 @@ static const per_sequence_t UECapabilityInformation_sequence[] = {
static int
dissect_lte_rrc_UECapabilityInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
col_append_str(actx->pinfo->cinfo, COL_INFO, "UECapabilityInformation");
col_append_str(actx->pinfo->cinfo, COL_INFO, "UECapabilityInformation ");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lte_rrc_UECapabilityInformation, UECapabilityInformation_sequence);
@ -13745,7 +13745,7 @@ static const per_sequence_t ULHandoverPreparationTransfer_sequence[] = {
static int
dissect_lte_rrc_ULHandoverPreparationTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
col_append_str(actx->pinfo->cinfo, COL_INFO, "ULHandoverPreparationTransfer");
col_append_str(actx->pinfo->cinfo, COL_INFO, "ULHandoverPreparationTransfer ");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lte_rrc_ULHandoverPreparationTransfer, ULHandoverPreparationTransfer_sequence);
@ -13875,7 +13875,7 @@ static const per_sequence_t ULInformationTransfer_sequence[] = {
static int
dissect_lte_rrc_ULInformationTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
col_append_str(actx->pinfo->cinfo, COL_INFO, "ULInformationTransfer");
col_append_str(actx->pinfo->cinfo, COL_INFO, "ULInformationTransfer ");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lte_rrc_ULInformationTransfer, ULInformationTransfer_sequence);
@ -13996,7 +13996,7 @@ static const per_sequence_t CounterCheckResponse_sequence[] = {
static int
dissect_lte_rrc_CounterCheckResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
col_append_str(actx->pinfo->cinfo, COL_INFO, "CounterCheckResponse");
col_append_str(actx->pinfo->cinfo, COL_INFO, "CounterCheckResponse ");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_lte_rrc_CounterCheckResponse, CounterCheckResponse_sequence);

View File

@ -619,16 +619,16 @@ DEBUG_ENTRY("dissect_per_sequence_of");
i.e. no FROM stuff limiting the alphabet
*/
guint32
dissect_per_IA5String(tvbuff_t *tvb, guint32 offset, asn1_ctx_t *actx, proto_tree *tree, int hf_index, int min_len, int max_len)
dissect_per_IA5String(tvbuff_t *tvb, guint32 offset, asn1_ctx_t *actx, proto_tree *tree, int hf_index, int min_len, int max_len, gboolean has_extension)
{
offset=dissect_per_octet_string(tvb, offset, actx, tree, hf_index, min_len, max_len, FALSE, NULL);
offset=dissect_per_octet_string(tvb, offset, actx, tree, hf_index, min_len, max_len, has_extension, NULL);
return offset;
}
/* XXX we dont do >64k length strings yet */
static guint32
dissect_per_restricted_character_string_sorted(tvbuff_t *tvb, guint32 offset, asn1_ctx_t *actx, proto_tree *tree, int hf_index, int min_len, int max_len, const char *alphabet, int alphabet_length, tvbuff_t **value_tvb)
dissect_per_restricted_character_string_sorted(tvbuff_t *tvb, guint32 offset, asn1_ctx_t *actx, proto_tree *tree, int hf_index, int min_len, int max_len, gboolean has_extension _U_,const char *alphabet, int alphabet_length, tvbuff_t **value_tvb)
{
guint32 length;
gboolean byte_aligned;
@ -686,6 +686,25 @@ DEBUG_ENTRY("dissect_per_restricted_character_string");
bits_per_char=8;
}
}
/* 27.4 If the type is extensible for PER encodings (see 9.3.16),
* then a bit-field consisting of a single bit shall be added to the field-list.
* The single bit shall be set to zero if the value is within the range of the extension root,
* and to one otherwise. If the value is outside the range of the extension root,
* then the following encoding shall be as if there was no effective size constraint,
* and shall have an effective permitted-alphabet constraint that consists of the set of characters
* of the unconstrained type.
* NOTE Only the known-multiplier character string types can be extensible for PER encodings.
* Extensibility markers on other character string types do not affect the PER encoding.
*/
if (has_extension) {
gboolean extension_present;
offset = dissect_per_boolean(tvb, offset, actx, tree, hf_per_extension_present_bit, &extension_present);
if(extension_present){
min_len = NO_BOUND;
max_len = NO_BOUND;
}
}
byte_aligned=TRUE;
if((min_len==max_len)&&(max_len<=2)){
@ -778,7 +797,7 @@ sort_alphabet(char *sorted_alphabet, const char *alphabet, int alphabet_length)
}
guint32
dissect_per_restricted_character_string(tvbuff_t *tvb, guint32 offset, asn1_ctx_t *actx, proto_tree *tree, int hf_index, int min_len, int max_len, const char *alphabet, int alphabet_length, tvbuff_t **value_tvb)
dissect_per_restricted_character_string(tvbuff_t *tvb, guint32 offset, asn1_ctx_t *actx, proto_tree *tree, int hf_index, int min_len, int max_len, gboolean has_extension, const char *alphabet, int alphabet_length, tvbuff_t **value_tvb)
{
const char *alphabet_ptr;
char sorted_alphabet[128];
@ -788,33 +807,33 @@ dissect_per_restricted_character_string(tvbuff_t *tvb, guint32 offset, asn1_ctx_
} else {
alphabet_ptr = sort_alphabet(sorted_alphabet, alphabet, alphabet_length);
}
return dissect_per_restricted_character_string_sorted(tvb, offset, actx, tree, hf_index, min_len, max_len, alphabet_ptr, alphabet_length, value_tvb);
return dissect_per_restricted_character_string_sorted(tvb, offset, actx, tree, hf_index, min_len, max_len, has_extension, alphabet_ptr, alphabet_length, value_tvb);
}
guint32
dissect_per_NumericString(tvbuff_t *tvb, guint32 offset, asn1_ctx_t *actx, proto_tree *tree, int hf_index, int min_len, int max_len)
dissect_per_NumericString(tvbuff_t *tvb, guint32 offset, asn1_ctx_t *actx, proto_tree *tree, int hf_index, int min_len, int max_len, gboolean has_extension)
{
offset=dissect_per_restricted_character_string_sorted(tvb, offset, actx, tree, hf_index, min_len, max_len,
offset=dissect_per_restricted_character_string_sorted(tvb, offset, actx, tree, hf_index, min_len, max_len, has_extension,
" 0123456789", 11, NULL);
return offset;
}
guint32
dissect_per_PrintableString(tvbuff_t *tvb, guint32 offset, asn1_ctx_t *actx, proto_tree *tree, int hf_index, int min_len, int max_len)
dissect_per_PrintableString(tvbuff_t *tvb, guint32 offset, asn1_ctx_t *actx, proto_tree *tree, int hf_index, int min_len, int max_len, gboolean has_extension)
{
offset=dissect_per_restricted_character_string_sorted(tvb, offset, actx, tree, hf_index, min_len, max_len,
offset=dissect_per_restricted_character_string_sorted(tvb, offset, actx, tree, hf_index, min_len, max_len, has_extension,
" '()+,-.*0123456789:=?ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz", 74, NULL);
return offset;
}
guint32
dissect_per_VisibleString(tvbuff_t *tvb, guint32 offset, asn1_ctx_t *actx, proto_tree *tree, int hf_index, int min_len, int max_len)
dissect_per_VisibleString(tvbuff_t *tvb, guint32 offset, asn1_ctx_t *actx, proto_tree *tree, int hf_index, int min_len, int max_len, gboolean has_extension)
{
offset=dissect_per_restricted_character_string_sorted(tvb, offset, actx, tree, hf_index, min_len, max_len,
offset=dissect_per_restricted_character_string_sorted(tvb, offset, actx, tree, hf_index, min_len, max_len, has_extension,
" !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~", 95, NULL);
return offset;
}
guint32
dissect_per_BMPString(tvbuff_t *tvb, guint32 offset, asn1_ctx_t *actx, proto_tree *tree, int hf_index, int min_len, int max_len)
dissect_per_BMPString(tvbuff_t *tvb, guint32 offset, asn1_ctx_t *actx, proto_tree *tree, int hf_index, int min_len, int max_len, gboolean has_extension _U_)
{
guint32 length;
static char *str;

View File

@ -73,15 +73,15 @@ extern guint32 dissect_per_GeneralString(tvbuff_t *tvb, guint32 offset, asn1_ctx
extern guint32 dissect_per_sequence_of(tvbuff_t *tvb, guint32 offset, asn1_ctx_t *actx, proto_tree *parent_tree, int hf_index, gint ett_index, const per_sequence_t *seq);
extern guint32 dissect_per_IA5String(tvbuff_t *tvb, guint32 offset, asn1_ctx_t *actx, proto_tree *tree, int hf_index, int min_len, int max_len);
extern guint32 dissect_per_IA5String(tvbuff_t *tvb, guint32 offset, asn1_ctx_t *actx, proto_tree *tree, int hf_index, int min_len, int max_len, gboolean has_extension);
extern guint32 dissect_per_NumericString(tvbuff_t *tvb, guint32 offset, asn1_ctx_t *actx, proto_tree *tree, int hf_index, int min_len, int max_len);
extern guint32 dissect_per_NumericString(tvbuff_t *tvb, guint32 offset, asn1_ctx_t *actx, proto_tree *tree, int hf_index, int min_len, int max_len, gboolean has_extension);
extern guint32 dissect_per_PrintableString(tvbuff_t *tvb, guint32 offset, asn1_ctx_t *actx, proto_tree *tree, int hf_index, int min_len, int max_len);
extern guint32 dissect_per_PrintableString(tvbuff_t *tvb, guint32 offset, asn1_ctx_t *actx, proto_tree *tree, int hf_index, int min_len, int max_len, gboolean has_extension);
extern guint32 dissect_per_VisibleString(tvbuff_t *tvb, guint32 offset, asn1_ctx_t *actx, proto_tree *tree, int hf_index, int min_len, int max_len);
extern guint32 dissect_per_VisibleString(tvbuff_t *tvb, guint32 offset, asn1_ctx_t *actx, proto_tree *tree, int hf_index, int min_len, int max_len, gboolean has_extension);
extern guint32 dissect_per_BMPString(tvbuff_t *tvb, guint32 offset, asn1_ctx_t *actx, proto_tree *tree, int hf_index, int min_len, int max_len);
extern guint32 dissect_per_BMPString(tvbuff_t *tvb, guint32 offset, asn1_ctx_t *actx, proto_tree *tree, int hf_index, int min_len, int max_len, gboolean has_extension);
extern guint32 dissect_per_object_descriptor(tvbuff_t *tvb, guint32 offset, asn1_ctx_t *actx, proto_tree *tree, int hf_index, tvbuff_t **value_tvb);
@ -116,7 +116,7 @@ extern guint32 dissect_per_bit_string(tvbuff_t *tvb, guint32 offset, asn1_ctx_t
extern guint32 dissect_per_bit_string_containing_pdu(tvbuff_t *tvb, guint32 offset, asn1_ctx_t *actx, proto_tree *tree, int hf_index, int min_len, int max_len, gboolean has_extension, dissector_t type_cb);
extern guint32 dissect_per_bit_string_containing_pdu_new(tvbuff_t *tvb, guint32 offset, asn1_ctx_t *actx, proto_tree *tree, int hf_index, int min_len, int max_len, gboolean has_extension, new_dissector_t type_cb);
extern guint32 dissect_per_restricted_character_string(tvbuff_t *tvb, guint32 offset, asn1_ctx_t *actx, proto_tree *tree, int hf_index, int min_len, int max_len, const char *alphabet, int alphabet_length, tvbuff_t **value_tvb);
extern guint32 dissect_per_restricted_character_string(tvbuff_t *tvb, guint32 offset, asn1_ctx_t *actx, proto_tree *tree, int hf_index, int min_len, int max_len, gboolean has_extension, const char *alphabet, int alphabet_length, tvbuff_t **value_tvb);
extern guint32 dissect_per_enumerated(tvbuff_t *tvb, guint32 offset, asn1_ctx_t *actx, proto_tree *tree, int hf_index, guint32 root_num, guint32 *value, gboolean has_extension, guint32 ext_num, guint32 *value_map);

View File

@ -282,7 +282,7 @@ static int hf_rrc_SysInfoType18_PDU = -1; /* SysInfoType18 */
static int hf_rrc_SysInfoTypeSB1_PDU = -1; /* SysInfoTypeSB1 */
static int hf_rrc_SysInfoTypeSB2_PDU = -1; /* SysInfoTypeSB2 */
static int hf_rrc_rrc_ToTargetRNC_Container_PDU = -1; /* ToTargetRNC_Container */
static int hf_rrc_TargetRNC_ToSourceRNC_Container_PDU = -1; /* TargetRNC_ToSourceRNC_Container */
static int hf_rrc_rrc_TargetRNC_ToSourceRNC_Container_PDU = -1; /* TargetRNC_ToSourceRNC_Container */
static int hf_rrc_CellUpdate_r3_add_ext_IEs_PDU = -1; /* CellUpdate_r3_add_ext_IEs */
static int hf_rrc_CellUpdateConfirm_r7_add_ext_IEs_PDU = -1; /* CellUpdateConfirm_r7_add_ext_IEs */
static int hf_rrc_InterRATHandoverInfo_r3_add_ext_IEs_PDU = -1; /* InterRATHandoverInfo_r3_add_ext_IEs */
@ -111994,10 +111994,10 @@ void dissect_rrc_ToTargetRNC_Container_PDU(tvbuff_t *tvb _U_, packet_info *pinfo
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
dissect_rrc_ToTargetRNC_Container(tvb, 0, &asn1_ctx, tree, hf_rrc_rrc_ToTargetRNC_Container_PDU);
}
static void dissect_TargetRNC_ToSourceRNC_Container_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
void dissect_rrc_TargetRNC_ToSourceRNC_Container_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
dissect_rrc_TargetRNC_ToSourceRNC_Container(tvb, 0, &asn1_ctx, tree, hf_rrc_TargetRNC_ToSourceRNC_Container_PDU);
dissect_rrc_TargetRNC_ToSourceRNC_Container(tvb, 0, &asn1_ctx, tree, hf_rrc_rrc_TargetRNC_ToSourceRNC_Container_PDU);
}
static int dissect_CellUpdate_r3_add_ext_IEs_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
int offset = 0;
@ -112397,7 +112397,7 @@ void proto_register_rrc(void) {
{ "ToTargetRNC-Container", "rrc.ToTargetRNC_Container",
FT_UINT32, BASE_DEC, VALS(rrc_ToTargetRNC_Container_vals), 0,
"rrc.ToTargetRNC_Container", HFILL }},
{ &hf_rrc_TargetRNC_ToSourceRNC_Container_PDU,
{ &hf_rrc_rrc_TargetRNC_ToSourceRNC_Container_PDU,
{ "TargetRNC-ToSourceRNC-Container", "rrc.TargetRNC_ToSourceRNC_Container",
FT_UINT32, BASE_DEC, VALS(rrc_TargetRNC_ToSourceRNC_Container_vals), 0,
"rrc.TargetRNC_ToSourceRNC_Container", HFILL }},
@ -148203,7 +148203,7 @@ void proto_register_rrc(void) {
register_dissector("rrc.si.sb1", dissect_SysInfoTypeSB1_PDU, proto_rrc);
register_dissector("rrc.si.sb2", dissect_SysInfoTypeSB2_PDU, proto_rrc);
register_dissector("rrc.s_to_trnc_cont", dissect_rrc_ToTargetRNC_Container_PDU, proto_rrc);
register_dissector("rrc.t_to_srnc_cont", dissect_TargetRNC_ToSourceRNC_Container_PDU, proto_rrc);
register_dissector("rrc.t_to_srnc_cont", dissect_rrc_TargetRNC_ToSourceRNC_Container_PDU, proto_rrc);
/*--- End of included file: packet-rrc-dis-reg.c ---*/

View File

@ -40,6 +40,7 @@ extern int proto_rrc;
int dissect_rrc_InterRATHandoverInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
void dissect_rrc_InterRATHandoverInfo_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_);
void dissect_rrc_ToTargetRNC_Container_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_);
void dissect_rrc_TargetRNC_ToSourceRNC_Container_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_);
/*--- End of included file: packet-rrc-exp.h ---*/
#line 30 "packet-rrc-template.h"

View File

@ -2690,7 +2690,7 @@ dissect_s1ap_ENB_UE_S1AP_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx
static int
dissect_s1ap_ENBname(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_PrintableString(tvb, offset, actx, tree, hf_index,
1, 150);
1, 150, TRUE);
return offset;
}
@ -3237,7 +3237,7 @@ dissect_s1ap_MessageIdentifier(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *ac
static int
dissect_s1ap_MMEname(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_PrintableString(tvb, offset, actx, tree, hf_index,
1, 150);
1, 150, TRUE);
return offset;
}

View File

@ -445,7 +445,7 @@ if(!parameter_tvb)
static int
dissect_ulp_IA5String_SIZE_1_1000(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_IA5String(tvb, offset, actx, tree, hf_index,
1, 1000);
1, 1000, FALSE);
return offset;
}
@ -542,7 +542,7 @@ dissect_ulp_SetSessionID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_
static int
dissect_ulp_FQDN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_restricted_character_string(tvb, offset, actx, tree, hf_index,
1, 255, "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789.-", 64,
1, 255, FALSE, "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789.-", 64,
NULL);
return offset;
@ -1606,7 +1606,7 @@ dissect_ulp_RequestedAssistData(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *a
static int
dissect_ulp_UTCTime(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_VisibleString(tvb, offset, actx, tree, hf_index,
NO_BOUND, NO_BOUND);
NO_BOUND, NO_BOUND, FALSE);
return offset;
}