diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-10 20:34:10 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-10 20:34:10 +0000 |
commit | e4ba6dbc3f1e76890b22773807ea37fe8fa2b1bc (patch) | |
tree | 68cb5ef9081156392f1dd62a00c6ccc1451b93df /epan/dissectors/asn1/p22 | |
parent | Initial commit. (diff) | |
download | wireshark-e4ba6dbc3f1e76890b22773807ea37fe8fa2b1bc.tar.xz wireshark-e4ba6dbc3f1e76890b22773807ea37fe8fa2b1bc.zip |
Adding upstream version 4.2.2.upstream/4.2.2
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'epan/dissectors/asn1/p22')
-rw-r--r-- | epan/dissectors/asn1/p22/CMakeLists.txt | 61 | ||||
-rw-r--r-- | epan/dissectors/asn1/p22/IPMSExtendedBodyPartTypes2.asn | 38 | ||||
-rw-r--r-- | epan/dissectors/asn1/p22/IPMSExtendedVoiceBodyPartType.asn | 40 | ||||
-rw-r--r-- | epan/dissectors/asn1/p22/IPMSFileTransferBodyPartType.asn | 262 | ||||
-rw-r--r-- | epan/dissectors/asn1/p22/IPMSForwardedContentBodyPartType.asn | 54 | ||||
-rw-r--r-- | epan/dissectors/asn1/p22/IPMSHeadingExtensions.asn | 267 | ||||
-rw-r--r-- | epan/dissectors/asn1/p22/IPMSInformationObjects.asn | 643 | ||||
-rw-r--r-- | epan/dissectors/asn1/p22/IPMSMessageStoreAttributes.asn | 1175 | ||||
-rw-r--r-- | epan/dissectors/asn1/p22/IPMSObjectIdentifiers.asn | 508 | ||||
-rw-r--r-- | epan/dissectors/asn1/p22/IPMSSecurityExtensions.asn | 149 | ||||
-rw-r--r-- | epan/dissectors/asn1/p22/IPMSUpperBounds.asn | 48 | ||||
-rw-r--r-- | epan/dissectors/asn1/p22/p22.cnf | 305 | ||||
-rw-r--r-- | epan/dissectors/asn1/p22/packet-p22-template.c | 136 | ||||
-rw-r--r-- | epan/dissectors/asn1/p22/packet-p22-template.h | 20 |
14 files changed, 3706 insertions, 0 deletions
diff --git a/epan/dissectors/asn1/p22/CMakeLists.txt b/epan/dissectors/asn1/p22/CMakeLists.txt new file mode 100644 index 00000000..8f2b196c --- /dev/null +++ b/epan/dissectors/asn1/p22/CMakeLists.txt @@ -0,0 +1,61 @@ +# CMakeLists.txt +# +# Wireshark - Network traffic analyzer +# By Gerald Combs <gerald@wireshark.org> +# Copyright 1998 Gerald Combs +# +# SPDX-License-Identifier: GPL-2.0-or-later +# + +set( PROTOCOL_NAME p22 ) + +set( PROTO_OPT ) + +set( EXPORT_FILES + ${PROTOCOL_NAME}-exp.cnf +) + +set( EXT_ASN_FILE_LIST +) + +set( ASN_FILE_LIST + IPMSInformationObjects.asn + IPMSHeadingExtensions.asn + IPMSExtendedBodyPartTypes2.asn + IPMSFileTransferBodyPartType.asn + IPMSExtendedVoiceBodyPartType.asn + IPMSForwardedContentBodyPartType.asn + IPMSMessageStoreAttributes.asn + IPMSSecurityExtensions.asn + IPMSObjectIdentifiers.asn + IPMSUpperBounds.asn +) + +set( EXTRA_DIST + ${ASN_FILE_LIST} + packet-${PROTOCOL_NAME}-template.c + packet-${PROTOCOL_NAME}-template.h + ${PROTOCOL_NAME}.cnf +) + +set( SRC_FILES + ${EXTRA_DIST} + ${EXT_ASN_FILE_LIST} +) + +set( A2W_FLAGS -b -C ) + +set( EXTRA_CNF + "${CMAKE_CURRENT_BINARY_DIR}/../acse/acse-exp.cnf" + "${CMAKE_CURRENT_BINARY_DIR}/../ftam/ftam-exp.cnf" + "${CMAKE_CURRENT_BINARY_DIR}/../p7/p7-exp.cnf" + "${CMAKE_CURRENT_BINARY_DIR}/../p1/p1-exp.cnf" + "${CMAKE_CURRENT_BINARY_DIR}/../x509af/x509af-exp.cnf" + "${CMAKE_CURRENT_BINARY_DIR}/../x509ce/x509ce-exp.cnf" +) + +set( EXPORT_DEPENDS + "${CMAKE_CURRENT_BINARY_DIR}/../p1/p1-exp.cnf" +) + +ASN2WRS() diff --git a/epan/dissectors/asn1/p22/IPMSExtendedBodyPartTypes2.asn b/epan/dissectors/asn1/p22/IPMSExtendedBodyPartTypes2.asn new file mode 100644 index 00000000..76facd1b --- /dev/null +++ b/epan/dissectors/asn1/p22/IPMSExtendedBodyPartTypes2.asn @@ -0,0 +1,38 @@ +-- http://www.itu.int/ITU-T/asn1/database/itu-t/x/x420/1999/index.html +-- Module IPMSExtendedBodyPartTypes2 (X.420:06/1999) +IPMSExtendedBodyPartTypes2 {iso standard mhs(10021) ipms(7) modules(0) + extended-body-part-types-2(1)} DEFINITIONS IMPLICIT TAGS ::= +BEGIN + +-- Prologue +-- Exports everything. +IMPORTS + -- IPMS Information Objects + EXTENDED-BODY-PART-TYPE + --== + FROM IPMSInformationObjects {joint-iso-itu-t mhs(6) ipms(1) modules(0) + information-objects(2) version-1999(1)} + -- IPMS Object Identifiers + id-ep-general-text, id-et-general-text + --== + FROM IPMSObjectIdentifiers {joint-iso-itu-t mhs(6) ipms(1) modules(0) + object-identifiers(0) version-1999(1)}; + +-- General Text body part +general-text-body-part EXTENDED-BODY-PART-TYPE ::= { + PARAMETERS {GeneralTextParameters + IDENTIFIED BY id-ep-general-text}, + DATA {GeneralTextData + IDENTIFIED BY id-et-general-text} +} + +GeneralTextParameters ::= SET OF CharacterSetRegistration + +GeneralTextData ::= GeneralString + +CharacterSetRegistration ::= INTEGER(1..32767) + +END -- of IPMSExtendedBodyPartTypes2 + +-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D + diff --git a/epan/dissectors/asn1/p22/IPMSExtendedVoiceBodyPartType.asn b/epan/dissectors/asn1/p22/IPMSExtendedVoiceBodyPartType.asn new file mode 100644 index 00000000..f745b52c --- /dev/null +++ b/epan/dissectors/asn1/p22/IPMSExtendedVoiceBodyPartType.asn @@ -0,0 +1,40 @@ +-- http://www.itu.int/ITU-T/asn1/database/itu-t/x/x420/1999/index.html +-- Module IPMSExtendedVoiceBodyPartType (X.420:06/1999) +IPMSExtendedVoiceBodyPartType {joint-iso-itu-t mhs(6) ipms(1) modules(0) + extended-voice-body-part-type(11)} DEFINITIONS IMPLICIT TAGS ::= +BEGIN + +-- Prologue +-- Exports everything. +IMPORTS + -- IPMS Information Objects + EXTENDED-BODY-PART-TYPE + --== + FROM IPMSInformationObjects {joint-iso-itu-t mhs(6) ipms(1) modules(0) + information-objects(2) version-1999(1)} + -- IPMS Object Identifiers + id-ep-voice, id-et-voice + --== + FROM IPMSObjectIdentifiers {joint-iso-itu-t mhs(6) ipms(1) modules(0) + object-identifiers(0) version-1999(1)}; + +-- Extended Voice body part +voice-body-part EXTENDED-BODY-PART-TYPE ::= { + PARAMETERS {VoiceParameters + IDENTIFIED BY id-ep-voice}, + DATA {VoiceData + IDENTIFIED BY id-et-voice} +} + +VoiceParameters ::= SEQUENCE { + voice-message-duration [0] INTEGER OPTIONAL, -- In seconds + voice-encoding-type [1] OBJECT IDENTIFIER, + supplementary-information [2] IA5String OPTIONAL +} + +VoiceData ::= OCTET STRING + +END -- of IPMSExtendedVoiceBodyPartType + +-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D + diff --git a/epan/dissectors/asn1/p22/IPMSFileTransferBodyPartType.asn b/epan/dissectors/asn1/p22/IPMSFileTransferBodyPartType.asn new file mode 100644 index 00000000..e5c00373 --- /dev/null +++ b/epan/dissectors/asn1/p22/IPMSFileTransferBodyPartType.asn @@ -0,0 +1,262 @@ +-- http://www.itu.int/ITU-T/asn1/database/itu-t/x/x420/1999/index.html +-- Module IPMSFileTransferBodyPartType (X.420:06/1999) +IPMSFileTransferBodyPartType {joint-iso-itu-t mhs(6) ipms(1) modules(0) + file-transfer-body-part-type(9)} DEFINITIONS IMPLICIT TAGS ::= +BEGIN + +-- Prologue +-- Exports everything. +IMPORTS + -- FTAM Attribute Types + Attribute-Extensions, Concurrency-Access, Date-and-Time-Attribute, + Legal-Qualification-Attribute, Object-Availability-Attribute, + Object-Size-Attribute, Pathname, Permitted-Actions-Attribute, + Private-Use-Attribute + --== + FROM ISO8571-FTAM {iso standard 8571 application-context(1) iso-ftam(1)} + -- ACSE definitions of AP-title and AE-qualifier + AE-qualifier, AP-title + --== + FROM ACSE-1 {joint-iso-itu-t association-control(2) modules(0) apdus(0) + version1(1)} + -- IPMS Information Objects + EXTENDED-BODY-PART-TYPE, ExtensionsField + --== + FROM IPMSInformationObjects {joint-iso-itu-t mhs(6) ipms(1) modules(0) + information-objects(2) version-1999(1)} + -- IPMS Object Identifiers + id-ep-file-transfer, id-et-file-transfer + --== + FROM IPMSObjectIdentifiers {joint-iso-itu-t mhs(6) ipms(1) modules(0) + object-identifiers(0) version-1999(1)} + -- MTS Abstract Service + ORName + --== + FROM MTSAbstractService {joint-iso-itu-t mhs(6) mts(3) modules(0) + mts-abstract-service(1) version-1999(1)}; + +-- File Transfer body part +file-transfer-body-part EXTENDED-BODY-PART-TYPE ::= { + PARAMETERS {FileTransferParameters + IDENTIFIED BY id-ep-file-transfer}, + DATA {FileTransferData + IDENTIFIED BY id-et-file-transfer} +} + +FileTransferParameters ::= SEQUENCE { + related-stored-file [0] RelatedStoredFile OPTIONAL, + contents-type + [1] ContentsTypeParameter OPTIONAL, +-- WS: asn2wrs does not handle DEFAULT, so we make the parameters OPTIONAL +-- DEFAULT +-- document-type: +-- {document-type-name +-- {iso standard 8571 document-type(5) unstructured-binary(3)}}, + environment [2] EnvironmentParameter OPTIONAL, + compression [3] CompressionParameter OPTIONAL, + file-attributes [4] FileAttributes OPTIONAL, + extensions [5] ExtensionsField OPTIONAL +} + +FileTransferData ::= SEQUENCE OF EXTERNAL + +-- This conveys a sequence of data values representing file contents; +-- The rules for generating this sequence are implied by the value of the contents-type parameter. +RelatedStoredFile ::= + SET OF + SEQUENCE {file-identifier FileIdentifier, + relationship + Relationship DEFAULT explicit-relationship:unspecified + } + +FileIdentifier ::= CHOICE { + pathname-and-version [0] PathnameandVersion, + cross-reference [1] CrossReference +} + +PathnameandVersion ::= SEQUENCE { + pathname [0] Pathname-Attribute, + file-version [1] GraphicString OPTIONAL +} + +CrossReference ::= SEQUENCE { + application-cross-reference [0] OCTET STRING, + message-reference [1] MessageReference OPTIONAL, + body-part-reference [2] INTEGER OPTIONAL +} + +MessageReference ::= SET { + user [0] ORName OPTIONAL, + -- Defined in 8.5.5 of ITU-T Rec. X.411 | ISO/IEC 10021-4 + user-relative-identifier [1] PrintableString +} + +Relationship ::= CHOICE { + explicit-relationship [0] ExplicitRelationship, + descriptive-relationship [1] GraphicString +} + +ExplicitRelationship ::= INTEGER { + unspecified(0), new-file(1), replacement(2), extension(3)} + +ContentsTypeParameter ::= Contents-Type-Attribute + +DOCUMENT-PARAMETER ::= CLASS {&Type +} + +Contents-Type-Attribute ::= CHOICE { + document-type + [0] SEQUENCE {document-type-name Document-Type-Name, + parameter [0] DOCUMENT-PARAMETER.&Type OPTIONAL + }, + -- The actual types to be used for values of the parameter field + -- are defined in the named document type. + constraint-set-and-abstract-syntax + [1] SEQUENCE {constraint-set-name Constraint-Set-Name, + abstract-syntax-name Abstract-Syntax-Name} +} + +Document-Type-Name ::= OBJECT IDENTIFIER + +-- WS: Moved to before used +--DOCUMENT-PARAMETER ::= CLASS {&Type +--} + +Constraint-Set-Name ::= OBJECT IDENTIFIER + +Abstract-Syntax-Name ::= OBJECT IDENTIFIER + +EnvironmentParameter ::= SEQUENCE { + application-reference [0] GeneralIdentifier OPTIONAL, + machine [1] GeneralIdentifier OPTIONAL, + operating-system [2] OBJECT IDENTIFIER OPTIONAL, + user-visible-string [3] SEQUENCE OF GraphicString OPTIONAL +} + +GeneralIdentifier ::= CHOICE { + registered-identifier [0] OBJECT IDENTIFIER, + descriptive-identifier [1] SEQUENCE OF GraphicString +} + +COMPRESSION-ALGORITHM ::= TYPE-IDENTIFIER + +CompressionParameter ::= SEQUENCE { + compression-algorithm-id + [0] TYPE-IDENTIFIER.&id({CompressionAlgorithmTable}), + compression-algorithm-param + [1] TYPE-IDENTIFIER.&Type + ({CompressionAlgorithmTable}{@compression-algorithm-id}) +} + +-- WS: Moved to before where used +--COMPRESSION-ALGORITHM ::= TYPE-IDENTIFIER + +CompressionAlgorithmTable COMPRESSION-ALGORITHM ::= + {...} + +FileAttributes ::= SEQUENCE { + pathname Pathname-Attribute OPTIONAL, + permitted-actions + [1] Permitted-Actions-Attribute OPTIONAL, + storage-account [3] Account-Attribute OPTIONAL, + date-and-time-of-creation + [4] Date-and-Time-Attribute OPTIONAL, + date-and-time-of-last-modification + [5] Date-and-Time-Attribute OPTIONAL, + date-and-time-of-last-read-access + [6] Date-and-Time-Attribute OPTIONAL, + date-and-time-of-last-attribute-modification + [7] Date-and-Time-Attribute OPTIONAL, + identity-of-creator + [8] User-Identity-Attribute OPTIONAL, + identity-of-last-modifier + [9] User-Identity-Attribute OPTIONAL, + identity-of-last-reader + [10] User-Identity-Attribute OPTIONAL, + identity-of-last-attribute-modifier + [11] User-Identity-Attribute OPTIONAL, + object-availability + [12] Object-Availability-Attribute OPTIONAL, + object-size + [13] Object-Size-Attribute OPTIONAL, + future-object-size + [14] Object-Size-Attribute OPTIONAL, + access-control + [15] Access-Control-Attribute OPTIONAL, + legal-qualifications + [16] Legal-Qualification-Attribute OPTIONAL, + private-use + [17] Private-Use-Attribute OPTIONAL, + attribute-extensions + [22] Attribute-Extensions OPTIONAL +} + +Pathname-Attribute ::= CHOICE { + incomplete-pathname [0] Pathname, + complete-pathname [23] Pathname +} + +Account-Attribute ::= CHOICE { + no-value-available [0] NULL, + -- Indicates partial support of this attribute + actual-values Account +} + +Account ::= GraphicString + +User-Identity-Attribute ::= CHOICE { + no-value-available [0] NULL, + -- Indicates partial support of this attribute. + actual-values User-Identity +} + +User-Identity ::= GraphicString + +Access-Control-Attribute ::= CHOICE { + no-value-available [0] NULL, + -- Indicates partial support of this attribute. + actual-values [1] SET OF Access-Control-Element +} + +-- The semantics of this attribute are described in ISO 8571-2 +Access-Control-Element ::= SEQUENCE { + action-list [0] Access-Request, + concurrency-access [1] Concurrency-Access OPTIONAL, + identity [2] User-Identity OPTIONAL, + passwords [3] Access-Passwords OPTIONAL, + location [4] Application-Entity-Title OPTIONAL +} + +Access-Request ::= BIT STRING { + read(0), insert(1), replace(2), extend(3), erase(4), read-attribute(5), + change-attribute(6), delete-object(7)} + +Access-Passwords ::= SEQUENCE { + read-password [0] Password, + insert-password [1] Password, + replace-password [2] Password, + extend-password [3] Password, + erase-password [4] Password, + read-attribute-password [5] Password, + change-attribute-password [6] Password, + delete-password [7] Password, + pass-passwords [8] Pass-Passwords, + link-password [9] Password +} + +Password ::= CHOICE { + graphic-string GraphicString, + octet-string OCTET STRING +} + +Pass-Passwords ::= SEQUENCE OF Password + +Application-Entity-Title ::= SEQUENCE { + ap-title AP-title, + ae-qualifier AE-qualifier +} + +END -- of IPMSFileTransferBodyPartType + +-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D + diff --git a/epan/dissectors/asn1/p22/IPMSForwardedContentBodyPartType.asn b/epan/dissectors/asn1/p22/IPMSForwardedContentBodyPartType.asn new file mode 100644 index 00000000..f6af7fcd --- /dev/null +++ b/epan/dissectors/asn1/p22/IPMSForwardedContentBodyPartType.asn @@ -0,0 +1,54 @@ +-- http://www.itu.int/ITU-T/asn1/database/itu-t/x/x420/1999/index.html +-- Module IPMSForwardedContentBodyPartType (X.420:06/1999) +IPMSForwardedContentBodyPartType {joint-iso-itu-t mhs(6) ipms(1) modules(0) + forwarded-content-body-part-type(15)} DEFINITIONS IMPLICIT TAGS ::= +BEGIN + +-- Prologue +-- Exports everything. +IMPORTS + -- MTS Abstract Service + Content, ExtendedContentType, MessageDeliveryIdentifier, MessageDeliveryTime, + MessageSubmissionEnvelope, OriginatingMTACertificate, + OtherMessageDeliveryFields, ProofOfSubmission + --== + FROM MTSAbstractService {joint-iso-itu-t mhs(6) mts(3) modules(0) + mts-abstract-service(1) version-1999(1)} + -- IPMS Information Objects + EXTENDED-BODY-PART-TYPE + --== + FROM IPMSInformationObjects {joint-iso-itu-t mhs(6) ipms(1) modules(0) + information-objects(2) version-1999(1)} + -- IPMS Object Identifiers + id-ep-content, id-et-content + --== + FROM IPMSObjectIdentifiers {joint-iso-itu-t mhs(6) ipms(1) modules(0) + object-identifiers(0) version-1999(1)}; + +-- Forwarded Content body part +content-body-part{ExtendedContentType:content-type} EXTENDED-BODY-PART-TYPE ::= + { + PARAMETERS + {ForwardedContentParameters + IDENTIFIED BY {id-ep-content content-type}}, + DATA {Content + IDENTIFIED BY {id-et-content content-type}} +} + +ForwardedContentParameters ::= SET { + delivery-time [0] MessageDeliveryTime OPTIONAL, + delivery-envelope [1] OtherMessageDeliveryFields OPTIONAL, + mts-identifier [2] MessageDeliveryIdentifier OPTIONAL, + submission-proof [3] SubmissionProof OPTIONAL +} + +SubmissionProof ::= SET { + proof-of-submission [0] ProofOfSubmission, + originating-MTA-certificate [1] OriginatingMTACertificate, + message-submission-envelope MessageSubmissionEnvelope +} + +END -- of IPMSForwardedContentBodyPartType + +-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D + diff --git a/epan/dissectors/asn1/p22/IPMSHeadingExtensions.asn b/epan/dissectors/asn1/p22/IPMSHeadingExtensions.asn new file mode 100644 index 00000000..f7f80092 --- /dev/null +++ b/epan/dissectors/asn1/p22/IPMSHeadingExtensions.asn @@ -0,0 +1,267 @@ +-- http://www.itu.int/ITU-T/asn1/database/itu-t/x/x420/1999/index.html +-- Module IPMSHeadingExtensions (X.420:06/1999) +IPMSHeadingExtensions {joint-iso-itu-t mhs(6) ipms(1) modules(0) + heading-extensions(6) version-1999(1)} DEFINITIONS IMPLICIT TAGS ::= +BEGIN + +-- Prologue +-- Exports everything. +IMPORTS + -- IPMS Information Objects + IPMS-EXTENSION, ORDescriptor, RecipientSpecifier, ThisIPMField, BodyPart, + BodyPartNumber + --== + FROM IPMSInformationObjects {joint-iso-itu-t mhs(6) ipms(1) modules(0) + information-objects(2) version-1999(1)} + -- MTS Abstract Service + ExtendedCertificates, SecurityLabel, UniversalOrBMPString{} + --== + FROM MTSAbstractService {joint-iso-itu-t mhs(6) mts(3) modules(0) + mts-abstract-service(1) version-1999(1)} + -- Directory Authentication Framework + AlgorithmIdentifier, SIGNATURE{}, SIGNED{} + --== + FROM AuthenticationFramework {joint-iso-itu-t ds(5) module(1) + authenticationFramework(7) 3} + -- Directory Certificate Extensions + CertificateAssertion + --== + FROM CertificateExtensions {joint-iso-itu-t ds(5) module(1) + certificateExtensions(26) 0} + -- IPMS upper bounds + ub-alpha-code-length, ub-circulation-list-members, ub-distribution-codes, + ub-extended-subject-length, ub-information-categories, + ub-information-category-length, ub-manual-handling-instruction-length, + ub-manual-handling-instructions, ub-originators-reference-length, + ub-precedence + --== + FROM IPMSUpperBounds {joint-iso-itu-t mhs(6) ipms(1) modules(0) + upper-bounds(10) version-1999(1)} + -- IPMS Object Identifiers + id-hex-authorization-time, id-hex-auto-submitted, + id-hex-body-part-signatures, id-hex-circulation-list-recipients, + id-hex-distribution-codes, id-hex-extended-subject, id-hex-incomplete-copy, + id-hex-information-category, id-hex-ipm-security-label, id-hex-languages, + id-hex-manual-handling-instructions, id-hex-originators-reference, + id-hex-precedence-policy-id, id-rex-circulation-list-indicator, + id-rex-precedence + --== + FROM IPMSObjectIdentifiers {joint-iso-itu-t mhs(6) ipms(1) modules(0) + object-identifiers(0) version-1999(1)}; + +-- Incomplete Copy +incomplete-copy IPMS-EXTENSION ::= { + VALUE IncompleteCopy, + IDENTIFIED BY id-hex-incomplete-copy +} + +IncompleteCopy ::= NULL + +-- Languages +languages IPMS-EXTENSION ::= { + VALUE --SET OF Language-- Languages, + IDENTIFIED BY id-hex-languages +} + +--WS: Support dissection of extension +Languages ::= SET OF Language + +Language ::= PrintableString(SIZE (2 | 5)) + +-- Auto-submitted +auto-submitted IPMS-EXTENSION ::= { + VALUE AutoSubmitted, + IDENTIFIED BY id-hex-auto-submitted +} + +AutoSubmitted ::= ENUMERATED { + not-auto-submitted(0), auto-generated(1), auto-replied(2)} + +body-part-signatures IPMS-EXTENSION ::= { + VALUE BodyPartSignatures, + IDENTIFIED BY id-hex-body-part-signatures +} + +BodyPartSignatures ::= + SET OF + SET {body-part-number BodyPartNumber, + body-part-signature BodyPartSignature, + originator-certificate-selector [1] CertificateAssertion OPTIONAL, + originator-certificates [0] ExtendedCertificates OPTIONAL, + ...} + +--BodyPartNumber ::= INTEGER(1..MAX) + +-- WS: Import Signature definition +Signature ::= SEQUENCE { + algorithmIdentifier AlgorithmIdentifier, + encrypted BIT STRING +} + +BodyPartSignature ::= Signature +-- SIGNATURE +-- {SEQUENCE {signature-algorithm-identifier AlgorithmIdentifier, +-- body-part BodyPart, +-- body-part-security-label SecurityLabel OPTIONAL +-- }} + +ipm-security-label IPMS-EXTENSION ::= { + VALUE IPMSecurityLabel, + IDENTIFIED BY id-hex-ipm-security-label +} + +IPMSecurityLabel ::= SEQUENCE { + content-security-label [0] SecurityLabel, + heading-security-label [1] SecurityLabel OPTIONAL, + body-part-security-labels [2] SEQUENCE OF BodyPartSecurityLabel OPTIONAL +} + +BodyPartSecurityLabel ::= CHOICE { + body-part-unlabelled [0] NULL, + body-part-security-label [1] SecurityLabel +} + +-- Authorization Time +authorization-time IPMS-EXTENSION ::= { + VALUE AuthorizationTime, + IDENTIFIED BY id-hex-authorization-time +} + +AuthorizationTime ::= GeneralizedTime + +-- Circulation List +circulation-list-recipients IPMS-EXTENSION ::= { + VALUE CirculationList, + IDENTIFIED BY id-hex-circulation-list-recipients +} + +CirculationList ::= + SEQUENCE (SIZE (2..ub-circulation-list-members)) OF CirculationMember + +CirculationMember ::= SET { + circulation-recipient + RecipientSpecifier + (WITH COMPONENTS { + ..., + recipient (WITH COMPONENTS { + ..., + formal-name PRESENT + }) + }), + checked Checkmark OPTIONAL +} + +Checkmark ::= CHOICE { + simple NULL, + timestamped CirculationTime, + signed CirculationSignature +} + +CirculationTime ::= GeneralizedTime + +--WS: expand SIGNED MACRO manually +CirculationSignatureData ::= +-- SIGNED +-- {-- SEQUENCE {algorithm-identifier CirculationSignatureAlgorithmIdentifier, + this-IPM ThisIPMField, + timestamp CirculationTime}--} + +CirculationSignature ::= SEQUENCE { + circulation-signature-data CirculationSignatureData, + algorithm-identifier AlgorithmIdentifier, + encrypted BIT STRING +} + +CirculationSignatureAlgorithmIdentifier ::= AlgorithmIdentifier + +-- Circulation List Indicator +circulation-list-indicator IPMS-EXTENSION ::= { + VALUE NULL, + IDENTIFIED BY id-rex-circulation-list-indicator +} + +--WS: Allow dissection. +CirculationListIndicator ::= NULL + +-- Distribution Codes +distribution-codes IPMS-EXTENSION ::= { + VALUE DistributionCodes, + IDENTIFIED BY id-hex-distribution-codes +} + +DistributionCodes ::= + SEQUENCE (SIZE (1..ub-distribution-codes)) OF DistributionCode + +DistributionCode ::= SEQUENCE { + oid-code OBJECT IDENTIFIER OPTIONAL, + alphanumeric-code AlphaCode OPTIONAL, + or-descriptor [0] ORDescriptor OPTIONAL +} + +AlphaCode ::= UniversalOrBMPString{ub-alpha-code-length} + +-- Extended Subject +extended-subject IPMS-EXTENSION ::= { + VALUE ExtendedSubject, + IDENTIFIED BY id-hex-extended-subject +} + +ExtendedSubject ::= UniversalOrBMPString{ub-extended-subject-length} + +-- Information category +information-category IPMS-EXTENSION ::= { + VALUE InformationCategories, + IDENTIFIED BY id-hex-information-category +} + +InformationCategories ::= + SEQUENCE (SIZE (1..ub-information-categories)) OF InformationCategory + +InformationCategory ::= SEQUENCE { + reference [0] OBJECT IDENTIFIER OPTIONAL, + description [1] DescriptionString OPTIONAL +} + +DescriptionString ::= UniversalOrBMPString{ub-information-category-length} + +-- Manual handling Instructions +manual-handling-instructions IPMS-EXTENSION ::= { + VALUE ManualHandlingInstructions, + IDENTIFIED BY id-hex-manual-handling-instructions +} + +ManualHandlingInstructions ::= + SEQUENCE (SIZE (1..ub-manual-handling-instructions)) OF + ManualHandlingInstruction + +ManualHandlingInstruction ::= + UniversalOrBMPString{ub-manual-handling-instruction-length} + +-- Originator's Reference +originators-reference IPMS-EXTENSION ::= { + VALUE OriginatorsReference, + IDENTIFIED BY id-hex-originators-reference +} + +OriginatorsReference ::= UniversalOrBMPString{ub-originators-reference-length} + +-- Precedence Policy Identifier +precedence-policy-identifier IPMS-EXTENSION ::= { + VALUE PrecedencePolicyIdentifier, + IDENTIFIED BY id-hex-precedence-policy-id +} + +PrecedencePolicyIdentifier ::= OBJECT IDENTIFIER + +-- Precedence +precedence IPMS-EXTENSION ::= { + VALUE Precedence, + IDENTIFIED BY id-rex-precedence +} + +Precedence ::= INTEGER(0..ub-precedence) + +END -- of IPMSHeadingExtensions + +-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D + diff --git a/epan/dissectors/asn1/p22/IPMSInformationObjects.asn b/epan/dissectors/asn1/p22/IPMSInformationObjects.asn new file mode 100644 index 00000000..fde49143 --- /dev/null +++ b/epan/dissectors/asn1/p22/IPMSInformationObjects.asn @@ -0,0 +1,643 @@ +-- http://www.itu.int/ITU-T/asn1/database/itu-t/x/x420/1999/index.html +-- Module IPMSInformationObjects (X.420:06/1999) +IPMSInformationObjects {joint-iso-itu-t mhs(6) ipms(1) modules(0) + information-objects(2) version-1999(1)} DEFINITIONS IMPLICIT TAGS ::= +BEGIN + +-- Prologue +-- Exports everything. +IMPORTS + -- IPMS Extended Body Parts + bilaterally-defined-body-part, encrypted-body-part, g3-facsimile-body-part, + g4-class1-body-part, ia5-text-body-part, message-body-part, + mixed-mode-body-part, nationally-defined-body-part, teletex-body-part, + videotex-body-part + --== + FROM IPMSExtendedBodyPartTypes {joint-iso-itu-t mhs(6) ipms(1) modules(0) + extended-body-part-types(7) version-1994(0)} + general-text-body-part + --== + FROM IPMSExtendedBodyPartTypes2 {iso standard mhs(10021) ipms(7) + modules(0) extended-body-part-types-2(1)} + file-transfer-body-part + --== + FROM IPMSFileTransferBodyPartType {joint-iso-itu-t mhs(6) ipms(1) + modules(0) file-transfer-body-part-type(9)} + voice-body-part + --== + FROM IPMSExtendedVoiceBodyPartType {joint-iso-itu-t mhs(6) ipms(1) + modules(0) extended-voice-body-part-type(11)} + notification-body-part, report-body-part + --== + FROM IPMSForwardedReportBodyPartType {joint-iso-itu-t mhs(6) ipms(1) + modules(0) forwarded-report-body-part-type(12)} + content-body-part{} + --== + FROM IPMSForwardedContentBodyPartType {joint-iso-itu-t mhs(6) ipms(1) + modules(0) forwarded-content-body-part-type(15)} + pkcs7-body-part + --== + FROM PKCS7BodyPartType {joint-iso-itu-t mhs(6) ipms(1) modules(0) + pkcs7-body-part-type(16)} + -- IPMS Heading Extensions + authorization-time, auto-submitted, body-part-signatures, + circulation-list-indicator, circulation-list-recipients, + distribution-codes, extended-subject, incomplete-copy, + information-category, ipm-security-label, languages, + manual-handling-instructions, originators-reference, precedence, + precedence-policy-identifier + --== + FROM IPMSHeadingExtensions {joint-iso-itu-t mhs(6) ipms(1) modules(0) + heading-extensions(6) version-1999(1)} + -- IPMS Security Extensions + body-part-encryption-token, BodyPartTokens, forwarded-content-token, + ForwardedContentToken, ipn-security-response, recipient-security-request + --== + FROM IPMSSecurityExtensions {joint-iso-itu-t mhs(6) ipms(1) modules(0) + ipm-security-extensions(14) version-1999(1)} + -- IPMS Upper bounds + ub-auto-forward-comment, ub-free-form-name, ub-local-ipm-identifier, + ub-subject-field, ub-telephone-number + --== + FROM IPMSUpperBounds {joint-iso-itu-t mhs(6) ipms(1) modules(0) + upper-bounds(10) version-1999(1)} + -- ODIF +-- Interchange-Data-Element + --== +-- FROM Interchange-Data-Elements {2 8 1 5 5} + -- MTS Abstract Service + EncodedInformationTypes, ExtendedCertificates, EXTENSION, + G3FacsimileNonBasicParameters, MessageDeliveryTime, ORName, + OtherMessageDeliveryFields, SupplementaryInformation, + TeletexNonBasicParameters + --== + FROM MTSAbstractService {joint-iso-itu-t mhs(6) mts(3) modules(0) + mts-abstract-service(1) version-1999(1)} + -- MS Abstract Service + MS-EXTENSION, SequenceNumber + --== + FROM MSAbstractService {joint-iso-itu-t mhs(6) ms(4) modules(0) + abstract-service(1) version-1999(1)} + -- Directory Authentication Framework + AlgorithmIdentifier, ENCRYPTED{} + --== + FROM AuthenticationFramework {joint-iso-itu-t ds(5) module(1) + authenticationFramework(7) 3} + -- IPMS Object Identifiers + id-mst-assembly-capability, id-mst-assembly-instructions, + id-mst-invalid-assembly-instructions, id-mst-invalid-ipn, + id-mst-originator-body-part-encryption-token, + id-mst-originator-forwarded-content-token, + id-mst-suspend-auto-acknowledgement, id-mst-prevent-nrn-generation, + id-on-absence-advice, id-on-change-of-address-advice + --== + FROM IPMSObjectIdentifiers {joint-iso-itu-t mhs(6) ipms(1) modules(0) + object-identifiers(0) version-1999(1)}; + +Time ::= UTCTime + +-- Information object +InformationObject ::= CHOICE {ipm [0] IPM, + ipn [1] IPN +} + +-- IPM +IPM ::= SEQUENCE {heading Heading, + body Body +} + +-- MTS Extensions +IPMPerRecipientEnvelopeExtensions EXTENSION ::= + {blind-copy-recipients | body-part-encryption-token | + forwarded-content-token, ...} + +-- IPMS Extensions +IPMS-EXTENSION ::= CLASS {&id OBJECT IDENTIFIER UNIQUE, + &Type DEFAULT NULL +}WITH SYNTAX {[VALUE &Type,] + IDENTIFIED BY &id +} + +IPMSExtension{IPMS-EXTENSION:ChosenFrom} ::= SEQUENCE { + type IPMS-EXTENSION.&id({ChosenFrom}), + value IPMS-EXTENSION.&Type({ChosenFrom}{@type}) DEFAULT NULL:NULL +} + +-- WS: Moved earlier +--IPMS-EXTENSION ::= CLASS {&id OBJECT IDENTIFIER UNIQUE, +-- &Type DEFAULT NULL +--}WITH SYNTAX {[VALUE &Type,] +-- IDENTIFIED BY &id +--} + +PrivateIPMSExtensions IPMS-EXTENSION ::= + {...} + +-- Heading +Heading ::= SET { + this-IPM ThisIPMField, + originator [0] OriginatorField OPTIONAL, + authorizing-users [1] AuthorizingUsersField OPTIONAL, + primary-recipients [2] PrimaryRecipientsField DEFAULT {}, + copy-recipients [3] CopyRecipientsField DEFAULT {}, + blind-copy-recipients [4] BlindCopyRecipientsField OPTIONAL, + replied-to-IPM [5] RepliedToIPMField OPTIONAL, + obsoleted-IPMs [6] ObsoletedIPMsField DEFAULT {}, + related-IPMs [7] RelatedIPMsField DEFAULT {}, + subject [8] EXPLICIT SubjectField OPTIONAL, + expiry-time [9] ExpiryTimeField OPTIONAL, + reply-time [10] ReplyTimeField OPTIONAL, + reply-recipients [11] ReplyRecipientsField OPTIONAL, + importance [12] ImportanceField DEFAULT normal, + sensitivity [13] SensitivityField OPTIONAL, + auto-forwarded [14] AutoForwardedField DEFAULT FALSE, + extensions [15] ExtensionsField DEFAULT {} +} + +-- Heading component types +IPMIdentifier ::= [APPLICATION 11] SET { + user ORName OPTIONAL, + user-relative-identifier LocalIPMIdentifier +} + +LocalIPMIdentifier ::= PrintableString(SIZE (0..ub-local-ipm-identifier)) + +RecipientSpecifier ::= SET { + recipient [0] ORDescriptor, + notification-requests [1] NotificationRequests DEFAULT {}, + reply-requested [2] BOOLEAN DEFAULT FALSE, + recipient-extensions [3] RecipientExtensionsField OPTIONAL +} + +ORDescriptor ::= SET { + formal-name ORName OPTIONAL, + free-form-name [0] FreeFormName OPTIONAL, + telephone-number [1] TelephoneNumber OPTIONAL +} + +FreeFormName ::= TeletexString(SIZE (0..ub-free-form-name)) + +TelephoneNumber ::= PrintableString(SIZE (0..ub-telephone-number)) + +NotificationRequests ::= BIT STRING { + rn(0), nrn(1), ipm-return(2), an-supported(3), suppress-an(4)} + +RecipientExtensionsField ::= SET OF IPMSExtension{{RecipientExtensions}} + +RecipientExtensions IPMS-EXTENSION ::= + {circulation-list-indicator | precedence | recipient-security-request | + PrivateIPMSExtensions, ...} + +-- This IPM heading field +ThisIPMField ::= IPMIdentifier + +-- Originator heading field +OriginatorField ::= ORDescriptor + +-- Authorizing Users heading field +AuthorizingUsersField ::= SEQUENCE OF AuthorizingUsersSubfield + +AuthorizingUsersSubfield ::= ORDescriptor + +-- Primary Recipients heading field +PrimaryRecipientsField ::= SEQUENCE OF PrimaryRecipientsSubfield + +PrimaryRecipientsSubfield ::= RecipientSpecifier + +-- Copy Recipients heading field +CopyRecipientsField ::= SEQUENCE OF CopyRecipientsSubfield + +CopyRecipientsSubfield ::= RecipientSpecifier + +-- Blind Copy Recipients heading field +BlindCopyRecipientsField ::= SEQUENCE OF BlindCopyRecipientsSubfield + +BlindCopyRecipientsSubfield ::= RecipientSpecifier + +-- Blind Copy Recipients envelope field +blind-copy-recipients EXTENSION ::= { + BlindCopyRecipientsField, + IDENTIFIED BY standard-extension:41 +} + +-- Replied-to IPM heading field +RepliedToIPMField ::= IPMIdentifier + +-- Obsoleted IPMs heading field +ObsoletedIPMsField ::= SEQUENCE OF ObsoletedIPMsSubfield + +ObsoletedIPMsSubfield ::= IPMIdentifier + +-- Related IPMs heading field +RelatedIPMsField ::= SEQUENCE OF RelatedIPMsSubfield + +RelatedIPMsSubfield ::= IPMIdentifier + +-- Subject heading field +SubjectField ::= TeletexString(SIZE (0..ub-subject-field)) + +-- Expiry Time heading field +ExpiryTimeField ::= Time + +-- Reply Time heading field +ReplyTimeField ::= Time + +-- Reply Recipients heading field +ReplyRecipientsField ::= SEQUENCE OF ReplyRecipientsSubfield + +ReplyRecipientsSubfield ::= + ORDescriptor(WITH COMPONENTS { + ..., + formal-name PRESENT + }) + +-- Importance heading field +ImportanceField ::= ENUMERATED {low(0), normal(1), high(2)} + +-- Sensitivity heading field +SensitivityField ::= ENUMERATED { + personal(1), private(2), company-confidential(3)} + +-- Auto-forwarded heading field +AutoForwardedField ::= BOOLEAN + +-- Extensions heading field +ExtensionsField ::= SET OF IPMSExtension{{HeadingExtensions}} + +HeadingExtensions IPMS-EXTENSION ::= + {authorization-time | auto-submitted | body-part-signatures | + circulation-list-recipients | distribution-codes | extended-subject | + incomplete-copy | information-category | ipm-security-label | languages | + manual-handling-instructions | originators-reference | + precedence-policy-identifier | PrivateIPMSExtensions, ...} + +-- Body +Body ::= SEQUENCE OF BodyPart + +BodyPart ::= CHOICE { + basic + CHOICE {ia5-text [0] IA5TextBodyPart, + g3-facsimile [3] G3FacsimileBodyPart, + g4-class1 [4] G4Class1BodyPart, + teletex [5] TeletexBodyPart, + videotex [6] VideotexBodyPart, + encrypted [8] EncryptedBodyPart, + message [9] MessageBodyPart, + mixed-mode [11] MixedModeBodyPart, + bilaterally-defined [14] BilaterallyDefinedBodyPart, + nationally-defined [7] NationallyDefinedBodyPart}, + extended [15] ExtendedBodyPart{{IPMBodyPartTable}} +} + +-- Extended body part +ExtendedBodyPart{EXTENDED-BODY-PART-TYPE:IPMBodyPartTable} ::= SEQUENCE { + parameters [0] INSTANCE OF TYPE-IDENTIFIER OPTIONAL, + data INSTANCE OF TYPE-IDENTIFIER +} +(CONSTRAINED BY { -- must correspond to the ¶meters field and &data field of a member of -- + IPMBodyPartTable}) + +IPMBodyPartTable EXTENDED-BODY-PART-TYPE ::= + {StandardBodyParts | ApplicationSpecificBodyParts} + +StandardBodyParts EXTENDED-BODY-PART-TYPE ::= + {ia5-text-body-part | g3-facsimile-body-part | g4-class1-body-part | + teletex-body-part | videotex-body-part | encrypted-body-part | + message-body-part | mixed-mode-body-part | bilaterally-defined-body-part | + nationally-defined-body-part | general-text-body-part | + file-transfer-body-part | voice-body-part | report-body-part | + notification-body-part | + content-body-part{{1 2 3 -- RELATIVE-OID to be provided --}} | + pkcs7-body-part, ...} + +ApplicationSpecificBodyParts EXTENDED-BODY-PART-TYPE ::= + {--any body part defined in other Specifications, or for proprietary or private use + ...} + +EXTENDED-BODY-PART-TYPE ::= CLASS { + ¶meters TYPE-IDENTIFIER OPTIONAL, + &data TYPE-IDENTIFIER +}WITH SYNTAX {[PARAMETERS ¶meters,] + DATA &data +} + +-- IA5 Text body part +IA5TextBodyPart ::= SEQUENCE { + parameters IA5TextParameters, + data IA5TextData +} + +IA5TextParameters ::= SET {repertoire [0] Repertoire DEFAULT ia5 +} + +IA5TextData ::= IA5String + +Repertoire ::= ENUMERATED {ita2(2), ia5(5)} + +-- G3 Facsimile body part +G3FacsimileBodyPart ::= SEQUENCE { + parameters G3FacsimileParameters, + data G3FacsimileData +} + +G3FacsimileParameters ::= SET { + number-of-pages [0] INTEGER OPTIONAL, + non-basic-parameters [1] G3FacsimileNonBasicParameters OPTIONAL +} + +G3FacsimileData ::= SEQUENCE OF BIT STRING + +-- G4 Class 1 and Mixed-mode body parts +G4Class1BodyPart ::= SEQUENCE OF Interchange-Data-Element + +MixedModeBodyPart ::= SEQUENCE OF Interchange-Data-Element + +--WS: We don't have an IMPORT for this, so we make it an ANY. +Interchange-Data-Element ::= ANY + +-- Teletex body part +TeletexBodyPart ::= SEQUENCE { + parameters TeletexParameters, + data TeletexData +} + +TeletexParameters ::= SET { + number-of-pages [0] INTEGER OPTIONAL, + telex-compatible [1] BOOLEAN DEFAULT FALSE, + non-basic-parameters [2] TeletexNonBasicParameters OPTIONAL +} + +TeletexData ::= SEQUENCE OF TeletexString + +-- Videotex body part +VideotexBodyPart ::= SEQUENCE { + parameters VideotexParameters, + data VideotexData +} + +VideotexParameters ::= SET {syntax [0] VideotexSyntax OPTIONAL +} + +VideotexSyntax ::= INTEGER { + ids(0), data-syntax1(1), data-syntax2(2), data-syntax3(3)} + +VideotexData ::= VideotexString + +-- Encrypted body part +EncryptedBodyPart ::= SEQUENCE { + parameters EncryptedParameters, + data EncryptedData +} + +EncryptedParameters ::= SET { + algorithm-identifier AlgorithmIdentifier, + originator-certificates ExtendedCertificates OPTIONAL, + ... +} + +EncryptedData ::= BIT STRING(CONSTRAINED BY {BodyPart}) + +-- Message body part +MessageBodyPart ::= SEQUENCE { + parameters MessageParameters, + data MessageData +} + +MessageParameters ::= SET { + delivery-time [0] MessageDeliveryTime OPTIONAL, + delivery-envelope [1] OtherMessageDeliveryFields OPTIONAL +} + +MessageData ::= IPM + +-- Bilaterally Defined body part +BilaterallyDefinedBodyPart ::= OCTET STRING + +-- Nationally Defined body part +NATIONAL-BODY-PARTS ::= CLASS {&Type +} + +NationallyDefinedBodyPart ::= NATIONAL-BODY-PARTS.&Type + +-- Provided for Historic reasons. Use is strongly deprecated. +-- IPN +IPN ::= SET { + -- common-fields --COMPONENTS OF CommonFields, + choice + [0] CHOICE {non-receipt-fields [0] NonReceiptFields, + receipt-fields [1] ReceiptFields, + other-notification-type-fields + [2] OtherNotificationTypeFields} +} + +RN ::= + IPN + (WITH COMPONENTS { + ..., + choice (WITH COMPONENTS { + receipt-fields PRESENT + }) + }) + +NRN ::= + IPN + (WITH COMPONENTS { + ..., + choice (WITH COMPONENTS { + non-receipt-fields PRESENT + }) + }) + +ON ::= + IPN + (WITH COMPONENTS { + ..., + choice (WITH COMPONENTS { + other-notification-type-fields PRESENT + }) + }) + +CommonFields ::= SET { + subject-ipm SubjectIPMField, + ipn-originator [1] IPNOriginatorField OPTIONAL, + ipm-intended-recipient [2] IPMIntendedRecipientField OPTIONAL, + conversion-eits ConversionEITsField OPTIONAL, + notification-extensions [3] NotificationExtensionsField OPTIONAL +} + +NonReceiptFields ::= SET { + non-receipt-reason [0] NonReceiptReasonField, + discard-reason [1] DiscardReasonField OPTIONAL, + auto-forward-comment [2] AutoForwardCommentField OPTIONAL, + returned-ipm [3] ReturnedIPMField OPTIONAL, + nrn-extensions [4] NRNExtensionsField OPTIONAL +} + +ReceiptFields ::= SET { + receipt-time [0] ReceiptTimeField, + acknowledgment-mode [1] AcknowledgmentModeField DEFAULT manual, + suppl-receipt-info [2] SupplReceiptInfoField OPTIONAL, + rn-extensions [3] RNExtensionsField OPTIONAL +} + +-- Common fields +SubjectIPMField ::= IPMIdentifier + +IPNOriginatorField ::= ORDescriptor + +IPMIntendedRecipientField ::= ORDescriptor + +ConversionEITsField ::= EncodedInformationTypes + +NotificationExtensionsField ::= SET OF IPMSExtension{{NotificationExtensions}} + +NotificationExtensions IPMS-EXTENSION ::= + {ipn-security-response | PrivateIPMSExtensions, ...} + +-- Non-receipt fields +NonReceiptReasonField ::= ENUMERATED { + ipm-discarded(0), ipm-auto-forwarded(1), ... + } + +-- ITU-T version: +DiscardReasonField ::= ENUMERATED { + ipm-expired(0), ipm-obsoleted(1), user-subscription-terminated(2), + not-used(3)} + +-- ISO/IEC version: +--DiscardReasonField ::= ENUMERATED { +-- ipm-expired (0), +-- ipm-obsoleted (1), +-- user-subscription-terminated (2), +-- The following value may not be supported by implementations of earlier versions of this Specification +-- ipm-deleted (3), +-- ... } +AutoForwardCommentField ::= + AutoForwardComment + +AutoForwardComment ::= PrintableString(SIZE (0..ub-auto-forward-comment)) + +ReturnedIPMField ::= IPM + +NRNExtensionsField ::= SET OF IPMSExtension{{NRNExtensions}} + +NRNExtensions IPMS-EXTENSION ::= {PrivateIPMSExtensions, ...} + +-- Receipt fields +ReceiptTimeField ::= Time + +AcknowledgmentModeField ::= ENUMERATED {manual(0), automatic(1)} + +SupplReceiptInfoField ::= SupplementaryInformation + +RNExtensionsField ::= SET OF IPMSExtension{{RNExtensions}} + +RNExtensions IPMS-EXTENSION ::= {PrivateIPMSExtensions, ...} + +-- Other Notification Type fields +OtherNotificationTypeFields ::= SET OF IPMSExtension{{OtherNotifications}} + +OtherNotifications IPMS-EXTENSION ::= + {AdviceNotifications | PrivateIPMSExtensions, ...} + +AdviceNotifications IPMS-EXTENSION ::= + {absence-advice | change-of-address-advice, ...} + +-- Advice Notification fields +absence-advice IPMS-EXTENSION ::= { + VALUE AbsenceAdvice, + IDENTIFIED BY id-on-absence-advice +} + +AbsenceAdvice ::= SEQUENCE { + advice BodyPart OPTIONAL, + next-available Time OPTIONAL +} + +-- at least one component shall be present +change-of-address-advice IPMS-EXTENSION ::= { + VALUE ChangeOfAddressAdvice, + IDENTIFIED BY id-on-change-of-address-advice +} + +ChangeOfAddressAdvice ::= SEQUENCE { + new-address + [0] ORDescriptor(WITH COMPONENTS { + ..., + formal-name PRESENT + }), + effective-from [1] Time OPTIONAL +} + +-- Message Store Realization + +-- WS: Manually import MACRO +MS-EXTENSION ::= TYPE-IDENTIFIER + +prevent-nrn-generation MS-EXTENSION ::= { + NULL + IDENTIFIED BY id-mst-prevent-nrn-generation +} + +suspend-auto-acknowledgement MS-EXTENSION ::= { + NULL + IDENTIFIED BY id-mst-suspend-auto-acknowledgement +} + +assembly-capability MS-EXTENSION ::= { + NULL + IDENTIFIED BY id-mst-assembly-capability +} + +IPMSubmissionOptions MS-EXTENSION ::= + {ipm-assembly-instructions | originator-body-part-encryption-token | + originator-forwarded-content-token, ...} -- For future extension additions + +ipm-assembly-instructions MS-EXTENSION ::= { + IPMAssemblyInstructions + IDENTIFIED BY id-mst-assembly-instructions +} + +IPMAssemblyInstructions ::= SET {assembly-instructions [0] BodyPartReferences +} + +BodyPartReferences ::= SEQUENCE OF BodyPartReference + +BodyPartReference ::= CHOICE { + stored-entry [0] SequenceNumber, + stored-content [1] SequenceNumber, + submitted-body-part [2] INTEGER(1..MAX), + stored-body-part + [3] SEQUENCE {message-entry SequenceNumber, + body-part-number BodyPartNumber} +} + +BodyPartNumber ::= INTEGER(1..MAX) + +originator-body-part-encryption-token MS-EXTENSION ::= { + BodyPartTokens + IDENTIFIED BY id-mst-originator-body-part-encryption-token +} + +originator-forwarded-content-token MS-EXTENSION ::= { + ForwardedContentToken + IDENTIFIED BY id-mst-originator-forwarded-content-token +} + +IPMSubmissionErrors MS-EXTENSION ::= + {invalid-assembly-instructions | invalid-ipn, ... + } -- For future extension additions + +invalid-assembly-instructions MS-EXTENSION ::= { + BodyPartReferences + IDENTIFIED BY id-mst-invalid-assembly-instructions +} + +invalid-ipn MS-EXTENSION ::= {NULL + IDENTIFIED BY id-mst-invalid-ipn +} + +END -- of IPMSInformationObjects + +-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D + diff --git a/epan/dissectors/asn1/p22/IPMSMessageStoreAttributes.asn b/epan/dissectors/asn1/p22/IPMSMessageStoreAttributes.asn new file mode 100644 index 00000000..0017ddad --- /dev/null +++ b/epan/dissectors/asn1/p22/IPMSMessageStoreAttributes.asn @@ -0,0 +1,1175 @@ +-- http://www.itu.int/ITU-T/asn1/database/itu-t/x/x420/1999/index.html +-- Module IPMSMessageStoreAttributes (X.420:06/1999) +IPMSMessageStoreAttributes {joint-iso-itu-t mhs(6) ipms(1) modules(0) + message-store-attributes(8) version-1999(1)} DEFINITIONS IMPLICIT TAGS ::= +BEGIN + +-- Prologue +-- Exports everything. +IMPORTS + -- IPMS Heading Extensions + AuthorizationTime, AutoSubmitted, --BodyPartNumber,-- BodyPartSecurityLabel, + BodyPartSignatures, CirculationMember, DistributionCode, ExtendedSubject, + IncompleteCopy, InformationCategory, IPMSecurityLabel, Language, + ManualHandlingInstruction, OriginatorsReference, Precedence, + PrecedencePolicyIdentifier + --== + FROM IPMSHeadingExtensions {joint-iso-itu-t mhs(6) ipms(1) modules(0) + heading-extensions(6) version-1999(1)} + -- IPMS Security Extensions + BodyPartTokens, ForwardedContentToken + --== + FROM IPMSSecurityExtensions {joint-iso-itu-t mhs(6) ipms(1) modules(0) + ipm-security-extensions(14) version-1999(1)} + -- IPMS Information Objects + AcknowledgmentModeField, AuthorizingUsersSubfield, AutoForwardCommentField, + AutoForwardedField, BilaterallyDefinedBodyPart, + BlindCopyRecipientsSubfield, Body, BodyPartNumber, ConversionEITsField, + CopyRecipientsSubfield, DiscardReasonField, EncryptedBodyPart, + EncryptedData, EncryptedParameters, ExpiryTimeField, + EXTENDED-BODY-PART-TYPE, G3FacsimileBodyPart, G3FacsimileData, + G3FacsimileParameters, G4Class1BodyPart, Heading, IA5TextBodyPart, + IA5TextData, IA5TextParameters, ImportanceField, IPMIdentifier, + IPMIntendedRecipientField, IPMSExtension{}, IPNOriginatorField, + MessageBodyPart, MessageData, MessageParameters, MixedModeBodyPart, + NationallyDefinedBodyPart, NonReceiptReasonField, NotificationExtensions, + NRNExtensions, ObsoletedIPMsSubfield, ORDescriptor, OriginatorField, + OtherNotifications, PrimaryRecipientsSubfield, ReceiptTimeField, + RecipientSpecifier, RelatedIPMsSubfield, RepliedToIPMField, + ReplyRecipientsSubfield, ReplyTimeField, ReturnedIPMField, RNExtensions, + SensitivityField, SubjectField, SubjectIPMField, SupplReceiptInfoField, + TeletexBodyPart, TeletexData, TeletexParameters, ThisIPMField, + VideotexBodyPart, VideotexData, VideotexParameters + --== + FROM IPMSInformationObjects {joint-iso-itu-t mhs(6) ipms(1) modules(0) + information-objects(2) version-1999(1)} + -- IPMS Object Identifiers + id-bat-bilaterally-defined-body-parts, id-bat-body, + id-bat-encrypted-body-parts, id-bat-encrypted-data, + id-bat-encrypted-parameters, id-bat-extended-body-part-types, + id-bat-g3-facsimile-body-parts, id-bat-g3-facsimile-data, + id-bat-g3-facsimile-parameters, id-bat-g4-class1-body-parts, + id-bat-ia5-text-body-parts, id-bat-ia5-text-data, + id-bat-ia5-text-parameters, id-bat-message-body-parts, id-bat-message-data, + id-bat-message-parameters, id-bat-mixed-mode-body-parts, + id-bat-nationally-defined-body-parts, id-bat-teletex-body-parts, + id-bat-teletex-data, id-bat-teletex-parameters, id-bat-videotex-body-parts, + id-bat-videotex-data, id-bat-videotex-parameters, + id-cat-correlated-delivered-ipns, id-cat-correlated-delivered-replies, + id-cat-delivered-ipn-summary, id-cat-delivered-replies-summary, + id-cat-forwarded-ipms, id-cat-forwarding-ipms, id-cat-ipm-recipients, + id-cat-obsoleted-ipms, id-cat-obsoleting-ipms, id-cat-related-ipms, + id-cat-relating-ipms, id-cat-replied-to-ipm, id-cat-recipient-category, + id-cat-replying-ipms, id-cat-revised-reply-time, id-cat-subject-ipm, + id-cat-submitted-ipn-status, id-cat-submitted-ipns, + id-cat-submitted-reply-status, id-hat-authorization-time, + id-hat-authorizing-users, id-hat-auto-forwarded, id-hat-auto-submitted, + id-hat-blind-copy-recipients, id-hat-body-part-encryption-token, + id-hat-body-part-security-label, + id-hat-body-part-signature-verification-status, + id-hat-body-part-signatures, id-hat-circulation-list-recipients, + id-hat-copy-recipients, id-hat-distribution-codes, id-hat-expiry-time, + id-hat-extended-subject, id-hat-forwarded-content-token, + id-hat-forwarding-token, id-hat-heading, id-hat-importance, + id-hat-incomplete-copy, id-hat-information-category, + id-hat-ipm-security-label, id-hat-languages, + id-hat-manual-handling-instructions, id-hat-nrn-requestors, + id-hat-obsoleted-IPMs, id-hat-originator, id-hat-originators-reference, + id-hat-precedence, id-hat-precedence-policy-id, id-hat-primary-recipients, + id-hat-related-IPMs, id-hat-replied-to-IPM, id-hat-reply-recipients, + id-hat-reply-requestors, id-hat-reply-time, id-hat-rn-requestors, + id-hat-sensitivity, id-hat-subject, id-hat-this-ipm, id-mr-ipm-identifier, + id-mr-ipm-location, id-mr-or-descriptor, id-mr-or-descriptor-elements, + id-mr-or-descriptor-single-element, id-mr-or-descriptor-substring-elements, + id-mr-circulation-member, id-mr-circulation-member-checkmark, + id-mr-circulation-member-elements, id-mr-circulation-member-single-element, + id-mr-circulation-member-substring-elements, id-mr-distribution-code, + id-mr-information-category, id-mr-recipient-specifier, + id-mr-recipient-specifier-elements, + id-mr-recipient-specifier-single-element, + id-mr-recipient-specifier-substring-elements, id-nat-acknowledgment-mode, + id-nat-auto-forward-comment, id-nat-conversion-eits, id-nat-discard-reason, + id-nat-ipm-intended-recipient, id-nat-ipn-originator, + id-nat-non-receipt-reason, id-nat-notification-extensions, + id-nat-nrn-extensions, id-nat-other-notification-type-fields, + id-nat-receipt-time, id-nat-returned-ipm, id-nat-rn-extensions, + id-nat-subject-ipm, id-nat-suppl-receipt-info, id-sat-body-parts-summary, + id-sat-ipm-auto-discarded, id-sat-ipm-entry-type, id-sat-ipm-synopsis + --== + FROM IPMSObjectIdentifiers {joint-iso-itu-t mhs(6) ipms(1) modules(0) + object-identifiers(0) version-1999(1)} + -- MS Abstract Service + X413ATTRIBUTE, MS-EIT, SequenceNumber + --== + FROM MSAbstractService {joint-iso-itu-t mhs(6) ms(4) modules(0) + abstract-service(1) version-1999(1)} + -- MS General Attribute Types + SignatureStatus + --== + FROM MSGeneralAttributeTypes {joint-iso-itu-t mhs(6) ms(4) modules(0) + general-attribute-types(2) version-1999(1)} + -- MS matching-rules + MSString{}, mSStringMatch, mSSubstringsMatch + --== + FROM MSMatchingRules {joint-iso-itu-t mhs(6) ms(4) modules(0) + general-matching-rules(5) version-1999(1)} + -- MTS Abstract Service + EncodedInformationTypes, MessageToken + --== + FROM MTSAbstractService {joint-iso-itu-t mhs(6) mts(3) modules(0) + mts-abstract-service(1) version-1999(1)} + -- Directory Information Framework + objectIdentifierMatch, MATCHING-RULE + --== + FROM InformationFramework {joint-iso-itu-t ds(5) module(1) + informationFramework(1) 3} + -- Directory Abstract Service + booleanMatch, generalizedTimeMatch, generalizedTimeOrderingMatch, + integerMatch, integerOrderingMatch, uTCTimeMatch, uTCTimeOrderingMatch + --== + FROM SelectedAttributeTypes {joint-iso-itu-t ds(5) module(1) + selectedAttributeTypes(5) 3} + ub-msstring-match + FROM MSUpperBounds {joint-iso-itu-t mhs(6) ms(4) modules(0) upper-bounds(4) + version-1994(0)}; + +-- IPMS attribute table information object set +IPMSAttributeTable X413ATTRIBUTE ::= + {acknowledgment-mode | authorizing-users | auto-forward-comment | + auto-forwarded | auto-submitted | bilaterally-defined-body-parts | + blind-copy-recipients | body | conversion-eits | copy-recipients | + discard-reason | encrypted-body-parts | encrypted-data | + encrypted-parameters | expiry-time | extended-body-part-types | + g3-facsimile-body-parts | g3-facsimile-data | g3-facsimile-parameters | + g4-class1-body-parts | heading | ia5-text-body-parts | ia5-text-data | + ia5-text-parameters | importance | incomplete-copy | ipm-entry-type | + ipm-intended-recipient | ipm-synopsis | ipn-originator | languages | + message-body-parts | message-data | message-parameters | + mixed-mode-body-parts | nationally-defined-body-parts | non-receipt-reason | + nrn-requestors | obsoleted-IPMs | originator | primary-recipients | + receipt-time | related-IPMs | replied-to-IPM | reply-recipients | + reply-requestors | reply-time | returned-ipm | rn-requestors | sensitivity | + subject | subject-ipm | suppl-receipt-info | teletex-body-parts | + teletex-data | teletex-parameters | this-ipm | videotex-body-parts | + videotex-data | videotex-parameters, ... -- 1994 extension additions --, + ac-correlated-delivered-ipns | ac-correlated-delivered-replies | + ac-delivered-ipn-summary | ac-delivered-replies-summary | ac-forwarded-ipms + | ac-forwarding-ipms | ac-ipm-recipients | ac-obsoleted-ipms | + ac-obsoleting-ipms | ac-related-ipms | ac-relating-ipms | ac-replied-to-ipm + | ac-replying-ipms | ac-subject-ipm | ac-submitted-ipn-status | + ac-submitted-ipns | ac-submitted-reply-status | authorization-time | + body-part-encryption-token | body-part-security-label | + body-part-signature-verification-status | body-part-signatures | + body-parts-summary | circulation-list-recipients | distribution-codes | + extended-subject | forwarded-content-token | forwarding-token | + information-category | ipm-auto-discarded | ipm-security-label | + manual-handling-instructions | notification-extensions | nrn-extensions | + originators-reference | other-notification-type-fields | precedence | + precedence-policy-identifier | recipient-category | revised-reply-time | + rn-extensions} + +-- WS: asn2wrs does not import the macro definitions so we redeclare here +-- X413ATTRIBUTE information object class +X413ATTRIBUTE ::= CLASS { + &id AttributeType UNIQUE, + &Type , + &equalityMatch MATCHING-RULE OPTIONAL, + &substringsMatch MATCHING-RULE OPTIONAL, + &orderingMatch MATCHING-RULE OPTIONAL, + &numeration ENUMERATED {single-valued(0), multi-valued(1)}, + -- 1994 extension + &OtherMatches MATCHING-RULE OPTIONAL +} +WITH SYNTAX { + WITH ATTRIBUTE-SYNTAX &Type, + [EQUALITY MATCHING-RULE &equalityMatch,] + [SUBSTRINGS MATCHING-RULE &substringsMatch,] + [ORDERING MATCHING-RULE &orderingMatch,] + [OTHER MATCHING-RULES &OtherMatches,] + NUMERATION &numeration, + ID &id +} + +-- MATCHING-RULE information object class specification +MATCHING-RULE ::= CLASS { +-- WS: asn2wrs cannot handle the self-reference (use before declaration) + &ParentMatchingRules --MATCHING-RULE.&id-- OBJECT IDENTIFIER OPTIONAL, + &AssertionType OPTIONAL, + &uniqueMatchIndicator AttributeId OPTIONAL, + &id OBJECT IDENTIFIER UNIQUE +} +WITH SYNTAX { + [PARENT &ParentMatchingRules] + [SYNTAX &AssertionType] + [UNIQUE-MATCH-INDICATOR &uniqueMatchIndicator] + ID &id +} + +-- SUMMARY ATTRIBUTES +-- IPM entry type +ipm-entry-type X413ATTRIBUTE ::= { + WITH ATTRIBUTE-SYNTAX IPMEntryType, + EQUALITY MATCHING-RULE integerMatch, + NUMERATION single-valued, + ID id-sat-ipm-entry-type +} + +IPMEntryType ::= ENUMERATED {ipm(0), rn(1), nrn(2), on(3)} + +-- IPM synopsis +ipm-synopsis X413ATTRIBUTE ::= { + WITH ATTRIBUTE-SYNTAX IPMSynopsis, + NUMERATION single-valued, + ID id-sat-ipm-synopsis +} + +IPMSynopsis ::= SEQUENCE OF BodyPartSynopsis + +BodyPartSynopsis ::= CHOICE { + message [0] MessageBodyPartSynopsis, + non-message [1] NonMessageBodyPartSynopsis +} + +MessageBodyPartSynopsis ::= SEQUENCE { + number [0] SequenceNumber, + synopsis [1] IPMSynopsis +} + +NonMessageBodyPartSynopsis ::= SEQUENCE { + type [0] OBJECT IDENTIFIER, + parameters [1] INSTANCE OF TYPE-IDENTIFIER OPTIONAL, + size [2] INTEGER, + processed [3] BOOLEAN DEFAULT FALSE +} + +-- Body part summary +body-parts-summary X413ATTRIBUTE ::= { + WITH ATTRIBUTE-SYNTAX BodyPartDescriptor, + NUMERATION multi-valued, + ID id-sat-body-parts-summary +} + +BodyPartDescriptor ::= SEQUENCE { + data [0] OBJECT IDENTIFIER, + parameters [1] OBJECT IDENTIFIER OPTIONAL, + this-child-entry [2] SequenceNumber OPTIONAL, + position [3] INTEGER, + size [4] INTEGER, + processed [5] BOOLEAN DEFAULT FALSE +} + +-- IPM auto discarded +ipm-auto-discarded X413ATTRIBUTE ::= { + WITH ATTRIBUTE-SYNTAX BOOLEAN, + EQUALITY MATCHING-RULE booleanMatch, + NUMERATION single-valued, + ID id-sat-ipm-auto-discarded +} + +-- Body part signature verification status +body-part-signature-verification-status X413ATTRIBUTE ::= { + WITH ATTRIBUTE-SYNTAX BodyPartSignatureVerification, + NUMERATION single-valued, + ID id-hat-body-part-signature-verification-status +} + +BodyPartSignatureVerification ::= + SET OF + SET {body-part-sequence-number [0] BodyPartNumber, + body-part-signature [1] SignatureStatus} + +-- HEADING ATTRIBUTES +-- Heading +heading X413ATTRIBUTE ::= { + WITH ATTRIBUTE-SYNTAX Heading, + NUMERATION single-valued, + ID id-hat-heading +} + +-- Heading analyses +rn-requestors X413ATTRIBUTE ::= { + WITH ATTRIBUTE-SYNTAX ORDescriptor, + EQUALITY MATCHING-RULE oRDescriptorMatch, + NUMERATION multi-valued, + ID id-hat-rn-requestors +} + +nrn-requestors X413ATTRIBUTE ::= { + WITH ATTRIBUTE-SYNTAX ORDescriptor, + EQUALITY MATCHING-RULE oRDescriptorMatch, + NUMERATION multi-valued, + ID id-hat-nrn-requestors +} + +reply-requestors X413ATTRIBUTE ::= { + WITH ATTRIBUTE-SYNTAX ORDescriptor, + EQUALITY MATCHING-RULE oRDescriptorMatch, + NUMERATION multi-valued, + ID id-hat-reply-requestors +} + +-- Heading fields +this-ipm X413ATTRIBUTE ::= { + WITH ATTRIBUTE-SYNTAX ThisIPMField, + EQUALITY MATCHING-RULE iPMIdentifierMatch, + NUMERATION single-valued, + ID id-hat-this-ipm +} + +originator X413ATTRIBUTE ::= { + WITH ATTRIBUTE-SYNTAX OriginatorField, + EQUALITY MATCHING-RULE oRDescriptorMatch, + OTHER MATCHING-RULES + {oRDescriptorElementsMatch | oRDescriptorSingleElementMatch | + oRDescriptorSubstringElementsMatch, ...}, + NUMERATION single-valued, + ID id-hat-originator +} + +replied-to-IPM X413ATTRIBUTE ::= { + WITH ATTRIBUTE-SYNTAX RepliedToIPMField, + EQUALITY MATCHING-RULE iPMIdentifierMatch, + NUMERATION single-valued, + ID id-hat-replied-to-IPM +} + +subject X413ATTRIBUTE ::= { + WITH ATTRIBUTE-SYNTAX SubjectField, + EQUALITY MATCHING-RULE mSStringMatch, + SUBSTRINGS MATCHING-RULE mSSubstringsMatch, + NUMERATION single-valued, + ID id-hat-subject +} + +expiry-time X413ATTRIBUTE ::= { + WITH ATTRIBUTE-SYNTAX ExpiryTimeField, + EQUALITY MATCHING-RULE uTCTimeMatch, + ORDERING MATCHING-RULE uTCTimeOrderingMatch, + NUMERATION single-valued, + ID id-hat-expiry-time +} + +reply-time X413ATTRIBUTE ::= { + WITH ATTRIBUTE-SYNTAX ReplyTimeField, + EQUALITY MATCHING-RULE uTCTimeMatch, + ORDERING MATCHING-RULE uTCTimeOrderingMatch, + NUMERATION single-valued, + ID id-hat-reply-time +} + +importance X413ATTRIBUTE ::= { + WITH ATTRIBUTE-SYNTAX ImportanceField, + EQUALITY MATCHING-RULE integerMatch, + ORDERING MATCHING-RULE + integerOrderingMatch, -- not defined for 1988 Application Contexts + + NUMERATION single-valued, + ID id-hat-importance +} + +sensitivity X413ATTRIBUTE ::= { + WITH ATTRIBUTE-SYNTAX SensitivityField, + EQUALITY MATCHING-RULE integerMatch, + ORDERING MATCHING-RULE + integerOrderingMatch, -- not defined for 1988 Application Contexts + + NUMERATION single-valued, + ID id-hat-sensitivity +} + +auto-forwarded X413ATTRIBUTE ::= { + WITH ATTRIBUTE-SYNTAX AutoForwardedField, + EQUALITY MATCHING-RULE booleanMatch, + NUMERATION single-valued, + ID id-hat-auto-forwarded +} + +-- Heading sub-fields +authorizing-users X413ATTRIBUTE ::= { + WITH ATTRIBUTE-SYNTAX AuthorizingUsersSubfield, + EQUALITY MATCHING-RULE oRDescriptorMatch, + OTHER MATCHING-RULES + {oRDescriptorElementsMatch | oRDescriptorSingleElementMatch | + oRDescriptorSubstringElementsMatch, ...}, + NUMERATION multi-valued, + ID id-hat-authorizing-users +} + +primary-recipients X413ATTRIBUTE ::= { + WITH ATTRIBUTE-SYNTAX PrimaryRecipientsSubfield, + EQUALITY MATCHING-RULE recipientSpecifierMatch, + OTHER MATCHING-RULES + {recipientSpecifierElementsMatch | recipientSpecifierSubstringElementsMatch + | recipientSpecifierSingleElementMatch, ...}, + NUMERATION multi-valued, + ID id-hat-primary-recipients +} + +copy-recipients X413ATTRIBUTE ::= { + WITH ATTRIBUTE-SYNTAX CopyRecipientsSubfield, + EQUALITY MATCHING-RULE recipientSpecifierMatch, + OTHER MATCHING-RULES + {recipientSpecifierElementsMatch | recipientSpecifierSubstringElementsMatch + | recipientSpecifierSingleElementMatch, ...}, + NUMERATION multi-valued, + ID id-hat-copy-recipients +} + +-- WS: added "-att" to prevent asn2wrs conflict +blind-copy-recipients-att X413ATTRIBUTE ::= { + WITH ATTRIBUTE-SYNTAX BlindCopyRecipientsSubfield, + EQUALITY MATCHING-RULE recipientSpecifierMatch, + OTHER MATCHING-RULES + {recipientSpecifierElementsMatch | recipientSpecifierSubstringElementsMatch + | recipientSpecifierSingleElementMatch, ...}, + NUMERATION multi-valued, + ID id-hat-blind-copy-recipients +} + +obsoleted-IPMs X413ATTRIBUTE ::= { + WITH ATTRIBUTE-SYNTAX ObsoletedIPMsSubfield, + EQUALITY MATCHING-RULE iPMIdentifierMatch, + NUMERATION multi-valued, + ID id-hat-obsoleted-IPMs +} + +related-IPMs X413ATTRIBUTE ::= { + WITH ATTRIBUTE-SYNTAX RelatedIPMsSubfield, + EQUALITY MATCHING-RULE iPMIdentifierMatch, + NUMERATION multi-valued, + ID id-hat-related-IPMs +} + +reply-recipients X413ATTRIBUTE ::= { + WITH ATTRIBUTE-SYNTAX ReplyRecipientsSubfield, + EQUALITY MATCHING-RULE oRDescriptorMatch, + OTHER MATCHING-RULES + {oRDescriptorElementsMatch | oRDescriptorSingleElementMatch | + oRDescriptorSubstringElementsMatch, ...}, + NUMERATION multi-valued, + ID id-hat-reply-recipients +} + +-- Heading extensions +-- WS: added "-att" to prevent asn2wrs conflict +incomplete-copy-att X413ATTRIBUTE ::= { + WITH ATTRIBUTE-SYNTAX IncompleteCopy, + NUMERATION + single-valued, -- An equality match is specified for 1988 + + + -- Application Contexts + ID id-hat-incomplete-copy +} + +-- WS: added "-att" to prevent asn2wrs conflict +languages-att X413ATTRIBUTE ::= { + WITH ATTRIBUTE-SYNTAX Language, + EQUALITY MATCHING-RULE mSStringMatch, + SUBSTRINGS MATCHING-RULE + mSSubstringsMatch, -- Not defined for 1988 Application Contexts + + NUMERATION multi-valued, + ID id-hat-languages +} + +-- WS: added "-att" to prevent asn2wrs conflict +auto-submitted-att X413ATTRIBUTE ::= { + WITH ATTRIBUTE-SYNTAX AutoSubmitted, + EQUALITY MATCHING-RULE integerMatch, + NUMERATION single-valued, + ID id-hat-auto-submitted +} + +-- WS: added "-att" to prevent asn2wrs conflict +body-part-signatures-att X413ATTRIBUTE ::= { + WITH ATTRIBUTE-SYNTAX BodyPartSignatures, + NUMERATION single-valued, + ID id-hat-body-part-signatures +} + +-- WS: added "-att" to prevent asn2wrs conflict +ipm-security-label-att X413ATTRIBUTE ::= { + WITH ATTRIBUTE-SYNTAX IPMSecurityLabel, + NUMERATION single-valued, + ID id-hat-ipm-security-label +} + +body-part-security-label X413ATTRIBUTE ::= { + WITH ATTRIBUTE-SYNTAX BodyPartSecurityLabel, + NUMERATION multi-valued, + ID id-hat-body-part-security-label +} + +-- WS: added "-att" to prevent asn2wrs conflict +authorization-time-att X413ATTRIBUTE ::= { + WITH ATTRIBUTE-SYNTAX AuthorizationTime, + EQUALITY MATCHING-RULE generalizedTimeMatch, + ORDERING MATCHING-RULE generalizedTimeOrderingMatch, + NUMERATION single-valued, + ID id-hat-authorization-time +} + +-- WS: added "-att" to prevent asn2wrs conflict +circulation-list-recipients-att X413ATTRIBUTE ::= { + WITH ATTRIBUTE-SYNTAX CirculationMember, + EQUALITY MATCHING-RULE circulationMemberMatch, + OTHER MATCHING-RULES + {circulationMemberElementsMatch | circulationMemberSubstringElementsMatch | + circulationMemberSingleElementMatch | circulationMemberCheckmarkMatch, + ...}, + NUMERATION multi-valued, + ID id-hat-circulation-list-recipients +} + +-- WS: added "-att" to prevent asn2wrs conflict +distribution-codes-att X413ATTRIBUTE ::= { + WITH ATTRIBUTE-SYNTAX DistributionCode, + EQUALITY MATCHING-RULE distributionCodeMatch, + NUMERATION multi-valued, + ID id-hat-distribution-codes +} + +-- WS: added "-att" to prevent asn2wrs conflict +extended-subject-att X413ATTRIBUTE ::= { + WITH ATTRIBUTE-SYNTAX ExtendedSubject, + EQUALITY MATCHING-RULE mSStringMatch, + SUBSTRINGS MATCHING-RULE mSSubstringsMatch, + NUMERATION single-valued, + ID id-hat-extended-subject +} + +-- WS: added "-att" to prevent asn2wrs conflict +information-category-att X413ATTRIBUTE ::= { + WITH ATTRIBUTE-SYNTAX InformationCategory, + EQUALITY MATCHING-RULE informationCategoryMatch, + NUMERATION multi-valued, + ID id-hat-information-category +} + +-- WS: added "-att" to prevent asn2wrs conflict +manual-handling-instructions-att X413ATTRIBUTE ::= { + WITH ATTRIBUTE-SYNTAX ManualHandlingInstruction, + EQUALITY MATCHING-RULE mSStringMatch, + NUMERATION multi-valued, + ID id-hat-manual-handling-instructions +} + +-- WS: added "-att" to prevent asn2wrs conflict +originators-reference-att X413ATTRIBUTE ::= { + WITH ATTRIBUTE-SYNTAX OriginatorsReference, + EQUALITY MATCHING-RULE mSStringMatch, + NUMERATION single-valued, + ID id-hat-originators-reference +} + +-- WS: added "-att" to prevent asn2wrs conflict +precedence-policy-identifier-att X413ATTRIBUTE ::= { + WITH ATTRIBUTE-SYNTAX PrecedencePolicyIdentifier, + EQUALITY MATCHING-RULE objectIdentifierMatch, + NUMERATION single-valued, + ID id-hat-precedence-policy-id +} + +-- Recipient extensions +-- WS: added "-att" to prevent asn2wrs conflict +precedence-att X413ATTRIBUTE ::= { + WITH ATTRIBUTE-SYNTAX Precedence, + EQUALITY MATCHING-RULE integerMatch, + NUMERATION single-valued, + ID id-hat-precedence +} + +-- Envelope extensions +-- WS: added "-att" to prevent asn2wrs conflict +body-part-encryption-token-att X413ATTRIBUTE ::= { + WITH ATTRIBUTE-SYNTAX BodyPartTokens, + NUMERATION single-valued, + ID id-hat-body-part-encryption-token +} + +-- WS: added "-att" to prevent asn2wrs conflict +forwarded-content-token-att X413ATTRIBUTE ::= { + WITH ATTRIBUTE-SYNTAX ForwardedContentToken, + NUMERATION single-valued, + ID id-hat-forwarded-content-token +} + +forwarding-token X413ATTRIBUTE ::= { + WITH ATTRIBUTE-SYNTAX MessageToken, + NUMERATION single-valued, + ID id-hat-forwarding-token +} + +-- BODY ATTRIBUTES +-- Body +body X413ATTRIBUTE ::= { + WITH ATTRIBUTE-SYNTAX Body, + NUMERATION single-valued, + ID id-bat-body +} + +-- Extended body part types +extended-body-part-types X413ATTRIBUTE ::= { + WITH ATTRIBUTE-SYNTAX OBJECT IDENTIFIER, + EQUALITY MATCHING-RULE objectIdentifierMatch, + NUMERATION multi-valued, + ID id-bat-extended-body-part-types +} + +-- Extended body parts +-- (These attributes cannot be enumerated. See 19.6.3.3.) +-- (They may be derived using the following parameterized object assignments:) +extended-body-part-data-attribute{EXTENDED-BODY-PART-TYPE:ebpt} X413ATTRIBUTE + ::= { + WITH ATTRIBUTE-SYNTAX [0] EXPLICIT ebpt.&data.&Type, + NUMERATION multi-valued, + ID ebpt.&data.&id +} + +extended-body-part-parameters-attribute{EXTENDED-BODY-PART-TYPE:ebpt} + X413ATTRIBUTE ::= { + WITH ATTRIBUTE-SYNTAX [0] EXPLICIT ebpt.¶meters.&Type, + NUMERATION multi-valued, + ID ebpt.¶meters.&id +} + +-- Basic body parts +ia5-text-body-parts X413ATTRIBUTE ::= { + WITH ATTRIBUTE-SYNTAX IA5TextBodyPart, + NUMERATION multi-valued, + ID id-bat-ia5-text-body-parts +} + +g3-facsimile-body-parts X413ATTRIBUTE ::= { + WITH ATTRIBUTE-SYNTAX G3FacsimileBodyPart, + NUMERATION multi-valued, + ID id-bat-g3-facsimile-body-parts +} + +g4-class1-body-parts X413ATTRIBUTE ::= { + WITH ATTRIBUTE-SYNTAX G4Class1BodyPart, + NUMERATION multi-valued, + ID id-bat-g4-class1-body-parts +} + +teletex-body-parts X413ATTRIBUTE ::= { + WITH ATTRIBUTE-SYNTAX TeletexBodyPart, + NUMERATION multi-valued, + ID id-bat-teletex-body-parts +} + +videotex-body-parts X413ATTRIBUTE ::= { + WITH ATTRIBUTE-SYNTAX VideotexBodyPart, + NUMERATION multi-valued, + ID id-bat-videotex-body-parts +} + +encrypted-body-parts X413ATTRIBUTE ::= { + WITH ATTRIBUTE-SYNTAX EncryptedBodyPart, + NUMERATION multi-valued, + ID id-bat-encrypted-body-parts +} + +message-body-parts X413ATTRIBUTE ::= { + WITH ATTRIBUTE-SYNTAX SequenceNumber, + NUMERATION multi-valued, + ID id-bat-message-body-parts +} + +mixed-mode-body-parts X413ATTRIBUTE ::= { + WITH ATTRIBUTE-SYNTAX MixedModeBodyPart, + NUMERATION multi-valued, + ID id-bat-mixed-mode-body-parts +} + +bilaterally-defined-body-parts X413ATTRIBUTE ::= { + WITH ATTRIBUTE-SYNTAX BilaterallyDefinedBodyPart, + NUMERATION multi-valued, + ID id-bat-bilaterally-defined-body-parts +} + +nationally-defined-body-parts X413ATTRIBUTE ::= { + WITH ATTRIBUTE-SYNTAX NationallyDefinedBodyPart, + NUMERATION multi-valued, + ID id-bat-nationally-defined-body-parts +} + +-- Basic body part parameters components +ia5-text-parameters X413ATTRIBUTE ::= { + WITH ATTRIBUTE-SYNTAX IA5TextParameters, + NUMERATION multi-valued, + ID id-bat-ia5-text-parameters +} + +g3-facsimile-parameters X413ATTRIBUTE ::= { + WITH ATTRIBUTE-SYNTAX G3FacsimileParameters, + NUMERATION multi-valued, + ID id-bat-g3-facsimile-parameters +} + +teletex-parameters X413ATTRIBUTE ::= { + WITH ATTRIBUTE-SYNTAX TeletexParameters, + NUMERATION multi-valued, + ID id-bat-teletex-parameters +} + +videotex-parameters X413ATTRIBUTE ::= { + WITH ATTRIBUTE-SYNTAX VideotexParameters, + NUMERATION multi-valued, + ID id-bat-videotex-parameters +} + +encrypted-parameters X413ATTRIBUTE ::= { + WITH ATTRIBUTE-SYNTAX EncryptedParameters, + NUMERATION multi-valued, + ID id-bat-encrypted-parameters +} + +message-parameters X413ATTRIBUTE ::= { + WITH ATTRIBUTE-SYNTAX MessageParameters, + NUMERATION multi-valued, + ID id-bat-message-parameters +} + +-- Basic body part data components +ia5-text-data X413ATTRIBUTE ::= { + WITH ATTRIBUTE-SYNTAX IA5TextData, + NUMERATION multi-valued, + ID id-bat-ia5-text-data +} + +g3-facsimile-data X413ATTRIBUTE ::= { + WITH ATTRIBUTE-SYNTAX G3FacsimileData, + NUMERATION multi-valued, + ID id-bat-g3-facsimile-data +} + +teletex-data X413ATTRIBUTE ::= { + WITH ATTRIBUTE-SYNTAX TeletexData, + NUMERATION multi-valued, + ID id-bat-teletex-data +} + +videotex-data X413ATTRIBUTE ::= { + WITH ATTRIBUTE-SYNTAX VideotexData, + NUMERATION multi-valued, + ID id-bat-videotex-data +} + +encrypted-data X413ATTRIBUTE ::= { + WITH ATTRIBUTE-SYNTAX EncryptedData, + NUMERATION multi-valued, + ID id-bat-encrypted-data +} + +message-data X413ATTRIBUTE ::= { + WITH ATTRIBUTE-SYNTAX MessageData, + NUMERATION multi-valued, + ID id-bat-message-data +} + +-- NOTIFICATION ATTRIBUTES +-- Common fields +subject-ipm X413ATTRIBUTE ::= { + WITH ATTRIBUTE-SYNTAX SubjectIPMField, + EQUALITY MATCHING-RULE iPMIdentifierMatch, + NUMERATION single-valued, + ID id-nat-subject-ipm +} + +ipn-originator X413ATTRIBUTE ::= { + WITH ATTRIBUTE-SYNTAX IPNOriginatorField, + EQUALITY MATCHING-RULE oRDescriptorMatch, + OTHER MATCHING-RULES + {oRDescriptorElementsMatch | oRDescriptorSingleElementMatch | + oRDescriptorSubstringElementsMatch, ...}, + NUMERATION single-valued, + ID id-nat-ipn-originator +} + +ipm-intended-recipient X413ATTRIBUTE ::= { + WITH ATTRIBUTE-SYNTAX IPMIntendedRecipientField, + EQUALITY MATCHING-RULE oRDescriptorMatch, + OTHER MATCHING-RULES + {oRDescriptorElementsMatch | oRDescriptorSingleElementMatch | + oRDescriptorSubstringElementsMatch, ...}, + NUMERATION single-valued, + ID id-nat-ipm-intended-recipient +} + +conversion-eits X413ATTRIBUTE ::= { + WITH ATTRIBUTE-SYNTAX MS-EIT, + EQUALITY MATCHING-RULE objectIdentifierMatch, + NUMERATION multi-valued, + ID id-nat-conversion-eits +} + +notification-extensions X413ATTRIBUTE ::= { + WITH ATTRIBUTE-SYNTAX IPMSExtension {{NotificationExtensions}}, + NUMERATION multi-valued, + ID id-nat-notification-extensions +} + +-- Non-receipt fields +non-receipt-reason X413ATTRIBUTE ::= { + WITH ATTRIBUTE-SYNTAX NonReceiptReasonField, + EQUALITY MATCHING-RULE integerMatch, + NUMERATION single-valued, + ID id-nat-non-receipt-reason +} + +discard-reason X413ATTRIBUTE ::= { + WITH ATTRIBUTE-SYNTAX DiscardReasonField, + EQUALITY MATCHING-RULE integerMatch, + NUMERATION single-valued, + ID id-nat-discard-reason +} + +auto-forward-comment X413ATTRIBUTE ::= { + WITH ATTRIBUTE-SYNTAX AutoForwardCommentField, + EQUALITY MATCHING-RULE mSStringMatch, + SUBSTRINGS MATCHING-RULE mSSubstringsMatch, + NUMERATION single-valued, + ID id-nat-auto-forward-comment +} + +returned-ipm X413ATTRIBUTE ::= { + WITH ATTRIBUTE-SYNTAX ReturnedIPMField, + NUMERATION single-valued, + ID id-nat-returned-ipm +} + +nrn-extensions X413ATTRIBUTE ::= { + WITH ATTRIBUTE-SYNTAX IPMSExtension {{NRNExtensions}}, + NUMERATION multi-valued, + ID id-nat-nrn-extensions +} + +-- Receipt fields +receipt-time X413ATTRIBUTE ::= { + WITH ATTRIBUTE-SYNTAX ReceiptTimeField, + EQUALITY MATCHING-RULE uTCTimeMatch, + ORDERING MATCHING-RULE uTCTimeOrderingMatch, + NUMERATION single-valued, + ID id-nat-receipt-time +} + +acknowledgment-mode X413ATTRIBUTE ::= { + WITH ATTRIBUTE-SYNTAX AcknowledgmentModeField, + EQUALITY MATCHING-RULE integerMatch, + NUMERATION single-valued, + ID id-nat-acknowledgment-mode +} + +suppl-receipt-info X413ATTRIBUTE ::= { + WITH ATTRIBUTE-SYNTAX SupplReceiptInfoField, + EQUALITY MATCHING-RULE mSStringMatch, + SUBSTRINGS MATCHING-RULE mSSubstringsMatch, + NUMERATION single-valued, + ID id-nat-suppl-receipt-info +} + +rn-extensions X413ATTRIBUTE ::= { + WITH ATTRIBUTE-SYNTAX IPMSExtension {{RNExtensions}}, + NUMERATION multi-valued, + ID id-nat-rn-extensions +} + +-- Other notification type fields +other-notification-type-fields X413ATTRIBUTE ::= { + WITH ATTRIBUTE-SYNTAX IPMSExtension {{OtherNotifications}}, + NUMERATION multi-valued, + ID id-nat-other-notification-type-fields +} + +-- CORRELATION ATTRIBUTES +-- Common attributes +ac-forwarding-ipms X413ATTRIBUTE ::= { + WITH ATTRIBUTE-SYNTAX SequenceNumber, + EQUALITY MATCHING-RULE integerMatch, + ORDERING MATCHING-RULE integerOrderingMatch, + NUMERATION multi-valued, + ID id-cat-forwarding-ipms +} + +ac-forwarded-ipms X413ATTRIBUTE ::= { + WITH ATTRIBUTE-SYNTAX SequenceNumber, + EQUALITY MATCHING-RULE integerMatch, + ORDERING MATCHING-RULE integerOrderingMatch, + NUMERATION multi-valued, + ID id-cat-forwarded-ipms +} + +ac-obsoleting-ipms X413ATTRIBUTE ::= { + WITH ATTRIBUTE-SYNTAX SequenceNumber, + EQUALITY MATCHING-RULE integerMatch, + ORDERING MATCHING-RULE integerOrderingMatch, + NUMERATION multi-valued, + ID id-cat-obsoleting-ipms +} + +ac-obsoleted-ipms X413ATTRIBUTE ::= { + WITH ATTRIBUTE-SYNTAX IPMLocation, + OTHER MATCHING-RULES {iPMLocationMatch, ...}, + NUMERATION multi-valued, + ID id-cat-obsoleted-ipms +} + +IPMLocation ::= CHOICE {stored SET OF SequenceNumber, + absent NULL, + ... +} + +ac-relating-ipms X413ATTRIBUTE ::= { + WITH ATTRIBUTE-SYNTAX SequenceNumber, + EQUALITY MATCHING-RULE integerMatch, + ORDERING MATCHING-RULE integerOrderingMatch, + NUMERATION multi-valued, + ID id-cat-relating-ipms +} + +ac-related-ipms X413ATTRIBUTE ::= { + WITH ATTRIBUTE-SYNTAX IPMLocation, + OTHER MATCHING-RULES {iPMLocationMatch, ...}, + NUMERATION multi-valued, + ID id-cat-related-ipms +} + +ac-replied-to-ipm X413ATTRIBUTE ::= { + WITH ATTRIBUTE-SYNTAX SequenceNumber, + EQUALITY MATCHING-RULE integerMatch, + ORDERING MATCHING-RULE integerOrderingMatch, + NUMERATION multi-valued, + ID id-cat-replied-to-ipm +} + +ac-replying-ipms X413ATTRIBUTE ::= { + WITH ATTRIBUTE-SYNTAX SequenceNumber, + EQUALITY MATCHING-RULE integerMatch, + ORDERING MATCHING-RULE integerOrderingMatch, + NUMERATION multi-valued, + ID id-cat-replying-ipms +} + +ac-subject-ipm X413ATTRIBUTE ::= { + WITH ATTRIBUTE-SYNTAX SequenceNumber, + EQUALITY MATCHING-RULE integerMatch, + ORDERING MATCHING-RULE integerOrderingMatch, + NUMERATION multi-valued, + ID id-cat-subject-ipm +} + +-- Submitted message correlation +ac-ipm-recipients X413ATTRIBUTE ::= { + WITH ATTRIBUTE-SYNTAX ORDescriptor, + EQUALITY MATCHING-RULE oRDescriptorMatch, + OTHER MATCHING-RULES + {oRDescriptorElementsMatch | oRDescriptorSingleElementMatch | + oRDescriptorSubstringElementsMatch, ...}, + NUMERATION multi-valued, + ID id-cat-ipm-recipients +} + +ac-delivered-replies-summary X413ATTRIBUTE ::= { + WITH ATTRIBUTE-SYNTAX DeliveredReplyStatus, + EQUALITY MATCHING-RULE integerMatch, + ORDERING MATCHING-RULE integerOrderingMatch, + NUMERATION multi-valued, + ID id-cat-delivered-replies-summary +} + +DeliveredReplyStatus ::= INTEGER { + no-reply-requested(0) -- reply not requested --, + reply-outstanding(1) -- reply requested --, reply-received(2)} + +ac-correlated-delivered-replies X413ATTRIBUTE ::= { + WITH ATTRIBUTE-SYNTAX CorrelatedDeliveredReplies, + NUMERATION multi-valued, + ID id-cat-correlated-delivered-replies +} + +CorrelatedDeliveredReplies ::= CHOICE { + no-reply-received [0] NULL, + received-replies [1] SEQUENCE OF SequenceNumber +} + +ac-delivered-ipn-summary X413ATTRIBUTE ::= { + WITH ATTRIBUTE-SYNTAX DeliveredIPNStatus, + EQUALITY MATCHING-RULE integerMatch, + ORDERING MATCHING-RULE integerOrderingMatch, + NUMERATION multi-valued, + ID id-cat-delivered-ipn-summary +} + +DeliveredIPNStatus ::= INTEGER { + no-ipn-requested(0), an-requested(3), nrn-requested(5), rn-requested(10), + an-received(13), ipm-auto-forwarded(15), ipm-discarded(20), rn-received(25) +} + +ac-correlated-delivered-ipns X413ATTRIBUTE ::= { + WITH ATTRIBUTE-SYNTAX CorrelatedDeliveredIPNs, + NUMERATION multi-valued, + ID id-cat-correlated-delivered-ipns +} + +CorrelatedDeliveredIPNs ::= CHOICE { + no-ipn-received [0] NULL, + ipns-received [1] SEQUENCE OF SequenceNumber +} + +-- Delivered message correlation +ac-submitted-reply-status X413ATTRIBUTE ::= { + WITH ATTRIBUTE-SYNTAX SubmittedReplyStatus, + EQUALITY MATCHING-RULE integerMatch, + ORDERING MATCHING-RULE integerOrderingMatch, + NUMERATION single-valued, + ID id-cat-submitted-reply-status +} + +SubmittedReplyStatus ::= INTEGER { + no-reply-requested(0), no-reply-intended(1), reply-pending(2), reply-sent(3) +} + +ac-submitted-ipn-status X413ATTRIBUTE ::= { + WITH ATTRIBUTE-SYNTAX SubmittedIPNStatus, + EQUALITY MATCHING-RULE integerMatch, + ORDERING MATCHING-RULE integerOrderingMatch, + NUMERATION single-valued, + ID id-cat-submitted-ipn-status +} + +SubmittedIPNStatus ::= INTEGER { + no-ipn-requested(0), nrn-requested(5), nrn-with-ipm-return-requested(10), + rn-requested(15), rn-with-ipm-return-requested(20), ipm-auto-forwarded(25), + ipm-discarded(30), rn-sent(35)} + +ac-submitted-ipns X413ATTRIBUTE ::= { + WITH ATTRIBUTE-SYNTAX SequenceNumber, + EQUALITY MATCHING-RULE integerMatch, + ORDERING MATCHING-RULE integerOrderingMatch, + NUMERATION multi-valued, + ID id-cat-submitted-ipns +} + +recipient-category X413ATTRIBUTE ::= { + WITH ATTRIBUTE-SYNTAX RecipientCategory, + EQUALITY MATCHING-RULE integerMatch, + ORDERING MATCHING-RULE integerOrderingMatch, + NUMERATION single-valued, + ID id-cat-recipient-category +} + +RecipientCategory ::= INTEGER { + primary-recipient(0), copy-recipient(1), blind-copy-recipient(2), + category-unknown(3), circulation-list(4)} + +revised-reply-time X413ATTRIBUTE ::= { + WITH ATTRIBUTE-SYNTAX ReplyTimeField, + EQUALITY MATCHING-RULE uTCTimeMatch, + ORDERING MATCHING-RULE uTCTimeOrderingMatch, + NUMERATION single-valued, + ID id-cat-revised-reply-time +} + +-- MATCHING-RULES +IPMMatchingRuleTable MATCHING-RULE ::= + {iPMIdentifierMatch | oRDescriptorMatch | recipientSpecifierMatch, + ... -- 1994 extension additions --, circulationMemberCheckmarkMatch | + circulationMemberElementsMatch | circulationMemberMatch | + circulationMemberSingleElementMatch | + circulationMemberSubstringElementsMatch | distributionCodeMatch | + informationCategoryMatch | iPMLocationMatch | oRDescriptorElementsMatch | + oRDescriptorSingleElementMatch | oRDescriptorSubstringElementsMatch | + recipientSpecifierElementsMatch | recipientSpecifierSingleElementMatch | + recipientSpecifierSubstringElementsMatch} + +iPMIdentifierMatch MATCHING-RULE ::= { + SYNTAX IPMIdentifier + ID id-mr-ipm-identifier +} + +iPMLocationMatch MATCHING-RULE ::= { + SYNTAX SequenceNumber + ID id-mr-ipm-location +} + +oRDescriptorMatch MATCHING-RULE ::= { + SYNTAX ORDescriptor + ID id-mr-or-descriptor +} + +oRDescriptorElementsMatch MATCHING-RULE ::= { + SYNTAX ORDescriptor + ID id-mr-or-descriptor-elements +} + +oRDescriptorSubstringElementsMatch MATCHING-RULE ::= { + SYNTAX ORDescriptor + ID id-mr-or-descriptor-substring-elements +} + +oRDescriptorSingleElementMatch MATCHING-RULE ::= { + SYNTAX MSString {ub-msstring-match} + ID id-mr-or-descriptor-single-element +} + +recipientSpecifierMatch MATCHING-RULE ::= { + SYNTAX RecipientSpecifier + ID id-mr-recipient-specifier +} + +recipientSpecifierElementsMatch MATCHING-RULE ::= { + SYNTAX RecipientSpecifier + ID id-mr-recipient-specifier-elements +} + +recipientSpecifierSubstringElementsMatch MATCHING-RULE ::= { + SYNTAX RecipientSpecifier + ID id-mr-recipient-specifier-substring-elements +} + +recipientSpecifierSingleElementMatch MATCHING-RULE ::= { + SYNTAX MSString {ub-msstring-match} + ID id-mr-recipient-specifier-single-element +} + +circulationMemberMatch MATCHING-RULE ::= { + SYNTAX CirculationMember + ID id-mr-circulation-member +} + +circulationMemberElementsMatch MATCHING-RULE ::= { + SYNTAX CirculationMember + ID id-mr-circulation-member-elements +} + +circulationMemberSubstringElementsMatch MATCHING-RULE ::= { + SYNTAX CirculationMember + ID id-mr-circulation-member-substring-elements +} + +circulationMemberSingleElementMatch MATCHING-RULE ::= { + SYNTAX MSString {ub-msstring-match} + ID id-mr-circulation-member-single-element +} + +circulationMemberCheckmarkMatch MATCHING-RULE ::= { + SYNTAX CirculationMember + ID id-mr-circulation-member-checkmark +} + +distributionCodeMatch MATCHING-RULE ::= { + SYNTAX DistributionCode + ID id-mr-distribution-code +} + +informationCategoryMatch MATCHING-RULE ::= { + SYNTAX InformationCategory + ID id-mr-information-category +} + +END -- of IPMSMessageStoreAttributes + +-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D + diff --git a/epan/dissectors/asn1/p22/IPMSObjectIdentifiers.asn b/epan/dissectors/asn1/p22/IPMSObjectIdentifiers.asn new file mode 100644 index 00000000..6464db4c --- /dev/null +++ b/epan/dissectors/asn1/p22/IPMSObjectIdentifiers.asn @@ -0,0 +1,508 @@ +-- http://www.itu.int/ITU-T/asn1/database/itu-t/x/x420/1999/index.html +-- Module IPMSObjectIdentifiers (X.420:06/1999) +IPMSObjectIdentifiers {joint-iso-itu-t mhs(6) ipms(1) modules(0) + object-identifiers(0) version-1999(1)} DEFINITIONS IMPLICIT TAGS ::= +BEGIN + +-- Prologue +-- Exports everything. +IMPORTS -- nothing -- ; + +ID ::= OBJECT IDENTIFIER + +-- Interpersonal Messaging (not definitive) +id-ipms ID ::= + {joint-iso-itu-t mhs(6) ipms(1)} -- not definitive + +-- Categories +id-mod ID ::= {id-ipms 0} -- modules; not definitive + +id-ot ID ::= {id-ipms 1} -- object types + +id-pt ID ::= {id-ipms 2} -- port types + +id-et ID ::= {id-ipms 4} -- extended body part types + +id-hex ID ::= {id-ipms 5} -- heading extensions + +id-sat ID ::= {id-ipms 6} -- summary attributes + +id-hat ID ::= {id-ipms 7} -- heading attributes + +id-bat ID ::= {id-ipms 8} -- body attributes + +id-nat ID ::= {id-ipms 9} -- notification attributes + +id-mct ID ::= {id-ipms 10} -- message content types + +id-ep ID ::= {id-ipms 11} -- extended body part parameters + +id-eit ID ::= {id-ipms 12} -- encoded information types + +id-cat ID ::= {id-ipms 13} -- correlation attributes + +id-mr ID ::= {id-ipms 14} -- matching-rules + +id-aa ID ::= {id-ipms 15} -- auto-actions + +id-aae ID ::= {id-ipms 16} -- auto-action errors + +id-mst ID ::= {id-ipms 17} -- message store types + +id-sec ID ::= {id-ipms 18} -- ipm security extensions + +id-on ID ::= {id-ipms 19} -- other notification type extensions + +id-rex ID ::= {id-ipms 20} -- recipient extensions + +-- Modules +id-mod-object-identifiers ID ::= {id-mod 0} -- not definitive + +id-mod-functional-objects ID ::= {id-mod 1} -- not definitive + +id-mod-information-objects ID ::= {id-mod 2} -- not definitive + +id-mod-abstract-service ID ::= {id-mod 3} -- not definitive + +id-mod-heading-extensions ID ::= {id-mod 6} -- not definitive + +id-mod-extended-body-part-types ID ::= {id-mod 7} -- not definitive + +id-mod-message-store-attributes ID ::= {id-mod 8} -- not definitive + +id-mod-file-transfer-body-part-type ID ::= {id-mod 9} -- not definitive + +id-mod-upper-bounds ID ::= {id-mod 10} -- not definitive + +id-mod-extended-voice-body-part-type ID ::= {id-mod 11} -- not definitive + +id-mod-forwarded-report-body-part-type ID ::= {id-mod 12} -- not definitive + +id-mod-auto-actions ID ::= {id-mod 13} -- not definitive + +id-mod-ipm-security-extensions ID ::= {id-mod 14} -- not definitive + +id-mod-forwarded-content-body-part-type ID ::= {id-mod 15} -- not definitive + +id-mod-pkcs7-body-part-type ID ::= {id-mod 16} -- not definitive + +-- Object types +id-ot-ipms-user ID ::= {id-ot 1} + +id-ot-ipms ID ::= {id-ot 2} + +-- Port types +id-pt-origination ID ::= {id-pt 0} + +id-pt-reception ID ::= {id-pt 1} + +id-pt-management ID ::= {id-pt 2} + +-- Extended body part types +id-et-ia5-text ID ::= {id-et 0} + +id-et-g3-facsimile ID ::= {id-et 2} + +id-et-g4-class1 ID ::= {id-et 3} + +id-et-teletex ID ::= {id-et 4} + +id-et-videotex ID ::= {id-et 5} + +id-et-encrypted ID ::= {id-et 6} + +id-et-message ID ::= {id-et 7} + +id-et-mixed-mode ID ::= {id-et 8} + +id-et-bilaterally-defined ID ::= {id-et 9} + +id-et-nationally-defined ID ::= {id-et 10} + +id-et-general-text ID ::= {id-et 11} + +id-et-file-transfer ID ::= {id-et 12} + +-- Value {id-et 13} is no longer defined +id-et-report ID ::= {id-et 14} + +id-et-notification ID ::= {id-et 15} + +id-et-voice ID ::= {id-et 16} + +id-et-content ID ::= + {id-et 17} -- This value is not used directly, only as a prefix + +id-et-pkcs7 ID ::= {id-et 18} + +-- Heading extensions +id-hex-incomplete-copy ID ::= {id-hex 0} + +id-hex-languages ID ::= {id-hex 1} + +id-hex-auto-submitted ID ::= {id-hex 2} + +id-hex-body-part-signatures ID ::= {id-hex 3} + +id-hex-ipm-security-label ID ::= {id-hex 4} + +id-hex-authorization-time ID ::= {id-hex 5} + +id-hex-circulation-list-recipients ID ::= {id-hex 6} + +id-hex-distribution-codes ID ::= {id-hex 7} + +id-hex-extended-subject ID ::= {id-hex 8} + +id-hex-information-category ID ::= {id-hex 9} + +id-hex-manual-handling-instructions ID ::= {id-hex 10} + +id-hex-originators-reference ID ::= {id-hex 11} + +id-hex-precedence-policy-id ID ::= {id-hex 12} + +-- Summary attributes +id-sat-ipm-entry-type ID ::= {id-sat 0} + +id-sat-ipm-synopsis ID ::= {id-sat 1} + +id-sat-body-parts-summary ID ::= {id-sat 2} + +id-sat-ipm-auto-discarded ID ::= {id-sat 3} + +-- Heading attributes +id-hat-heading ID ::= {id-hat 0} + +id-hat-this-ipm ID ::= {id-hat 1} + +id-hat-originator ID ::= {id-hat 2} + +id-hat-replied-to-IPM ID ::= {id-hat 3} + +id-hat-subject ID ::= {id-hat 4} + +id-hat-expiry-time ID ::= {id-hat 5} + +id-hat-reply-time ID ::= {id-hat 6} + +id-hat-importance ID ::= {id-hat 7} + +id-hat-sensitivity ID ::= {id-hat 8} + +id-hat-auto-forwarded ID ::= {id-hat 9} + +id-hat-authorizing-users ID ::= {id-hat 10} + +id-hat-primary-recipients ID ::= {id-hat 11} + +id-hat-copy-recipients ID ::= {id-hat 12} + +id-hat-blind-copy-recipients ID ::= {id-hat 13} + +id-hat-obsoleted-IPMs ID ::= {id-hat 14} + +id-hat-related-IPMs ID ::= {id-hat 15} + +id-hat-reply-recipients ID ::= {id-hat 16} + +id-hat-incomplete-copy ID ::= {id-hat 17} + +id-hat-languages ID ::= {id-hat 18} + +id-hat-rn-requestors ID ::= {id-hat 19} + +id-hat-nrn-requestors ID ::= {id-hat 20} + +id-hat-reply-requestors ID ::= {id-hat 21} + +id-hat-auto-submitted ID ::= {id-hat 22} + +id-hat-body-part-signatures ID ::= {id-hat 23} + +id-hat-ipm-security-label ID ::= {id-hat 24} + +id-hat-body-part-security-label ID ::= {id-hat 25} + +id-hat-body-part-encryption-token ID ::= {id-hat 26} + +id-hat-authorization-time ID ::= {id-hat 27} + +id-hat-circulation-list-recipients ID ::= {id-hat 28} + +id-hat-distribution-codes ID ::= {id-hat 29} + +id-hat-extended-subject ID ::= {id-hat 30} + +id-hat-information-category ID ::= {id-hat 31} + +id-hat-manual-handling-instructions ID ::= {id-hat 32} + +id-hat-originators-reference ID ::= {id-hat 33} + +id-hat-precedence-policy-id ID ::= {id-hat 34} + +id-hat-forwarded-content-token ID ::= {id-hat 35} + +id-hat-forwarding-token ID ::= {id-hat 36} + +id-hat-precedence ID ::= {id-hat 37} + +id-hat-body-part-signature-verification-status ID ::= {id-hat 38} + +-- Body attributes +id-bat-body ID ::= {id-bat 0} + +id-bat-ia5-text-body-parts ID ::= {id-bat 1} + +id-bat-g3-facsimile-body-parts ID ::= {id-bat 3} + +id-bat-g4-class1-body-parts ID ::= {id-bat 4} + +id-bat-teletex-body-parts ID ::= {id-bat 5} + +id-bat-videotex-body-parts ID ::= {id-bat 6} + +id-bat-encrypted-body-parts ID ::= {id-bat 7} + +id-bat-message-body-parts ID ::= {id-bat 8} + +id-bat-mixed-mode-body-parts ID ::= {id-bat 9} + +id-bat-bilaterally-defined-body-parts ID ::= {id-bat 10} + +id-bat-nationally-defined-body-parts ID ::= {id-bat 11} + +id-bat-extended-body-part-types ID ::= {id-bat 12} + +id-bat-ia5-text-parameters ID ::= {id-bat 13} + +id-bat-g3-facsimile-parameters ID ::= {id-bat 15} + +id-bat-teletex-parameters ID ::= {id-bat 16} + +id-bat-videotex-parameters ID ::= {id-bat 17} + +id-bat-encrypted-parameters ID ::= {id-bat 18} + +id-bat-message-parameters ID ::= {id-bat 19} + +id-bat-ia5-text-data ID ::= {id-bat 20} + +id-bat-g3-facsimile-data ID ::= {id-bat 22} + +id-bat-teletex-data ID ::= {id-bat 23} + +id-bat-videotex-data ID ::= {id-bat 24} + +id-bat-encrypted-data ID ::= {id-bat 25} + +id-bat-message-data ID ::= {id-bat 26} + +-- Notification attributes +id-nat-subject-ipm ID ::= {id-nat 0} + +id-nat-ipn-originator ID ::= {id-nat 1} + +id-nat-ipm-intended-recipient ID ::= {id-nat 2} + +id-nat-conversion-eits ID ::= {id-nat 3} + +id-nat-non-receipt-reason ID ::= {id-nat 4} + +id-nat-discard-reason ID ::= {id-nat 5} + +id-nat-auto-forward-comment ID ::= {id-nat 6} + +id-nat-returned-ipm ID ::= {id-nat 7} + +id-nat-receipt-time ID ::= {id-nat 8} + +id-nat-acknowledgment-mode ID ::= {id-nat 9} + +id-nat-suppl-receipt-info ID ::= {id-nat 10} + +id-nat-notification-extensions ID ::= {id-nat 11} + +id-nat-nrn-extensions ID ::= {id-nat 12} + +id-nat-rn-extensions ID ::= {id-nat 13} + +id-nat-other-notification-type-fields ID ::= {id-nat 14} + +-- Correlation attributes +id-cat-correlated-delivered-ipns ID ::= {id-cat 0} + +id-cat-correlated-delivered-replies ID ::= {id-cat 1} + +id-cat-delivered-ipn-summary ID ::= {id-cat 2} + +id-cat-delivered-replies-summary ID ::= {id-cat 3} + +id-cat-forwarded-ipms ID ::= {id-cat 4} + +id-cat-forwarding-ipms ID ::= {id-cat 5} + +id-cat-ipm-recipients ID ::= {id-cat 6} + +id-cat-obsoleted-ipms ID ::= {id-cat 7} + +id-cat-obsoleting-ipms ID ::= {id-cat 8} + +id-cat-related-ipms ID ::= {id-cat 9} + +id-cat-relating-ipms ID ::= {id-cat 10} + +id-cat-replied-to-ipm ID ::= {id-cat 11} + +id-cat-replying-ipms ID ::= {id-cat 12} + +id-cat-revised-reply-time ID ::= {id-cat 13} + +id-cat-submitted-ipn-status ID ::= {id-cat 14} + +id-cat-submitted-ipns ID ::= {id-cat 15} + +id-cat-submitted-reply-status ID ::= {id-cat 16} + +id-cat-subject-ipm ID ::= {id-cat 17} + +id-cat-recipient-category ID ::= {id-cat 18} + +-- Message content types (for use by MS and Directory) +id-mct-p2-1984 ID ::= + {id-mct 0} -- P2 1984 + +id-mct-p2-1988 ID ::= {id-mct 1} -- P2 1988 + +-- Extended body part parameters +id-ep-ia5-text ID ::= {id-ep 0} + +id-ep-g3-facsimile ID ::= {id-ep 2} + +id-ep-teletex ID ::= {id-ep 4} + +id-ep-videotex ID ::= {id-ep 5} + +id-ep-encrypted ID ::= {id-ep 6} + +id-ep-message ID ::= {id-ep 7} + +id-ep-general-text ID ::= {id-ep 11} + +id-ep-file-transfer ID ::= {id-ep 12} + +-- Value {id-ep 13} is no longer defined +id-ep-notification ID ::= {id-ep 15} + +id-ep-voice ID ::= {id-ep 16} + +id-ep-content ID ::= + {id-ep 17} -- This value is not used directly, only as a prefix + +-- Encoded Information Types +id-eit-file-transfer ID ::= {id-eit 0} + +id-eit-voice ID ::= {id-eit 1} + +-- Voice Encoded Information Types +id-voice-11khz-sample ID ::= + {id-eit-voice 0} + +id-voice-22khz-sample ID ::= {id-eit-voice 1} + +id-voice-cd-quality ID ::= {id-eit-voice 2} + +id-voice-g711-mu-law ID ::= {id-eit-voice 3} + +id-voice-g726-32k-adpcm ID ::= {id-eit-voice 4} + +id-voice-g728-16k-ld-celp ID ::= {id-eit-voice 5} + +-- Matching-rules +id-mr-ipm-identifier ID ::= {id-mr 0} + +id-mr-or-descriptor ID ::= {id-mr 1} + +id-mr-or-descriptor-elements ID ::= {id-mr 2} + +id-mr-or-descriptor-substring-elements ID ::= {id-mr 3} + +id-mr-recipient-specifier ID ::= {id-mr 4} + +id-mr-recipient-specifier-elements ID ::= {id-mr 5} + +id-mr-recipient-specifier-substring-elements ID ::= {id-mr 6} + +id-mr-ipm-location ID ::= {id-mr 7} + +id-mr-or-descriptor-single-element ID ::= {id-mr 8} + +id-mr-recipient-specifier-single-element ID ::= {id-mr 9} + +id-mr-circulation-member ID ::= {id-mr 10} + +id-mr-circulation-member-elements ID ::= {id-mr 11} + +id-mr-circulation-member-substring-elements ID ::= {id-mr 12} + +id-mr-circulation-member-single-element ID ::= {id-mr 13} + +id-mr-circulation-member-checkmark ID ::= {id-mr 14} + +id-mr-distribution-code ID ::= {id-mr 15} + +id-mr-information-category ID ::= {id-mr 16} + +-- Auto-actions +id-aa-ipm-auto-acknowledgement ID ::= {id-aa 0} + +id-aa-ipm-auto-correlate ID ::= {id-aa 1} + +id-aa-ipm-auto-discard ID ::= {id-aa 2} + +id-aa-ipm-auto-advise ID ::= {id-aa 3} + +-- Auto-action-errors +id-aae-auto-discard-error ID ::= {id-aae 0} + +id-aae-auto-forwarding-loop ID ::= {id-aae 1} + +id-aae-duplicate-ipn ID ::= {id-aae 2} + +-- Message Store types +id-mst-invalid-assembly-instructions ID ::= {id-mst 0} + +id-mst-invalid-ipn ID ::= {id-mst 1} + +id-mst-assembly-instructions ID ::= {id-mst 2} + +id-mst-suspend-auto-acknowledgement ID ::= {id-mst 3} + +id-mst-prevent-nrn-generation ID ::= {id-mst 4} + +id-mst-originator-body-part-encryption-token ID ::= {id-mst 5} + +id-mst-originator-forwarded-content-token ID ::= {id-mst 6} + +id-mst-assembly-capability ID ::= {id-mst 7} + +-- Security extensions +id-sec-ipm-security-request ID ::= {id-sec 0} + +id-sec-security-common-fields ID ::= {id-sec 1} + +-- Other notification types +id-on-absence-advice ID ::= {id-on 0} + +id-on-change-of-address-advice ID ::= {id-on 1} + +-- Recipient extensions +id-rex-circulation-list-indicator ID ::= {id-rex 0} + +id-rex-precedence ID ::= {id-rex 1} + +END -- of IPMSObjectIdentifiers + +-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D + diff --git a/epan/dissectors/asn1/p22/IPMSSecurityExtensions.asn b/epan/dissectors/asn1/p22/IPMSSecurityExtensions.asn new file mode 100644 index 00000000..f4bfb109 --- /dev/null +++ b/epan/dissectors/asn1/p22/IPMSSecurityExtensions.asn @@ -0,0 +1,149 @@ +-- http://www.itu.int/ITU-T/asn1/database/itu-t/x/x420/1999/index.html +-- Module IPMSSecurityExtensions (X.420:06/1999) +IPMSSecurityExtensions {joint-iso-itu-t mhs(6) ipms(1) modules(0) + ipm-security-extensions(14) version-1999(1)} DEFINITIONS IMPLICIT TAGS ::= +BEGIN + +-- Prologue +-- Exports everything +IMPORTS + -- MTS Abstract Service + --Certificates,-- Content, ContentIntegrityCheck, ExtendedCertificates, + EXTENSION, MessageOriginAuthenticationCheck, MessageToken, EncryptionKey + --== + FROM MTSAbstractService {joint-iso-itu-t mhs(6) mts(3) modules(0) + mts-abstract-service(1) version-1999(1)} +--WS: asn2wrs can't import a type through a intermediate module - so we import directly + Certificates + --== + FROM AuthenticationFramework {joint-iso-itu-t ds(5) module(1) + authenticationFramework(7) 3} + -- IPMS Information Objects + IPMS-EXTENSION, BodyPartNumber + --== + FROM IPMSInformationObjects {joint-iso-itu-t mhs(6) ipms(1) modules(0) + information-objects(2) version-1999(1)} + -- IPMS Heading Extensions +-- BodyPartNumber + --== +-- FROM IPMSHeadingExtensions {joint-iso-itu-t mhs(6) ipms(1) modules(0) +-- heading-extensions(6) version-1999(1)} + -- Directory Authentication Framework + AlgorithmIdentifier, ENCRYPTED{} + --== + FROM AuthenticationFramework {joint-iso-itu-t ds(5) module(1) + authenticationFramework(7) 3} + -- Directory Certificate Extensions + CertificateAssertion + --== + FROM CertificateExtensions {joint-iso-itu-t ds(5) module(1) + certificateExtensions(26) 0} + -- IPMS Object Identifiers + id-sec-ipm-security-request, id-sec-security-common-fields + --== + FROM IPMSObjectIdentifiers {joint-iso-itu-t mhs(6) ipms(1) modules(0) + object-identifiers(0) version-1999(1)}; + +-- Recipient Security Request +recipient-security-request IPMS-EXTENSION ::= { + VALUE RecipientSecurityRequest, + IDENTIFIED BY id-sec-ipm-security-request +} + +RecipientSecurityRequest ::= BIT STRING { + content-non-repudiation(0), content-proof(1), ipn-non-repudiation(2), + ipn-proof(3)} + +-- IPN Security Response +ipn-security-response IPMS-EXTENSION ::= { + VALUE IpnSecurityResponse, + IDENTIFIED BY id-sec-security-common-fields +} + +IpnSecurityResponse ::= SET { + content-or-arguments + CHOICE {original-content OriginalContent, + original-security-arguments + SET {original-content-integrity-check + [0] OriginalContentIntegrityCheck OPTIONAL, + original-message-origin-authentication-check + [1] OriginalMessageOriginAuthenticationCheck OPTIONAL, + original-message-token + [2] OriginalMessageToken OPTIONAL}}, + security-diagnostic-code SecurityDiagnosticCode OPTIONAL +} + +-- MTS security fields +OriginalContent ::= Content + +OriginalContentIntegrityCheck ::= ContentIntegrityCheck + +OriginalMessageOriginAuthenticationCheck ::= MessageOriginAuthenticationCheck + +OriginalMessageToken ::= MessageToken + +-- Security Diagnostic Codes +SecurityDiagnosticCode ::= INTEGER { + integrity-failure-on-subject-message(0), + integrity-failure-on-forwarded-message(1), + moac-failure-on-subject-message(2), unsupported-security-policy(3), + unsupported-algorithm-identifier(4), decryption-failed(5), token-error(6), + unable-to-sign-notification(7), unable-to-sign-message-receipt(8), + authentication-failure-on-subject-message(9), + security-context-failure-message(10), message-sequence-failure(11), + message-security-labelling-failure(12), repudiation-failure-of-message(13), + failure-of-proof-of-message(14), signature-key-unobtainable(15), + decryption-key-unobtainable(16), key-failure(17), + unsupported-request-for-security-service(18), + inconsistent-request-for-security-service(19), + ipn-non-repudiation-provided-instead-of-content-proof(20), + token-decryption-failed(21), double-enveloping-message-restoring-failure(22), + unauthorised-dl-member(23), reception-security-failure(24), + unsuitable-alternate-recipient(25), security-services-refusal(26), + unauthorised-recipient(27), unknown-certification-authority-name(28), + unknown-dl-name(29), unknown-originator-name(30), unknown-recipient-name(31), + security-policy-violation(32)} + +-- Security Envelope Extensions +body-part-encryption-token EXTENSION ::= { + BodyPartTokens, + RECOMMENDED CRITICALITY {for-delivery}, + IDENTIFIED BY standard-extension:43 +} + +BodyPartTokens ::= + SET OF + SET {body-part-number BodyPartNumber, + body-part-choice + CHOICE {encryption-token EncryptionToken, + message-or-content-body-part [0] BodyPartTokens} + } + +EncryptionToken ::= SET { + encryption-algorithm-identifier AlgorithmIdentifier, + encrypted-key --ENCRYPTED{EncryptionKey}-- BIT STRING, + recipient-certificate-selector [0] CertificateAssertion OPTIONAL, + recipient-certificate [1] Certificates OPTIONAL, + originator-certificate-selector [2] CertificateAssertion OPTIONAL, + originator-certificates [3] ExtendedCertificates OPTIONAL, + ... +} + +forwarded-content-token EXTENSION ::= { + ForwardedContentToken, + RECOMMENDED CRITICALITY {for-delivery}, + IDENTIFIED BY standard-extension:44 +} + +ForwardedContentToken ::= + SET OF + SET {body-part-number BodyPartNumber, + body-part-choice + CHOICE {forwarding-token MessageToken, + message-or-content-body-part ForwardedContentToken + }} + +END -- of IPMSSecurityExtensions + +-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D + diff --git a/epan/dissectors/asn1/p22/IPMSUpperBounds.asn b/epan/dissectors/asn1/p22/IPMSUpperBounds.asn new file mode 100644 index 00000000..80300aab --- /dev/null +++ b/epan/dissectors/asn1/p22/IPMSUpperBounds.asn @@ -0,0 +1,48 @@ +-- Module IPMSUpperBounds (X.420:06/1999) +-- See also ITU-T X.420 (06/1999) +-- See also the index of all ASN.1 assignments needed in this document + +IPMSUpperBounds {joint-iso-itu-t mhs(6) ipms(1) modules(0) upper-bounds(10) + version-1999(1)} DEFINITIONS IMPLICIT TAGS ::= +BEGIN + +-- Prologue +-- Exports everything. +IMPORTS -- nothing -- ; + +-- Upper bounds +ub-alpha-code-length INTEGER ::= 16 + +ub-auto-forward-comment INTEGER ::= 256 + +ub-circulation-list-members INTEGER ::= 256 + +ub-distribution-codes INTEGER ::= 16 + +ub-extended-subject-length INTEGER ::= 256 + +ub-free-form-name INTEGER ::= 64 + +ub-information-categories INTEGER ::= 16 + +ub-information-category-length INTEGER ::= 64 + +ub-ipm-identifier-suffix INTEGER ::= 2 + +ub-local-ipm-identifier INTEGER ::= 64 + +ub-manual-handling-instruction-length INTEGER ::= 128 + +ub-manual-handling-instructions INTEGER ::= 16 + +ub-originators-reference-length INTEGER ::= 64 + +ub-precedence INTEGER ::= 127 + +ub-subject-field INTEGER ::= 128 + +ub-telephone-number INTEGER ::= 32 + +END -- of IPMSUpperBounds + +-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D diff --git a/epan/dissectors/asn1/p22/p22.cnf b/epan/dissectors/asn1/p22/p22.cnf new file mode 100644 index 00000000..6b610c69 --- /dev/null +++ b/epan/dissectors/asn1/p22/p22.cnf @@ -0,0 +1,305 @@ +# p22.cnf +# X.420 (InterPersonal Messaging) conformance file + +#.TYPE_ATTR +Time TYPE = FT_STRING DISPLAY = BASE_NONE STRING = NULL BITMASK = 0 +# Permitted-Actions-Attribute is exported from FTAM as DISPLAY = BASE_HEX - +# but this causes a runtime error. +# We override the definition here until we can identify the fix correct fix +Permitted-Actions-Attribute TYPE = FT_BYTES DISPLAY = BASE_NONE STRINGS = NULL BITMASK = 0 + +#.IMPORT ../ftam/ftam-exp.cnf +#.IMPORT ../p1/p1-exp.cnf +#.IMPORT ../p7/p7-exp.cnf +#.IMPORT ../x509af/x509af-exp.cnf +#.IMPORT ../x509ce/x509ce-exp.cnf +#.IMPORT ../acse/acse-exp.cnf + +#.OMIT_ASSIGNMENT +# These gives unused code warnings +RN +NRN +ON +ID +#.END + +#.NO_EMIT +# These fields are only used through COMPONENTS OF, +# and consequently generate unused code warnings +CommonFields +#.END + +#.EXPORTS +ORDescriptor +InformationObject +ExtensionsField +IPM +IPN +MessageParameters +NonReceiptReasonField +DiscardReasonField +ReceiptTimeField + +#.FIELD_RENAME + +G3FacsimileBodyPart/data g3facsimile_data +VideotexBodyPart/data videotex_data +ExtendedBodyPart/data extended_data +TeletexBodyPart/data teletex_data +IA5TextBodyPart/data ia5text_data +MessageBodyPart/data message_data +EncryptedBodyPart/data encrypted_data + +G3FacsimileBodyPart/parameters g3facsimile_parameters +VideotexBodyPart/parameters videotex_parameters +ExtendedBodyPart/parameters extended_parameters +TeletexBodyPart/parameters teletex_parameters +IA5TextBodyPart/parameters ia5text_parameters +MessageBodyPart/parameters message_parameters +EncryptedBodyPart/parameters encrypted_parameters + +TeletexParameters/non-basic-parameters teletex_non_basic_parameters +G3FacsimileParameters/non-basic-parameters g3facsimile_non_basic_parameters + +CirculationSignatureData/algorithm-identifier circulation-signature-algorithm-identifier + +Account-Attribute/actual-values account-actual-values +User-Identity-Attribute/actual-values identity-actual-values + +MessageReference/user-relative-identifier user-relative-identifier-ref + +BodyPartSignatureVerification/_item/body-part-signature body-part-signature-status +BodyPart/basic/encrypted encrypted-bp +BodyPartSynopsis/message message-synopsis +NonMessageBodyPartSynopsis/type bp-type +NonMessageBodyPartSynopsis/parameters bp-parameters + +ForwardedContentToken/_item/body-part-choice body-part-token-choice +ForwardedContentToken/_item/body-part-choice/message-or-content-body-part forwarded-content-token + +#.TYPE_RENAME + +ForwardedContentToken/_item/body-part-choice T_body_part_token_choice + +#.FIELD_ATTR +G3FacsimileBodyPart/data ABBREV=g3facsimile.data +VideotexBodyPart/data ABBREV=videotex.data +ExtendedBodyPart/data ABBREV=extended.data +TeletexBodyPart/data ABBREV=teletex.data +IA5TextBodyPart/data ABBREV=ia5text.data +MessageBodyPart/data ABBREV=message.data +EncryptedBodyPart/data ABBREV=encrypted.data +Account-Attribute/actual-values ABBREV=account.actual-values +User-Identity-Attribute/actual-values ABBREV=identity.actual-values + +#.REGISTER +AbsenceAdvice B "2.6.1.19.0" "id-on-absence-advice" +ChangeOfAddressAdvice B "2.6.1.19.1" "id-on-change-of-address-advice" +IPMAssemblyInstructions B "2.6.1.17.2" "id-mst-assembly-instructions" + +IncompleteCopy B "2.6.1.5.0" "id-hex-incomplete-copy" +Languages B "2.6.1.5.1" "id-hex-languages" +AutoSubmitted B "2.6.1.5.2" "id-hex-auto-submitted" +BodyPartSignatures B "2.6.1.5.3" "id-hex-body-part-signatures" +IPMSecurityLabel B "2.6.1.5.4" "id-hex-ipm-security-label" +AuthorizationTime B "2.6.1.5.5" "id-hex-authorization-time" +CirculationList B "2.6.1.5.6" "id-hex-circulation-list-recipients" +CirculationListIndicator B "2.6.1.20.0" "id-rex-circulation-list-indicator" +DistributionCodes B "2.6.1.5.7" "id-hex-distribution-codes" +ExtendedSubject B "2.6.1.5.8" "id-hex-extended-subject" +InformationCategories B "2.6.1.5.9" "id-hex-information-categories" +ManualHandlingInstructions B "2.6.1.5.10" "id-hex-manual-handling-instructions" +OriginatorsReference B "2.6.1.5.11" "id-hex-originators-reference" +PrecedencePolicyIdentifier B "2.6.1.5.12" "id-hex-precedence-policy-id" +Precedence B "2.6.1.20.1" "id-rex-precedence" + +IA5TextData B "2.6.1.4.0" "id-et-ia5-text" +IA5TextParameters B "2.6.1.11.0" "id-ep-ia5-text" +G3FacsimileData B "2.6.1.4.2" "id-et-g3-facsimile" +G3FacsimileParameters B "2.6.1.11.2" "id-ep-g3-facsimile" +G4Class1BodyPart B "2.6.1.4.3" "id-et-g4-class1" +TeletexData B "2.6.1.4.4" "id-et-teletex" +TeletexParameters B "2.6.1.11.4" "id-ep-teletex" +VideotexData B "2.6.1.4.5" "id-et-videotex" +VideotexParameters B "2.6.1.11.5" "id-ep-videotex" +EncryptedData B "2.6.1.4.6" "id-et-encrypted" +EncryptedParameters B "2.6.1.11.6" "id-ep-encrypted" +MessageData B "2.6.1.4.7" "id-et-message" +MessageParameters B "2.6.1.11.7" "id-ep-message" +MixedModeBodyPart B "2.6.1.4.8" "id-et-mixed-mode" +BilaterallyDefinedBodyPart B "2.6.1.4.9" "id-et-bilaterally-defined" + +GeneralTextParameters B "2.6.1.11.11" "id-ep-general-text" +GeneralTextData B "2.6.1.4.11" "id-et-general-text" +FileTransferParameters B "2.6.1.11.12" "id-ep-file-transfer" +FileTransferData B "2.6.1.4.12" "id-et-file-transfer" +# {id-et 13} is no longer defined +# ForwardedReportBodyPart {id-et 14} defined in p1.cnf +MessageParameters B "2.6.1.11.15" "id-ep-notification" +IPN B "2.6.1.4.15" "id-et-notification" +VoiceParameters B "2.6.1.11.16" "id-ep-voice" +VoiceData B "2.6.1.4.16" "id-et-voice" +# P22 +ForwardedContentParameters B "2.6.1.11.17.2.6.1.10.1" "id-ep-content-p22" +InformationObject B "2.6.1.4.17.2.6.1.10.1" "id-et-content-p22" +#p2 +ForwardedContentParameters B "2.6.1.11.17.2.6.1.10.0" "id-ep-content-p2" +InformationObject B "2.6.1.4.17.2.6.1.10.0" "id-et-content-p2" +#p722 +ForwardedContentParameters B "2.6.1.11.17.1.3.26.0.4406.0.4.1" "id-ep-content-p772" + + +# PKCS#7Bodypart {id-et 18} defined in cms.cnf + +# Message Store Attributes +IPMEntryType B "2.6.1.6.0" "id-sat-ipm-entry-type" +IPMSynopsis B "2.6.1.6.1" "id-sat-ipm-synopsis" +BodyPartDescriptor B "2.6.1.6.2" "id-sat-body-parts-summary" +#Boolean B "2.6.1.6.3" "id-sat-ipm-auto-discarded" - see x509sat.cnf + +Heading B "2.6.1.7.0" "id-hat-heading" +ThisIPMField B "2.6.1.7.1" "id-hat-this-ipm" +OriginatorField B "2.6.1.7.2" "id-hat-originator" +RepliedToIPMField B "2.6.1.7.3" "id-hat-replied-to-IPM" +SubjectField B "2.6.1.7.4" "id-hat-subject" +ExpiryTimeField B "2.6.1.7.5" "id-hat-expiry-time" +ReplyTimeField B "2.6.1.7.6" "id-hat-reply-time" +ImportanceField B "2.6.1.7.7" "id-hat-importance" +SensitivityField B "2.6.1.7.8" "id-hat-sensitivity" +AutoForwardedField B "2.6.1.7.9" "id-hat-auto-forwarded" +AuthorizingUsersSubfield B "2.6.1.7.10" "id-hat-authorizing-users" +PrimaryRecipientsSubfield B "2.6.1.7.11" "id-hat-primary-recipients" +CopyRecipientsSubfield B "2.6.1.7.12" "id-hat-copy-recipients" +BlindCopyRecipientsSubfield B "2.6.1.7.13" "id-hat-blind-copy-recipients" +ObsoletedIPMsSubfield B "2.6.1.7.14" "id-hat-obsoleted-IPMs" +RelatedIPMsSubfield B "2.6.1.7.15" "id-hat-related-IPMs" +ReplyRecipientsSubfield B "2.6.1.7.16" "id-hat-reply-recipients" +IncompleteCopy B "2.6.1.7.17" "id-hat-incomplete-copy" +Language B "2.6.1.7.18" "id-hat-languages" +ORDescriptor B "2.6.1.7.19" "id-hat-rn-requestors" +ORDescriptor B "2.6.1.7.20" "id-hat-nrn-requestors" +ORDescriptor B "2.6.1.7.21" "id-hat-reply-requestors" +AutoSubmitted B "2.6.1.7.22" "id-hat-auto-submitted" +BodyPartSignatures B "2.6.1.7.23" "id-hat-body-part-signatures" +IPMSecurityLabel B "2.6.1.7.24" "id-hat-ipm-security-label" +BodyPartSecurityLabel B "2.6.1.7.25" "id-hat-body-part-security-label" +BodyPartTokens B "2.6.1.7.26" "id-hat-body-part-encryption-token" +AuthorizationTime B "2.6.1.7.27" "id-hat-authorization-time" +CirculationMember B "2.6.1.7.28" "id-hat-circulation-list-recipients" +DistributionCode B "2.6.1.7.29" "id-hat-distribution-codes" +ExtendedSubject B "2.6.1.7.30" "id-hat-extended-subject" +InformationCategory B "2.6.1.7.31" "id-hat-information-category" +ManualHandlingInstruction B "2.6.1.7.32" "id-hat-manual-handling-instructions" +OriginatorsReference B "2.6.1.7.33" "id-hat-originators-reference" +PrecedencePolicyIdentifier B "2.6.1.7.34" "id-hat-precedence-policy-id" +ForwardedContentToken B "2.6.1.7.35" "id-hat-forwarded-content-token" +#MessageToken B "2.6.1.7.36" "id-hat-forwarded-token" - see p1.cnf +Precedence B "2.6.1.7.37" "id-hat-precedence" +BodyPartSignatureVerification B "2.6.1.7.38" "id-hat-body-part-signature-verification-status" + +Body B "2.6.1.8.0" "id-bat-body" + +# id-cat ID ::= {id-ipms 13} -- correlation attributes +CorrelatedDeliveredIPNs B "2.6.1.13.0" "id-cat-correlated-delivered-ipns" +CorrelatedDeliveredReplies B "2.6.1.13.1" "id-cat-correlated-delivered-replies" +DeliveredIPNStatus B "2.6.1.13.2" "id-cat-delivered-ipn-summary" +DeliveredReplyStatus B "2.6.1.13.3" "id-cat-delivered-replies-summary" +#SequenceNumber B "2.6.1.13.4" "id-cat-forwarded-ipms" +#SequenceNumber B "2.6.1.13.5" "id-cat-forwarding-ipms" +#ORDescriptor B "2.6.1.13.6" "id-cat-ipm-recipients" +IPMLocation B "2.6.1.13.7" "id-cat-obsoleted-ipms" +#SequenceNumber B "2.6.1.13.8" "id-cat-obsoleting-ipms" +#IPMLocation B "2.6.1.13.9" "id-cat-related-ipms" +#SequenceNumber B "2.6.1.13.10" "id-cat-relating-ipms" +#SequenceNumber B "2.6.1.13.11" "id-cat-replied-to-ipm" +#id-cat-replying-ipms B "2.6.1.13.12" "id-cat-replying-ipms" +#ReplyTimeField B "2.6.1.13.13" "id-cat-revised-reply-time" +SubmittedIPNStatus B "2.6.1.13.14" "id-cat-submitted-ipn-status" +#SequenceNumber B "2.6.1.13.15" "id-cat-submitted-ipns" +SubmittedReplyStatus B "2.6.1.13.16" "id-cat-submitted-reply-status" +#SequenceNumber B "2.6.1.13.17" "id-cat-subject-ipm" +RecipientCategory B "2.6.1.13.18" "id-cat-recipient-category" + +# id-sec ID ::= {id-ipms 18} -- ipm security extensions +RecipientSecurityRequest B "2.6.1.18.0" "id-sec-ipm-security-request" +IpnSecurityResponse B "2.6.1.18.1" "id-sec-security-common-fields" + +#.FN_PARS IPMSExtension/type + FN_VARIANT = _str VAL_PTR = &actx->external.direct_reference + +#.FN_BODY IPMSExtension/type + const char *name = NULL; + + %(DEFAULT_BODY)s + + name = oid_resolved_from_string(actx->pinfo->pool, actx->external.direct_reference); + proto_item_append_text(tree, " (%%s)", name ? name : actx->external.direct_reference); + +#.FN_BODY IPMSExtension/value + + offset=call_ber_oid_callback(actx->external.direct_reference, tvb, offset, actx->pinfo, tree, NULL); + +#.FN_BODY IPM + + col_append_str(actx->pinfo->cinfo, COL_INFO, " Message"); + + %(DEFAULT_BODY)s + + +#.FN_BODY IPN + + col_append_str(actx->pinfo->cinfo, COL_INFO, " Notification"); + + %(DEFAULT_BODY)s + +#.FN_PARS SubjectField + VAL_PTR=&subject + +#.FN_BODY SubjectField + tvbuff_t *subject=NULL; + + %(DEFAULT_BODY)s + + if(subject) + col_append_fstr(actx->pinfo->cinfo, COL_INFO, " (%%s)", tvb_get_string_enc(actx->pinfo->pool, subject, 0, + tvb_reported_length(subject), ENC_T61)); + +#.TYPE_ATTR +SubjectField DISPLAY = BASE_NONE + +#.TYPE_ATTR +TeletexData/_item DISPLAY = BASE_NONE + +#.TYPE_ATTR +FreeFormName DISPLAY = BASE_NONE + +#.TYPE_ATTR +VideotexData DISPLAY = BASE_NONE + +#.FN_PARS CharacterSetRegistration + VAL_PTR=&crs + +#.FN_BODY CharacterSetRegistration + guint32 crs; + %(DEFAULT_BODY)s + + if(actx->created_item) + proto_item_append_text(actx->created_item, " (%%s)", val_to_str(crs, charsetreg_vals, "unknown")); + +#.FN_BODY Interchange-Data-Element +/* XXX Not implemented yet */ + +#.FN_BODY NationallyDefinedBodyPart +/* XXX Not implemented yet */ + +#.FN_BODY Contents-Type-Attribute/document-type/parameter +/* XXX: Not implemented yet */ + +#.FN_BODY CompressionParameter/compression-algorithm-id + offset = dissect_ber_object_identifier_str(implicit_tag, actx, tree, tvb, offset, hf_index, &actx->external.direct_reference); + +#.FN_BODY CompressionParameter/compression-algorithm-param +/* XXX: Not implemented yet */ + +#.END + diff --git a/epan/dissectors/asn1/p22/packet-p22-template.c b/epan/dissectors/asn1/p22/packet-p22-template.c new file mode 100644 index 00000000..fe7d4d2d --- /dev/null +++ b/epan/dissectors/asn1/p22/packet-p22-template.c @@ -0,0 +1,136 @@ +/* packet-p22.c + * Routines for X.420 (X.400 Message Transfer) packet dissection + * Graeme Lunt 2005 + * + * Wireshark - Network traffic analyzer + * By Gerald Combs <gerald@wireshark.org> + * Copyright 1998 Gerald Combs + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ + +#include "config.h" + +#include <epan/packet.h> +#include <epan/oids.h> +#include <epan/asn1.h> +#include <epan/proto_data.h> + +#include "packet-ber.h" +#include "packet-acse.h" +#include "packet-ros.h" + +#include "packet-x509af.h" +#include "packet-x509ce.h" +#include "packet-ftam.h" +#include "packet-p1.h" +#include "packet-p7.h" + +#include "packet-p22.h" + +#define PNAME "X.420 Information Object" +#define PSNAME "P22" +#define PFNAME "p22" + +/* Initialize the protocol and registered fields */ +static int proto_p22 = -1; + +static const value_string charsetreg_vals [] = { + { 1, "C0: (ISO/IEC 6429)"}, + { 6, "G0: ASCII (ISO/IEC 646)"}, + { 77, "C1: (ISO/IEC 6429)"}, + { 100, "Gn: Latin Alphabet No.1, Western European Supplementary Set (GR area of ISO-8859-1)"}, + { 101, "Gn: Latin Alphabet No.2, Central EuropeanSupplementary Set (GR area of ISO-8859-2)"}, + { 104, "C0: (ISO/IEC 4873)"}, + { 105, "C1: (ISO/IEC 4873)"}, + { 106, "C0: Teletex (CCITT T.61)"}, + { 107, "C1: Teletex (CCITT T.61)"}, + { 109, "Gn: Latin Alphabet No.3, Southern European Supplementary Set (GR area of ISO-8859-3)"}, + { 110, "Gn: Latin Alphabet No.4, Baltic Supplementary Set (GR area of ISO-8859-4)"}, + { 126, "Gn: Greek Supplementary Set (GR area of ISO-8859-7)"}, + { 127, "Gn: Arabic Supplementary Set (GR area of ISO-8859-6)"}, + { 138, "Gn: Hebrew Supplementary Set (GR area of ISO-8859-8)"}, + { 144, "Gn: Cyrillic Supplementary Set (GR area of ISO-8859-5)"}, + { 148, "Gn: Latin Alphabet No.5, Cyrillic Supplementary Set (GR area of ISO-8859-9)"}, + { 154, "Gn: Supplementary Set for Latin Alphabets No.1 or No.5, and No.2"}, + { 157, "Gn: Latin Alphabet No.6, Arabic Supplementary Set (GR area of ISO-8859-10)"}, + { 158, "Gn: Supplementary Set for Sami (Lappish) to complement Latin Alphabet No.6 (from Annex A of ISO-8859-10)"}, + { 166, "Gn: Thai Supplementary Set (GR area of ISO-8859-11)"}, + { 179, "Gn: Latin Alphabet No.7, Baltic Rim Supplementary Set (GR area of ISO-8859-13)"}, + { 182, "Gn: Welsh Variant of Latin Alphabet No.1, Supplementary Set (GR area of ISO-8859-1)"}, + { 197, "Gn: Supplementary Set for Sami to complement Latin Alphabet No.6 (from Annex A of ISO-8859-10)"}, + { 199, "Gn: Latin Alphabet No.8, Celtic Supplementary Set (GR area of ISO-8859-14)"}, + { 203, "Gn: Latin Alphabet No.9, European Rim Supplementary Set (GR area of ISO-8859-15)"}, + { 0, NULL} +}; + +#include "packet-p22-val.h" + +#include "packet-p22-hf.c" + +/* Initialize the subtree pointers */ +static gint ett_p22 = -1; +#include "packet-p22-ett.c" + +#include "packet-p22-fn.c" + +/* +* Dissect P22 PDUs inside a PPDU. +*/ +static int +dissect_p22(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree, void* data _U_) +{ + int offset = 0; + proto_item *item=NULL; + proto_tree *tree=NULL; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + + if (parent_tree) { + item = proto_tree_add_item(parent_tree, proto_p22, tvb, 0, -1, ENC_NA); + tree = proto_item_add_subtree(item, ett_p22); + } + + col_set_str(pinfo->cinfo, COL_PROTOCOL, "P22"); + col_set_str(pinfo->cinfo, COL_INFO, "InterPersonal"); + + dissect_p22_InformationObject(TRUE, tvb, offset, &asn1_ctx , tree, -1); + return tvb_captured_length(tvb); +} + + +/*--- proto_register_p22 -------------------------------------------*/ +void proto_register_p22(void) { + + /* List of fields */ + static hf_register_info hf[] = + { +#include "packet-p22-hfarr.c" + }; + + /* List of subtrees */ + static gint *ett[] = { + &ett_p22, +#include "packet-p22-ettarr.c" + }; + + /* Register protocol */ + proto_p22 = proto_register_protocol(PNAME, PSNAME, PFNAME); + register_dissector("p22", dissect_p22, proto_p22); + /* Register fields and subtrees */ + proto_register_field_array(proto_p22, hf, array_length(hf)); + proto_register_subtree_array(ett, array_length(ett)); + +} + + +/*--- proto_reg_handoff_p22 --- */ +void proto_reg_handoff_p22(void) { + +#include "packet-p22-dis-tab.c" + + register_ber_oid_dissector("2.6.1.10.0", dissect_p22, proto_p22, "InterPersonal Message (1984)"); + register_ber_oid_dissector("2.6.1.10.1", dissect_p22, proto_p22, "InterPersonal Message (1988)"); + + +} diff --git a/epan/dissectors/asn1/p22/packet-p22-template.h b/epan/dissectors/asn1/p22/packet-p22-template.h new file mode 100644 index 00000000..11094ec8 --- /dev/null +++ b/epan/dissectors/asn1/p22/packet-p22-template.h @@ -0,0 +1,20 @@ +/* packet-p22.h + * Routines for X.420 (X.400 Message Transfer) packet dissection + * Graeme Lunt 2005 + * + * Wireshark - Network traffic analyzer + * By Gerald Combs <gerald@wireshark.org> + * Copyright 1998 Gerald Combs + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ + +#ifndef PACKET_P22_H +#define PACKET_P22_H + +#include "packet-p22-exp.h" + +void proto_reg_handoff_p22(void); +void proto_register_p22(void); + +#endif /* PACKET_P22_H */ |