aboutsummaryrefslogtreecommitdiffstats
path: root/epan
diff options
context:
space:
mode:
authorGraeme Lunt <graeme.lunt@smhs.co.uk>2008-01-02 09:34:34 +0000
committerGraeme Lunt <graeme.lunt@smhs.co.uk>2008-01-02 09:34:34 +0000
commit0c7876ca395c94b2432193ed1830572d4817f3c2 (patch)
tree82117a1bb292744cca5f0329c3119116554c5366 /epan
parent8a0e3ffb37749cf664908db9198e0b368a735e91 (diff)
Revised X.420 dissector using separate ASN.1 modules and making the bare minimum changes to those modules that asn2wrs requires.
Also supports the X.420 message store attributes, used over P7. svn path=/trunk/; revision=23981
Diffstat (limited to 'epan')
-rw-r--r--epan/dissectors/packet-x420.c1909
-rw-r--r--epan/dissectors/packet-x420.h2
2 files changed, 1609 insertions, 302 deletions
diff --git a/epan/dissectors/packet-x420.c b/epan/dissectors/packet-x420.c
index 7d24473643..0e71f48843 100644
--- a/epan/dissectors/packet-x420.c
+++ b/epan/dissectors/packet-x420.c
@@ -1,7 +1,7 @@
/* Do not modify this file. */
/* It is created automatically by the ASN.1 to Wireshark dissector compiler */
/* packet-x420.c */
-/* ../../tools/asn2wrs.py -b -e -X -T -p x420 -c x420.cnf -s packet-x420-template x420.asn ftbp.asn */
+/* ../../tools/asn2wrs.py -b -e -p x420 -c x420.cnf -s packet-x420-template IPMSInformationObjects.asn IPMSHeadingExtensions.asn IPMSExtendedBodyPartTypes2.asn IPMSFileTransferBodyPartType.asn IPMSExtendedVoiceBodyPartType.asn IPMSForwardedContentBodyPartType.asn IPMSMessageStoreAttributes.asn IPMSSecurityExtensions.asn IPMSObjectIdentifiers.asn */
/* Input file: packet-x420-template.c */
@@ -52,6 +52,7 @@
#include "packet-x509ce.h"
#include "packet-ftam.h"
#include "packet-x411.h"
+#include "packet-p7.h"
#include "packet-x420.h"
@@ -97,12 +98,31 @@ static const value_string charsetreg_vals [] = {
/*--- Included file: packet-x420-hf.c ---*/
#line 1 "packet-x420-hf.c"
static int hf_x420_InformationObject_PDU = -1; /* InformationObject */
+static int hf_x420_Heading_PDU = -1; /* Heading */
+static int hf_x420_ORDescriptor_PDU = -1; /* ORDescriptor */
+static int hf_x420_ThisIPMField_PDU = -1; /* ThisIPMField */
+static int hf_x420_OriginatorField_PDU = -1; /* OriginatorField */
+static int hf_x420_AuthorizingUsersSubfield_PDU = -1; /* AuthorizingUsersSubfield */
+static int hf_x420_PrimaryRecipientsSubfield_PDU = -1; /* PrimaryRecipientsSubfield */
+static int hf_x420_CopyRecipientsSubfield_PDU = -1; /* CopyRecipientsSubfield */
+static int hf_x420_BlindCopyRecipientsSubfield_PDU = -1; /* BlindCopyRecipientsSubfield */
+static int hf_x420_RepliedToIPMField_PDU = -1; /* RepliedToIPMField */
+static int hf_x420_ObsoletedIPMsSubfield_PDU = -1; /* ObsoletedIPMsSubfield */
+static int hf_x420_RelatedIPMsSubfield_PDU = -1; /* RelatedIPMsSubfield */
+static int hf_x420_SubjectField_PDU = -1; /* SubjectField */
+static int hf_x420_ExpiryTimeField_PDU = -1; /* ExpiryTimeField */
+static int hf_x420_ReplyTimeField_PDU = -1; /* ReplyTimeField */
+static int hf_x420_ReplyRecipientsSubfield_PDU = -1; /* ReplyRecipientsSubfield */
+static int hf_x420_ImportanceField_PDU = -1; /* ImportanceField */
+static int hf_x420_SensitivityField_PDU = -1; /* SensitivityField */
+static int hf_x420_AutoForwardedField_PDU = -1; /* AutoForwardedField */
+static int hf_x420_Body_PDU = -1; /* Body */
static int hf_x420_IA5TextParameters_PDU = -1; /* IA5TextParameters */
static int hf_x420_IA5TextData_PDU = -1; /* IA5TextData */
static int hf_x420_G3FacsimileParameters_PDU = -1; /* G3FacsimileParameters */
static int hf_x420_G3FacsimileData_PDU = -1; /* G3FacsimileData */
-static int hf_x420_G4Class1Data_PDU = -1; /* G4Class1Data */
-static int hf_x420_MixedModeData_PDU = -1; /* MixedModeData */
+static int hf_x420_G4Class1BodyPart_PDU = -1; /* G4Class1BodyPart */
+static int hf_x420_MixedModeBodyPart_PDU = -1; /* MixedModeBodyPart */
static int hf_x420_TeletexParameters_PDU = -1; /* TeletexParameters */
static int hf_x420_TeletexData_PDU = -1; /* TeletexData */
static int hf_x420_VideotexParameters_PDU = -1; /* VideotexParameters */
@@ -116,29 +136,40 @@ static int hf_x420_IPN_PDU = -1; /* IPN */
static int hf_x420_AbsenceAdvice_PDU = -1; /* AbsenceAdvice */
static int hf_x420_ChangeOfAddressAdvice_PDU = -1; /* ChangeOfAddressAdvice */
static int hf_x420_IPMAssemblyInstructions_PDU = -1; /* IPMAssemblyInstructions */
-static int hf_x420_OriginatingUA_PDU = -1; /* OriginatingUA */
static int hf_x420_IncompleteCopy_PDU = -1; /* IncompleteCopy */
static int hf_x420_Languages_PDU = -1; /* Languages */
+static int hf_x420_Language_PDU = -1; /* Language */
static int hf_x420_AutoSubmitted_PDU = -1; /* AutoSubmitted */
static int hf_x420_BodyPartSignatures_PDU = -1; /* BodyPartSignatures */
static int hf_x420_IPMSecurityLabel_PDU = -1; /* IPMSecurityLabel */
+static int hf_x420_BodyPartSecurityLabel_PDU = -1; /* BodyPartSecurityLabel */
static int hf_x420_AuthorizationTime_PDU = -1; /* AuthorizationTime */
static int hf_x420_CirculationList_PDU = -1; /* CirculationList */
+static int hf_x420_CirculationMember_PDU = -1; /* CirculationMember */
static int hf_x420_CirculationListIndicator_PDU = -1; /* CirculationListIndicator */
static int hf_x420_DistributionCodes_PDU = -1; /* DistributionCodes */
+static int hf_x420_DistributionCode_PDU = -1; /* DistributionCode */
static int hf_x420_ExtendedSubject_PDU = -1; /* ExtendedSubject */
static int hf_x420_InformationCategories_PDU = -1; /* InformationCategories */
+static int hf_x420_InformationCategory_PDU = -1; /* InformationCategory */
static int hf_x420_ManualHandlingInstructions_PDU = -1; /* ManualHandlingInstructions */
+static int hf_x420_ManualHandlingInstruction_PDU = -1; /* ManualHandlingInstruction */
static int hf_x420_OriginatorsReference_PDU = -1; /* OriginatorsReference */
static int hf_x420_PrecedencePolicyIdentifier_PDU = -1; /* PrecedencePolicyIdentifier */
static int hf_x420_Precedence_PDU = -1; /* Precedence */
static int hf_x420_GeneralTextParameters_PDU = -1; /* GeneralTextParameters */
static int hf_x420_GeneralTextData_PDU = -1; /* GeneralTextData */
+static int hf_x420_FileTransferParameters_PDU = -1; /* FileTransferParameters */
+static int hf_x420_FileTransferData_PDU = -1; /* FileTransferData */
static int hf_x420_VoiceParameters_PDU = -1; /* VoiceParameters */
static int hf_x420_VoiceData_PDU = -1; /* VoiceData */
static int hf_x420_ForwardedContentParameters_PDU = -1; /* ForwardedContentParameters */
-static int hf_x420_FileTransferParameters_PDU = -1; /* FileTransferParameters */
-static int hf_x420_FileTransferData_PDU = -1; /* FileTransferData */
+static int hf_x420_IPMEntryType_PDU = -1; /* IPMEntryType */
+static int hf_x420_IPMSynopsis_PDU = -1; /* IPMSynopsis */
+static int hf_x420_BodyPartDescriptor_PDU = -1; /* BodyPartDescriptor */
+static int hf_x420_BodyPartSignatureVerification_PDU = -1; /* BodyPartSignatureVerification */
+static int hf_x420_BodyPartTokens_PDU = -1; /* BodyPartTokens */
+static int hf_x420_ForwardedContentToken_PDU = -1; /* ForwardedContentToken */
static int hf_x420_ipm = -1; /* IPM */
static int hf_x420_ipn = -1; /* IPN */
static int hf_x420_heading = -1; /* Heading */
@@ -181,6 +212,7 @@ static int hf_x420_RelatedIPMsField_item = -1; /* RelatedIPMsSubfield */
static int hf_x420_ReplyRecipientsField_item = -1; /* ReplyRecipientsSubfield */
static int hf_x420_ExtensionsField_item = -1; /* IPMSExtension */
static int hf_x420_Body_item = -1; /* BodyPart */
+static int hf_x420_basic = -1; /* T_basic */
static int hf_x420_ia5_text = -1; /* IA5TextBodyPart */
static int hf_x420_g3_facsimile = -1; /* G3FacsimileBodyPart */
static int hf_x420_g4_class1 = -1; /* G4Class1BodyPart */
@@ -192,8 +224,8 @@ static int hf_x420_mixed_mode = -1; /* MixedModeBodyPart */
static int hf_x420_bilaterally_defined = -1; /* BilaterallyDefinedBodyPart */
static int hf_x420_nationally_defined = -1; /* NationallyDefinedBodyPart */
static int hf_x420_extended = -1; /* ExtendedBodyPart */
-static int hf_x420_extended_parameters = -1; /* EXTERNAL */
-static int hf_x420_extended_data = -1; /* EXTERNAL */
+static int hf_x420_extended_parameters = -1; /* INSTANCE_OF */
+static int hf_x420_extended_data = -1; /* INSTANCE_OF */
static int hf_x420_ia5text_parameters = -1; /* IA5TextParameters */
static int hf_x420_ia5text_data = -1; /* IA5TextData */
static int hf_x420_repertoire = -1; /* Repertoire */
@@ -202,8 +234,8 @@ static int hf_x420_g3facsimile_data = -1; /* G3FacsimileData */
static int hf_x420_number_of_pages = -1; /* INTEGER */
static int hf_x420_g3facsimile_non_basic_parameters = -1; /* G3FacsimileNonBasicParameters */
static int hf_x420_G3FacsimileData_item = -1; /* BIT_STRING */
-static int hf_x420_G4Class1Data_item = -1; /* Interchange_Data_Element */
-static int hf_x420_MixedModeData_item = -1; /* Interchange_Data_Element */
+static int hf_x420_G4Class1BodyPart_item = -1; /* Interchange_Data_Element */
+static int hf_x420_MixedModeBodyPart_item = -1; /* Interchange_Data_Element */
static int hf_x420_teletex_parameters = -1; /* TeletexParameters */
static int hf_x420_teletex_data = -1; /* TeletexData */
static int hf_x420_telex_compatible = -1; /* BOOLEAN */
@@ -225,10 +257,6 @@ static int hf_x420_ipn_originator = -1; /* IPNOriginatorField */
static int hf_x420_ipm_intended_recipient = -1; /* IPMIntendedRecipientField */
static int hf_x420_conversion_eits = -1; /* ConversionEITsField */
static int hf_x420_notification_extensions = -1; /* NotificationExtensionsField */
-static int hf_x420_choice = -1; /* T_choice */
-static int hf_x420_non_receipt_fields = -1; /* NonReceiptFields */
-static int hf_x420_receipt_fields = -1; /* ReceiptFields */
-static int hf_x420_other_notification_type_fields = -1; /* OtherNotificationTypeFields */
static int hf_x420_non_receipt_reason = -1; /* NonReceiptReasonField */
static int hf_x420_discard_reason = -1; /* DiscardReasonField */
static int hf_x420_auto_forward_comment = -1; /* AutoForwardCommentField */
@@ -250,16 +278,16 @@ static int hf_x420_assembly_instructions = -1; /* BodyPartReferences */
static int hf_x420_BodyPartReferences_item = -1; /* BodyPartReference */
static int hf_x420_stored_entry = -1; /* SequenceNumber */
static int hf_x420_stored_content = -1; /* SequenceNumber */
-static int hf_x420_submitted_body_part = -1; /* INTEGER */
+static int hf_x420_submitted_body_part = -1; /* INTEGER_1_MAX */
static int hf_x420_stored_body_part = -1; /* T_stored_body_part */
static int hf_x420_message_entry = -1; /* SequenceNumber */
static int hf_x420_body_part_number = -1; /* BodyPartNumber */
static int hf_x420_Languages_item = -1; /* Language */
-static int hf_x420_algorithmIdentifier = -1; /* AlgorithmIdentifier */
-static int hf_x420_encrypted = -1; /* BIT_STRING */
static int hf_x420_BodyPartSignatures_item = -1; /* BodyPartSignatures_item */
static int hf_x420_body_part_signature = -1; /* BodyPartSignature */
static int hf_x420_originator_certificate_selector = -1; /* CertificateAssertion */
+static int hf_x420_algorithmIdentifier = -1; /* AlgorithmIdentifier */
+static int hf_x420_encrypted = -1; /* BIT_STRING */
static int hf_x420_content_security_label = -1; /* SecurityLabel */
static int hf_x420_heading_security_label = -1; /* SecurityLabel */
static int hf_x420_body_part_security_labels = -1; /* SEQUENCE_OF_BodyPartSecurityLabel */
@@ -284,14 +312,6 @@ static int hf_x420_reference = -1; /* OBJECT_IDENTIFIER */
static int hf_x420_description = -1; /* DescriptionString */
static int hf_x420_ManualHandlingInstructions_item = -1; /* ManualHandlingInstruction */
static int hf_x420_GeneralTextParameters_item = -1; /* CharacterSetRegistration */
-static int hf_x420_voice_message_duration = -1; /* INTEGER */
-static int hf_x420_voice_encoding_type = -1; /* OBJECT_IDENTIFIER */
-static int hf_x420_supplementary_information = -1; /* IA5String */
-static int hf_x420_mts_identifier = -1; /* MessageDeliveryIdentifier */
-static int hf_x420_submission_proof = -1; /* SubmissionProof */
-static int hf_x420_proof_of_submission = -1; /* ProofOfSubmission */
-static int hf_x420_originating_MTA_certificate = -1; /* OriginatingMTACertificate */
-static int hf_x420_message_submission_envelope = -1; /* MessageSubmissionEnvelope */
static int hf_x420_related_stored_file = -1; /* RelatedStoredFile */
static int hf_x420_contents_type = -1; /* ContentsTypeParameter */
static int hf_x420_environment = -1; /* EnvironmentParameter */
@@ -325,7 +345,7 @@ static int hf_x420_user_visible_string_item = -1; /* GraphicString */
static int hf_x420_registered_identifier = -1; /* OBJECT_IDENTIFIER */
static int hf_x420_descriptive_identifier = -1; /* T_descriptive_identifier */
static int hf_x420_descriptive_identifier_item = -1; /* GraphicString */
-static int hf_x420_compression_algorithm_id = -1; /* OBJECT_IDENTIFIER */
+static int hf_x420_compression_algorithm_id = -1; /* T_compression_algorithm_id */
static int hf_x420_compression_algorithm_param = -1; /* T_compression_algorithm_param */
static int hf_x420_permitted_actions = -1; /* Permitted_Actions_Attribute */
static int hf_x420_storage_account = -1; /* Account_Attribute */
@@ -371,6 +391,62 @@ static int hf_x420_octet_string = -1; /* OCTET_STRING */
static int hf_x420_Pass_Passwords_item = -1; /* Password */
static int hf_x420_ap_title = -1; /* AP_title */
static int hf_x420_ae_qualifier = -1; /* AE_qualifier */
+static int hf_x420_voice_message_duration = -1; /* INTEGER */
+static int hf_x420_voice_encoding_type = -1; /* OBJECT_IDENTIFIER */
+static int hf_x420_supplementary_information = -1; /* IA5String */
+static int hf_x420_mts_identifier = -1; /* MessageDeliveryIdentifier */
+static int hf_x420_submission_proof = -1; /* SubmissionProof */
+static int hf_x420_proof_of_submission = -1; /* ProofOfSubmission */
+static int hf_x420_originating_MTA_certificate = -1; /* OriginatingMTACertificate */
+static int hf_x420_message_submission_envelope = -1; /* MessageSubmissionEnvelope */
+static int hf_x420_IPMSynopsis_item = -1; /* BodyPartSynopsis */
+static int hf_x420_message_synopsis = -1; /* MessageBodyPartSynopsis */
+static int hf_x420_non_message = -1; /* NonMessageBodyPartSynopsis */
+static int hf_x420_number = -1; /* SequenceNumber */
+static int hf_x420_synopsis = -1; /* IPMSynopsis */
+static int hf_x420_bp_type = -1; /* OBJECT_IDENTIFIER */
+static int hf_x420_bp_parameters = -1; /* INSTANCE_OF */
+static int hf_x420_size = -1; /* INTEGER */
+static int hf_x420_processed = -1; /* BOOLEAN */
+static int hf_x420_data = -1; /* OBJECT_IDENTIFIER */
+static int hf_x420_parameters = -1; /* OBJECT_IDENTIFIER */
+static int hf_x420_this_child_entry = -1; /* SequenceNumber */
+static int hf_x420_position = -1; /* INTEGER */
+static int hf_x420_BodyPartSignatureVerification_item = -1; /* BodyPartSignatureVerification_item */
+static int hf_x420_body_part_sequence_number = -1; /* BodyPartNumber */
+static int hf_x420_body_part_signature_status = -1; /* SignatureStatus */
+static int hf_x420_stored = -1; /* SET_OF_SequenceNumber */
+static int hf_x420_stored_item = -1; /* SequenceNumber */
+static int hf_x420_absent = -1; /* NULL */
+static int hf_x420_no_reply_received = -1; /* NULL */
+static int hf_x420_received_replies = -1; /* SEQUENCE_OF_SequenceNumber */
+static int hf_x420_received_replies_item = -1; /* SequenceNumber */
+static int hf_x420_no_ipn_received = -1; /* NULL */
+static int hf_x420_ipns_received = -1; /* SEQUENCE_OF_SequenceNumber */
+static int hf_x420_ipns_received_item = -1; /* SequenceNumber */
+static int hf_x420_content_or_arguments = -1; /* T_content_or_arguments */
+static int hf_x420_original_content = -1; /* OriginalContent */
+static int hf_x420_original_security_arguments = -1; /* T_original_security_arguments */
+static int hf_x420_original_content_integrity_check = -1; /* OriginalContentIntegrityCheck */
+static int hf_x420_original_message_origin_authentication_check = -1; /* OriginalMessageOriginAuthenticationCheck */
+static int hf_x420_original_message_token = -1; /* OriginalMessageToken */
+static int hf_x420_security_diagnostic_code = -1; /* SecurityDiagnosticCode */
+static int hf_x420_BodyPartTokens_item = -1; /* BodyPartTokens_item */
+static int hf_x420_body_part_choice = -1; /* T_body_part_choice */
+static int hf_x420_encryption_token = -1; /* EncryptionToken */
+static int hf_x420_message_or_content_body_part = -1; /* BodyPartTokens */
+static int hf_x420_encryption_algorithm_identifier = -1; /* AlgorithmIdentifier */
+static int hf_x420_encrypted_key = -1; /* BIT_STRING */
+static int hf_x420_recipient_certificate_selector = -1; /* CertificateAssertion */
+static int hf_x420_recipient_certificate = -1; /* Certificates */
+static int hf_x420_ForwardedContentToken_item = -1; /* ForwardedContentToken_item */
+static int hf_x420_body_part_token_choice = -1; /* T_body_part_token_choice */
+static int hf_x420_forwarding_token = -1; /* MessageToken */
+static int hf_x420_forwarded_content_token = -1; /* ForwardedContentToken */
+static int hf_x420_choice = -1; /* T_choice */
+static int hf_x420_non_receipt_fields = -1; /* NonReceiptFields */
+static int hf_x420_receipt_fields = -1; /* ReceiptFields */
+static int hf_x420_other_notification_type_fields = -1; /* OtherNotificationTypeFields */
/* named bits */
static int hf_x420_NotificationRequests_rn = -1;
static int hf_x420_NotificationRequests_nrn = -1;
@@ -385,9 +461,13 @@ static int hf_x420_Access_Request_erase = -1;
static int hf_x420_Access_Request_read_attribute = -1;
static int hf_x420_Access_Request_change_attribute = -1;
static int hf_x420_Access_Request_delete_object = -1;
+static int hf_x420_RecipientSecurityRequest_content_non_repudiation = -1;
+static int hf_x420_RecipientSecurityRequest_content_proof = -1;
+static int hf_x420_RecipientSecurityRequest_ipn_non_repudiation = -1;
+static int hf_x420_RecipientSecurityRequest_ipn_proof = -1;
/*--- End of included file: packet-x420-hf.c ---*/
-#line 89 "packet-x420-template.c"
+#line 90 "packet-x420-template.c"
/* Initialize the subtree pointers */
static gint ett_x420 = -1;
@@ -413,14 +493,15 @@ static gint ett_x420_ReplyRecipientsField = -1;
static gint ett_x420_ExtensionsField = -1;
static gint ett_x420_Body = -1;
static gint ett_x420_BodyPart = -1;
+static gint ett_x420_T_basic = -1;
static gint ett_x420_ExtendedBodyPart = -1;
static gint ett_x420_IA5TextBodyPart = -1;
static gint ett_x420_IA5TextParameters = -1;
static gint ett_x420_G3FacsimileBodyPart = -1;
static gint ett_x420_G3FacsimileParameters = -1;
static gint ett_x420_G3FacsimileData = -1;
-static gint ett_x420_G4Class1Data = -1;
-static gint ett_x420_MixedModeData = -1;
+static gint ett_x420_G4Class1BodyPart = -1;
+static gint ett_x420_MixedModeBodyPart = -1;
static gint ett_x420_TeletexBodyPart = -1;
static gint ett_x420_TeletexParameters = -1;
static gint ett_x420_TeletexData = -1;
@@ -431,7 +512,7 @@ static gint ett_x420_EncryptedParameters = -1;
static gint ett_x420_MessageBodyPart = -1;
static gint ett_x420_MessageParameters = -1;
static gint ett_x420_IPN = -1;
-static gint ett_x420_T_choice = -1;
+static gint ett_x420_CommonFields = -1;
static gint ett_x420_NonReceiptFields = -1;
static gint ett_x420_ReceiptFields = -1;
static gint ett_x420_NotificationExtensionsField = -1;
@@ -445,9 +526,9 @@ static gint ett_x420_BodyPartReferences = -1;
static gint ett_x420_BodyPartReference = -1;
static gint ett_x420_T_stored_body_part = -1;
static gint ett_x420_Languages = -1;
-static gint ett_x420_Signature = -1;
static gint ett_x420_BodyPartSignatures = -1;
static gint ett_x420_BodyPartSignatures_item = -1;
+static gint ett_x420_Signature = -1;
static gint ett_x420_IPMSecurityLabel = -1;
static gint ett_x420_SEQUENCE_OF_BodyPartSecurityLabel = -1;
static gint ett_x420_BodyPartSecurityLabel = -1;
@@ -462,9 +543,6 @@ static gint ett_x420_InformationCategories = -1;
static gint ett_x420_InformationCategory = -1;
static gint ett_x420_ManualHandlingInstructions = -1;
static gint ett_x420_GeneralTextParameters = -1;
-static gint ett_x420_VoiceParameters = -1;
-static gint ett_x420_ForwardedContentParameters = -1;
-static gint ett_x420_SubmissionProof = -1;
static gint ett_x420_FileTransferParameters = -1;
static gint ett_x420_FileTransferData = -1;
static gint ett_x420_RelatedStoredFile = -1;
@@ -494,18 +572,54 @@ static gint ett_x420_Access_Passwords = -1;
static gint ett_x420_Password = -1;
static gint ett_x420_Pass_Passwords = -1;
static gint ett_x420_Application_Entity_Title = -1;
+static gint ett_x420_VoiceParameters = -1;
+static gint ett_x420_ForwardedContentParameters = -1;
+static gint ett_x420_SubmissionProof = -1;
+static gint ett_x420_IPMSynopsis = -1;
+static gint ett_x420_BodyPartSynopsis = -1;
+static gint ett_x420_MessageBodyPartSynopsis = -1;
+static gint ett_x420_NonMessageBodyPartSynopsis = -1;
+static gint ett_x420_BodyPartDescriptor = -1;
+static gint ett_x420_BodyPartSignatureVerification = -1;
+static gint ett_x420_BodyPartSignatureVerification_item = -1;
+static gint ett_x420_IPMLocation = -1;
+static gint ett_x420_SET_OF_SequenceNumber = -1;
+static gint ett_x420_CorrelatedDeliveredReplies = -1;
+static gint ett_x420_SEQUENCE_OF_SequenceNumber = -1;
+static gint ett_x420_CorrelatedDeliveredIPNs = -1;
+static gint ett_x420_RecipientSecurityRequest = -1;
+static gint ett_x420_IpnSecurityResponse = -1;
+static gint ett_x420_T_content_or_arguments = -1;
+static gint ett_x420_T_original_security_arguments = -1;
+static gint ett_x420_BodyPartTokens = -1;
+static gint ett_x420_BodyPartTokens_item = -1;
+static gint ett_x420_T_body_part_choice = -1;
+static gint ett_x420_EncryptionToken = -1;
+static gint ett_x420_ForwardedContentToken = -1;
+static gint ett_x420_ForwardedContentToken_item = -1;
+static gint ett_x420_T_body_part_token_choice = -1;
+static gint ett_x420_T_choice = -1;
/*--- End of included file: packet-x420-ett.c ---*/
-#line 93 "packet-x420-template.c"
+#line 94 "packet-x420-template.c"
/*--- Included file: packet-x420-fn.c ---*/
#line 1 "packet-x420-fn.c"
/*--- Cyclic dependencies ---*/
-/* IPM -> Body -> BodyPart -> MessageBodyPart -> MessageData -> IPM */
+/* IPM -> Body -> BodyPart -> BodyPart/basic -> MessageBodyPart -> MessageData -> IPM */
int dissect_x420_IPM(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
+/* IPMSynopsis -> BodyPartSynopsis -> MessageBodyPartSynopsis -> IPMSynopsis */
+static int dissect_x420_IPMSynopsis(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
+
+/* BodyPartTokens -> BodyPartTokens/_item -> BodyPartTokens/_item/body-part-choice -> BodyPartTokens */
+static int dissect_x420_BodyPartTokens(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
+
+/* ForwardedContentToken -> ForwardedContentToken/_item -> ForwardedContentToken/_item/body-part-choice -> ForwardedContentToken */
+static int dissect_x420_ForwardedContentToken(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
+
@@ -664,7 +778,7 @@ dissect_x420_BOOLEAN(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U
static int
dissect_x420_T_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 128 "x420.cnf"
+#line 177 "x420.cnf"
const char *name = NULL;
offset = dissect_ber_object_identifier_str(implicit_tag, actx, tree, tvb, offset, hf_index, &object_identifier_id);
@@ -682,7 +796,7 @@ dissect_x420_T_type(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_
static int
dissect_x420_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 136 "x420.cnf"
+#line 185 "x420.cnf"
offset=call_ber_oid_callback(object_identifier_id, tvb, offset, actx->pinfo, tree);
@@ -694,7 +808,7 @@ dissect_x420_T_value(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U
static const ber_sequence_t IPMSExtension_sequence[] = {
{ &hf_x420_type , BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_x420_T_type },
- { &hf_x420_value , BER_CLASS_ANY, 0, BER_FLAGS_NOOWNTAG, dissect_x420_T_value },
+ { &hf_x420_value , BER_CLASS_ANY, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x420_T_value },
{ NULL, 0, 0, 0, NULL }
};
@@ -859,7 +973,7 @@ dissect_x420_RelatedIPMsField(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int
static int
dissect_x420_SubjectField(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 158 "x420.cnf"
+#line 207 "x420.cnf"
tvbuff_t *subject=NULL;
offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_TeletexString,
@@ -1125,7 +1239,7 @@ dissect_x420_G3FacsimileBodyPart(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, i
static int
dissect_x420_Interchange_Data_Element(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 177 "x420.cnf"
+#line 226 "x420.cnf"
/* XXX Not implemented yet */
@@ -1134,23 +1248,14 @@ dissect_x420_Interchange_Data_Element(gboolean implicit_tag _U_, tvbuff_t *tvb _
}
-static const ber_sequence_t G4Class1Data_sequence_of[1] = {
- { &hf_x420_G4Class1Data_item, BER_CLASS_ANY, 0, BER_FLAGS_NOOWNTAG, dissect_x420_Interchange_Data_Element },
+static const ber_sequence_t G4Class1BodyPart_sequence_of[1] = {
+ { &hf_x420_G4Class1BodyPart_item, BER_CLASS_ANY, 0, BER_FLAGS_NOOWNTAG, dissect_x420_Interchange_Data_Element },
};
static int
-dissect_x420_G4Class1Data(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,
- G4Class1Data_sequence_of, hf_index, ett_x420_G4Class1Data);
-
- return offset;
-}
-
-
-
-static int
dissect_x420_G4Class1BodyPart(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_x420_G4Class1Data(implicit_tag, tvb, offset, actx, tree, hf_index);
+ offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
+ G4Class1BodyPart_sequence_of, hf_index, ett_x420_G4Class1BodyPart);
return offset;
}
@@ -1349,23 +1454,14 @@ dissect_x420_MessageBodyPart(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int o
}
-static const ber_sequence_t MixedModeData_sequence_of[1] = {
- { &hf_x420_MixedModeData_item, BER_CLASS_ANY, 0, BER_FLAGS_NOOWNTAG, dissect_x420_Interchange_Data_Element },
+static const ber_sequence_t MixedModeBodyPart_sequence_of[1] = {
+ { &hf_x420_MixedModeBodyPart_item, BER_CLASS_ANY, 0, BER_FLAGS_NOOWNTAG, dissect_x420_Interchange_Data_Element },
};
static int
-dissect_x420_MixedModeData(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,
- MixedModeData_sequence_of, hf_index, ett_x420_MixedModeData);
-
- return offset;
-}
-
-
-
-static int
dissect_x420_MixedModeBodyPart(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_x420_MixedModeData(implicit_tag, tvb, offset, actx, tree, hf_index);
+ offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
+ MixedModeBodyPart_sequence_of, hf_index, ett_x420_MixedModeBodyPart);
return offset;
}
@@ -1384,7 +1480,7 @@ dissect_x420_BilaterallyDefinedBodyPart(gboolean implicit_tag _U_, tvbuff_t *tvb
static int
dissect_x420_NationallyDefinedBodyPart(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 180 "x420.cnf"
+#line 229 "x420.cnf"
/* XXX Not implemented yet */
@@ -1393,9 +1489,47 @@ dissect_x420_NationallyDefinedBodyPart(gboolean implicit_tag _U_, tvbuff_t *tvb
}
+static const value_string x420_T_basic_vals[] = {
+ { 0, "ia5-text" },
+ { 3, "g3-facsimile" },
+ { 4, "g4-class1" },
+ { 5, "teletex" },
+ { 6, "videotex" },
+ { 8, "encrypted" },
+ { 9, "message" },
+ { 11, "mixed-mode" },
+ { 14, "bilaterally-defined" },
+ { 7, "nationally-defined" },
+ { 0, NULL }
+};
+
+static const ber_choice_t T_basic_choice[] = {
+ { 0, &hf_x420_ia5_text , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x420_IA5TextBodyPart },
+ { 3, &hf_x420_g3_facsimile , BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_x420_G3FacsimileBodyPart },
+ { 4, &hf_x420_g4_class1 , BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_x420_G4Class1BodyPart },
+ { 5, &hf_x420_teletex , BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_x420_TeletexBodyPart },
+ { 6, &hf_x420_videotex , BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_x420_VideotexBodyPart },
+ { 8, &hf_x420_encrypted_bp , BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_x420_EncryptedBodyPart },
+ { 9, &hf_x420_message , BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_x420_MessageBodyPart },
+ { 11, &hf_x420_mixed_mode , BER_CLASS_CON, 11, BER_FLAGS_IMPLTAG, dissect_x420_MixedModeBodyPart },
+ { 14, &hf_x420_bilaterally_defined, BER_CLASS_CON, 14, BER_FLAGS_IMPLTAG, dissect_x420_BilaterallyDefinedBodyPart },
+ { 7, &hf_x420_nationally_defined, BER_CLASS_CON, 7, BER_FLAGS_IMPLTAG, dissect_x420_NationallyDefinedBodyPart },
+ { 0, NULL, 0, 0, 0, NULL }
+};
static int
-dissect_x420_EXTERNAL(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_x420_T_basic(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,
+ T_basic_choice, hf_index, ett_x420_T_basic,
+ NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_x420_INSTANCE_OF(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_external_type(implicit_tag, tree, tvb, offset, actx, hf_index, NULL);
return offset;
@@ -1403,8 +1537,8 @@ dissect_x420_EXTERNAL(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _
static const ber_sequence_t ExtendedBodyPart_sequence[] = {
- { &hf_x420_extended_parameters, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_EXTERNAL },
- { &hf_x420_extended_data , BER_CLASS_UNI, BER_UNI_TAG_EXTERNAL, BER_FLAGS_NOOWNTAG, dissect_x420_EXTERNAL },
+ { &hf_x420_extended_parameters, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_INSTANCE_OF },
+ { &hf_x420_extended_data , BER_CLASS_UNI, BER_UNI_TAG_EXTERNAL, BER_FLAGS_NOOWNTAG, dissect_x420_INSTANCE_OF },
{ NULL, 0, 0, 0, NULL }
};
@@ -1418,32 +1552,14 @@ dissect_x420_ExtendedBodyPart(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int
static const value_string x420_BodyPart_vals[] = {
- { 0, "ia5-text" },
- { 3, "g3-facsimile" },
- { 4, "g4-class1" },
- { 5, "teletex" },
- { 6, "videotex" },
- { 8, "encrypted" },
- { 9, "message" },
- { 11, "mixed-mode" },
- { 14, "bilaterally-defined" },
- { 7, "nationally-defined" },
- { 15, "extended" },
+ { 0, "basic" },
+ { 1, "extended" },
{ 0, NULL }
};
static const ber_choice_t BodyPart_choice[] = {
- { 0, &hf_x420_ia5_text , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x420_IA5TextBodyPart },
- { 3, &hf_x420_g3_facsimile , BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_x420_G3FacsimileBodyPart },
- { 4, &hf_x420_g4_class1 , BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_x420_G4Class1BodyPart },
- { 5, &hf_x420_teletex , BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_x420_TeletexBodyPart },
- { 6, &hf_x420_videotex , BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_x420_VideotexBodyPart },
- { 8, &hf_x420_encrypted_bp , BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_x420_EncryptedBodyPart },
- { 9, &hf_x420_message , BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_x420_MessageBodyPart },
- { 11, &hf_x420_mixed_mode , BER_CLASS_CON, 11, BER_FLAGS_IMPLTAG, dissect_x420_MixedModeBodyPart },
- { 14, &hf_x420_bilaterally_defined, BER_CLASS_CON, 14, BER_FLAGS_IMPLTAG, dissect_x420_BilaterallyDefinedBodyPart },
- { 7, &hf_x420_nationally_defined, BER_CLASS_CON, 7, BER_FLAGS_IMPLTAG, dissect_x420_NationallyDefinedBodyPart },
- { 15, &hf_x420_extended , BER_CLASS_CON, 15, BER_FLAGS_IMPLTAG, dissect_x420_ExtendedBodyPart },
+ { 0, &hf_x420_basic , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_x420_T_basic },
+ { 1, &hf_x420_extended , BER_CLASS_CON, 15, BER_FLAGS_IMPLTAG, dissect_x420_ExtendedBodyPart },
{ 0, NULL, 0, 0, 0, NULL }
};
@@ -1478,7 +1594,7 @@ static const ber_sequence_t IPM_sequence[] = {
int
dissect_x420_IPM(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 140 "x420.cnf"
+#line 189 "x420.cnf"
if(check_col(actx->pinfo->cinfo, COL_INFO))
col_append_str(actx->pinfo->cinfo, COL_INFO, " Message");
@@ -1750,7 +1866,7 @@ static const ber_sequence_t IPN_set[] = {
int
dissect_x420_IPN(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 148 "x420.cnf"
+#line 197 "x420.cnf"
if(check_col(actx->pinfo->cinfo, COL_INFO))
col_append_str(actx->pinfo->cinfo, COL_INFO, " Notification");
@@ -1787,6 +1903,51 @@ dissect_x420_InformationObject(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int
}
+
+static int
+dissect_x420_RN(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_x420_IPN(implicit_tag, tvb, offset, actx, tree, hf_index);
+
+ return offset;
+}
+
+
+
+static int
+dissect_x420_NRN(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_x420_IPN(implicit_tag, tvb, offset, actx, tree, hf_index);
+
+ return offset;
+}
+
+
+
+static int
+dissect_x420_ON(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_x420_IPN(implicit_tag, tvb, offset, actx, tree, hf_index);
+
+ return offset;
+}
+
+
+static const ber_sequence_t CommonFields_set[] = {
+ { &hf_x420_subject_ipm , BER_CLASS_APP, 11, BER_FLAGS_NOOWNTAG, dissect_x420_SubjectIPMField },
+ { &hf_x420_ipn_originator , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_IPNOriginatorField },
+ { &hf_x420_ipm_intended_recipient, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_IPMIntendedRecipientField },
+ { &hf_x420_conversion_eits, BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x420_ConversionEITsField },
+ { &hf_x420_notification_extensions, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_NotificationExtensionsField },
+ { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_x420_CommonFields(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,
+ CommonFields_set, hf_index, ett_x420_CommonFields);
+
+ return offset;
+}
+
+
static const ber_sequence_t AbsenceAdvice_sequence[] = {
{ &hf_x420_advice , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_x420_BodyPart },
{ &hf_x420_next_available , BER_CLASS_UNI, BER_UNI_TAG_UTCTime, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x420_Time },
@@ -1819,7 +1980,7 @@ dissect_x420_ChangeOfAddressAdvice(gboolean implicit_tag _U_, tvbuff_t *tvb _U_,
static int
-dissect_x420_SequenceNumber(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_x420_INTEGER_1_MAX(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);
@@ -1838,7 +1999,7 @@ dissect_x420_BodyPartNumber(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int of
static const ber_sequence_t T_stored_body_part_sequence[] = {
- { &hf_x420_message_entry , BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_x420_SequenceNumber },
+ { &hf_x420_message_entry , BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_p7_SequenceNumber },
{ &hf_x420_body_part_number, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_x420_BodyPartNumber },
{ NULL, 0, 0, 0, NULL }
};
@@ -1861,9 +2022,9 @@ static const value_string x420_BodyPartReference_vals[] = {
};
static const ber_choice_t BodyPartReference_choice[] = {
- { 0, &hf_x420_stored_entry , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x420_SequenceNumber },
- { 1, &hf_x420_stored_content , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_x420_SequenceNumber },
- { 2, &hf_x420_submitted_body_part, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_x420_INTEGER },
+ { 0, &hf_x420_stored_entry , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_p7_SequenceNumber },
+ { 1, &hf_x420_stored_content , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_p7_SequenceNumber },
+ { 2, &hf_x420_submitted_body_part, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_x420_INTEGER_1_MAX },
{ 3, &hf_x420_stored_body_part, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_x420_T_stored_body_part },
{ 0, NULL, 0, 0, 0, NULL }
};
@@ -1907,17 +2068,6 @@ dissect_x420_IPMAssemblyInstructions(gboolean implicit_tag _U_, tvbuff_t *tvb _U
static int
-dissect_x420_OriginatingUA(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_restricted_string(implicit_tag, BER_UNI_TAG_IA5String,
- actx, tree, tvb, offset, hf_index,
- NULL);
-
- return offset;
-}
-
-
-
-static int
dissect_x420_IncompleteCopy(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_null(implicit_tag, actx, tree, tvb, offset, hf_index);
@@ -2346,7 +2496,7 @@ dissect_x420_Precedence(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset
static int
dissect_x420_CharacterSetRegistration(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 169 "x420.cnf"
+#line 218 "x420.cnf"
guint32 crs;
proto_item *pi;
offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
@@ -2386,76 +2536,6 @@ dissect_x420_GeneralTextData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int o
}
-
-static int
-dissect_x420_IA5String(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_restricted_string(implicit_tag, BER_UNI_TAG_IA5String,
- actx, tree, tvb, offset, hf_index,
- NULL);
-
- return offset;
-}
-
-
-static const ber_sequence_t VoiceParameters_sequence[] = {
- { &hf_x420_voice_message_duration, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_INTEGER },
- { &hf_x420_voice_encoding_type, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_x420_OBJECT_IDENTIFIER },
- { &hf_x420_supplementary_information, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_IA5String },
- { NULL, 0, 0, 0, NULL }
-};
-
-static int
-dissect_x420_VoiceParameters(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(implicit_tag, actx, tree, tvb, offset,
- VoiceParameters_sequence, hf_index, ett_x420_VoiceParameters);
-
- return offset;
-}
-
-
-
-static int
-dissect_x420_VoiceData(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 ber_sequence_t SubmissionProof_set[] = {
- { &hf_x420_proof_of_submission, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x411_ProofOfSubmission },
- { &hf_x420_originating_MTA_certificate, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_x411_OriginatingMTACertificate },
- { &hf_x420_message_submission_envelope, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_x411_MessageSubmissionEnvelope },
- { NULL, 0, 0, 0, NULL }
-};
-
-static int
-dissect_x420_SubmissionProof(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,
- SubmissionProof_set, hf_index, ett_x420_SubmissionProof);
-
- return offset;
-}
-
-
-static const ber_sequence_t ForwardedContentParameters_set[] = {
- { &hf_x420_delivery_time , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_MessageDeliveryTime },
- { &hf_x420_delivery_envelope, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_OtherMessageDeliveryFields },
- { &hf_x420_mts_identifier , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_MessageDeliveryIdentifier },
- { &hf_x420_submission_proof, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_SubmissionProof },
- { NULL, 0, 0, 0, NULL }
-};
-
-static int
-dissect_x420_ForwardedContentParameters(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,
- ForwardedContentParameters_set, hf_index, ett_x420_ForwardedContentParameters);
-
- return offset;
-}
-
-
static const value_string x420_Pathname_Attribute_vals[] = {
{ 0, "incomplete-pathname" },
{ 23, "complete-pathname" },
@@ -2658,7 +2738,7 @@ dissect_x420_Document_Type_Name(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, in
static int
dissect_x420_T_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 183 "x420.cnf"
+#line 232 "x420.cnf"
/* XXX: Not implemented yet */
@@ -2813,8 +2893,20 @@ dissect_x420_EnvironmentParameter(gboolean implicit_tag _U_, tvbuff_t *tvb _U_,
static int
+dissect_x420_T_compression_algorithm_id(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 235 "x420.cnf"
+ offset = dissect_ber_object_identifier_str(implicit_tag, actx, tree, tvb, offset, hf_index, &object_identifier_id);
+
+
+
+ return offset;
+}
+
+
+
+static int
dissect_x420_T_compression_algorithm_param(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 186 "x420.cnf"
+#line 238 "x420.cnf"
/* XXX: Not implemented yet */
@@ -2824,7 +2916,7 @@ dissect_x420_T_compression_algorithm_param(gboolean implicit_tag _U_, tvbuff_t *
static const ber_sequence_t CompressionParameter_sequence[] = {
- { &hf_x420_compression_algorithm_id, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x420_OBJECT_IDENTIFIER },
+ { &hf_x420_compression_algorithm_id, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x420_T_compression_algorithm_id },
{ &hf_x420_compression_algorithm_param, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_x420_T_compression_algorithm_param },
{ NULL, 0, 0, 0, NULL }
};
@@ -3102,6 +3194,15 @@ dissect_x420_FileTransferParameters(gboolean implicit_tag _U_, tvbuff_t *tvb _U_
}
+
+static int
+dissect_x420_EXTERNAL(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_external_type(implicit_tag, tree, tvb, offset, actx, hf_index, NULL);
+
+ return offset;
+}
+
+
static const ber_sequence_t FileTransferData_sequence_of[1] = {
{ &hf_x420_FileTransferData_item, BER_CLASS_UNI, BER_UNI_TAG_EXTERNAL, BER_FLAGS_NOOWNTAG, dissect_x420_EXTERNAL },
};
@@ -3114,6 +3215,680 @@ dissect_x420_FileTransferData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int
return offset;
}
+
+
+static int
+dissect_x420_IA5String(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_restricted_string(implicit_tag, BER_UNI_TAG_IA5String,
+ actx, tree, tvb, offset, hf_index,
+ NULL);
+
+ return offset;
+}
+
+
+static const ber_sequence_t VoiceParameters_sequence[] = {
+ { &hf_x420_voice_message_duration, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_INTEGER },
+ { &hf_x420_voice_encoding_type, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_x420_OBJECT_IDENTIFIER },
+ { &hf_x420_supplementary_information, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_IA5String },
+ { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_x420_VoiceParameters(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(implicit_tag, actx, tree, tvb, offset,
+ VoiceParameters_sequence, hf_index, ett_x420_VoiceParameters);
+
+ return offset;
+}
+
+
+
+static int
+dissect_x420_VoiceData(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 ber_sequence_t SubmissionProof_set[] = {
+ { &hf_x420_proof_of_submission, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x411_ProofOfSubmission },
+ { &hf_x420_originating_MTA_certificate, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_x411_OriginatingMTACertificate },
+ { &hf_x420_message_submission_envelope, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_x411_MessageSubmissionEnvelope },
+ { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_x420_SubmissionProof(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,
+ SubmissionProof_set, hf_index, ett_x420_SubmissionProof);
+
+ return offset;
+}
+
+
+static const ber_sequence_t ForwardedContentParameters_set[] = {
+ { &hf_x420_delivery_time , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_MessageDeliveryTime },
+ { &hf_x420_delivery_envelope, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_OtherMessageDeliveryFields },
+ { &hf_x420_mts_identifier , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_MessageDeliveryIdentifier },
+ { &hf_x420_submission_proof, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_SubmissionProof },
+ { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_x420_ForwardedContentParameters(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,
+ ForwardedContentParameters_set, hf_index, ett_x420_ForwardedContentParameters);
+
+ return offset;
+}
+
+
+static const value_string x420_IPMEntryType_vals[] = {
+ { 0, "ipm" },
+ { 1, "rn" },
+ { 2, "nrn" },
+ { 3, "on" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_x420_IPMEntryType(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 const ber_sequence_t MessageBodyPartSynopsis_sequence[] = {
+ { &hf_x420_number , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_p7_SequenceNumber },
+ { &hf_x420_synopsis , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_x420_IPMSynopsis },
+ { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_x420_MessageBodyPartSynopsis(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(implicit_tag, actx, tree, tvb, offset,
+ MessageBodyPartSynopsis_sequence, hf_index, ett_x420_MessageBodyPartSynopsis);
+
+ return offset;
+}
+
+
+static const ber_sequence_t NonMessageBodyPartSynopsis_sequence[] = {
+ { &hf_x420_bp_type , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x420_OBJECT_IDENTIFIER },
+ { &hf_x420_bp_parameters , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_INSTANCE_OF },
+ { &hf_x420_size , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_x420_INTEGER },
+ { &hf_x420_processed , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_BOOLEAN },
+ { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_x420_NonMessageBodyPartSynopsis(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(implicit_tag, actx, tree, tvb, offset,
+ NonMessageBodyPartSynopsis_sequence, hf_index, ett_x420_NonMessageBodyPartSynopsis);
+
+ return offset;
+}
+
+
+static const value_string x420_BodyPartSynopsis_vals[] = {
+ { 0, "message" },
+ { 1, "non-message" },
+ { 0, NULL }
+};
+
+static const ber_choice_t BodyPartSynopsis_choice[] = {
+ { 0, &hf_x420_message_synopsis, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x420_MessageBodyPartSynopsis },
+ { 1, &hf_x420_non_message , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_x420_NonMessageBodyPartSynopsis },
+ { 0, NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_x420_BodyPartSynopsis(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,
+ BodyPartSynopsis_choice, hf_index, ett_x420_BodyPartSynopsis,
+ NULL);
+
+ return offset;
+}
+
+
+static const ber_sequence_t IPMSynopsis_sequence_of[1] = {
+ { &hf_x420_IPMSynopsis_item, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_x420_BodyPartSynopsis },
+};
+
+static int
+dissect_x420_IPMSynopsis(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,
+ IPMSynopsis_sequence_of, hf_index, ett_x420_IPMSynopsis);
+
+ return offset;
+}
+
+
+static const ber_sequence_t BodyPartDescriptor_sequence[] = {
+ { &hf_x420_data , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x420_OBJECT_IDENTIFIER },
+ { &hf_x420_parameters , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_OBJECT_IDENTIFIER },
+ { &hf_x420_this_child_entry, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p7_SequenceNumber },
+ { &hf_x420_position , BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_x420_INTEGER },
+ { &hf_x420_size , BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_x420_INTEGER },
+ { &hf_x420_processed , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_BOOLEAN },
+ { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_x420_BodyPartDescriptor(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(implicit_tag, actx, tree, tvb, offset,
+ BodyPartDescriptor_sequence, hf_index, ett_x420_BodyPartDescriptor);
+
+ return offset;
+}
+
+
+static const ber_sequence_t BodyPartSignatureVerification_item_set[] = {
+ { &hf_x420_body_part_sequence_number, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x420_BodyPartNumber },
+ { &hf_x420_body_part_signature_status, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_p7_SignatureStatus },
+ { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_x420_BodyPartSignatureVerification_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_) {
+ offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
+ BodyPartSignatureVerification_item_set, hf_index, ett_x420_BodyPartSignatureVerification_item);
+
+ return offset;
+}
+
+
+static const ber_sequence_t BodyPartSignatureVerification_set_of[1] = {
+ { &hf_x420_BodyPartSignatureVerification_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_x420_BodyPartSignatureVerification_item },
+};
+
+static int
+dissect_x420_BodyPartSignatureVerification(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_of(implicit_tag, actx, tree, tvb, offset,
+ BodyPartSignatureVerification_set_of, hf_index, ett_x420_BodyPartSignatureVerification);
+
+ return offset;
+}
+
+
+static const ber_sequence_t SET_OF_SequenceNumber_set_of[1] = {
+ { &hf_x420_stored_item , BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_p7_SequenceNumber },
+};
+
+static int
+dissect_x420_SET_OF_SequenceNumber(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_of(implicit_tag, actx, tree, tvb, offset,
+ SET_OF_SequenceNumber_set_of, hf_index, ett_x420_SET_OF_SequenceNumber);
+
+ return offset;
+}
+
+
+static const value_string x420_IPMLocation_vals[] = {
+ { 0, "stored" },
+ { 1, "absent" },
+ { 0, NULL }
+};
+
+static const ber_choice_t IPMLocation_choice[] = {
+ { 0, &hf_x420_stored , BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_x420_SET_OF_SequenceNumber },
+ { 1, &hf_x420_absent , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_x420_NULL },
+ { 0, NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_x420_IPMLocation(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,
+ IPMLocation_choice, hf_index, ett_x420_IPMLocation,
+ NULL);
+
+ return offset;
+}
+
+
+static const value_string x420_DeliveredReplyStatus_vals[] = {
+ { 0, "no-reply-requested" },
+ { 1, "reply-outstanding" },
+ { 2, "reply-received" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_x420_DeliveredReplyStatus(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 const ber_sequence_t SEQUENCE_OF_SequenceNumber_sequence_of[1] = {
+ { &hf_x420_received_replies_item, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_p7_SequenceNumber },
+};
+
+static int
+dissect_x420_SEQUENCE_OF_SequenceNumber(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_SequenceNumber_sequence_of, hf_index, ett_x420_SEQUENCE_OF_SequenceNumber);
+
+ return offset;
+}
+
+
+static const value_string x420_CorrelatedDeliveredReplies_vals[] = {
+ { 0, "no-reply-received" },
+ { 1, "received-replies" },
+ { 0, NULL }
+};
+
+static const ber_choice_t CorrelatedDeliveredReplies_choice[] = {
+ { 0, &hf_x420_no_reply_received, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x420_NULL },
+ { 1, &hf_x420_received_replies, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_x420_SEQUENCE_OF_SequenceNumber },
+ { 0, NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_x420_CorrelatedDeliveredReplies(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,
+ CorrelatedDeliveredReplies_choice, hf_index, ett_x420_CorrelatedDeliveredReplies,
+ NULL);
+
+ return offset;
+}
+
+
+static const value_string x420_DeliveredIPNStatus_vals[] = {
+ { 0, "no-ipn-requested" },
+ { 3, "an-requested" },
+ { 5, "nrn-requested" },
+ { 10, "rn-requested" },
+ { 13, "an-received" },
+ { 15, "ipm-auto-forwarded" },
+ { 20, "ipm-discarded" },
+ { 25, "rn-received" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_x420_DeliveredIPNStatus(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 const value_string x420_CorrelatedDeliveredIPNs_vals[] = {
+ { 0, "no-ipn-received" },
+ { 1, "ipns-received" },
+ { 0, NULL }
+};
+
+static const ber_choice_t CorrelatedDeliveredIPNs_choice[] = {
+ { 0, &hf_x420_no_ipn_received, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x420_NULL },
+ { 1, &hf_x420_ipns_received , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_x420_SEQUENCE_OF_SequenceNumber },
+ { 0, NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_x420_CorrelatedDeliveredIPNs(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,
+ CorrelatedDeliveredIPNs_choice, hf_index, ett_x420_CorrelatedDeliveredIPNs,
+ NULL);
+
+ return offset;
+}
+
+
+static const value_string x420_SubmittedReplyStatus_vals[] = {
+ { 0, "no-reply-requested" },
+ { 1, "no-reply-intended" },
+ { 2, "reply-pending" },
+ { 3, "reply-sent" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_x420_SubmittedReplyStatus(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 const value_string x420_SubmittedIPNStatus_vals[] = {
+ { 0, "no-ipn-requested" },
+ { 5, "nrn-requested" },
+ { 10, "nrn-with-ipm-return-requested" },
+ { 15, "rn-requested" },
+ { 20, "rn-with-ipm-return-requested" },
+ { 25, "ipm-auto-forwarded" },
+ { 30, "ipm-discarded" },
+ { 35, "rn-sent" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_x420_SubmittedIPNStatus(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 const value_string x420_RecipientCategory_vals[] = {
+ { 0, "primary-recipient" },
+ { 1, "copy-recipient" },
+ { 2, "blind-copy-recipient" },
+ { 3, "category-unknown" },
+ { 4, "circulation-list" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_x420_RecipientCategory(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 const asn_namedbit RecipientSecurityRequest_bits[] = {
+ { 0, &hf_x420_RecipientSecurityRequest_content_non_repudiation, -1, -1, "content-non-repudiation", NULL },
+ { 1, &hf_x420_RecipientSecurityRequest_content_proof, -1, -1, "content-proof", NULL },
+ { 2, &hf_x420_RecipientSecurityRequest_ipn_non_repudiation, -1, -1, "ipn-non-repudiation", NULL },
+ { 3, &hf_x420_RecipientSecurityRequest_ipn_proof, -1, -1, "ipn-proof", NULL },
+ { 0, NULL, 0, 0, NULL, NULL }
+};
+
+static int
+dissect_x420_RecipientSecurityRequest(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_bitstring(implicit_tag, actx, tree, tvb, offset,
+ RecipientSecurityRequest_bits, hf_index, ett_x420_RecipientSecurityRequest,
+ NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_x420_OriginalContent(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_Content(implicit_tag, tvb, offset, actx, tree, hf_index);
+
+ return offset;
+}
+
+
+
+static int
+dissect_x420_OriginalContentIntegrityCheck(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_ContentIntegrityCheck(implicit_tag, tvb, offset, actx, tree, hf_index);
+
+ return offset;
+}
+
+
+
+static int
+dissect_x420_OriginalMessageOriginAuthenticationCheck(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_MessageOriginAuthenticationCheck(implicit_tag, tvb, offset, actx, tree, hf_index);
+
+ return offset;
+}
+
+
+
+static int
+dissect_x420_OriginalMessageToken(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_MessageToken(implicit_tag, tvb, offset, actx, tree, hf_index);
+
+ return offset;
+}
+
+
+static const ber_sequence_t T_original_security_arguments_set[] = {
+ { &hf_x420_original_content_integrity_check, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_OriginalContentIntegrityCheck },
+ { &hf_x420_original_message_origin_authentication_check, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_OriginalMessageOriginAuthenticationCheck },
+ { &hf_x420_original_message_token, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x420_OriginalMessageToken },
+ { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_x420_T_original_security_arguments(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,
+ T_original_security_arguments_set, hf_index, ett_x420_T_original_security_arguments);
+
+ return offset;
+}
+
+
+static const value_string x420_T_content_or_arguments_vals[] = {
+ { 0, "original-content" },
+ { 1, "original-security-arguments" },
+ { 0, NULL }
+};
+
+static const ber_choice_t T_content_or_arguments_choice[] = {
+ { 0, &hf_x420_original_content, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_x420_OriginalContent },
+ { 1, &hf_x420_original_security_arguments, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_x420_T_original_security_arguments },
+ { 0, NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_x420_T_content_or_arguments(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,
+ T_content_or_arguments_choice, hf_index, ett_x420_T_content_or_arguments,
+ NULL);
+
+ return offset;
+}
+
+
+static const value_string x420_SecurityDiagnosticCode_vals[] = {
+ { 0, "integrity-failure-on-subject-message" },
+ { 1, "integrity-failure-on-forwarded-message" },
+ { 2, "moac-failure-on-subject-message" },
+ { 3, "unsupported-security-policy" },
+ { 4, "unsupported-algorithm-identifier" },
+ { 5, "decryption-failed" },
+ { 6, "token-error" },
+ { 7, "unable-to-sign-notification" },
+ { 8, "unable-to-sign-message-receipt" },
+ { 9, "authentication-failure-on-subject-message" },
+ { 10, "security-context-failure-message" },
+ { 11, "message-sequence-failure" },
+ { 12, "message-security-labelling-failure" },
+ { 13, "repudiation-failure-of-message" },
+ { 14, "failure-of-proof-of-message" },
+ { 15, "signature-key-unobtainable" },
+ { 16, "decryption-key-unobtainable" },
+ { 17, "key-failure" },
+ { 18, "unsupported-request-for-security-service" },
+ { 19, "inconsistent-request-for-security-service" },
+ { 20, "ipn-non-repudiation-provided-instead-of-content-proof" },
+ { 21, "token-decryption-failed" },
+ { 22, "double-enveloping-message-restoring-failure" },
+ { 23, "unauthorised-dl-member" },
+ { 24, "reception-security-failure" },
+ { 25, "unsuitable-alternate-recipient" },
+ { 26, "security-services-refusal" },
+ { 27, "unauthorised-recipient" },
+ { 28, "unknown-certification-authority-name" },
+ { 29, "unknown-dl-name" },
+ { 30, "unknown-originator-name" },
+ { 31, "unknown-recipient-name" },
+ { 32, "security-policy-violation" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_x420_SecurityDiagnosticCode(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 const ber_sequence_t IpnSecurityResponse_set[] = {
+ { &hf_x420_content_or_arguments, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_x420_T_content_or_arguments },
+ { &hf_x420_security_diagnostic_code, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x420_SecurityDiagnosticCode },
+ { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_x420_IpnSecurityResponse(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,
+ IpnSecurityResponse_set, hf_index, ett_x420_IpnSecurityResponse);
+
+ return offset;
+}
+
+
+static const ber_sequence_t EncryptionToken_set[] = {
+ { &hf_x420_encryption_algorithm_identifier, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509af_AlgorithmIdentifier },
+ { &hf_x420_encrypted_key , BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_x420_BIT_STRING },
+ { &hf_x420_recipient_certificate_selector, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509ce_CertificateAssertion },
+ { &hf_x420_recipient_certificate, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509af_Certificates },
+ { &hf_x420_originator_certificate_selector, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509ce_CertificateAssertion },
+ { &hf_x420_originator_certificates, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x411_ExtendedCertificates },
+ { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_x420_EncryptionToken(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,
+ EncryptionToken_set, hf_index, ett_x420_EncryptionToken);
+
+ return offset;
+}
+
+
+static const value_string x420_T_body_part_choice_vals[] = {
+ { 0, "encryption-token" },
+ { 1, "message-or-content-body-part" },
+ { 0, NULL }
+};
+
+static const ber_choice_t T_body_part_choice_choice[] = {
+ { 0, &hf_x420_encryption_token, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_x420_EncryptionToken },
+ { 1, &hf_x420_message_or_content_body_part, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x420_BodyPartTokens },
+ { 0, NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_x420_T_body_part_choice(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,
+ T_body_part_choice_choice, hf_index, ett_x420_T_body_part_choice,
+ NULL);
+
+ return offset;
+}
+
+
+static const ber_sequence_t BodyPartTokens_item_set[] = {
+ { &hf_x420_body_part_number, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_x420_BodyPartNumber },
+ { &hf_x420_body_part_choice, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_x420_T_body_part_choice },
+ { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_x420_BodyPartTokens_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_) {
+ offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
+ BodyPartTokens_item_set, hf_index, ett_x420_BodyPartTokens_item);
+
+ return offset;
+}
+
+
+static const ber_sequence_t BodyPartTokens_set_of[1] = {
+ { &hf_x420_BodyPartTokens_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_x420_BodyPartTokens_item },
+};
+
+static int
+dissect_x420_BodyPartTokens(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_of(implicit_tag, actx, tree, tvb, offset,
+ BodyPartTokens_set_of, hf_index, ett_x420_BodyPartTokens);
+
+ return offset;
+}
+
+
+static const value_string x420_T_body_part_token_choice_vals[] = {
+ { 0, "forwarding-token" },
+ { 1, "message-or-content-body-part" },
+ { 0, NULL }
+};
+
+static const ber_choice_t T_body_part_token_choice_choice[] = {
+ { 0, &hf_x420_forwarding_token, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x411_MessageToken },
+ { 1, &hf_x420_forwarded_content_token, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_x420_ForwardedContentToken },
+ { 0, NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_x420_T_body_part_token_choice(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,
+ T_body_part_token_choice_choice, hf_index, ett_x420_T_body_part_token_choice,
+ NULL);
+
+ return offset;
+}
+
+
+static const ber_sequence_t ForwardedContentToken_item_set[] = {
+ { &hf_x420_body_part_number, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_x420_BodyPartNumber },
+ { &hf_x420_body_part_token_choice, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_x420_T_body_part_token_choice },
+ { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_x420_ForwardedContentToken_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_) {
+ offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
+ ForwardedContentToken_item_set, hf_index, ett_x420_ForwardedContentToken_item);
+
+ return offset;
+}
+
+
+static const ber_sequence_t ForwardedContentToken_set_of[1] = {
+ { &hf_x420_ForwardedContentToken_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_x420_ForwardedContentToken_item },
+};
+
+static int
+dissect_x420_ForwardedContentToken(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_of(implicit_tag, actx, tree, tvb, offset,
+ ForwardedContentToken_set_of, hf_index, ett_x420_ForwardedContentToken);
+
+ return offset;
+}
+
+
+
+static int
+dissect_x420_ID(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(implicit_tag, actx, tree, tvb, offset, hf_index, NULL);
+
+ return offset;
+}
+
/*--- PDUs ---*/
static void dissect_InformationObject_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
@@ -3121,6 +3896,101 @@ static void dissect_InformationObject_PDU(tvbuff_t *tvb _U_, packet_info *pinfo
asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
dissect_x420_InformationObject(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_InformationObject_PDU);
}
+static void dissect_Heading_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_BER, TRUE, pinfo);
+ dissect_x420_Heading(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_Heading_PDU);
+}
+static void dissect_ORDescriptor_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_BER, TRUE, pinfo);
+ dissect_x420_ORDescriptor(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_ORDescriptor_PDU);
+}
+static void dissect_ThisIPMField_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_BER, TRUE, pinfo);
+ dissect_x420_ThisIPMField(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_ThisIPMField_PDU);
+}
+static void dissect_OriginatorField_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_BER, TRUE, pinfo);
+ dissect_x420_OriginatorField(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_OriginatorField_PDU);
+}
+static void dissect_AuthorizingUsersSubfield_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_BER, TRUE, pinfo);
+ dissect_x420_AuthorizingUsersSubfield(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_AuthorizingUsersSubfield_PDU);
+}
+static void dissect_PrimaryRecipientsSubfield_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_BER, TRUE, pinfo);
+ dissect_x420_PrimaryRecipientsSubfield(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_PrimaryRecipientsSubfield_PDU);
+}
+static void dissect_CopyRecipientsSubfield_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_BER, TRUE, pinfo);
+ dissect_x420_CopyRecipientsSubfield(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_CopyRecipientsSubfield_PDU);
+}
+static void dissect_BlindCopyRecipientsSubfield_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_BER, TRUE, pinfo);
+ dissect_x420_BlindCopyRecipientsSubfield(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_BlindCopyRecipientsSubfield_PDU);
+}
+static void dissect_RepliedToIPMField_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_BER, TRUE, pinfo);
+ dissect_x420_RepliedToIPMField(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_RepliedToIPMField_PDU);
+}
+static void dissect_ObsoletedIPMsSubfield_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_BER, TRUE, pinfo);
+ dissect_x420_ObsoletedIPMsSubfield(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_ObsoletedIPMsSubfield_PDU);
+}
+static void dissect_RelatedIPMsSubfield_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_BER, TRUE, pinfo);
+ dissect_x420_RelatedIPMsSubfield(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_RelatedIPMsSubfield_PDU);
+}
+static void dissect_SubjectField_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_BER, TRUE, pinfo);
+ dissect_x420_SubjectField(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_SubjectField_PDU);
+}
+static void dissect_ExpiryTimeField_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_BER, TRUE, pinfo);
+ dissect_x420_ExpiryTimeField(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_ExpiryTimeField_PDU);
+}
+static void dissect_ReplyTimeField_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_BER, TRUE, pinfo);
+ dissect_x420_ReplyTimeField(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_ReplyTimeField_PDU);
+}
+static void dissect_ReplyRecipientsSubfield_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_BER, TRUE, pinfo);
+ dissect_x420_ReplyRecipientsSubfield(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_ReplyRecipientsSubfield_PDU);
+}
+static void dissect_ImportanceField_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_BER, TRUE, pinfo);
+ dissect_x420_ImportanceField(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_ImportanceField_PDU);
+}
+static void dissect_SensitivityField_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_BER, TRUE, pinfo);
+ dissect_x420_SensitivityField(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_SensitivityField_PDU);
+}
+static void dissect_AutoForwardedField_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_BER, TRUE, pinfo);
+ dissect_x420_AutoForwardedField(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_AutoForwardedField_PDU);
+}
+static void dissect_Body_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_BER, TRUE, pinfo);
+ dissect_x420_Body(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_Body_PDU);
+}
static void dissect_IA5TextParameters_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_BER, TRUE, pinfo);
@@ -3141,15 +4011,15 @@ static void dissect_G3FacsimileData_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U
asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
dissect_x420_G3FacsimileData(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_G3FacsimileData_PDU);
}
-static void dissect_G4Class1Data_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+static void dissect_G4Class1BodyPart_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_BER, TRUE, pinfo);
- dissect_x420_G4Class1Data(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_G4Class1Data_PDU);
+ dissect_x420_G4Class1BodyPart(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_G4Class1BodyPart_PDU);
}
-static void dissect_MixedModeData_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+static void dissect_MixedModeBodyPart_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_BER, TRUE, pinfo);
- dissect_x420_MixedModeData(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_MixedModeData_PDU);
+ dissect_x420_MixedModeBodyPart(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_MixedModeBodyPart_PDU);
}
static void dissect_TeletexParameters_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
asn1_ctx_t asn1_ctx;
@@ -3216,11 +4086,6 @@ static void dissect_IPMAssemblyInstructions_PDU(tvbuff_t *tvb _U_, packet_info *
asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
dissect_x420_IPMAssemblyInstructions(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_IPMAssemblyInstructions_PDU);
}
-static void dissect_OriginatingUA_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_BER, TRUE, pinfo);
- dissect_x420_OriginatingUA(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_OriginatingUA_PDU);
-}
static void dissect_IncompleteCopy_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_BER, TRUE, pinfo);
@@ -3231,6 +4096,11 @@ static void dissect_Languages_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, pro
asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
dissect_x420_Languages(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_Languages_PDU);
}
+static void dissect_Language_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_BER, TRUE, pinfo);
+ dissect_x420_Language(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_Language_PDU);
+}
static void dissect_AutoSubmitted_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_BER, TRUE, pinfo);
@@ -3246,6 +4116,11 @@ static void dissect_IPMSecurityLabel_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _
asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
dissect_x420_IPMSecurityLabel(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_IPMSecurityLabel_PDU);
}
+static void dissect_BodyPartSecurityLabel_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_BER, TRUE, pinfo);
+ dissect_x420_BodyPartSecurityLabel(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_BodyPartSecurityLabel_PDU);
+}
static void dissect_AuthorizationTime_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_BER, TRUE, pinfo);
@@ -3256,6 +4131,11 @@ static void dissect_CirculationList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U
asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
dissect_x420_CirculationList(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_CirculationList_PDU);
}
+static void dissect_CirculationMember_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_BER, TRUE, pinfo);
+ dissect_x420_CirculationMember(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_CirculationMember_PDU);
+}
static void dissect_CirculationListIndicator_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_BER, TRUE, pinfo);
@@ -3266,6 +4146,11 @@ static void dissect_DistributionCodes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo
asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
dissect_x420_DistributionCodes(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_DistributionCodes_PDU);
}
+static void dissect_DistributionCode_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_BER, TRUE, pinfo);
+ dissect_x420_DistributionCode(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_DistributionCode_PDU);
+}
static void dissect_ExtendedSubject_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_BER, TRUE, pinfo);
@@ -3276,11 +4161,21 @@ static void dissect_InformationCategories_PDU(tvbuff_t *tvb _U_, packet_info *pi
asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
dissect_x420_InformationCategories(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_InformationCategories_PDU);
}
+static void dissect_InformationCategory_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_BER, TRUE, pinfo);
+ dissect_x420_InformationCategory(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_InformationCategory_PDU);
+}
static void dissect_ManualHandlingInstructions_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_BER, TRUE, pinfo);
dissect_x420_ManualHandlingInstructions(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_ManualHandlingInstructions_PDU);
}
+static void dissect_ManualHandlingInstruction_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_BER, TRUE, pinfo);
+ dissect_x420_ManualHandlingInstruction(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_ManualHandlingInstruction_PDU);
+}
static void dissect_OriginatorsReference_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_BER, TRUE, pinfo);
@@ -3306,6 +4201,16 @@ static void dissect_GeneralTextData_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U
asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
dissect_x420_GeneralTextData(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_GeneralTextData_PDU);
}
+static void dissect_FileTransferParameters_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_BER, TRUE, pinfo);
+ dissect_x420_FileTransferParameters(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_FileTransferParameters_PDU);
+}
+static void dissect_FileTransferData_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_BER, TRUE, pinfo);
+ dissect_x420_FileTransferData(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_FileTransferData_PDU);
+}
static void dissect_VoiceParameters_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_BER, TRUE, pinfo);
@@ -3321,20 +4226,40 @@ static void dissect_ForwardedContentParameters_PDU(tvbuff_t *tvb _U_, packet_inf
asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
dissect_x420_ForwardedContentParameters(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_ForwardedContentParameters_PDU);
}
-static void dissect_FileTransferParameters_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+static void dissect_IPMEntryType_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_BER, TRUE, pinfo);
- dissect_x420_FileTransferParameters(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_FileTransferParameters_PDU);
+ dissect_x420_IPMEntryType(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_IPMEntryType_PDU);
}
-static void dissect_FileTransferData_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+static void dissect_IPMSynopsis_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_BER, TRUE, pinfo);
- dissect_x420_FileTransferData(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_FileTransferData_PDU);
+ dissect_x420_IPMSynopsis(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_IPMSynopsis_PDU);
+}
+static void dissect_BodyPartDescriptor_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_BER, TRUE, pinfo);
+ dissect_x420_BodyPartDescriptor(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_BodyPartDescriptor_PDU);
+}
+static void dissect_BodyPartSignatureVerification_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_BER, TRUE, pinfo);
+ dissect_x420_BodyPartSignatureVerification(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_BodyPartSignatureVerification_PDU);
+}
+static void dissect_BodyPartTokens_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_BER, TRUE, pinfo);
+ dissect_x420_BodyPartTokens(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_BodyPartTokens_PDU);
+}
+static void dissect_ForwardedContentToken_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_BER, TRUE, pinfo);
+ dissect_x420_ForwardedContentToken(FALSE, tvb, 0, &asn1_ctx, tree, hf_x420_ForwardedContentToken_PDU);
}
/*--- End of included file: packet-x420-fn.c ---*/
-#line 95 "packet-x420-template.c"
+#line 96 "packet-x420-template.c"
/*
* Dissect X420 PDUs inside a PPDU.
@@ -3375,6 +4300,82 @@ void proto_register_x420(void) {
{ "InformationObject", "x420.InformationObject",
FT_UINT32, BASE_DEC, VALS(x420_InformationObject_vals), 0,
"x420.InformationObject", HFILL }},
+ { &hf_x420_Heading_PDU,
+ { "Heading", "x420.Heading",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "x420.Heading", HFILL }},
+ { &hf_x420_ORDescriptor_PDU,
+ { "ORDescriptor", "x420.ORDescriptor",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "x420.ORDescriptor", HFILL }},
+ { &hf_x420_ThisIPMField_PDU,
+ { "ThisIPMField", "x420.ThisIPMField",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "x420.ThisIPMField", HFILL }},
+ { &hf_x420_OriginatorField_PDU,
+ { "OriginatorField", "x420.OriginatorField",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "x420.OriginatorField", HFILL }},
+ { &hf_x420_AuthorizingUsersSubfield_PDU,
+ { "AuthorizingUsersSubfield", "x420.AuthorizingUsersSubfield",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "x420.AuthorizingUsersSubfield", HFILL }},
+ { &hf_x420_PrimaryRecipientsSubfield_PDU,
+ { "PrimaryRecipientsSubfield", "x420.PrimaryRecipientsSubfield",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "x420.PrimaryRecipientsSubfield", HFILL }},
+ { &hf_x420_CopyRecipientsSubfield_PDU,
+ { "CopyRecipientsSubfield", "x420.CopyRecipientsSubfield",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "x420.CopyRecipientsSubfield", HFILL }},
+ { &hf_x420_BlindCopyRecipientsSubfield_PDU,
+ { "BlindCopyRecipientsSubfield", "x420.BlindCopyRecipientsSubfield",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "x420.BlindCopyRecipientsSubfield", HFILL }},
+ { &hf_x420_RepliedToIPMField_PDU,
+ { "RepliedToIPMField", "x420.RepliedToIPMField",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "x420.RepliedToIPMField", HFILL }},
+ { &hf_x420_ObsoletedIPMsSubfield_PDU,
+ { "ObsoletedIPMsSubfield", "x420.ObsoletedIPMsSubfield",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "x420.ObsoletedIPMsSubfield", HFILL }},
+ { &hf_x420_RelatedIPMsSubfield_PDU,
+ { "RelatedIPMsSubfield", "x420.RelatedIPMsSubfield",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "x420.RelatedIPMsSubfield", HFILL }},
+ { &hf_x420_SubjectField_PDU,
+ { "SubjectField", "x420.SubjectField",
+ FT_STRING, BASE_NONE, NULL, 0,
+ "x420.SubjectField", HFILL }},
+ { &hf_x420_ExpiryTimeField_PDU,
+ { "ExpiryTimeField", "x420.ExpiryTimeField",
+ FT_STRING, BASE_NONE, NULL, 0,
+ "x420.ExpiryTimeField", HFILL }},
+ { &hf_x420_ReplyTimeField_PDU,
+ { "ReplyTimeField", "x420.ReplyTimeField",
+ FT_STRING, BASE_NONE, NULL, 0,
+ "x420.ReplyTimeField", HFILL }},
+ { &hf_x420_ReplyRecipientsSubfield_PDU,
+ { "ReplyRecipientsSubfield", "x420.ReplyRecipientsSubfield",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "x420.ReplyRecipientsSubfield", HFILL }},
+ { &hf_x420_ImportanceField_PDU,
+ { "ImportanceField", "x420.ImportanceField",
+ FT_UINT32, BASE_DEC, VALS(x420_ImportanceField_vals), 0,
+ "x420.ImportanceField", HFILL }},
+ { &hf_x420_SensitivityField_PDU,
+ { "SensitivityField", "x420.SensitivityField",
+ FT_UINT32, BASE_DEC, VALS(x420_SensitivityField_vals), 0,
+ "x420.SensitivityField", HFILL }},
+ { &hf_x420_AutoForwardedField_PDU,
+ { "AutoForwardedField", "x420.AutoForwardedField",
+ FT_BOOLEAN, 8, NULL, 0,
+ "x420.AutoForwardedField", HFILL }},
+ { &hf_x420_Body_PDU,
+ { "Body", "x420.Body",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "x420.Body", HFILL }},
{ &hf_x420_IA5TextParameters_PDU,
{ "IA5TextParameters", "x420.IA5TextParameters",
FT_NONE, BASE_NONE, NULL, 0,
@@ -3391,14 +4392,14 @@ void proto_register_x420(void) {
{ "G3FacsimileData", "x420.G3FacsimileData",
FT_UINT32, BASE_DEC, NULL, 0,
"x420.G3FacsimileData", HFILL }},
- { &hf_x420_G4Class1Data_PDU,
- { "G4Class1Data", "x420.G4Class1Data",
+ { &hf_x420_G4Class1BodyPart_PDU,
+ { "G4Class1BodyPart", "x420.G4Class1BodyPart",
FT_UINT32, BASE_DEC, NULL, 0,
- "x420.G4Class1Data", HFILL }},
- { &hf_x420_MixedModeData_PDU,
- { "MixedModeData", "x420.MixedModeData",
+ "x420.G4Class1BodyPart", HFILL }},
+ { &hf_x420_MixedModeBodyPart_PDU,
+ { "MixedModeBodyPart", "x420.MixedModeBodyPart",
FT_UINT32, BASE_DEC, NULL, 0,
- "x420.MixedModeData", HFILL }},
+ "x420.MixedModeBodyPart", HFILL }},
{ &hf_x420_TeletexParameters_PDU,
{ "TeletexParameters", "x420.TeletexParameters",
FT_NONE, BASE_NONE, NULL, 0,
@@ -3451,10 +4452,6 @@ void proto_register_x420(void) {
{ "IPMAssemblyInstructions", "x420.IPMAssemblyInstructions",
FT_NONE, BASE_NONE, NULL, 0,
"x420.IPMAssemblyInstructions", HFILL }},
- { &hf_x420_OriginatingUA_PDU,
- { "OriginatingUA", "x420.OriginatingUA",
- FT_STRING, BASE_NONE, NULL, 0,
- "x420.OriginatingUA", HFILL }},
{ &hf_x420_IncompleteCopy_PDU,
{ "IncompleteCopy", "x420.IncompleteCopy",
FT_NONE, BASE_NONE, NULL, 0,
@@ -3463,6 +4460,10 @@ void proto_register_x420(void) {
{ "Languages", "x420.Languages",
FT_UINT32, BASE_DEC, NULL, 0,
"x420.Languages", HFILL }},
+ { &hf_x420_Language_PDU,
+ { "Language", "x420.Language",
+ FT_STRING, BASE_NONE, NULL, 0,
+ "x420.Language", HFILL }},
{ &hf_x420_AutoSubmitted_PDU,
{ "AutoSubmitted", "x420.AutoSubmitted",
FT_UINT32, BASE_DEC, VALS(x420_AutoSubmitted_vals), 0,
@@ -3475,6 +4476,10 @@ void proto_register_x420(void) {
{ "IPMSecurityLabel", "x420.IPMSecurityLabel",
FT_NONE, BASE_NONE, NULL, 0,
"x420.IPMSecurityLabel", HFILL }},
+ { &hf_x420_BodyPartSecurityLabel_PDU,
+ { "BodyPartSecurityLabel", "x420.BodyPartSecurityLabel",
+ FT_UINT32, BASE_DEC, VALS(x420_BodyPartSecurityLabel_vals), 0,
+ "x420.BodyPartSecurityLabel", HFILL }},
{ &hf_x420_AuthorizationTime_PDU,
{ "AuthorizationTime", "x420.AuthorizationTime",
FT_STRING, BASE_NONE, NULL, 0,
@@ -3483,6 +4488,10 @@ void proto_register_x420(void) {
{ "CirculationList", "x420.CirculationList",
FT_UINT32, BASE_DEC, NULL, 0,
"x420.CirculationList", HFILL }},
+ { &hf_x420_CirculationMember_PDU,
+ { "CirculationMember", "x420.CirculationMember",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "x420.CirculationMember", HFILL }},
{ &hf_x420_CirculationListIndicator_PDU,
{ "CirculationListIndicator", "x420.CirculationListIndicator",
FT_NONE, BASE_NONE, NULL, 0,
@@ -3491,6 +4500,10 @@ void proto_register_x420(void) {
{ "DistributionCodes", "x420.DistributionCodes",
FT_UINT32, BASE_DEC, NULL, 0,
"x420.DistributionCodes", HFILL }},
+ { &hf_x420_DistributionCode_PDU,
+ { "DistributionCode", "x420.DistributionCode",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "x420.DistributionCode", HFILL }},
{ &hf_x420_ExtendedSubject_PDU,
{ "ExtendedSubject", "x420.ExtendedSubject",
FT_NONE, BASE_NONE, NULL, 0,
@@ -3499,10 +4512,18 @@ void proto_register_x420(void) {
{ "InformationCategories", "x420.InformationCategories",
FT_UINT32, BASE_DEC, NULL, 0,
"x420.InformationCategories", HFILL }},
+ { &hf_x420_InformationCategory_PDU,
+ { "InformationCategory", "x420.InformationCategory",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "x420.InformationCategory", HFILL }},
{ &hf_x420_ManualHandlingInstructions_PDU,
{ "ManualHandlingInstructions", "x420.ManualHandlingInstructions",
FT_UINT32, BASE_DEC, NULL, 0,
"x420.ManualHandlingInstructions", HFILL }},
+ { &hf_x420_ManualHandlingInstruction_PDU,
+ { "ManualHandlingInstruction", "x420.ManualHandlingInstruction",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "x420.ManualHandlingInstruction", HFILL }},
{ &hf_x420_OriginatorsReference_PDU,
{ "OriginatorsReference", "x420.OriginatorsReference",
FT_NONE, BASE_NONE, NULL, 0,
@@ -3523,6 +4544,14 @@ void proto_register_x420(void) {
{ "GeneralTextData", "x420.GeneralTextData",
FT_STRING, BASE_NONE, NULL, 0,
"x420.GeneralTextData", HFILL }},
+ { &hf_x420_FileTransferParameters_PDU,
+ { "FileTransferParameters", "x420.FileTransferParameters",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "x420.FileTransferParameters", HFILL }},
+ { &hf_x420_FileTransferData_PDU,
+ { "FileTransferData", "x420.FileTransferData",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "x420.FileTransferData", HFILL }},
{ &hf_x420_VoiceParameters_PDU,
{ "VoiceParameters", "x420.VoiceParameters",
FT_NONE, BASE_NONE, NULL, 0,
@@ -3535,14 +4564,30 @@ void proto_register_x420(void) {
{ "ForwardedContentParameters", "x420.ForwardedContentParameters",
FT_NONE, BASE_NONE, NULL, 0,
"x420.ForwardedContentParameters", HFILL }},
- { &hf_x420_FileTransferParameters_PDU,
- { "FileTransferParameters", "x420.FileTransferParameters",
+ { &hf_x420_IPMEntryType_PDU,
+ { "IPMEntryType", "x420.IPMEntryType",
+ FT_UINT32, BASE_DEC, VALS(x420_IPMEntryType_vals), 0,
+ "x420.IPMEntryType", HFILL }},
+ { &hf_x420_IPMSynopsis_PDU,
+ { "IPMSynopsis", "x420.IPMSynopsis",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "x420.IPMSynopsis", HFILL }},
+ { &hf_x420_BodyPartDescriptor_PDU,
+ { "BodyPartDescriptor", "x420.BodyPartDescriptor",
FT_NONE, BASE_NONE, NULL, 0,
- "x420.FileTransferParameters", HFILL }},
- { &hf_x420_FileTransferData_PDU,
- { "FileTransferData", "x420.FileTransferData",
+ "x420.BodyPartDescriptor", HFILL }},
+ { &hf_x420_BodyPartSignatureVerification_PDU,
+ { "BodyPartSignatureVerification", "x420.BodyPartSignatureVerification",
FT_UINT32, BASE_DEC, NULL, 0,
- "x420.FileTransferData", HFILL }},
+ "x420.BodyPartSignatureVerification", HFILL }},
+ { &hf_x420_BodyPartTokens_PDU,
+ { "BodyPartTokens", "x420.BodyPartTokens",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "x420.BodyPartTokens", HFILL }},
+ { &hf_x420_ForwardedContentToken_PDU,
+ { "ForwardedContentToken", "x420.ForwardedContentToken",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "x420.ForwardedContentToken", HFILL }},
{ &hf_x420_ipm,
{ "ipm", "x420.ipm",
FT_NONE, BASE_NONE, NULL, 0,
@@ -3711,6 +4756,10 @@ void proto_register_x420(void) {
{ "Item", "x420.Body_item",
FT_UINT32, BASE_DEC, VALS(x420_BodyPart_vals), 0,
"x420.BodyPart", HFILL }},
+ { &hf_x420_basic,
+ { "basic", "x420.basic",
+ FT_UINT32, BASE_DEC, VALS(x420_T_basic_vals), 0,
+ "x420.T_basic", HFILL }},
{ &hf_x420_ia5_text,
{ "ia5-text", "x420.ia5_text",
FT_NONE, BASE_NONE, NULL, 0,
@@ -3758,11 +4807,11 @@ void proto_register_x420(void) {
{ &hf_x420_extended_parameters,
{ "parameters", "x420.parameters",
FT_NONE, BASE_NONE, NULL, 0,
- "x420.EXTERNAL", HFILL }},
+ "x420.INSTANCE_OF", HFILL }},
{ &hf_x420_extended_data,
{ "data", "x420.data",
FT_NONE, BASE_NONE, NULL, 0,
- "x420.EXTERNAL", HFILL }},
+ "x420.INSTANCE_OF", HFILL }},
{ &hf_x420_ia5text_parameters,
{ "parameters", "x420.parameters",
FT_NONE, BASE_NONE, NULL, 0,
@@ -3795,12 +4844,12 @@ void proto_register_x420(void) {
{ "Item", "x420.G3FacsimileData_item",
FT_BYTES, BASE_HEX, NULL, 0,
"x420.BIT_STRING", HFILL }},
- { &hf_x420_G4Class1Data_item,
- { "Item", "x420.G4Class1Data_item",
+ { &hf_x420_G4Class1BodyPart_item,
+ { "Item", "x420.G4Class1BodyPart_item",
FT_NONE, BASE_NONE, NULL, 0,
"x420.Interchange_Data_Element", HFILL }},
- { &hf_x420_MixedModeData_item,
- { "Item", "x420.MixedModeData_item",
+ { &hf_x420_MixedModeBodyPart_item,
+ { "Item", "x420.MixedModeBodyPart_item",
FT_NONE, BASE_NONE, NULL, 0,
"x420.Interchange_Data_Element", HFILL }},
{ &hf_x420_teletex_parameters,
@@ -3887,22 +4936,6 @@ void proto_register_x420(void) {
{ "notification-extensions", "x420.notification_extensions",
FT_UINT32, BASE_DEC, NULL, 0,
"x420.NotificationExtensionsField", HFILL }},
- { &hf_x420_choice,
- { "choice", "x420.choice",
- FT_UINT32, BASE_DEC, VALS(x420_T_choice_vals), 0,
- "x420.T_choice", HFILL }},
- { &hf_x420_non_receipt_fields,
- { "non-receipt-fields", "x420.non_receipt_fields",
- FT_NONE, BASE_NONE, NULL, 0,
- "x420.NonReceiptFields", HFILL }},
- { &hf_x420_receipt_fields,
- { "receipt-fields", "x420.receipt_fields",
- FT_NONE, BASE_NONE, NULL, 0,
- "x420.ReceiptFields", HFILL }},
- { &hf_x420_other_notification_type_fields,
- { "other-notification-type-fields", "x420.other_notification_type_fields",
- FT_UINT32, BASE_DEC, NULL, 0,
- "x420.OtherNotificationTypeFields", HFILL }},
{ &hf_x420_non_receipt_reason,
{ "non-receipt-reason", "x420.non_receipt_reason",
FT_UINT32, BASE_DEC, VALS(x420_NonReceiptReasonField_vals), 0,
@@ -3981,40 +5014,32 @@ void proto_register_x420(void) {
"x420.BodyPartReference", HFILL }},
{ &hf_x420_stored_entry,
{ "stored-entry", "x420.stored_entry",
- FT_INT32, BASE_DEC, NULL, 0,
- "x420.SequenceNumber", HFILL }},
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "p7.SequenceNumber", HFILL }},
{ &hf_x420_stored_content,
{ "stored-content", "x420.stored_content",
- FT_INT32, BASE_DEC, NULL, 0,
- "x420.SequenceNumber", HFILL }},
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "p7.SequenceNumber", HFILL }},
{ &hf_x420_submitted_body_part,
{ "submitted-body-part", "x420.submitted_body_part",
- FT_INT32, BASE_DEC, NULL, 0,
- "x420.INTEGER", HFILL }},
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "x420.INTEGER_1_MAX", HFILL }},
{ &hf_x420_stored_body_part,
{ "stored-body-part", "x420.stored_body_part",
FT_NONE, BASE_NONE, NULL, 0,
"x420.T_stored_body_part", HFILL }},
{ &hf_x420_message_entry,
{ "message-entry", "x420.message_entry",
- FT_INT32, BASE_DEC, NULL, 0,
- "x420.SequenceNumber", HFILL }},
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "p7.SequenceNumber", HFILL }},
{ &hf_x420_body_part_number,
{ "body-part-number", "x420.body_part_number",
- FT_INT32, BASE_DEC, NULL, 0,
+ FT_UINT32, BASE_DEC, NULL, 0,
"x420.BodyPartNumber", HFILL }},
{ &hf_x420_Languages_item,
{ "Item", "x420.Languages_item",
FT_STRING, BASE_NONE, NULL, 0,
"x420.Language", HFILL }},
- { &hf_x420_algorithmIdentifier,
- { "algorithmIdentifier", "x420.algorithmIdentifier",
- FT_NONE, BASE_NONE, NULL, 0,
- "x509af.AlgorithmIdentifier", HFILL }},
- { &hf_x420_encrypted,
- { "encrypted", "x420.encrypted",
- FT_BYTES, BASE_HEX, NULL, 0,
- "x420.BIT_STRING", HFILL }},
{ &hf_x420_BodyPartSignatures_item,
{ "Item", "x420.BodyPartSignatures_item",
FT_NONE, BASE_NONE, NULL, 0,
@@ -4027,6 +5052,14 @@ void proto_register_x420(void) {
{ "originator-certificate-selector", "x420.originator_certificate_selector",
FT_NONE, BASE_NONE, NULL, 0,
"x509ce.CertificateAssertion", HFILL }},
+ { &hf_x420_algorithmIdentifier,
+ { "algorithmIdentifier", "x420.algorithmIdentifier",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "x509af.AlgorithmIdentifier", HFILL }},
+ { &hf_x420_encrypted,
+ { "encrypted", "x420.encrypted",
+ FT_BYTES, BASE_HEX, NULL, 0,
+ "x420.BIT_STRING", HFILL }},
{ &hf_x420_content_security_label,
{ "content-security-label", "x420.content_security_label",
FT_NONE, BASE_NONE, NULL, 0,
@@ -4123,38 +5156,6 @@ void proto_register_x420(void) {
{ "Item", "x420.GeneralTextParameters_item",
FT_UINT32, BASE_DEC, NULL, 0,
"x420.CharacterSetRegistration", HFILL }},
- { &hf_x420_voice_message_duration,
- { "voice-message-duration", "x420.voice_message_duration",
- FT_INT32, BASE_DEC, NULL, 0,
- "x420.INTEGER", HFILL }},
- { &hf_x420_voice_encoding_type,
- { "voice-encoding-type", "x420.voice_encoding_type",
- FT_OID, BASE_NONE, NULL, 0,
- "x420.OBJECT_IDENTIFIER", HFILL }},
- { &hf_x420_supplementary_information,
- { "supplementary-information", "x420.supplementary_information",
- FT_STRING, BASE_NONE, NULL, 0,
- "x420.IA5String", HFILL }},
- { &hf_x420_mts_identifier,
- { "mts-identifier", "x420.mts_identifier",
- FT_NONE, BASE_NONE, NULL, 0,
- "x411.MessageDeliveryIdentifier", HFILL }},
- { &hf_x420_submission_proof,
- { "submission-proof", "x420.submission_proof",
- FT_NONE, BASE_NONE, NULL, 0,
- "x420.SubmissionProof", HFILL }},
- { &hf_x420_proof_of_submission,
- { "proof-of-submission", "x420.proof_of_submission",
- FT_NONE, BASE_NONE, NULL, 0,
- "x411.ProofOfSubmission", HFILL }},
- { &hf_x420_originating_MTA_certificate,
- { "originating-MTA-certificate", "x420.originating_MTA_certificate",
- FT_NONE, BASE_NONE, NULL, 0,
- "x411.OriginatingMTACertificate", HFILL }},
- { &hf_x420_message_submission_envelope,
- { "message-submission-envelope", "x420.message_submission_envelope",
- FT_NONE, BASE_NONE, NULL, 0,
- "x411.MessageSubmissionEnvelope", HFILL }},
{ &hf_x420_related_stored_file,
{ "related-stored-file", "x420.related_stored_file",
FT_UINT32, BASE_DEC, NULL, 0,
@@ -4289,8 +5290,8 @@ void proto_register_x420(void) {
"x420.GraphicString", HFILL }},
{ &hf_x420_compression_algorithm_id,
{ "compression-algorithm-id", "x420.compression_algorithm_id",
- FT_OID, BASE_NONE, NULL, 0,
- "x420.OBJECT_IDENTIFIER", HFILL }},
+ FT_NONE, BASE_NONE, NULL, 0,
+ "x420.T_compression_algorithm_id", HFILL }},
{ &hf_x420_compression_algorithm_param,
{ "compression-algorithm-param", "x420.compression_algorithm_param",
FT_NONE, BASE_NONE, NULL, 0,
@@ -4471,6 +5472,230 @@ void proto_register_x420(void) {
{ "ae-qualifier", "x420.ae_qualifier",
FT_UINT32, BASE_DEC, VALS(acse_ASO_qualifier_vals), 0,
"acse.AE_qualifier", HFILL }},
+ { &hf_x420_voice_message_duration,
+ { "voice-message-duration", "x420.voice_message_duration",
+ FT_INT32, BASE_DEC, NULL, 0,
+ "x420.INTEGER", HFILL }},
+ { &hf_x420_voice_encoding_type,
+ { "voice-encoding-type", "x420.voice_encoding_type",
+ FT_OID, BASE_NONE, NULL, 0,
+ "x420.OBJECT_IDENTIFIER", HFILL }},
+ { &hf_x420_supplementary_information,
+ { "supplementary-information", "x420.supplementary_information",
+ FT_STRING, BASE_NONE, NULL, 0,
+ "x420.IA5String", HFILL }},
+ { &hf_x420_mts_identifier,
+ { "mts-identifier", "x420.mts_identifier",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "x411.MessageDeliveryIdentifier", HFILL }},
+ { &hf_x420_submission_proof,
+ { "submission-proof", "x420.submission_proof",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "x420.SubmissionProof", HFILL }},
+ { &hf_x420_proof_of_submission,
+ { "proof-of-submission", "x420.proof_of_submission",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "x411.ProofOfSubmission", HFILL }},
+ { &hf_x420_originating_MTA_certificate,
+ { "originating-MTA-certificate", "x420.originating_MTA_certificate",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "x411.OriginatingMTACertificate", HFILL }},
+ { &hf_x420_message_submission_envelope,
+ { "message-submission-envelope", "x420.message_submission_envelope",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "x411.MessageSubmissionEnvelope", HFILL }},
+ { &hf_x420_IPMSynopsis_item,
+ { "Item", "x420.IPMSynopsis_item",
+ FT_UINT32, BASE_DEC, VALS(x420_BodyPartSynopsis_vals), 0,
+ "x420.BodyPartSynopsis", HFILL }},
+ { &hf_x420_message_synopsis,
+ { "message", "x420.message",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "x420.MessageBodyPartSynopsis", HFILL }},
+ { &hf_x420_non_message,
+ { "non-message", "x420.non_message",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "x420.NonMessageBodyPartSynopsis", HFILL }},
+ { &hf_x420_number,
+ { "number", "x420.number",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "p7.SequenceNumber", HFILL }},
+ { &hf_x420_synopsis,
+ { "synopsis", "x420.synopsis",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "x420.IPMSynopsis", HFILL }},
+ { &hf_x420_bp_type,
+ { "type", "x420.type",
+ FT_OID, BASE_NONE, NULL, 0,
+ "x420.OBJECT_IDENTIFIER", HFILL }},
+ { &hf_x420_bp_parameters,
+ { "parameters", "x420.parameters",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "x420.INSTANCE_OF", HFILL }},
+ { &hf_x420_size,
+ { "size", "x420.size",
+ FT_INT32, BASE_DEC, NULL, 0,
+ "x420.INTEGER", HFILL }},
+ { &hf_x420_processed,
+ { "processed", "x420.processed",
+ FT_BOOLEAN, 8, NULL, 0,
+ "x420.BOOLEAN", HFILL }},
+ { &hf_x420_data,
+ { "data", "x420.data",
+ FT_OID, BASE_NONE, NULL, 0,
+ "x420.OBJECT_IDENTIFIER", HFILL }},
+ { &hf_x420_parameters,
+ { "parameters", "x420.parameters",
+ FT_OID, BASE_NONE, NULL, 0,
+ "x420.OBJECT_IDENTIFIER", HFILL }},
+ { &hf_x420_this_child_entry,
+ { "this-child-entry", "x420.this_child_entry",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "p7.SequenceNumber", HFILL }},
+ { &hf_x420_position,
+ { "position", "x420.position",
+ FT_INT32, BASE_DEC, NULL, 0,
+ "x420.INTEGER", HFILL }},
+ { &hf_x420_BodyPartSignatureVerification_item,
+ { "Item", "x420.BodyPartSignatureVerification_item",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "x420.BodyPartSignatureVerification_item", HFILL }},
+ { &hf_x420_body_part_sequence_number,
+ { "body-part-sequence-number", "x420.body_part_sequence_number",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "x420.BodyPartNumber", HFILL }},
+ { &hf_x420_body_part_signature_status,
+ { "body-part-signature", "x420.body_part_signature",
+ FT_INT32, BASE_DEC, VALS(p7_SignatureStatus_vals), 0,
+ "p7.SignatureStatus", HFILL }},
+ { &hf_x420_stored,
+ { "stored", "x420.stored",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "x420.SET_OF_SequenceNumber", HFILL }},
+ { &hf_x420_stored_item,
+ { "Item", "x420.stored_item",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "p7.SequenceNumber", HFILL }},
+ { &hf_x420_absent,
+ { "absent", "x420.absent",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "x420.NULL", HFILL }},
+ { &hf_x420_no_reply_received,
+ { "no-reply-received", "x420.no_reply_received",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "x420.NULL", HFILL }},
+ { &hf_x420_received_replies,
+ { "received-replies", "x420.received_replies",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "x420.SEQUENCE_OF_SequenceNumber", HFILL }},
+ { &hf_x420_received_replies_item,
+ { "Item", "x420.received_replies_item",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "p7.SequenceNumber", HFILL }},
+ { &hf_x420_no_ipn_received,
+ { "no-ipn-received", "x420.no_ipn_received",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "x420.NULL", HFILL }},
+ { &hf_x420_ipns_received,
+ { "ipns-received", "x420.ipns_received",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "x420.SEQUENCE_OF_SequenceNumber", HFILL }},
+ { &hf_x420_ipns_received_item,
+ { "Item", "x420.ipns_received_item",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "p7.SequenceNumber", HFILL }},
+ { &hf_x420_content_or_arguments,
+ { "content-or-arguments", "x420.content_or_arguments",
+ FT_UINT32, BASE_DEC, VALS(x420_T_content_or_arguments_vals), 0,
+ "x420.T_content_or_arguments", HFILL }},
+ { &hf_x420_original_content,
+ { "original-content", "x420.original_content",
+ FT_BYTES, BASE_HEX, NULL, 0,
+ "x420.OriginalContent", HFILL }},
+ { &hf_x420_original_security_arguments,
+ { "original-security-arguments", "x420.original_security_arguments",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "x420.T_original_security_arguments", HFILL }},
+ { &hf_x420_original_content_integrity_check,
+ { "original-content-integrity-check", "x420.original_content_integrity_check",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "x420.OriginalContentIntegrityCheck", HFILL }},
+ { &hf_x420_original_message_origin_authentication_check,
+ { "original-message-origin-authentication-check", "x420.original_message_origin_authentication_check",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "x420.OriginalMessageOriginAuthenticationCheck", HFILL }},
+ { &hf_x420_original_message_token,
+ { "original-message-token", "x420.original_message_token",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "x420.OriginalMessageToken", HFILL }},
+ { &hf_x420_security_diagnostic_code,
+ { "security-diagnostic-code", "x420.security_diagnostic_code",
+ FT_INT32, BASE_DEC, VALS(x420_SecurityDiagnosticCode_vals), 0,
+ "x420.SecurityDiagnosticCode", HFILL }},
+ { &hf_x420_BodyPartTokens_item,
+ { "Item", "x420.BodyPartTokens_item",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "x420.BodyPartTokens_item", HFILL }},
+ { &hf_x420_body_part_choice,
+ { "body-part-choice", "x420.body_part_choice",
+ FT_UINT32, BASE_DEC, VALS(x420_T_body_part_choice_vals), 0,
+ "x420.T_body_part_choice", HFILL }},
+ { &hf_x420_encryption_token,
+ { "encryption-token", "x420.encryption_token",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "x420.EncryptionToken", HFILL }},
+ { &hf_x420_message_or_content_body_part,
+ { "message-or-content-body-part", "x420.message_or_content_body_part",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "x420.BodyPartTokens", HFILL }},
+ { &hf_x420_encryption_algorithm_identifier,
+ { "encryption-algorithm-identifier", "x420.encryption_algorithm_identifier",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "x509af.AlgorithmIdentifier", HFILL }},
+ { &hf_x420_encrypted_key,
+ { "encrypted-key", "x420.encrypted_key",
+ FT_BYTES, BASE_HEX, NULL, 0,
+ "x420.BIT_STRING", HFILL }},
+ { &hf_x420_recipient_certificate_selector,
+ { "recipient-certificate-selector", "x420.recipient_certificate_selector",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "x509ce.CertificateAssertion", HFILL }},
+ { &hf_x420_recipient_certificate,
+ { "recipient-certificate", "x420.recipient_certificate",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "x509af.Certificates", HFILL }},
+ { &hf_x420_ForwardedContentToken_item,
+ { "Item", "x420.ForwardedContentToken_item",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "x420.ForwardedContentToken_item", HFILL }},
+ { &hf_x420_body_part_token_choice,
+ { "body-part-choice", "x420.body_part_choice",
+ FT_UINT32, BASE_DEC, VALS(x420_T_body_part_token_choice_vals), 0,
+ "x420.T_body_part_token_choice", HFILL }},
+ { &hf_x420_forwarding_token,
+ { "forwarding-token", "x420.forwarding_token",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "x411.MessageToken", HFILL }},
+ { &hf_x420_forwarded_content_token,
+ { "message-or-content-body-part", "x420.message_or_content_body_part",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "x420.ForwardedContentToken", HFILL }},
+ { &hf_x420_choice,
+ { "choice", "x420.choice",
+ FT_UINT32, BASE_DEC, VALS(x420_T_choice_vals), 0,
+ "x420.T_choice", HFILL }},
+ { &hf_x420_non_receipt_fields,
+ { "non-receipt-fields", "x420.non_receipt_fields",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "x420.NonReceiptFields", HFILL }},
+ { &hf_x420_receipt_fields,
+ { "receipt-fields", "x420.receipt_fields",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "x420.ReceiptFields", HFILL }},
+ { &hf_x420_other_notification_type_fields,
+ { "other-notification-type-fields", "x420.other_notification_type_fields",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "x420.OtherNotificationTypeFields", HFILL }},
{ &hf_x420_NotificationRequests_rn,
{ "rn", "x420.rn",
FT_BOOLEAN, 8, NULL, 0x80,
@@ -4523,9 +5748,25 @@ void proto_register_x420(void) {
{ "delete-object", "x420.delete-object",
FT_BOOLEAN, 8, NULL, 0x01,
"", HFILL }},
+ { &hf_x420_RecipientSecurityRequest_content_non_repudiation,
+ { "content-non-repudiation", "x420.content-non-repudiation",
+ FT_BOOLEAN, 8, NULL, 0x80,
+ "", HFILL }},
+ { &hf_x420_RecipientSecurityRequest_content_proof,
+ { "content-proof", "x420.content-proof",
+ FT_BOOLEAN, 8, NULL, 0x40,
+ "", HFILL }},
+ { &hf_x420_RecipientSecurityRequest_ipn_non_repudiation,
+ { "ipn-non-repudiation", "x420.ipn-non-repudiation",
+ FT_BOOLEAN, 8, NULL, 0x20,
+ "", HFILL }},
+ { &hf_x420_RecipientSecurityRequest_ipn_proof,
+ { "ipn-proof", "x420.ipn-proof",
+ FT_BOOLEAN, 8, NULL, 0x10,
+ "", HFILL }},
/*--- End of included file: packet-x420-hfarr.c ---*/
-#line 129 "packet-x420-template.c"
+#line 130 "packet-x420-template.c"
};
/* List of subtrees */
@@ -4553,14 +5794,15 @@ void proto_register_x420(void) {
&ett_x420_ExtensionsField,
&ett_x420_Body,
&ett_x420_BodyPart,
+ &ett_x420_T_basic,
&ett_x420_ExtendedBodyPart,
&ett_x420_IA5TextBodyPart,
&ett_x420_IA5TextParameters,
&ett_x420_G3FacsimileBodyPart,
&ett_x420_G3FacsimileParameters,
&ett_x420_G3FacsimileData,
- &ett_x420_G4Class1Data,
- &ett_x420_MixedModeData,
+ &ett_x420_G4Class1BodyPart,
+ &ett_x420_MixedModeBodyPart,
&ett_x420_TeletexBodyPart,
&ett_x420_TeletexParameters,
&ett_x420_TeletexData,
@@ -4571,7 +5813,7 @@ void proto_register_x420(void) {
&ett_x420_MessageBodyPart,
&ett_x420_MessageParameters,
&ett_x420_IPN,
- &ett_x420_T_choice,
+ &ett_x420_CommonFields,
&ett_x420_NonReceiptFields,
&ett_x420_ReceiptFields,
&ett_x420_NotificationExtensionsField,
@@ -4585,9 +5827,9 @@ void proto_register_x420(void) {
&ett_x420_BodyPartReference,
&ett_x420_T_stored_body_part,
&ett_x420_Languages,
- &ett_x420_Signature,
&ett_x420_BodyPartSignatures,
&ett_x420_BodyPartSignatures_item,
+ &ett_x420_Signature,
&ett_x420_IPMSecurityLabel,
&ett_x420_SEQUENCE_OF_BodyPartSecurityLabel,
&ett_x420_BodyPartSecurityLabel,
@@ -4602,9 +5844,6 @@ void proto_register_x420(void) {
&ett_x420_InformationCategory,
&ett_x420_ManualHandlingInstructions,
&ett_x420_GeneralTextParameters,
- &ett_x420_VoiceParameters,
- &ett_x420_ForwardedContentParameters,
- &ett_x420_SubmissionProof,
&ett_x420_FileTransferParameters,
&ett_x420_FileTransferData,
&ett_x420_RelatedStoredFile,
@@ -4634,9 +5873,36 @@ void proto_register_x420(void) {
&ett_x420_Password,
&ett_x420_Pass_Passwords,
&ett_x420_Application_Entity_Title,
+ &ett_x420_VoiceParameters,
+ &ett_x420_ForwardedContentParameters,
+ &ett_x420_SubmissionProof,
+ &ett_x420_IPMSynopsis,
+ &ett_x420_BodyPartSynopsis,
+ &ett_x420_MessageBodyPartSynopsis,
+ &ett_x420_NonMessageBodyPartSynopsis,
+ &ett_x420_BodyPartDescriptor,
+ &ett_x420_BodyPartSignatureVerification,
+ &ett_x420_BodyPartSignatureVerification_item,
+ &ett_x420_IPMLocation,
+ &ett_x420_SET_OF_SequenceNumber,
+ &ett_x420_CorrelatedDeliveredReplies,
+ &ett_x420_SEQUENCE_OF_SequenceNumber,
+ &ett_x420_CorrelatedDeliveredIPNs,
+ &ett_x420_RecipientSecurityRequest,
+ &ett_x420_IpnSecurityResponse,
+ &ett_x420_T_content_or_arguments,
+ &ett_x420_T_original_security_arguments,
+ &ett_x420_BodyPartTokens,
+ &ett_x420_BodyPartTokens_item,
+ &ett_x420_T_body_part_choice,
+ &ett_x420_EncryptionToken,
+ &ett_x420_ForwardedContentToken,
+ &ett_x420_ForwardedContentToken_item,
+ &ett_x420_T_body_part_token_choice,
+ &ett_x420_T_choice,
/*--- End of included file: packet-x420-ettarr.c ---*/
-#line 135 "packet-x420-template.c"
+#line 136 "packet-x420-template.c"
};
/* Register protocol */
@@ -4655,7 +5921,6 @@ void proto_reg_handoff_x420(void) {
/*--- Included file: packet-x420-dis-tab.c ---*/
#line 1 "packet-x420-dis-tab.c"
- register_ber_oid_dissector("1.2.826.0.1004.10.1.1", dissect_OriginatingUA_PDU, proto_x420, "nexor-originating-ua");
register_ber_oid_dissector("2.6.1.19.0", dissect_AbsenceAdvice_PDU, proto_x420, "id-on-absence-advice");
register_ber_oid_dissector("2.6.1.19.1", dissect_ChangeOfAddressAdvice_PDU, proto_x420, "id-on-change-of-address-advice");
register_ber_oid_dissector("2.6.1.17.2", dissect_IPMAssemblyInstructions_PDU, proto_x420, "id-mst-assembly-instructions");
@@ -4678,7 +5943,7 @@ void proto_reg_handoff_x420(void) {
register_ber_oid_dissector("2.6.1.11.0", dissect_IA5TextParameters_PDU, proto_x420, "id-ep-ia5-text");
register_ber_oid_dissector("2.6.1.4.2", dissect_G3FacsimileData_PDU, proto_x420, "id-et-g3-facsimile");
register_ber_oid_dissector("2.6.1.11.2", dissect_G3FacsimileParameters_PDU, proto_x420, "id-ep-g3-facsimile");
- register_ber_oid_dissector("2.6.1.4.3", dissect_G4Class1Data_PDU, proto_x420, "id-et-g4-class1");
+ register_ber_oid_dissector("2.6.1.4.3", dissect_G4Class1BodyPart_PDU, proto_x420, "id-et-g4-class1");
register_ber_oid_dissector("2.6.1.4.4", dissect_TeletexData_PDU, proto_x420, "id-et-teletex");
register_ber_oid_dissector("2.6.1.11.4", dissect_TeletexParameters_PDU, proto_x420, "id-ep-teletex");
register_ber_oid_dissector("2.6.1.4.5", dissect_VideotexData_PDU, proto_x420, "id-et-videotex");
@@ -4687,7 +5952,7 @@ void proto_reg_handoff_x420(void) {
register_ber_oid_dissector("2.6.1.11.6", dissect_EncryptedParameters_PDU, proto_x420, "id-ep-encrypted");
register_ber_oid_dissector("2.6.1.4.7", dissect_MessageData_PDU, proto_x420, "id-et-message");
register_ber_oid_dissector("2.6.1.11.7", dissect_MessageParameters_PDU, proto_x420, "id-ep-message");
- register_ber_oid_dissector("2.6.1.4.8", dissect_MixedModeData_PDU, proto_x420, "id-et-mixed-mode");
+ register_ber_oid_dissector("2.6.1.4.8", dissect_MixedModeBodyPart_PDU, proto_x420, "id-et-mixed-mode");
register_ber_oid_dissector("2.6.1.4.9", dissect_BilaterallyDefinedBodyPart_PDU, proto_x420, "id-et-bilaterally-defined");
register_ber_oid_dissector("2.6.1.11.11", dissect_GeneralTextParameters_PDU, proto_x420, "id-ep-general-text");
register_ber_oid_dissector("2.6.1.4.11", dissect_GeneralTextData_PDU, proto_x420, "id-et-general-text");
@@ -4702,10 +5967,52 @@ void proto_reg_handoff_x420(void) {
register_ber_oid_dissector("2.6.1.11.17.2.6.1.10.0", dissect_ForwardedContentParameters_PDU, proto_x420, "id-ep-content-p2");
register_ber_oid_dissector("2.6.1.4.17.2.6.1.10.0", dissect_InformationObject_PDU, proto_x420, "id-et-content-p2");
register_ber_oid_dissector("2.6.1.11.17.1.3.26.0.4406.0.4.1", dissect_ForwardedContentParameters_PDU, proto_x420, "id-ep-content-p772");
+ register_ber_oid_dissector("2.6.1.6.0", dissect_IPMEntryType_PDU, proto_x420, "id-sat-ipm-entry-type");
+ register_ber_oid_dissector("2.6.1.6.1", dissect_IPMSynopsis_PDU, proto_x420, "id-sat-ipm-synopsis");
+ register_ber_oid_dissector("2.6.1.6.2", dissect_BodyPartDescriptor_PDU, proto_x420, "id-sat-body-parts-summary");
+ register_ber_oid_dissector("2.6.1.7.0", dissect_Heading_PDU, proto_x420, "id-hat-heading");
+ register_ber_oid_dissector("2.6.1.7.1", dissect_ThisIPMField_PDU, proto_x420, "id-hat-this-ipm");
+ register_ber_oid_dissector("2.6.1.7.2", dissect_OriginatorField_PDU, proto_x420, "id-hat-originator");
+ register_ber_oid_dissector("2.6.1.7.3", dissect_RepliedToIPMField_PDU, proto_x420, "id-hat-replied-to-IPM");
+ register_ber_oid_dissector("2.6.1.7.4", dissect_SubjectField_PDU, proto_x420, "id-hat-subject");
+ register_ber_oid_dissector("2.6.1.7.5", dissect_ExpiryTimeField_PDU, proto_x420, "id-hat-expiry-time");
+ register_ber_oid_dissector("2.6.1.7.6", dissect_ReplyTimeField_PDU, proto_x420, "id-hat-reply-time");
+ register_ber_oid_dissector("2.6.1.7.7", dissect_ImportanceField_PDU, proto_x420, "id-hat-importance");
+ register_ber_oid_dissector("2.6.1.7.8", dissect_SensitivityField_PDU, proto_x420, "id-hat-sensitivity");
+ register_ber_oid_dissector("2.6.1.7.9", dissect_AutoForwardedField_PDU, proto_x420, "id-hat-auto-forwarded");
+ register_ber_oid_dissector("2.6.1.7.10", dissect_AuthorizingUsersSubfield_PDU, proto_x420, "id-hat-authorizing-users");
+ register_ber_oid_dissector("2.6.1.7.11", dissect_PrimaryRecipientsSubfield_PDU, proto_x420, "id-hat-primary-recipients");
+ register_ber_oid_dissector("2.6.1.7.12", dissect_CopyRecipientsSubfield_PDU, proto_x420, "id-hat-copy-recipients");
+ register_ber_oid_dissector("2.6.1.7.13", dissect_BlindCopyRecipientsSubfield_PDU, proto_x420, "id-hat-blind-copy-recipients");
+ register_ber_oid_dissector("2.6.1.7.14", dissect_ObsoletedIPMsSubfield_PDU, proto_x420, "id-hat-obsoleted-IPMs");
+ register_ber_oid_dissector("2.6.1.7.15", dissect_RelatedIPMsSubfield_PDU, proto_x420, "id-hat-related-IPMs");
+ register_ber_oid_dissector("2.6.1.7.16", dissect_ReplyRecipientsSubfield_PDU, proto_x420, "id-hat-reply-recipients");
+ register_ber_oid_dissector("2.6.1.7.17", dissect_IncompleteCopy_PDU, proto_x420, "id-hat-incomplete-copy");
+ register_ber_oid_dissector("2.6.1.7.18", dissect_Language_PDU, proto_x420, "id-hat-languages");
+ register_ber_oid_dissector("2.6.1.7.19", dissect_ORDescriptor_PDU, proto_x420, "id-hat-rn-requestors");
+ register_ber_oid_dissector("2.6.1.7.20", dissect_ORDescriptor_PDU, proto_x420, "id-hat-nrn-requestors");
+ register_ber_oid_dissector("2.6.1.7.21", dissect_ORDescriptor_PDU, proto_x420, "id-hat-reply-requestors");
+ register_ber_oid_dissector("2.6.1.7.22", dissect_AutoSubmitted_PDU, proto_x420, "id-hat-auto-submitted");
+ register_ber_oid_dissector("2.6.1.7.23", dissect_BodyPartSignatures_PDU, proto_x420, "id-hat-body-part-signatures");
+ register_ber_oid_dissector("2.6.1.7.24", dissect_IPMSecurityLabel_PDU, proto_x420, "id-hat-ipm-security-label");
+ register_ber_oid_dissector("2.6.1.7.25", dissect_BodyPartSecurityLabel_PDU, proto_x420, "id-hat-body-part-security-label");
+ register_ber_oid_dissector("2.6.1.7.26", dissect_BodyPartTokens_PDU, proto_x420, "id-hat-body-part-encryption-token");
+ register_ber_oid_dissector("2.6.1.7.27", dissect_AuthorizationTime_PDU, proto_x420, "id-hat-authorization-time");
+ register_ber_oid_dissector("2.6.1.7.28", dissect_CirculationMember_PDU, proto_x420, "id-hat-circulation-list-recipients");
+ register_ber_oid_dissector("2.6.1.7.29", dissect_DistributionCode_PDU, proto_x420, "id-hat-distribution-codes");
+ register_ber_oid_dissector("2.6.1.7.30", dissect_ExtendedSubject_PDU, proto_x420, "id-hat-extended-subject");
+ register_ber_oid_dissector("2.6.1.7.31", dissect_InformationCategory_PDU, proto_x420, "id-hat-information-category");
+ register_ber_oid_dissector("2.6.1.7.32", dissect_ManualHandlingInstruction_PDU, proto_x420, "id-hat-manual-handling-instructions");
+ register_ber_oid_dissector("2.6.1.7.33", dissect_OriginatorsReference_PDU, proto_x420, "id-hat-originators-reference");
+ register_ber_oid_dissector("2.6.1.7.34", dissect_PrecedencePolicyIdentifier_PDU, proto_x420, "id-hat-precedence-policy-id");
+ register_ber_oid_dissector("2.6.1.7.35", dissect_ForwardedContentToken_PDU, proto_x420, "id-hat-forwarded-content-token");
+ register_ber_oid_dissector("2.6.1.7.37", dissect_Precedence_PDU, proto_x420, "id-hat-precedence");
+ register_ber_oid_dissector("2.6.1.7.38", dissect_BodyPartSignatureVerification_PDU, proto_x420, "id-hat-body-part-signature-verification-status");
+ register_ber_oid_dissector("2.6.1.8.0", dissect_Body_PDU, proto_x420, "id-bat-body");
/*--- End of included file: packet-x420-dis-tab.c ---*/
-#line 151 "packet-x420-template.c"
+#line 152 "packet-x420-template.c"
register_ber_oid_dissector("2.6.1.10.0", dissect_x420, proto_x420, "InterPersonal Message (1984)");
register_ber_oid_dissector("2.6.1.10.1", dissect_x420, proto_x420, "InterPersonal Message (1988)");
diff --git a/epan/dissectors/packet-x420.h b/epan/dissectors/packet-x420.h
index 0c9bd4b346..50880c519c 100644
--- a/epan/dissectors/packet-x420.h
+++ b/epan/dissectors/packet-x420.h
@@ -1,7 +1,7 @@
/* Do not modify this file. */
/* It is created automatically by the ASN.1 to Wireshark dissector compiler */
/* packet-x420.h */
-/* ../../tools/asn2wrs.py -b -e -X -T -p x420 -c x420.cnf -s packet-x420-template x420.asn ftbp.asn */
+/* ../../tools/asn2wrs.py -b -e -p x420 -c x420.cnf -s packet-x420-template IPMSInformationObjects.asn IPMSHeadingExtensions.asn IPMSExtendedBodyPartTypes2.asn IPMSFileTransferBodyPartType.asn IPMSExtendedVoiceBodyPartType.asn IPMSForwardedContentBodyPartType.asn IPMSMessageStoreAttributes.asn IPMSSecurityExtensions.asn IPMSObjectIdentifiers.asn */
/* Input file: packet-x420-template.h */