diff options
Diffstat (limited to 'epan')
-rw-r--r-- | epan/dissectors/packet-h225.c | 32 | ||||
-rw-r--r-- | epan/dissectors/packet-h235.c | 6 | ||||
-rw-r--r-- | epan/dissectors/packet-h245.c | 14 | ||||
-rw-r--r-- | epan/dissectors/packet-h282.c | 2 | ||||
-rw-r--r-- | epan/dissectors/packet-h450.c | 12 | ||||
-rw-r--r-- | epan/dissectors/packet-h460.c | 6 | ||||
-rw-r--r-- | epan/dissectors/packet-h501.c | 10 | ||||
-rw-r--r-- | epan/dissectors/packet-lte-rrc.c | 58 | ||||
-rw-r--r-- | epan/dissectors/packet-per.c | 43 | ||||
-rw-r--r-- | epan/dissectors/packet-per.h | 12 | ||||
-rw-r--r-- | epan/dissectors/packet-rrc.c | 10 | ||||
-rw-r--r-- | epan/dissectors/packet-rrc.h | 1 | ||||
-rw-r--r-- | epan/dissectors/packet-s1ap.c | 4 | ||||
-rw-r--r-- | epan/dissectors/packet-ulp.c | 6 |
14 files changed, 118 insertions, 98 deletions
diff --git a/epan/dissectors/packet-h225.c b/epan/dissectors/packet-h225.c index 717babe7d3..0567e9a1d5 100644 --- a/epan/dissectors/packet-h225.c +++ b/epan/dissectors/packet-h225.c @@ -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; } diff --git a/epan/dissectors/packet-h235.c b/epan/dissectors/packet-h235.c index 13b79560f2..b3e1fe9324 100644 --- a/epan/dissectors/packet-h235.c +++ b/epan/dissectors/packet-h235.c @@ -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; } diff --git a/epan/dissectors/packet-h245.c b/epan/dissectors/packet-h245.c index 78c22a9cc2..bd5ea564aa 100644 --- a/epan/dissectors/packet-h245.c +++ b/epan/dissectors/packet-h245.c @@ -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; diff --git a/epan/dissectors/packet-h282.c b/epan/dissectors/packet-h282.c index 77b2a91b26..0cab86f64b 100644 --- a/epan/dissectors/packet-h282.c +++ b/epan/dissectors/packet-h282.c @@ -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; } diff --git a/epan/dissectors/packet-h450.c b/epan/dissectors/packet-h450.c index 9873a03b8d..65b14490af 100644 --- a/epan/dissectors/packet-h450.c +++ b/epan/dissectors/packet-h450.c @@ -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; } diff --git a/epan/dissectors/packet-h460.c b/epan/dissectors/packet-h460.c index c4bf075663..0abcee200e 100644 --- a/epan/dissectors/packet-h460.c +++ b/epan/dissectors/packet-h460.c @@ -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; diff --git a/epan/dissectors/packet-h501.c b/epan/dissectors/packet-h501.c index 6860591958..dee5876191 100644 --- a/epan/dissectors/packet-h501.c +++ b/epan/dissectors/packet-h501.c @@ -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; } diff --git a/epan/dissectors/packet-lte-rrc.c b/epan/dissectors/packet-lte-rrc.c index b2509ebb28..d3c87f5306 100644 --- a/epan/dissectors/packet-lte-rrc.c +++ b/epan/dissectors/packet-lte-rrc.c @@ -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); diff --git a/epan/dissectors/packet-per.c b/epan/dissectors/packet-per.c index a292bc532f..5cf93dd26c 100644 --- a/epan/dissectors/packet-per.c +++ b/epan/dissectors/packet-per.c @@ -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; diff --git a/epan/dissectors/packet-per.h b/epan/dissectors/packet-per.h index 3a4d5525c6..557f261a65 100644 --- a/epan/dissectors/packet-per.h +++ b/epan/dissectors/packet-per.h @@ -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); diff --git a/epan/dissectors/packet-rrc.c b/epan/dissectors/packet-rrc.c index 98e3faffd1..4c3af2c65b 100644 --- a/epan/dissectors/packet-rrc.c +++ b/epan/dissectors/packet-rrc.c @@ -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 ---*/ diff --git a/epan/dissectors/packet-rrc.h b/epan/dissectors/packet-rrc.h index eadcefff7c..1f3e9f6121 100644 --- a/epan/dissectors/packet-rrc.h +++ b/epan/dissectors/packet-rrc.h @@ -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" diff --git a/epan/dissectors/packet-s1ap.c b/epan/dissectors/packet-s1ap.c index b2db510370..5508e5ed2c 100644 --- a/epan/dissectors/packet-s1ap.c +++ b/epan/dissectors/packet-s1ap.c @@ -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; } diff --git a/epan/dissectors/packet-ulp.c b/epan/dissectors/packet-ulp.c index b507043885..a735ec7cc6 100644 --- a/epan/dissectors/packet-ulp.c +++ b/epan/dissectors/packet-ulp.c @@ -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; } |