aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors
diff options
context:
space:
mode:
Diffstat (limited to 'epan/dissectors')
-rwxr-xr-xepan/dissectors/packet-p7.c396
-rwxr-xr-xepan/dissectors/packet-p7.h2
-rw-r--r--epan/dissectors/packet-x411.c113
-rw-r--r--epan/dissectors/packet-x411.h6
4 files changed, 388 insertions, 129 deletions
diff --git a/epan/dissectors/packet-p7.c b/epan/dissectors/packet-p7.c
index 89fc753d9e..d40959ab21 100755
--- a/epan/dissectors/packet-p7.c
+++ b/epan/dissectors/packet-p7.c
@@ -1,7 +1,7 @@
/* Do not modify this file. */
/* It is created automatically by the ASN.1 to Wireshark dissector compiler */
/* packet-p7.c */
-/* ../../tools/asn2wrs.py -b -e -X -T -p p7 -c p7.cnf -s packet-p7-template MSAbstractService.asn MSGeneralAttributeTypes.asn */
+/* ../../tools/asn2wrs.py -b -e -X -T -p p7 -c p7.cnf -s packet-p7-template MSAbstractService.asn MSGeneralAttributeTypes.asn MSAccessProtocol.asn */
/* Input file: packet-p7-template.c */
@@ -48,6 +48,7 @@
#include "packet-ber.h"
#include "packet-acse.h"
#include "packet-ros.h"
+#include "packet-rtse.h"
#include "packet-x411.h"
#include <epan/strutil.h>
@@ -62,7 +63,7 @@ static dissector_handle_t tpkt_handle = NULL;
static const char *object_identifier_id = NULL; /* attribute identifier */
static int seqno = 0;
-void prefs_register_p7(void); /* forwad declaration for use in preferences registration */
+void prefs_register_p7(void); /* forward declaration for use in preferences registration */
/* Initialize the protocol and registered fields */
@@ -295,7 +296,7 @@ static int hf_p7_message_group_name = -1; /* MessageGroupName */
static int hf_p7_message_group_descriptor = -1; /* GeneralString_SIZE_1_ub_group_descriptor_length */
static int hf_p7_registrations = -1; /* T_registrations */
static int hf_p7_extended_registrations = -1; /* T_extended_registrations */
-static int hf_p7_extended_registrations_item = -1; /* OBJECT_IDENTIFIER */
+static int hf_p7_extended_registrations_item = -1; /* T_extended_registrations_item */
static int hf_p7_restrict_message_groups = -1; /* MessageGroupsRestriction */
static int hf_p7_parent_group = -1; /* MessageGroupName */
static int hf_p7_immediate_descendants_only = -1; /* BOOLEAN */
@@ -344,7 +345,13 @@ static int hf_p7_extensions = -1; /* SET_OF_ExtensionField */
static int hf_p7_extensions_item = -1; /* ExtensionField */
static int hf_p7_ms_message_result = -1; /* CommonSubmissionResults */
static int hf_p7_store_draft_result = -1; /* CommonSubmissionResults */
-static int hf_p7_probe_submission_envelope = -1; /* ProbeSubmissionEnvelope */
+static int hf_p7_originator_name = -1; /* MTSOriginatorName */
+static int hf_p7_original_encoded_information_types = -1; /* OriginalEncodedInformationTypes */
+static int hf_p7_content_type = -1; /* ContentType */
+static int hf_p7_content_length = -1; /* ContentLength */
+static int hf_p7_per_message_indicators = -1; /* PerMessageIndicators */
+static int hf_p7_per_recipient_fields = -1; /* SEQUENCE_OF_PerRecipientProbeSubmissionFields */
+static int hf_p7_per_recipient_fields_item = -1; /* PerRecipientProbeSubmissionFields */
static int hf_p7_probe_submission_identifier = -1; /* ProbeSubmissionIdentifier */
static int hf_p7_probe_submission_time = -1; /* ProbeSubmissionTime */
static int hf_p7_ms_probe_result = -1; /* CommonSubmissionResults */
@@ -364,7 +371,7 @@ static int hf_p7_fetch_restriction_error_problems = -1; /* FetchRestrictionErro
static int hf_p7_fetch_restriction_error_problem_item = -1; /* FetchRestrictionErrorProblem */
static int hf_p7_fetch_restriction_problem = -1; /* FetchRestrictionProblem */
static int hf_p7_restriction = -1; /* T_restriction */
-static int hf_p7_content_type = -1; /* OBJECT_IDENTIFIER */
+static int hf_p7_extended_content_type = -1; /* OBJECT_IDENTIFIER */
static int hf_p7_eit = -1; /* MS_EITs */
static int hf_p7_attribute_length = -1; /* INTEGER */
static int hf_p7_range_problem = -1; /* RangeProblem */
@@ -405,6 +412,15 @@ static int hf_p7_message_token = -1; /* SignatureStatus */
static int hf_p7_report_origin_authentication_check = -1; /* SignatureStatus */
static int hf_p7_proof_of_delivery = -1; /* SignatureStatus */
static int hf_p7_proof_of_submission = -1; /* SignatureStatus */
+static int hf_p7_rtorq_apdu = -1; /* RTORQapdu */
+static int hf_p7_rtoac_apdu = -1; /* RTOACapdu */
+static int hf_p7_rtorj_apdu = -1; /* RTORJapdu */
+static int hf_p7_rttp_apdu = -1; /* RTTPapdu */
+static int hf_p7_rttr_apdu = -1; /* RTTRapdu */
+static int hf_p7_rtab_apdu = -1; /* RTABapdu */
+static int hf_p7_abortReason = -1; /* AbortReason */
+static int hf_p7_reflectedParameter = -1; /* BIT_STRING */
+static int hf_p7_userdataAB = -1; /* T_userdataAB */
/* named bits */
static int hf_p7_OverrideRestrictions_override_content_types_restriction = -1;
static int hf_p7_OverrideRestrictions_override_EITs_restriction = -1;
@@ -420,7 +436,7 @@ static int hf_p7_T_entry_class_problem_entry_class_not_subscribed = -1;
static int hf_p7_T_entry_class_problem_inappropriate_entry_class = -1;
/*--- End of included file: packet-p7-hf.c ---*/
-#line 66 "packet-p7-template.c"
+#line 67 "packet-p7-template.c"
/* Initialize the subtree pointers */
static gint ett_p7 = -1;
@@ -527,6 +543,7 @@ static gint ett_p7_MSMessageSubmissionResult = -1;
static gint ett_p7_T_mts_result = -1;
static gint ett_p7_SET_OF_ExtensionField = -1;
static gint ett_p7_MSProbeSubmissionArgument = -1;
+static gint ett_p7_SEQUENCE_OF_PerRecipientProbeSubmissionFields = -1;
static gint ett_p7_MSProbeSubmissionResult = -1;
static gint ett_p7_AttributeErrorParameter = -1;
static gint ett_p7_AttributeErrorProblems = -1;
@@ -557,9 +574,43 @@ static gint ett_p7_SEQUENCE_OF_PerRecipientReport = -1;
static gint ett_p7_PerRecipientReport = -1;
static gint ett_p7_SubmissionError = -1;
static gint ett_p7_SignatureVerificationStatus = -1;
+static gint ett_p7_RTSE_apdus = -1;
+static gint ett_p7_RTABapdu = -1;
/*--- End of included file: packet-p7-ett.c ---*/
-#line 70 "packet-p7-template.c"
+#line 71 "packet-p7-template.c"
+
+
+/*--- Included file: packet-p7-val.h ---*/
+#line 1 "packet-p7-val.h"
+#define op_ms_submission_control 2
+#define op_ms_message_submission 3
+#define op_ms_probe_submission 4
+#define op_ms_cancel_deferred_delivery 7
+#define op_summarize 20
+#define op_list 21
+#define op_fetch 22
+#define op_delete 23
+#define op_register_ms 24
+#define op_alert 25
+#define op_modify 26
+#define err_attribute_error 21
+#define err_auto_action_request_error 22
+#define err_delete_error 23
+#define err_fetch_restriction_error 24
+#define err_range_error 25
+#define err_security_error 26
+#define err_service_error 27
+#define err_sequence_number_error 28
+#define err_invalid_parameters_error 29
+#define err_message_group_error 30
+#define err_ms_extension_error 31
+#define err_register_ms_error 32
+#define err_modify_error 33
+#define err_entry_class_error 34
+
+/*--- End of included file: packet-p7-val.h ---*/
+#line 73 "packet-p7-template.c"
/*--- Included file: packet-p7-fn.c ---*/
@@ -584,7 +635,7 @@ dissect_p7_AttributeType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offse
static int
dissect_p7_AttributeItem(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 209 "p7.cnf"
+#line 332 "p7.cnf"
if(object_identifier_id)
call_ber_oid_callback(object_identifier_id, tvb, offset, actx->pinfo, tree);
@@ -644,12 +695,13 @@ dissect_p7_INTEGER_1_ub_per_auto_action(gboolean implicit_tag _U_, tvbuff_t *tvb
static int
dissect_p7_T_registration_parameter(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 247 "p7.cnf"
+#line 366 "p7.cnf"
if(object_identifier_id)
call_ber_oid_callback(object_identifier_id, tvb, offset, actx->pinfo, tree);
+
return offset;
}
@@ -673,7 +725,11 @@ dissect_p7_AutoActionRegistration(gboolean implicit_tag _U_, tvbuff_t *tvb _U_,
static int
dissect_p7_T_error_code(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_ber_object_identifier_str(implicit_tag, actx, tree, tvb, offset, hf_index, &object_identifier_id);
+#line 371 "p7.cnf"
+ /* XXX: Is this really the best way to do this? */
+ offset = dissect_ros_Code(implicit_tag, tvb, offset, actx, tree, hf_index);
+
+
return offset;
}
@@ -682,7 +738,7 @@ dissect_p7_T_error_code(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset
static int
dissect_p7_T_error_parameter(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 253 "p7.cnf"
+#line 384 "p7.cnf"
if(object_identifier_id)
call_ber_oid_callback(object_identifier_id, tvb, offset, actx->pinfo, tree);
@@ -826,7 +882,7 @@ dissect_p7_MessageGroupName(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int of
static int
dissect_p7_T_initiator_name(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 257 "p7.cnf"
+#line 393 "p7.cnf"
char *ora = NULL;
offset = dissect_x411_ORAddressAndOrDirectoryName(implicit_tag, tvb, offset, actx, tree, hf_index);
@@ -1207,7 +1263,7 @@ static int
dissect_p7_T_from_number(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_p7_SequenceNumber(implicit_tag, tvb, offset, actx, tree, hf_index);
-#line 277 "p7.cnf"
+#line 413 "p7.cnf"
if (check_col(actx->pinfo->cinfo, COL_INFO)) {
col_append_fstr(actx->pinfo->cinfo, COL_INFO, " from %d", seqno);
}
@@ -1222,7 +1278,7 @@ static int
dissect_p7_T_to_number(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_p7_SequenceNumber(implicit_tag, tvb, offset, actx, tree, hf_index);
-#line 282 "p7.cnf"
+#line 418 "p7.cnf"
if (check_col(actx->pinfo->cinfo, COL_INFO)) {
col_append_fstr(actx->pinfo->cinfo, COL_INFO, " to %d", seqno);
}
@@ -1240,7 +1296,7 @@ static const ber_sequence_t NumberRange_sequence[] = {
static int
dissect_p7_NumberRange(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 268 "p7.cnf"
+#line 404 "p7.cnf"
if (check_col(actx->pinfo->cinfo, COL_INFO)) {
col_append_fstr(actx->pinfo->cinfo, COL_INFO, " (range=");
}
@@ -1308,7 +1364,7 @@ dissect_p7_Range(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, a
static int
dissect_p7_T_attribute_value(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 213 "p7.cnf"
+#line 336 "p7.cnf"
if(object_identifier_id)
call_ber_oid_callback(object_identifier_id, tvb, offset, actx->pinfo, tree);
@@ -1336,7 +1392,7 @@ dissect_p7_AttributeValueAssertion(gboolean implicit_tag _U_, tvbuff_t *tvb _U_,
static int
dissect_p7_T_initial(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 217 "p7.cnf"
+#line 340 "p7.cnf"
if(object_identifier_id)
call_ber_oid_callback(object_identifier_id, tvb, offset, actx->pinfo, tree);
@@ -1349,7 +1405,7 @@ dissect_p7_T_initial(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U
static int
dissect_p7_T_any(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 221 "p7.cnf"
+#line 344 "p7.cnf"
if(object_identifier_id)
call_ber_oid_callback(object_identifier_id, tvb, offset, actx->pinfo, tree);
@@ -1362,7 +1418,7 @@ dissect_p7_T_any(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, a
static int
dissect_p7_T_final(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 225 "p7.cnf"
+#line 348 "p7.cnf"
if(object_identifier_id)
call_ber_oid_callback(object_identifier_id, tvb, offset, actx->pinfo, tree);
@@ -1427,7 +1483,7 @@ dissect_p7_T_substrings(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset
static int
dissect_p7_T_match_value(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 229 "p7.cnf"
+#line 352 "p7.cnf"
if(object_identifier_id)
call_ber_oid_callback(object_identifier_id, tvb, offset, actx->pinfo, tree);
@@ -1763,7 +1819,7 @@ dissect_p7_SummarizeArgument(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int o
static int
dissect_p7_T_count(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 289 "p7.cnf"
+#line 425 "p7.cnf"
int count = 0;
offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
@@ -1775,7 +1831,6 @@ dissect_p7_T_count(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_,
}
-
return offset;
}
@@ -1799,7 +1854,7 @@ dissect_p7_Span(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, as
static int
dissect_p7_SummaryPresentItemValue(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 233 "p7.cnf"
+#line 356 "p7.cnf"
if(object_identifier_id)
call_ber_oid_callback(object_identifier_id, tvb, offset, actx->pinfo, tree);
@@ -2283,8 +2338,21 @@ dissect_p7_T_registrations(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int off
}
+
+static int
+dissect_p7_T_extended_registrations_item(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+#line 375 "p7.cnf"
+ /* XXX: Is this really the best way to do this? */
+ offset = dissect_ber_object_identifier_str(implicit_tag, actx, tree, tvb, offset, hf_index, &object_identifier_id);
+
+
+
+ return offset;
+}
+
+
static const ber_sequence_t T_extended_registrations_set_of[1] = {
- { &hf_p7_extended_registrations_item, BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_p7_OBJECT_IDENTIFIER },
+ { &hf_p7_extended_registrations_item, BER_CLASS_ANY, 0, BER_FLAGS_NOOWNTAG, dissect_p7_T_extended_registrations_item },
};
static int
@@ -2506,7 +2574,7 @@ dissect_p7_T_entries(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U
static int
dissect_p7_OrderedAttributeValue(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 237 "p7.cnf"
+#line 360 "p7.cnf"
if(object_identifier_id)
call_ber_oid_callback(object_identifier_id, tvb, offset, actx->pinfo, tree);
@@ -2714,8 +2782,28 @@ dissect_p7_MSMessageSubmissionResult(gboolean implicit_tag _U_, tvbuff_t *tvb _U
}
+static const ber_sequence_t SEQUENCE_OF_PerRecipientProbeSubmissionFields_sequence_of[1] = {
+ { &hf_p7_per_recipient_fields_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_x411_PerRecipientProbeSubmissionFields },
+};
+
+static int
+dissect_p7_SEQUENCE_OF_PerRecipientProbeSubmissionFields(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
+ SEQUENCE_OF_PerRecipientProbeSubmissionFields_sequence_of, hf_index, ett_p7_SEQUENCE_OF_PerRecipientProbeSubmissionFields);
+
+ return offset;
+}
+
+
static const ber_sequence_t MSProbeSubmissionArgument_set[] = {
- { &hf_p7_probe_submission_envelope, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_x411_ProbeSubmissionEnvelope },
+ { &hf_p7_originator_name , BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_x411_MTSOriginatorName },
+ { &hf_p7_original_encoded_information_types, BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x411_OriginalEncodedInformationTypes },
+ { &hf_p7_content_type , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_x411_ContentType },
+ { &hf_p7_content_identifier, BER_CLASS_APP, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x411_ContentIdentifier },
+ { &hf_p7_content_length , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_x411_ContentLength },
+ { &hf_p7_per_message_indicators, BER_CLASS_APP, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x411_PerMessageIndicators },
+ { &hf_p7_extensions , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_p7_SET_OF_ExtensionField },
+ { &hf_p7_per_recipient_fields, BER_CLASS_CON, 3, 0, dissect_p7_SEQUENCE_OF_PerRecipientProbeSubmissionFields },
{ &hf_p7_submission_options, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL, dissect_p7_MSSubmissionOptions },
{ NULL, 0, 0, 0, NULL }
};
@@ -2731,7 +2819,7 @@ dissect_p7_MSProbeSubmissionArgument(gboolean implicit_tag _U_, tvbuff_t *tvb _U
static const ber_sequence_t MSProbeSubmissionResult_set[] = {
{ &hf_p7_probe_submission_identifier, BER_CLASS_APP, 4, BER_FLAGS_NOOWNTAG, dissect_x411_ProbeSubmissionIdentifier },
- { &hf_p7_probe_submission_time, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x411_ProbeSubmissionTime },
+ { &hf_p7_probe_submission_time, BER_CLASS_CON, 0, 0, dissect_x411_ProbeSubmissionTime },
{ &hf_p7_content_identifier, BER_CLASS_APP, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x411_ContentIdentifier },
{ &hf_p7_extensions , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_p7_SET_OF_ExtensionField },
{ &hf_p7_ms_probe_result , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL, dissect_p7_CommonSubmissionResults },
@@ -2771,12 +2859,13 @@ dissect_p7_AttributeProblem(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int of
static int
dissect_p7_AttributeErrorProblemValue(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 241 "p7.cnf"
+#line 388 "p7.cnf"
if(object_identifier_id)
call_ber_oid_callback(object_identifier_id, tvb, offset, actx->pinfo, tree);
+
return offset;
}
@@ -2970,7 +3059,7 @@ static const value_string p7_T_restriction_vals[] = {
};
static const ber_choice_t T_restriction_choice[] = {
- { 0, &hf_p7_content_type , BER_CLASS_CON, 0, 0, dissect_p7_OBJECT_IDENTIFIER },
+ { 0, &hf_p7_extended_content_type, BER_CLASS_CON, 0, 0, dissect_p7_OBJECT_IDENTIFIER },
{ 1, &hf_p7_eit , BER_CLASS_CON, 1, 0, dissect_p7_MS_EITs },
{ 2, &hf_p7_attribute_length , BER_CLASS_CON, 2, 0, dissect_p7_INTEGER },
{ 0, NULL, 0, 0, 0, NULL }
@@ -3512,6 +3601,106 @@ dissect_p7_StorageTime(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset
return offset;
}
+
+
+static int
+dissect_p7_RTTPapdu(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
+ NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_p7_RTTRapdu(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
+ NULL);
+
+ return offset;
+}
+
+
+static const value_string p7_AbortReason_vals[] = {
+ { 0, "localSystemProblem" },
+ { 1, "invalidParameter" },
+ { 2, "unrecognizedActivity" },
+ { 3, "temporaryProblem" },
+ { 4, "protocolError" },
+ { 5, "permanentProblem" },
+ { 6, "userError" },
+ { 7, "transferCompleted" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_p7_AbortReason(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
+ NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_p7_T_userdataAB(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+#line 379 "p7.cnf"
+ offset = dissect_unknown_ber(actx->pinfo, tvb, offset, tree);
+
+
+
+ return offset;
+}
+
+
+static const ber_sequence_t RTABapdu_set[] = {
+ { &hf_p7_abortReason , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p7_AbortReason },
+ { &hf_p7_reflectedParameter, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p7_BIT_STRING },
+ { &hf_p7_userdataAB , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_p7_T_userdataAB },
+ { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_p7_RTABapdu(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
+ RTABapdu_set, hf_index, ett_p7_RTABapdu);
+
+ return offset;
+}
+
+
+static const value_string p7_RTSE_apdus_vals[] = {
+ { 0, "rtorq-apdu" },
+ { 1, "rtoac-apdu" },
+ { 2, "rtorj-apdu" },
+ { 3, "rttp-apdu" },
+ { 4, "rttr-apdu" },
+ { 5, "rtab-apdu" },
+ { 0, NULL }
+};
+
+static const ber_choice_t RTSE_apdus_choice[] = {
+ { 0, &hf_p7_rtorq_apdu , BER_CLASS_CON, 16, BER_FLAGS_IMPLTAG, dissect_rtse_RTORQapdu },
+ { 1, &hf_p7_rtoac_apdu , BER_CLASS_CON, 17, BER_FLAGS_IMPLTAG, dissect_rtse_RTOACapdu },
+ { 2, &hf_p7_rtorj_apdu , BER_CLASS_CON, 18, BER_FLAGS_IMPLTAG, dissect_rtse_RTORJapdu },
+ { 3, &hf_p7_rttp_apdu , BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_p7_RTTPapdu },
+ { 4, &hf_p7_rttr_apdu , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_p7_RTTRapdu },
+ { 5, &hf_p7_rtab_apdu , BER_CLASS_CON, 22, BER_FLAGS_IMPLTAG, dissect_p7_RTABapdu },
+ { 0, NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_p7_RTSE_apdus(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_ber_choice(actx, tree, tvb, offset,
+ RTSE_apdus_choice, hf_index, ett_p7_RTSE_apdus,
+ NULL);
+
+ return offset;
+}
+
/*--- PDUs ---*/
static void dissect_AutoActionType_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
@@ -3767,7 +3956,7 @@ static void dissect_StorageTime_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, p
/*--- End of included file: packet-p7-fn.c ---*/
-#line 72 "packet-p7-template.c"
+#line 75 "packet-p7-template.c"
/*
* Dissect P7 PDUs inside a ROS PDUs
@@ -3824,47 +4013,47 @@ dissect_p7(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree)
break;
case (ROS_OP_INVOKE | ROS_OP_ARGUMENT): /* Invoke Argument */
switch(session->ros_op & ROS_OP_OPCODE_MASK) {
- case 3: /* msMessageSubmission */
+ case op_ms_message_submission: /* msMessageSubmission */
p7_dissector = dissect_p7_MSMessageSubmissionArgument;
p7_op_name = "MS-Message-Submission-Argument";
hf_p7_index = hf_p7_MSMessageSubmissionArgument_PDU;
break;
- case 4: /* msProbeSubmission */
+ case op_ms_probe_submission: /* msProbeSubmission */
p7_dissector = dissect_p7_MSProbeSubmissionArgument;
p7_op_name = "MS-Probe-Submission-Argument";
hf_p7_index = hf_p7_MSProbeSubmissionArgument_PDU;
break;
- case 20: /* summarize */
+ case op_summarize: /* summarize */
p7_dissector = dissect_p7_SummarizeArgument;
p7_op_name = "Summarize-Argument";
hf_p7_index = hf_p7_SummarizeArgument_PDU;
break;
- case 21: /* list */
+ case op_list: /* list */
p7_dissector = dissect_p7_ListArgument;
p7_op_name = "List-Argument";
hf_p7_index = hf_p7_ListArgument_PDU;
break;
- case 22: /* fetch */
+ case op_fetch: /* fetch */
p7_dissector = dissect_p7_FetchArgument;
p7_op_name = "Fetch-Argument";
hf_p7_index = hf_p7_FetchArgument_PDU;
break;
- case 23: /* delete */
+ case op_delete: /* delete */
p7_dissector = dissect_p7_DeleteArgument;
p7_op_name = "Delete-Argument";
hf_p7_index = hf_p7_DeleteArgument_PDU;
break;
- case 24: /* register-ms */
+ case op_register_ms: /* register-ms */
p7_dissector = dissect_p7_Register_MSArgument;
p7_op_name = "RegisterMS-Argument";
hf_p7_index = hf_p7_Register_MSArgument_PDU;
break;
- case 25: /* alert */
+ case op_alert: /* alert */
p7_dissector = dissect_p7_AlertArgument;
p7_op_name = "Alert-Argument";
hf_p7_index = hf_p7_AlertArgument_PDU;
break;
- case 26: /* modify */
+ case op_modify: /* modify */
p7_dissector = dissect_p7_ModifyArgument;
p7_op_name = "Modify-Argument";
hf_p7_index = hf_p7_ModifyArgument_PDU;
@@ -3877,46 +4066,46 @@ dissect_p7(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree)
break;
case (ROS_OP_INVOKE | ROS_OP_RESULT): /* Return Result */
switch(session->ros_op & ROS_OP_OPCODE_MASK) {
- case 3: /* msMessageSubmission */
+ case op_ms_message_submission: /* msMessageSubmission */
p7_dissector = dissect_p7_MSMessageSubmissionResult;
p7_op_name = "MS-Message-Submission-Result";
hf_p7_index = hf_p7_MSMessageSubmissionResult_PDU;
break;
- case 4: /* msProbeSubmission */
+ case op_ms_probe_submission: /* msProbeSubmission */
p7_dissector = dissect_p7_MSProbeSubmissionResult;
p7_op_name = "MS-Probe-Submission-Result";
hf_p7_index = hf_p7_MSProbeSubmissionResult_PDU;
break;
- case 20: /* summarize */
+ case op_summarize: /* summarize */
p7_dissector = dissect_p7_SummarizeResult;
p7_op_name = "Summarize-Result";
hf_p7_index = hf_p7_SummarizeResult_PDU;
break;
- case 21: /* list */
+ case op_list: /* list */
p7_dissector = dissect_p7_ListResult;
p7_op_name = "List-Result";
hf_p7_index = hf_p7_ListResult_PDU;
break;
- case 22: /* fetch */
+ case op_fetch: /* fetch */
p7_dissector = dissect_p7_FetchResult;
p7_op_name = "Fetch-Result";
hf_p7_index = hf_p7_FetchResult_PDU;
break;
- case 23: /* delete */
+ case op_delete: /* delete */
p7_dissector = dissect_p7_DeleteResult;
p7_op_name = "Delete-Result";
break;
- case 24: /* register-ms */
+ case op_register_ms: /* register-ms */
p7_dissector = dissect_p7_Register_MSResult;
p7_op_name = "RegisterMS-Result";
hf_p7_index = hf_p7_Register_MSResult_PDU;
break;
- case 25: /* alert */
+ case op_alert: /* alert */
p7_dissector = dissect_p7_AlertResult;
p7_op_name = "Alert-Result";
hf_p7_index = hf_p7_AlertResult_PDU;
break;
- case 26: /* modify */
+ case op_modify: /* modify */
p7_dissector = dissect_p7_ModifyResult;
p7_op_name = "Modify-Result";
hf_p7_index = hf_p7_ModifyResult_PDU;
@@ -3929,70 +4118,70 @@ dissect_p7(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree)
break;
case (ROS_OP_INVOKE | ROS_OP_ERROR): /* Return Error */
switch(session->ros_op & ROS_OP_OPCODE_MASK) {
- case 21: /* attributeError */
+ case err_attribute_error: /* attributeError */
p7_dissector = dissect_p7_AttributeErrorParameter;
p7_op_name = "Attribute-Error";
hf_p7_index = hf_p7_AttributeErrorParameter_PDU;
break;
- case 22: /* autoActionRequestError */
+ case err_auto_action_request_error: /* autoActionRequestError */
p7_dissector = dissect_p7_AutoActionRequestErrorParameter;
p7_op_name = "Auto-Action-Request-Error";
hf_p7_index = hf_p7_AutoActionRequestErrorParameter_PDU;
break;
- case 23: /* deleteError */
+ case err_delete_error: /* deleteError */
p7_dissector = dissect_p7_DeleteErrorParameter;
p7_op_name = "Delete-Error";
hf_p7_index = hf_p7_DeleteErrorParameter_PDU;
break;
- case 24: /* fetchRestrictionError */
+ case err_fetch_restriction_error: /* fetchRestrictionError */
p7_dissector = dissect_p7_FetchRestrictionErrorParameter;
p7_op_name = "Fetch-Restriction-Error";
hf_p7_index = hf_p7_FetchRestrictionErrorParameter_PDU;
break;
- case 25: /* rangeError */
+ case err_range_error: /* rangeError */
p7_dissector = dissect_p7_RangeErrorParameter;
p7_op_name = "Range-Error";
hf_p7_index = hf_p7_RangeErrorParameter_PDU;
break;
- case 26: /* securityError */
+ case err_security_error: /* securityError */
p7_dissector = dissect_x411_SecurityProblem;
p7_op_name = "Security-Error";
break;
- case 27: /* serviceError*/
+ case err_service_error: /* serviceError*/
p7_dissector = dissect_p7_ServiceErrorParameter;
p7_op_name = "Service-Error";
hf_p7_index = hf_p7_ServiceErrorParameter_PDU;
break;
- case 28: /* sequenceNumberError */
+ case err_sequence_number_error: /* sequenceNumberError */
p7_dissector = dissect_p7_SequenceNumberErrorParameter;
p7_op_name = "Sequence-Number-Error";
hf_p7_index = hf_p7_SequenceNumberErrorParameter_PDU;
break;
- case 29: /* invalidParametersError */
+ case err_invalid_parameters_error: /* invalidParametersError */
p7_dissector = NULL;
p7_op_name = "Invalid-Parameters-Error";
break;
- case 30: /* messageGroupError */
+ case err_message_group_error: /* messageGroupError */
p7_dissector = dissect_p7_MessageGroupErrorParameter;
p7_op_name = "Message-Group-Error";
hf_p7_index = hf_p7_MessageGroupErrorParameter_PDU;
break;
- case 31: /* msExtensioError */
+ case err_ms_extension_error: /* msExtensioError */
p7_dissector = dissect_p7_MSExtensionErrorParameter;
p7_op_name = "MS-Extension-Error";
hf_p7_index = hf_p7_MSExtensionErrorParameter_PDU;
break;
- case 32: /* registerMSError */
+ case err_register_ms_error: /* registerMSError */
p7_dissector = dissect_p7_RegisterMSErrorParameter;
p7_op_name = "Register-MS-Error";
hf_p7_index = hf_p7_RegisterMSErrorParameter_PDU;
break;
- case 33: /* sequenceNumberError */
+ case err_modify_error: /* modifyError */
p7_dissector = dissect_p7_ModifyErrorParameter;
p7_op_name = "Modify-Error";
hf_p7_index = hf_p7_ModifyErrorParameter_PDU;
break;
- case 34: /* entryClassError */
+ case err_entry_class_error: /* entryClassError */
p7_dissector = dissect_p7_EntryClassErrorParameter;
p7_op_name = "Entry-Class-Error";
hf_p7_index = hf_p7_EntryClassErrorParameter_PDU;
@@ -4260,7 +4449,7 @@ void proto_register_p7(void) {
"p7.T_registration_parameter", HFILL }},
{ &hf_p7_error_code,
{ "error-code", "p7.error_code",
- FT_OID, BASE_NONE, NULL, 0,
+ FT_NONE, BASE_NONE, NULL, 0,
"p7.T_error_code", HFILL }},
{ &hf_p7_error_parameter,
{ "error-parameter", "p7.error_parameter",
@@ -4924,8 +5113,8 @@ void proto_register_p7(void) {
"p7.T_extended_registrations", HFILL }},
{ &hf_p7_extended_registrations_item,
{ "Item", "p7.extended_registrations_item",
- FT_OID, BASE_NONE, NULL, 0,
- "p7.OBJECT_IDENTIFIER", HFILL }},
+ FT_NONE, BASE_NONE, NULL, 0,
+ "p7.T_extended_registrations_item", HFILL }},
{ &hf_p7_restrict_message_groups,
{ "restrict-message-groups", "p7.restrict_message_groups",
FT_NONE, BASE_NONE, NULL, 0,
@@ -5118,10 +5307,34 @@ void proto_register_p7(void) {
{ "store-draft-result", "p7.store_draft_result",
FT_NONE, BASE_NONE, NULL, 0,
"p7.CommonSubmissionResults", HFILL }},
- { &hf_p7_probe_submission_envelope,
- { "probe-submission-envelope", "p7.probe_submission_envelope",
+ { &hf_p7_originator_name,
+ { "originator-name", "p7.originator_name",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "x411.MTSOriginatorName", HFILL }},
+ { &hf_p7_original_encoded_information_types,
+ { "original-encoded-information-types", "p7.original_encoded_information_types",
FT_NONE, BASE_NONE, NULL, 0,
- "x411.ProbeSubmissionEnvelope", HFILL }},
+ "x411.OriginalEncodedInformationTypes", HFILL }},
+ { &hf_p7_content_type,
+ { "content-type", "p7.content_type",
+ FT_UINT32, BASE_DEC, VALS(x411_ContentType_vals), 0,
+ "x411.ContentType", HFILL }},
+ { &hf_p7_content_length,
+ { "content-length", "p7.content_length",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "x411.ContentLength", HFILL }},
+ { &hf_p7_per_message_indicators,
+ { "per-message-indicators", "p7.per_message_indicators",
+ FT_BYTES, BASE_HEX, NULL, 0,
+ "x411.PerMessageIndicators", HFILL }},
+ { &hf_p7_per_recipient_fields,
+ { "per-recipient-fields", "p7.per_recipient_fields",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "p7.SEQUENCE_OF_PerRecipientProbeSubmissionFields", HFILL }},
+ { &hf_p7_per_recipient_fields_item,
+ { "Item", "p7.per_recipient_fields_item",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "x411.PerRecipientProbeSubmissionFields", HFILL }},
{ &hf_p7_probe_submission_identifier,
{ "probe-submission-identifier", "p7.probe_submission_identifier",
FT_NONE, BASE_NONE, NULL, 0,
@@ -5198,7 +5411,7 @@ void proto_register_p7(void) {
{ "restriction", "p7.restriction",
FT_UINT32, BASE_DEC, VALS(p7_T_restriction_vals), 0,
"p7.T_restriction", HFILL }},
- { &hf_p7_content_type,
+ { &hf_p7_extended_content_type,
{ "content-type", "p7.content_type",
FT_OID, BASE_NONE, NULL, 0,
"p7.OBJECT_IDENTIFIER", HFILL }},
@@ -5300,7 +5513,7 @@ void proto_register_p7(void) {
"p7.NULL", HFILL }},
{ &hf_p7_recipient_improperly_specified,
{ "recipient-improperly-specified", "p7.recipient_improperly_specified",
- FT_NONE, BASE_NONE, NULL, 0,
+ FT_UINT32, BASE_DEC, NULL, 0,
"x411.ImproperlySpecifiedRecipients", HFILL }},
{ &hf_p7_element_of_service_not_subscribed,
{ "element-of-service-not-subscribed", "p7.element_of_service_not_subscribed",
@@ -5362,6 +5575,42 @@ void proto_register_p7(void) {
{ "proof-of-submission", "p7.proof_of_submission",
FT_INT32, BASE_DEC, VALS(p7_SignatureStatus_vals), 0,
"p7.SignatureStatus", HFILL }},
+ { &hf_p7_rtorq_apdu,
+ { "rtorq-apdu", "p7.rtorq_apdu",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "rtse.RTORQapdu", HFILL }},
+ { &hf_p7_rtoac_apdu,
+ { "rtoac-apdu", "p7.rtoac_apdu",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "rtse.RTOACapdu", HFILL }},
+ { &hf_p7_rtorj_apdu,
+ { "rtorj-apdu", "p7.rtorj_apdu",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "rtse.RTORJapdu", HFILL }},
+ { &hf_p7_rttp_apdu,
+ { "rttp-apdu", "p7.rttp_apdu",
+ FT_INT32, BASE_DEC, NULL, 0,
+ "p7.RTTPapdu", HFILL }},
+ { &hf_p7_rttr_apdu,
+ { "rttr-apdu", "p7.rttr_apdu",
+ FT_BYTES, BASE_HEX, NULL, 0,
+ "p7.RTTRapdu", HFILL }},
+ { &hf_p7_rtab_apdu,
+ { "rtab-apdu", "p7.rtab_apdu",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "p7.RTABapdu", HFILL }},
+ { &hf_p7_abortReason,
+ { "abortReason", "p7.abortReason",
+ FT_INT32, BASE_DEC, VALS(p7_AbortReason_vals), 0,
+ "p7.AbortReason", HFILL }},
+ { &hf_p7_reflectedParameter,
+ { "reflectedParameter", "p7.reflectedParameter",
+ FT_BYTES, BASE_HEX, NULL, 0,
+ "p7.BIT_STRING", HFILL }},
+ { &hf_p7_userdataAB,
+ { "userdataAB", "p7.userdataAB",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "p7.T_userdataAB", HFILL }},
{ &hf_p7_OverrideRestrictions_override_content_types_restriction,
{ "override-content-types-restriction", "p7.override-content-types-restriction",
FT_BOOLEAN, 8, NULL, 0x80,
@@ -5412,7 +5661,7 @@ void proto_register_p7(void) {
"", HFILL }},
/*--- End of included file: packet-p7-hfarr.c ---*/
-#line 336 "packet-p7-template.c"
+#line 339 "packet-p7-template.c"
};
/* List of subtrees */
@@ -5521,6 +5770,7 @@ void proto_register_p7(void) {
&ett_p7_T_mts_result,
&ett_p7_SET_OF_ExtensionField,
&ett_p7_MSProbeSubmissionArgument,
+ &ett_p7_SEQUENCE_OF_PerRecipientProbeSubmissionFields,
&ett_p7_MSProbeSubmissionResult,
&ett_p7_AttributeErrorParameter,
&ett_p7_AttributeErrorProblems,
@@ -5551,9 +5801,11 @@ void proto_register_p7(void) {
&ett_p7_PerRecipientReport,
&ett_p7_SubmissionError,
&ett_p7_SignatureVerificationStatus,
+ &ett_p7_RTSE_apdus,
+ &ett_p7_RTABapdu,
/*--- End of included file: packet-p7-ettarr.c ---*/
-#line 342 "packet-p7-template.c"
+#line 345 "packet-p7-template.c"
};
module_t *p7_module;
diff --git a/epan/dissectors/packet-p7.h b/epan/dissectors/packet-p7.h
index d034c1ce19..c066b13664 100755
--- a/epan/dissectors/packet-p7.h
+++ b/epan/dissectors/packet-p7.h
@@ -1,7 +1,7 @@
/* Do not modify this file. */
/* It is created automatically by the ASN.1 to Wireshark dissector compiler */
/* packet-p7.h */
-/* ../../tools/asn2wrs.py -b -e -X -T -p p7 -c p7.cnf -s packet-p7-template MSAbstractService.asn MSGeneralAttributeTypes.asn */
+/* ../../tools/asn2wrs.py -b -e -X -T -p p7 -c p7.cnf -s packet-p7-template MSAbstractService.asn MSGeneralAttributeTypes.asn MSAccessProtocol.asn */
/* Input file: packet-p7-template.h */
diff --git a/epan/dissectors/packet-x411.c b/epan/dissectors/packet-x411.c
index 169356e06f..a1bfa075af 100644
--- a/epan/dissectors/packet-x411.c
+++ b/epan/dissectors/packet-x411.c
@@ -800,7 +800,7 @@ dissect_x411_NULL(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_,
static int
dissect_x411_MTAName(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 456 "x411.cnf"
+#line 466 "x411.cnf"
tvbuff_t *mtaname = NULL;
offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_IA5String,
@@ -881,7 +881,7 @@ dissect_x411_TokenTypeIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, i
static int
dissect_x411_TokenTypeData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 804 "x411.cnf"
+#line 814 "x411.cnf"
if(object_identifier_id)
call_ber_oid_callback(object_identifier_id, tvb, offset, actx->pinfo, tree);
@@ -994,7 +994,7 @@ static const ber_choice_t Credentials_choice[] = {
int
dissect_x411_Credentials(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 812 "x411.cnf"
+#line 822 "x411.cnf"
gint credentials = -1;
offset = dissect_ber_choice(actx, tree, tvb, offset,
@@ -1075,7 +1075,7 @@ dissect_x411_OBJECT_IDENTIFIER(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int
static int
dissect_x411_CategoryValue(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 346 "x411.cnf"
+#line 356 "x411.cnf"
offset = dissect_unknown_ber(actx->pinfo, tvb, offset, tree);
@@ -1239,7 +1239,7 @@ static const value_string x411_MTABindError_vals[] = {
static int
dissect_x411_MTABindError(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 795 "x411.cnf"
+#line 805 "x411.cnf"
int error = -1;
offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
&error);
@@ -1256,7 +1256,7 @@ dissect_x411_MTABindError(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offs
static int
dissect_x411_AddrNumericString(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 567 "x411.cnf"
+#line 577 "x411.cnf"
tvbuff_t *nstring = NULL;
offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_NumericString,
@@ -1276,7 +1276,7 @@ dissect_x411_AddrNumericString(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int
static int
dissect_x411_AddrPrintableString(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 556 "x411.cnf"
+#line 566 "x411.cnf"
tvbuff_t *nstring = NULL;
offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString,
@@ -1318,7 +1318,7 @@ dissect_x411_CountryName_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int off
static int
dissect_x411_CountryName(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 373 "x411.cnf"
+#line 383 "x411.cnf"
if(doing_address)
g_strlcat(oraddress, "/C=", MAX_ORA_STR_LEN);
@@ -1358,7 +1358,7 @@ dissect_x411_AdministrationDomainName_U(gboolean implicit_tag _U_, tvbuff_t *tvb
static int
dissect_x411_AdministrationDomainName(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 380 "x411.cnf"
+#line 390 "x411.cnf"
if(doing_address)
g_strlcat(oraddress, "/A=", MAX_ORA_STR_LEN);
@@ -1387,7 +1387,7 @@ static const ber_choice_t PrivateDomainIdentifier_choice[] = {
static int
dissect_x411_PrivateDomainIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 507 "x411.cnf"
+#line 517 "x411.cnf"
if(doing_address)
g_strlcat(oraddress, "/P=", MAX_ORA_STR_LEN);
@@ -1422,7 +1422,7 @@ dissect_x411_GlobalDomainIdentifier_U(gboolean implicit_tag _U_, tvbuff_t *tvb _
static int
dissect_x411_GlobalDomainIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 675 "x411.cnf"
+#line 685 "x411.cnf"
oraddress = ep_alloc(MAX_ORA_STR_LEN); oraddress[0] = '\0';
address_item = tree;
@@ -1449,7 +1449,7 @@ dissect_x411_GlobalDomainIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb _U_
static int
dissect_x411_LocalIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 694 "x411.cnf"
+#line 704 "x411.cnf"
tvbuff_t *id = NULL;
offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_IA5String,
@@ -1489,7 +1489,7 @@ dissect_x411_MTSIdentifier_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int o
static int
dissect_x411_MTSIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 707 "x411.cnf"
+#line 717 "x411.cnf"
doing_address = TRUE;
@@ -1515,7 +1515,7 @@ dissect_x411_MTSIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int off
static int
dissect_x411_MessageIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 669 "x411.cnf"
+#line 679 "x411.cnf"
address_item = NULL;
@@ -1531,7 +1531,7 @@ dissect_x411_MessageIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int
static int
dissect_x411_X121Address(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 476 "x411.cnf"
+#line 486 "x411.cnf"
tvbuff_t *string = NULL;
offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_NumericString,
@@ -1563,7 +1563,7 @@ dissect_x411_NetworkAddress(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int of
static int
dissect_x411_TerminalIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 490 "x411.cnf"
+#line 500 "x411.cnf"
tvbuff_t *string = NULL;
offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString,
@@ -1596,7 +1596,7 @@ static const ber_choice_t PrivateDomainName_choice[] = {
static int
dissect_x411_PrivateDomainName(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 500 "x411.cnf"
+#line 510 "x411.cnf"
if(doing_address)
g_strlcat(oraddress, "/P=", MAX_ORA_STR_LEN);
@@ -1615,7 +1615,7 @@ dissect_x411_PrivateDomainName(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int
static int
dissect_x411_OrganizationName(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 517 "x411.cnf"
+#line 527 "x411.cnf"
tvbuff_t *string = NULL;
offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString,
@@ -1648,7 +1648,7 @@ dissect_x411_NumericUserIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb _U_,
static int
dissect_x411_T_printable_surname(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 587 "x411.cnf"
+#line 597 "x411.cnf"
tvbuff_t *pstring = NULL;
offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString,
@@ -1669,7 +1669,7 @@ dissect_x411_T_printable_surname(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, i
static int
dissect_x411_T_printable_given_name(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 596 "x411.cnf"
+#line 606 "x411.cnf"
tvbuff_t *pstring = NULL;
offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString,
@@ -1690,7 +1690,7 @@ dissect_x411_T_printable_given_name(gboolean implicit_tag _U_, tvbuff_t *tvb _U_
static int
dissect_x411_T_printable_initials(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 605 "x411.cnf"
+#line 615 "x411.cnf"
tvbuff_t *pstring = NULL;
offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString,
@@ -1711,7 +1711,7 @@ dissect_x411_T_printable_initials(gboolean implicit_tag _U_, tvbuff_t *tvb _U_,
static int
dissect_x411_T_printable_generation_qualifier(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 614 "x411.cnf"
+#line 624 "x411.cnf"
tvbuff_t *pstring = NULL;
offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString,
@@ -1750,7 +1750,7 @@ dissect_x411_PersonalName(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offs
static int
dissect_x411_OrganizationalUnitName(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 530 "x411.cnf"
+#line 540 "x411.cnf"
tvbuff_t *string = NULL;
offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString,
@@ -1797,7 +1797,7 @@ static const ber_sequence_t BuiltInStandardAttributes_sequence[] = {
static int
dissect_x411_BuiltInStandardAttributes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 731 "x411.cnf"
+#line 741 "x411.cnf"
address_item = tree;
@@ -1814,7 +1814,7 @@ dissect_x411_BuiltInStandardAttributes(gboolean implicit_tag _U_, tvbuff_t *tvb
static int
dissect_x411_T_printable_type(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 624 "x411.cnf"
+#line 634 "x411.cnf"
tvbuff_t *pstring = NULL;
offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString,
@@ -1835,7 +1835,7 @@ dissect_x411_T_printable_type(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int
static int
dissect_x411_T_printable_value(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 633 "x411.cnf"
+#line 643 "x411.cnf"
tvbuff_t *pstring = NULL;
offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString,
@@ -1939,7 +1939,7 @@ dissect_x411_ExtensionAttributeType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_
static int
dissect_x411_T_extension_attribute_value(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 353 "x411.cnf"
+#line 363 "x411.cnf"
proto_item_append_text(tree, " (%s)", val_to_str(extension_id, x411_ExtensionAttributeType_vals, "extension-attribute-type %d"));
if (dissector_try_port(x411_extension_attribute_dissector_table, extension_id, tvb, actx->pinfo, tree)) {
@@ -2010,7 +2010,7 @@ dissect_x411_ORName_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _
int
dissect_x411_ORName(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 656 "x411.cnf"
+#line 666 "x411.cnf"
oraddress = ep_alloc(MAX_ORA_STR_LEN); oraddress[0] = '\0';
address_item = NULL;
@@ -2189,7 +2189,7 @@ dissect_x411_EncodedInformationTypes(gboolean implicit_tag _U_, tvbuff_t *tvb _U
-static int
+int
dissect_x411_OriginalEncodedInformationTypes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_x411_EncodedInformationTypes(implicit_tag, tvb, offset, actx, tree, hf_index);
@@ -2210,7 +2210,7 @@ static const value_string x411_BuiltInContentType_U_vals[] = {
static int
dissect_x411_BuiltInContentType_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 413 "x411.cnf"
+#line 423 "x411.cnf"
static guint32 ict = -1;
offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
@@ -2249,7 +2249,7 @@ dissect_x411_BuiltInContentType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, in
int
dissect_x411_ExtendedContentType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 398 "x411.cnf"
+#line 408 "x411.cnf"
const char *name = NULL;
offset = dissect_ber_object_identifier_str(implicit_tag, actx, tree, tvb, offset, hf_index, &content_type_id);
@@ -2269,7 +2269,7 @@ dissect_x411_ExtendedContentType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, i
}
-static const value_string x411_ContentType_vals[] = {
+const value_string x411_ContentType_vals[] = {
{ 0, "built-in" },
{ 1, "extended" },
{ 0, NULL }
@@ -2281,7 +2281,7 @@ static const ber_choice_t ContentType_choice[] = {
{ 0, NULL, 0, 0, 0, NULL }
};
-static int
+int
dissect_x411_ContentType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_choice(actx, tree, tvb, offset,
ContentType_choice, hf_index, ett_x411_ContentType,
@@ -2362,7 +2362,7 @@ dissect_x411_PerMessageIndicators_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_
-static int
+int
dissect_x411_PerMessageIndicators(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
hf_index, BER_CLASS_APP, 8, TRUE, dissect_x411_PerMessageIndicators_U);
@@ -2374,7 +2374,7 @@ dissect_x411_PerMessageIndicators(gboolean implicit_tag _U_, tvbuff_t *tvb _U_,
static int
dissect_x411_Time(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 774 "x411.cnf"
+#line 784 "x411.cnf"
tvbuff_t *arrival = NULL;
offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_UTCTime,
@@ -2440,7 +2440,7 @@ dissect_x411_T_bilateral_domain(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, in
static int
dissect_x411_T_bilateral_information(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 842 "x411.cnf"
+#line 852 "x411.cnf"
proto_item *item = NULL;
int loffset = 0;
guint32 len = 0;
@@ -2508,7 +2508,7 @@ static const value_string x411_RoutingAction_vals[] = {
static int
dissect_x411_RoutingAction(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 785 "x411.cnf"
+#line 795 "x411.cnf"
int action = 0;
offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
@@ -2569,7 +2569,7 @@ static const ber_sequence_t DomainSuppliedInformation_set[] = {
static int
dissect_x411_DomainSuppliedInformation(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 753 "x411.cnf"
+#line 763 "x411.cnf"
doing_address = FALSE;
@@ -2594,7 +2594,7 @@ static const ber_sequence_t TraceInformationElement_sequence[] = {
static int
dissect_x411_TraceInformationElement(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 737 "x411.cnf"
+#line 747 "x411.cnf"
doing_address = TRUE;
@@ -2695,7 +2695,7 @@ dissect_x411_StandardExtension(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int
static int
dissect_x411_T_private_extension(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 390 "x411.cnf"
+#line 400 "x411.cnf"
offset = dissect_ber_object_identifier_str(implicit_tag, actx, tree, tvb, offset, hf_index, &object_identifier_id);
@@ -2749,7 +2749,7 @@ dissect_x411_Criticality(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offse
static int
dissect_x411_ExtensionValue(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 322 "x411.cnf"
+#line 332 "x411.cnf"
const char *name;
if(extension_id != -1) {
@@ -2932,7 +2932,7 @@ dissect_x411_MessageTransferEnvelope(gboolean implicit_tag _U_, tvbuff_t *tvb _U
int
dissect_x411_Content(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 431 "x411.cnf"
+#line 441 "x411.cnf"
tvbuff_t *next_tvb;
/* we can do this now constructed octet strings are supported */
@@ -3040,7 +3040,7 @@ dissect_x411_SubjectIntermediateTraceInformation(gboolean implicit_tag _U_, tvbu
static int
dissect_x411_AdditionalInformation(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 304 "x411.cnf"
+#line 314 "x411.cnf"
proto_item *item = NULL;
int loffset = 0;
guint32 len = 0;
@@ -3260,7 +3260,7 @@ static const ber_choice_t ReportType_choice[] = {
static int
dissect_x411_ReportType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 874 "x411.cnf"
+#line 884 "x411.cnf"
gint report = -1;
offset = dissect_ber_choice(actx, tree, tvb, offset,
@@ -3485,7 +3485,7 @@ static const ber_choice_t MTS_APDU_choice[] = {
static int
dissect_x411_MTS_APDU(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 860 "x411.cnf"
+#line 870 "x411.cnf"
gint apdu = -1;
offset = dissect_ber_choice(actx, tree, tvb, offset,
@@ -3548,7 +3548,7 @@ static const ber_sequence_t MTASuppliedInformation_set[] = {
static int
dissect_x411_MTASuppliedInformation(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 762 "x411.cnf"
+#line 772 "x411.cnf"
doing_address = FALSE;
@@ -3574,7 +3574,7 @@ static const ber_sequence_t InternalTraceInformationElement_sequence[] = {
static int
dissect_x411_InternalTraceInformationElement(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 745 "x411.cnf"
+#line 755 "x411.cnf"
doing_address = TRUE;
@@ -3732,7 +3732,7 @@ dissect_x411_ORAddressAndOrDirectoryName(gboolean implicit_tag _U_, tvbuff_t *tv
-static int
+int
dissect_x411_MTSOriginatorName(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_x411_ORAddressAndOrDirectoryName(implicit_tag, tvb, offset, actx, tree, hf_index);
@@ -3875,7 +3875,7 @@ static const ber_sequence_t PerRecipientProbeSubmissionFields_set[] = {
{ NULL, 0, 0, 0, NULL }
};
-static int
+int
dissect_x411_PerRecipientProbeSubmissionFields(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
PerRecipientProbeSubmissionFields_set, hf_index, ett_x411_PerRecipientProbeSubmissionFields);
@@ -4535,7 +4535,7 @@ dissect_x411_RefusedArgument(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int o
static int
dissect_x411_T_refused_extension(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 370 "x411.cnf"
+#line 380 "x411.cnf"
/*XXX not implemented yet */
@@ -4916,7 +4916,7 @@ dissect_x411_T_standard_parameters(gboolean implicit_tag _U_, tvbuff_t *tvb _U_,
static int
dissect_x411_T_type_extensions_item(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 319 "x411.cnf"
+#line 329 "x411.cnf"
/*XXX not implemented yet */
@@ -5264,7 +5264,7 @@ static const ber_sequence_t ORAddress_sequence[] = {
int
dissect_x411_ORAddress(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 643 "x411.cnf"
+#line 653 "x411.cnf"
oraddress = ep_alloc(MAX_ORA_STR_LEN); oraddress[0] = '\0';
doing_address = TRUE;
@@ -5791,7 +5791,7 @@ dissect_x411_CertificateSelectors(gboolean implicit_tag _U_, tvbuff_t *tvb _U_,
static int
dissect_x411_CommonName(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 543 "x411.cnf"
+#line 553 "x411.cnf"
tvbuff_t *string = NULL;
offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString,
@@ -5912,7 +5912,7 @@ dissect_x411_UniversalOrganizationName(gboolean implicit_tag _U_, tvbuff_t *tvb
static int
dissect_x411_AddrTeletexString(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 578 "x411.cnf"
+#line 588 "x411.cnf"
tvbuff_t *tstring = NULL;
offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_TeletexString,
@@ -6471,7 +6471,7 @@ static const ber_sequence_t MTANameAndOptionalGDI_sequence[] = {
static int
dissect_x411_MTANameAndOptionalGDI(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 722 "x411.cnf"
+#line 732 "x411.cnf"
doing_address = TRUE;
@@ -6531,7 +6531,7 @@ dissect_x411_TokenDataType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int off
static int
dissect_x411_T_value(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 826 "x411.cnf"
+#line 836 "x411.cnf"
proto_item_append_text(tree, " (%s)", val_to_str(extension_id, x411_TokenDataType_vals, "tokendata-type %d"));
if (dissector_try_port(x411_tokendata_dissector_table, extension_id, tvb, actx->pinfo, tree)) {
@@ -9565,6 +9565,7 @@ void proto_reg_handoff_x411(void) {
register_ber_oid_dissector("2.6.4.3.4", dissect_ContentIdentifier_PDU, proto_x411, "id-att-content-identifier");
register_ber_oid_dissector("2.6.4.3.5", dissect_ContentIntegrityCheck_PDU, proto_x411, "id-att-content-inetgrity-check");
register_ber_oid_dissector("2.6.4.3.6", dissect_ContentLength_PDU, proto_x411, "id-att-content-length");
+ register_ber_oid_dissector("2.6.4.3.8", dissect_ExtendedContentType_PDU, proto_x411, "id-att-content-type");
register_ber_oid_dissector("2.6.4.3.9", dissect_ConversionWithLossProhibited_PDU, proto_x411, "id-att-conversion-with-loss-prohibited");
register_ber_oid_dissector("2.6.4.3.51", dissect_DeferredDeliveryTime_PDU, proto_x411, "id-att-deferred-delivery-time");
register_ber_oid_dissector("2.6.4.3.13", dissect_DeliveryFlags_PDU, proto_x411, "id-att-delivery-flags");
diff --git a/epan/dissectors/packet-x411.h b/epan/dissectors/packet-x411.h
index 13f485ec20..b7b3da2716 100644
--- a/epan/dissectors/packet-x411.h
+++ b/epan/dissectors/packet-x411.h
@@ -41,6 +41,7 @@ void dissect_x411_mts_apdu (tvbuff_t *tvb, packet_info *pinfo, proto_tree *paren
#line 1 "packet-x411-exp.h"
extern const value_string x411_Credentials_vals[];
extern const value_string x411_SecurityProblem_vals[];
+extern const value_string x411_ContentType_vals[];
extern const value_string x411_NonDeliveryReasonCode_vals[];
extern const value_string x411_NonDeliveryDiagnosticCode_vals[];
int dissect_x411_InitiatorCredentials(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
@@ -56,9 +57,14 @@ int dissect_x411_ProbeSubmissionTime(gboolean implicit_tag _U_, tvbuff_t *tvb _U
int dissect_x411_EncodedInformationTypesConstraints(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
int dissect_x411_MessageSubmissionEnvelope(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
int dissect_x411_ProbeSubmissionEnvelope(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
+int dissect_x411_PerRecipientProbeSubmissionFields(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
int dissect_x411_OtherMessageDeliveryFields(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
+int dissect_x411_MTSOriginatorName(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
+int dissect_x411_OriginalEncodedInformationTypes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
+int dissect_x411_ContentType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
int dissect_x411_ExtendedContentType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
int dissect_x411_ContentIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
+int dissect_x411_PerMessageIndicators(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
int dissect_x411_ContentLength(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
int dissect_x411_MessageDeliveryIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
int dissect_x411_MessageDeliveryTime(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);