aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-ngap.c
diff options
context:
space:
mode:
authorJohn Thacker <johnthacker@gmail.com>2023-04-29 14:29:50 -0400
committerJohn Thacker <johnthacker@gmail.com>2023-04-29 22:11:52 +0000
commitf18a3ddd526fc52b0e23ef67992f529a9a884c87 (patch)
treea6ef1dee03f720702cb891187148415e7ec6c114 /epan/dissectors/packet-ngap.c
parentb1b27a8bcbc5ad1e43cf169d5ff4f3951dc6fb4b (diff)
PER, asn2wrs: Handle VAL_PTR for known multiplier string types
Have the single octet known multiplier string types (IA5String, NumericString, PrintableString, VisibleString, the yet unsupported ISO646String) support returning the tvb containing the item in a VAL_PTR if they don't have a permitted alphabet. We currently handle a VAL_PTR of one of those types if they do have a permitted alphabet. Note that this also applies to UTCTime and GeneralizedTime, since under the hood we treat those as VisibleStrings anyway. It does *not* apply to BMPString (UCS2) nor UniversalSTring (UCS4), even though those are known multiplier string types. This should fix handling of ENBname and MMEname in S1AP as well. Related to #19036
Diffstat (limited to 'epan/dissectors/packet-ngap.c')
-rw-r--r--epan/dissectors/packet-ngap.c15
1 files changed, 10 insertions, 5 deletions
diff --git a/epan/dissectors/packet-ngap.c b/epan/dissectors/packet-ngap.c
index 0a7f7e0762..60b1ce8111 100644
--- a/epan/dissectors/packet-ngap.c
+++ b/epan/dissectors/packet-ngap.c
@@ -4771,7 +4771,8 @@ dissect_ngap_AlternativeQoSParaSetList(tvbuff_t *tvb _U_, int offset _U_, asn1_c
static int
dissect_ngap_AMFName(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, TRUE);
+ 1, 150, TRUE,
+ NULL);
return offset;
}
@@ -4781,7 +4782,8 @@ dissect_ngap_AMFName(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, pr
static int
dissect_ngap_AMFNameVisibleString(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,
- 1, 150, TRUE);
+ 1, 150, TRUE,
+ NULL);
return offset;
}
@@ -9425,7 +9427,8 @@ dissect_ngap_ExtendedPacketDelayBudget(tvbuff_t *tvb _U_, int offset _U_, asn1_c
static int
dissect_ngap_RANNodeNameVisibleString(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,
- 1, 150, TRUE);
+ 1, 150, TRUE,
+ NULL);
return offset;
}
@@ -18032,7 +18035,8 @@ dissect_ngap_QoSFlowsUsageReportList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx
static int
dissect_ngap_RANNodeName(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, TRUE);
+ 1, 150, TRUE,
+ NULL);
return offset;
}
@@ -20392,7 +20396,8 @@ dissect_ngap_UPTransportLayerInformationList(tvbuff_t *tvb _U_, int offset _U_,
static int
dissect_ngap_URI_address(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, FALSE);
+ NO_BOUND, NO_BOUND, FALSE,
+ NULL);
return offset;
}