diff options
author | Graeme Lunt <graeme.lunt@smhs.co.uk> | 2007-11-17 18:08:01 +0000 |
---|---|---|
committer | Graeme Lunt <graeme.lunt@smhs.co.uk> | 2007-11-17 18:08:01 +0000 |
commit | 0c571bb23573801aca727dd2d49e53ccee640d0d (patch) | |
tree | 45639fcf905e52a13b80070a0a6e5bf275e05efb /asn1/p7 | |
parent | d2545978d853f8c23ab4ca7daf10dfa0495e0f1a (diff) |
Basic P7 (X.400 Message Store Access Protocol) dissection after request from the list:
http://www.wireshark.org/lists/wireshark-dev/200711/msg00228.html
Only a single (private) capture file is currently available which contains only a few of the P7 operations, so testing has been minimal.
General attribute types, containing information from the X.400 envelope, are also included.
svn path=/trunk/; revision=23479
Diffstat (limited to 'asn1/p7')
-rwxr-xr-x | asn1/p7/MSAbstractService.asn | 1113 | ||||
-rwxr-xr-x | asn1/p7/MSGeneralAttributeTypes.asn | 836 | ||||
-rw-r--r-- | asn1/p7/Makefile.am | 26 | ||||
-rw-r--r-- | asn1/p7/Makefile.common | 58 | ||||
-rw-r--r-- | asn1/p7/Makefile.nmake | 29 | ||||
-rw-r--r-- | asn1/p7/p7.cnf | 298 | ||||
-rw-r--r-- | asn1/p7/packet-p7-template.c | 403 | ||||
-rwxr-xr-x | asn1/p7/packet-p7-template.h | 31 |
8 files changed, 2794 insertions, 0 deletions
diff --git a/asn1/p7/MSAbstractService.asn b/asn1/p7/MSAbstractService.asn new file mode 100755 index 0000000000..7877b0f989 --- /dev/null +++ b/asn1/p7/MSAbstractService.asn @@ -0,0 +1,1113 @@ +-- +-- $Id$ +-- + +-- Module MSAbstractService (X.413:06/1999) +MSAbstractService {joint-iso-itu-t mhs(6) ms(4) modules(0) abstract-service(1) + version-1999(1)} DEFINITIONS ::= +BEGIN + +-- Prologue +-- Exports everything +IMPORTS + -- MTS information object classes + operationObject1, ABSTRACT-ERROR, ABSTRACT-OPERATION, EXTENSION, MHS-OBJECT, + PORT, + -- MTS objects and ports + administration, delivery, mts-user, + submission, + -- MTS abstract-operations and abstract-errors + cancel-deferred-delivery, element-of-service-not-subscribed, + inconsistent-request, new-credentials-unacceptable, + old-credentials-incorrectly-specified, originator-invalid, + recipient-improperly-specified, remote-bind-error, security-error, + submission-control, submission-control-violated, + unsupported-critical-function, + -- MTS abstract-service data-types + CertificateSelectors, Credentials, InitiatorCredentials, + MessageSubmissionArgument, MessageSubmissionResult, MessageToken, + ORAddressAndOrDirectoryName, ProbeSubmissionArgument, + ProbeSubmissionResult, ResponderCredentials, SecurityContext, SecurityLabel, + MessageSubmissionEnvelope, Content, -- COMPONENTS OF MessageSubmissionArgument + MessageSubmissionIdentifier, MessageSubmissionTime, ContentIdentifier, ExtensionField, -- COMPONENTS OF MessageSubmissionResult + ProbeSubmissionEnvelope, -- COMPONENTS OF ProbeSubmissionArgument (?) + ProbeSubmissionIdentifier, ProbeSubmissionTime -- COMPONENTS OF ProbeSubmissionResult + FROM MTSAbstractService {joint-iso-itu-t mhs(6) mts(3) modules(0) + mts-abstract-service(1) version-1999(1)} + -- MTS abstract-service 1988 ports + administration-88 + --== + FROM MTSAbstractService88 {joint-iso-itu-t mhs(6) mts(3) modules(0) + mts-abstract-service(1) version-1988(1988)} + -- MTS abstract-service upper bounds + ub-content-types, ub-encoded-information-types, ub-labels-and-redirections + --== + FROM MTSUpperBounds {joint-iso-itu-t mhs(6) mts(3) modules(0) + upper-bounds(3) version-1999(1)} + -- MS X413ATTRIBUTE table + AttributeTable + --== + FROM MSGeneralAttributeTypes {joint-iso-itu-t mhs(6) ms(4) modules(0) + general-attribute-types(2) version-1999(1)} + -- MS matching rule table + MatchingRuleTable + --== + FROM MSMatchingRules {joint-iso-itu-t mhs(6) ms(4) modules(0) + general-matching-rules(5) version-1999(1)} + -- MS auto-action-table and auto-action-error table + AutoActionTable, AutoActionErrorTable + --== + FROM MSGeneralAutoActionTypes {joint-iso-itu-t mhs(6) ms(4) modules(0) + general-auto-action-types(3) version-1994(0)} + -- MS object-identifiers + id-cp-ms-connection, id-crt-ms-access-88, id-crt-ms-access-94, + id-ext-modify-capability, id-ext-modify-retrieval-status-capability, + id-ext-originator-token, id-ext-originator-certificate-selectors-override, + id-ext-protected-change-credentials, + id-ext-protected-change-credentials-capability, id-ot-ms, id-ot-ms-user, + id-pt-retrieval-88, id-pt-retrieval-94, id-pt-ms-submission + --== + FROM MSObjectIdentifiers {joint-iso-itu-t mhs(6) ms(4) modules(0) + object-identifiers(0) version-1999(1)} + -- MS Access abstract-operation and error codes + err-attribute-error, err-auto-action-request-error, err-ms-extension-error, + err-delete-error, err-entry-class-error, err-fetch-restriction-error, + err-invalid-parameters-error, err-message-group-error, err-modify-error, + err-range-error, err-security-error, err-sequence-number-error, + err-service-error, err-register-ms-error, op-alert, op-delete, op-fetch, + op-list, op-modify, op-ms-message-submission, op-ms-probe-submission, + op-register-ms, op-summarize + --== + FROM MSAccessProtocol {joint-iso-itu-t mhs(6) protocols(0) modules(0) + ms-access-protocol(2) version-1999(1)} + -- MS abstract-service upper bounds + ub-attributes-supported, ub-attribute-values, ub-auto-action-errors, + ub-auto-actions, ub-auto-registrations, ub-default-registrations, + ub-entry-classes, ub-error-reasons, ub-extensions, ub-group-depth, + ub-group-descriptor-length, ub-group-part-length, ub-matching-rules, + ub-message-groups, ub-messages, ub-modifications, ub-per-entry, + ub-per-auto-action, ub-service-information-length, ub-summaries, + ub-supplementary-info-length, ub-ua-registration-identifier-length, + ub-ua-registrations, ub-restrictions + --== + FROM MSUpperBounds {joint-iso-itu-t mhs(6) ms(4) modules(0) upper-bounds(4) + version-1994(0)} + -- MATCHING-RULE information object class + MATCHING-RULE + --== + FROM InformationFramework {joint-iso-itu-t ds(5) module(1) + informationFramework(1) 3} + -- Remote Operations + CONTRACT, CONNECTION-PACKAGE + --== + FROM Remote-Operations-Information-Objects {joint-iso-itu-t + remote-operations(4) informationObjects(5) version1(0)} + emptyUnbind + FROM Remote-Operations-Useful-Definitions {joint-iso-itu-t + remote-operations(4) useful-definitions(7) version1(0)}; + +-- MS Abstract Objects +--ms MHS-OBJECT ::= { +-- IS {mts-user} +-- RESPONDS {ms-access-contract-88 | ms-access-contract-94} +-- ID id-ot-ms +--} + +--ms-user MHS-OBJECT ::= { +-- INITIATES {ms-access-contract-88 | ms-access-contract-94} +-- ID id-ot-ms-user +--} + +-- Contracts +--ms-access-contract-94 CONTRACT ::= { +-- CONNECTION ms-connect +-- INITIATOR CONSUMER OF {retrieval | ms-submission | administration} +-- ID id-crt-ms-access-94 +--} + +--ms-access-contract-88 CONTRACT ::= { +-- CONNECTION ms-connect - - with all 1994 extensions omitted +-- INITIATOR CONSUMER OF {retrieval-88 | submission | administration-88} +-- ID id-crt-ms-access-88 +--} + +-- Connection-package +--ms-connect CONNECTION-PACKAGE ::= { +-- BIND ms-bind +-- UNBIND ms-unbind +-- ID id-cp-ms-connection +--} + +-- MS Ports +--retrieval PORT ::= { +-- OPERATIONS {operationObject1, ...} +-- CONSUMER INVOKES +-- {summarize | list | fetch | delete | register-MS, +-- ... - - 1994 extension addition - -, modify} +-- SUPPLIER INVOKES {alert} +-- ID id-pt-retrieval-94 +--} + +--retrieval-88 PORT ::= { + -- With all 1994 extensions to the abstract-operations absent +-- OPERATIONS {operationObject1, ...} +-- CONSUMER INVOKES {summarize | list | fetch | delete | register-MS} +-- SUPPLIER INVOKES {alert} +-- ID id-pt-retrieval-88 +--} + +--ms-submission PORT ::= { +-- OPERATIONS {operationObject1, ...} +-- CONSUMER INVOKES +-- {ms-message-submission | ms-probe-submission | ms-cancel-deferred-delivery} +-- SUPPLIER INVOKES {ms-submission-control} +-- ID id-pt-ms-submission +--} + +-- 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 +--} + +Attribute ::= SEQUENCE { + attribute-type --X413ATTRIBUTE.&id({AttributeTable})-- AttributeType, + attribute-values + SEQUENCE SIZE (1..ub-attribute-values) OF +-- X413ATTRIBUTE.&Type({AttributeTable}{@attribute-type}) -- ANY +} + +AttributeType ::= OBJECT IDENTIFIER + +-- AUTO-ACTION information object class +--AUTO-ACTION ::= CLASS { +-- &id AutoActionType UNIQUE, +-- &RegistrationParameter OPTIONAL, +-- &Errors AUTO-ACTION-ERROR OPTIONAL +--} +--WITH SYNTAX { +-- [REGISTRATION PARAMETER IS &RegistrationParameter] +-- [ERRORS &Errors] +-- IDENTIFIED BY &id +--} + +AutoActionType ::= OBJECT IDENTIFIER + +AutoActionRegistration ::= SEQUENCE { + auto-action-type --AUTO-ACTION.&id({AutoActionTable})-- AutoActionType, + registration-identifier [0] INTEGER(1..ub-per-auto-action) DEFAULT 1, + registration-parameter + [1] --AUTO-ACTION.&RegistrationParameter + -- ({AutoActionTable}{@auto-action-type}) -- ANY OPTIONAL +} + +-- AUTO-ACTION-ERROR information object class +--AUTO-ACTION-ERROR ::= +-- ABSTRACT-ERROR + +AutoActionError ::= SET { + error-code [0] --AUTO-ACTION-ERROR.&errorCode({AutoActionErrorTable})-- OBJECT IDENTIFIER, + error-parameter + [1] --AUTO-ACTION-ERROR.&ParameterType({AutoActionErrorTable}{@error-code}) + ANY OPTIONAL +} + +-- MS-EXTENSION information object class +--MS-EXTENSION ::= TYPE-IDENTIFIER + +MSExtensionItem ::= --INSTANCE OF MS-EXTENSION-- EXTERNAL + +MSExtensions ::= SEQUENCE SIZE (1..ub-extensions) OF MSExtensionItem + +-- Common data-types related to the information model +EntryClass ::= INTEGER { + delivery(0), + -- 1994 extensions + submission(1), draft(2), stored-message(3), delivery-log(4), + submission-log(5), message-log(6), auto-action-log(7)}(0..ub-entry-classes) + +EntryType ::= INTEGER { + delivered-message(0), delivered-report(1), + returned-content(2), + -- 1994 extensions + submitted-message(3), submitted-probe(4), draft-message(5), + auto-action-event(6)} + +SequenceNumber ::= INTEGER(0..ub-messages) + +RetrievalStatus ::= INTEGER {new(0), listed(1), processed(2)} + +MessageGroupName ::= SEQUENCE SIZE (1..ub-group-depth) OF GroupNamePart + +GroupNamePart ::= GeneralString(SIZE (1..ub-group-part-length)) + +-- MS-bind abstract-operation +--ms-bind ABSTRACT-OPERATION ::= { +-- ARGUMENT MSBindArgument +-- RESULT MSBindResult +-- ERRORS {ms-bind-error} +--} + +MSBindArgument ::= SET { + initiator-name ORAddressAndOrDirectoryName, + initiator-credentials [2] InitiatorCredentials, + security-context [3] IMPLICIT SecurityContext OPTIONAL, + fetch-restrictions [4] Restrictions OPTIONAL -- default is none--, + ms-configuration-request [5] BOOLEAN DEFAULT FALSE, + -- 1994 extensions + ua-registration-identifier [6] RegistrationIdentifier OPTIONAL, + bind-extensions [7] MSExtensions OPTIONAL +} + +Restrictions ::= SET { + allowed-content-types + [0] SET SIZE (1..ub-content-types) OF OBJECT IDENTIFIER OPTIONAL--default is no restriction--, + allowed-EITs [1] MS-EITs OPTIONAL --default is no restriction--, + maximum-attribute-length [2] INTEGER OPTIONAL --default is no restriction-- +} + +MS-EITs ::= SET SIZE (1..ub-encoded-information-types) OF MS-EIT + +MS-EIT ::= OBJECT IDENTIFIER + +RegistrationIdentifier ::= + PrintableString(SIZE (1..ub-ua-registration-identifier-length)) + +MSBindResult ::= SET { + responder-credentials [2] ResponderCredentials, + available-auto-actions + [3] SET SIZE (1..ub-auto-actions) OF --AUTO-ACTION.&id({AutoActionTable})-- AutoActionType + OPTIONAL, + available-attribute-types + [4] SET SIZE (1..ub-attributes-supported) OF + --X413ATTRIBUTE.&id({AttributeTable})-- AttributeType OPTIONAL, + alert-indication [5] BOOLEAN DEFAULT FALSE, + content-types-supported + [6] SET SIZE (1..ub-content-types) OF OBJECT IDENTIFIER OPTIONAL, + -- 1994 extensions + entry-classes-supported + [7] SET SIZE (1..ub-entry-classes) OF EntryClass OPTIONAL, + matching-rules-supported + [8] SET SIZE (1..ub-matching-rules) OF OBJECT IDENTIFIER OPTIONAL, + bind-result-extensions [9] MSExtensions OPTIONAL, + message-group-depth [10] INTEGER(1..ub-group-depth) OPTIONAL, + auto-action-error-indication [11] AutoActionErrorIndication OPTIONAL, + unsupported-extensions + [12] SET SIZE (1..ub-extensions) OF OBJECT IDENTIFIER OPTIONAL, + ua-registration-id-unknown [13] BOOLEAN DEFAULT FALSE, + service-information + [14] GeneralString(SIZE (1..ub-service-information-length)) OPTIONAL +} + +--modify-capability MS-EXTENSION ::= { +-- NULL +-- IDENTIFIED BY id-ext-modify-capability +--} + +--modify-retrieval-status-capability MS-EXTENSION ::= { +-- NULL +-- IDENTIFIED BY id-ext-modify-retrieval-status-capability +--} + +--protected-change-credentials-capability MS-EXTENSION ::= { +-- ChangeCredentialsAlgorithms +-- IDENTIFIED BY id-ext-protected-change-credentials-capability +--} + +ChangeCredentialsAlgorithms ::= SET OF OBJECT IDENTIFIER + +AutoActionErrorIndication ::= CHOICE { + indication-only [0] NULL, + auto-action-log-entry [1] SequenceNumber +} + +--ms-bind-error ABSTRACT-ERROR ::= { +-- PARAMETER +MSBindError ::= + CHOICE {unqualified-error BindProblem, + -- 1994 extension + qualified-error + SET {bind-problem [0] BindProblem, + supplementary-information + [1] GeneralString(SIZE (1..ub-supplementary-info-length)) + OPTIONAL, + bind-extension-errors + [2] SET SIZE (1..ub-extensions) OF OBJECT IDENTIFIER + OPTIONAL}} +--} + +BindProblem ::= ENUMERATED { + authentication-error(0), unacceptable-security-context(1), + unable-to-establish-association(2), ... -- 1994 extension addition --, + bind-extension-problem(3), inadequate-association-confidentiality(4) +} + +-- MS Unbind abstract-operation +-- ms-unbind ABSTRACT-OPERATION ::= emptyUnbind + +-- Common data-types +Range ::= CHOICE { + sequence-number-range [0] NumberRange, + creation-time-range [1] TimeRange +} + +NumberRange ::= SEQUENCE { + from [0] SequenceNumber OPTIONAL -- omitted means no lower bound--, + to [1] SequenceNumber OPTIONAL -- omitted means no upper bound-- +} + +TimeRange ::= SEQUENCE { + from [0] CreationTime OPTIONAL -- omitted means no lower bound--, + to [1] CreationTime OPTIONAL -- omitted means no upper bound-- +} + +CreationTime ::= UTCTime + +Filter ::= CHOICE { + item [0] FilterItem, + and [1] SET OF Filter, + or [2] SET OF Filter, + not [3] Filter +} + +FilterItem ::= CHOICE { + equality [0] AttributeValueAssertion, + substrings + [1] SEQUENCE {type --X413ATTRIBUTE.&id({AttributeTable})-- AttributeType, + strings + SEQUENCE OF + CHOICE {initial + [0] --X413ATTRIBUTE.&Type + -- ({AttributeTable}{@substrings.type})-- ANY, + any + [1] --X413ATTRIBUTE.&Type + -- ({AttributeTable}{@substrings.type})-- ANY, + final + [2] --X413ATTRIBUTE.&Type + -- ({AttributeTable}{@substrings.type})-- ANY + }}, + greater-or-equal [2] AttributeValueAssertion, + less-or-equal [3] AttributeValueAssertion, + present [4] --X413ATTRIBUTE.&id({AttributeTable})-- AttributeType, + approximate-match [5] AttributeValueAssertion, + -- 1994 extension + other-match [6] MatchingRuleAssertion +} + +MatchingRuleAssertion ::= SEQUENCE { + matching-rule [0] --MATCHING-RULE.&id({MatchingRuleTable})-- OBJECT IDENTIFIER, + attribute-type [1] --X413ATTRIBUTE.&id-- AttributeType, + match-value + [2] --MATCHING-RULE.&AssertionType({MatchingRuleTable}{@matching-rule})-- ANY +} + +AttributeValueAssertion ::= SEQUENCE { + attribute-type --X413ATTRIBUTE.&id({AttributeTable})-- AttributeType, + attribute-value --X413ATTRIBUTE.&Type({AttributeTable}{@attribute-type})-- ANY +} + +Selector ::= SET { + child-entries [0] BOOLEAN DEFAULT FALSE, + range [1] Range OPTIONAL -- default is unbounded --, + filter + [2] Filter + OPTIONAL -- default is all entries within the specified range --, + limit [3] INTEGER(1..ub-messages) OPTIONAL, + override [4] OverrideRestrictions OPTIONAL -- by default, -- + -- any fetch-restrictions in force apply +} + +OverrideRestrictions ::= BIT STRING { + override-content-types-restriction(0), override-EITs-restriction(1), + override-attribute-length-restriction(2)}(SIZE (1..ub-restrictions)) + +EntryInformationSelection ::= SET SIZE (0..ub-per-entry) OF AttributeSelection + +AttributeSelection ::= SET { + type --X413ATTRIBUTE.&id({AttributeTable})-- AttributeType, + from + [0] INTEGER(1..ub-attribute-values) + OPTIONAL --used if type is multi valued--, + count + [1] INTEGER(0..ub-attribute-values) + OPTIONAL --used if type is multi valued-- +} + +EntryInformation ::= SEQUENCE { + sequence-number SequenceNumber, + attributes SET SIZE (1..ub-per-entry) OF Attribute OPTIONAL, + -- 1994 extension + value-count-exceeded + [0] SET SIZE (1..ub-per-entry) OF AttributeValueCount OPTIONAL +} + +AttributeValueCount ::= SEQUENCE { + type [0] --X413ATTRIBUTE.&id({AttributeTable})-- AttributeType, + total [1] INTEGER +} + +MSSubmissionOptions ::= SET { + object-entry-class + [0] EntryClass(submission | submission-log | draft) OPTIONAL, + disable-auto-modify [1] BOOLEAN DEFAULT FALSE, + add-message-group-names + [2] SET SIZE (1..ub-message-groups) OF MessageGroupName OPTIONAL, + ms-submission-extensions [3] MSExtensions OPTIONAL +} + +--originator-token MS-EXTENSION ::= { +-- OriginatorToken +-- IDENTIFIED BY id-ext-originator-token +--} + +OriginatorToken ::= + MessageToken +-- (CONSTRAINED BY { + +-- - - Must contain an asymmetric-token with an encrypted-data component - -}) + +--originator-certificate-selectors-override MS-EXTENSION ::= { +-- CertificateSelectors +-- (WITH COMPONENTS { +-- ..., +-- message-origin-authentication ABSENT +-- }) +-- IDENTIFIED BY id-ext-originator-certificate-selectors-override +--} + +CommonSubmissionResults ::= SET { + created-entry [0] SequenceNumber OPTIONAL, + auto-action-error-indication [1] AutoActionErrorIndication OPTIONAL, + ms-submission-result-extensions [2] MSExtensions OPTIONAL +} + +-- Retrieval Port abstract-operations +--summarize ABSTRACT-OPERATION ::= { +-- ARGUMENT SummarizeArgument +-- RESULT SummarizeResult +-- ERRORS +-- {attribute-error | invalid-parameters-error | range-error | security-error +-- | service-error, ... - - 1994 extension additions - -, entry-class-error | +-- ms-extension-error} +-- LINKED {operationObject1, ...} +-- CODE op-summarize +--} + +SummarizeArgument ::= SET { + entry-class [0] EntryClass DEFAULT delivery, + selector [1] Selector, + summary-requests + [2] SEQUENCE SIZE (1..ub-summaries) OF --X413ATTRIBUTE.&id({AttributeTable})-- AttributeType + OPTIONAL -- absent if no summaries are requested--, + -- 1994 extension + summarize-extensions [3] MSExtensions OPTIONAL +} + +SummarizeResult ::= SET { + next [0] SequenceNumber OPTIONAL, + count + [1] INTEGER(0..ub-messages)-- of the entries selected-- , + span [2] Span OPTIONAL -- of the entries selected,---- omitted if count is zero --, + summaries + [3] SEQUENCE SIZE (1..ub-summaries) OF Summary OPTIONAL, + -- 1994 extension + summarize-result-extensions [4] MSExtensions OPTIONAL +} + +Span ::= SEQUENCE {lowest [0] SequenceNumber, + highest [1] SequenceNumber +} + +Summary ::= SET { + absent + [0] INTEGER(1..ub-messages) + OPTIONAL --count of entries where X413ATTRIBUTE is absent--, + present + [1] SET SIZE (1..ub-attribute-values) + OF--one for each X413ATTRIBUTE value present-- + SEQUENCE {type --X413ATTRIBUTE.&id({AttributeTable})-- AttributeType, + value --X413ATTRIBUTE.&Type({AttributeTable}{@.type})-- ANY, + count INTEGER(1..ub-messages)} OPTIONAL +} + +-- +--list ABSTRACT-OPERATION ::= { +-- ARGUMENT ListArgument +-- RESULT ListResult +-- ERRORS +-- {attribute-error | invalid-parameters-error | range-error | security-error +-- | service-error, ... - - 1994 extension additions - -, entry-class-error | +-- ms-extension-error} +-- LINKED {operationObject1, ...} +-- CODE op-list +--} + +ListArgument ::= SET { + entry-class [0] EntryClass DEFAULT delivery, + selector [1] Selector, + requested-attributes [3] EntryInformationSelection OPTIONAL, + -- 1994 extension + list-extensions [4] MSExtensions OPTIONAL +} + +ListResult ::= SET { + next [0] SequenceNumber OPTIONAL, + requested + [1] SEQUENCE SIZE (1..ub-messages) OF EntryInformation OPTIONAL--omitted if none found--, + -- 1994 extension + list-result-extensions [2] MSExtensions OPTIONAL +} + +-- +--fetch ABSTRACT-OPERATION ::= { +-- ARGUMENT FetchArgument +-- RESULT FetchResult +-- ERRORS +-- {attribute-error | fetch-restriction-error | invalid-parameters-error | +-- range-error | security-error | sequence-number-error | service-error, +-- ... - - 1994 extension additions - -, entry-class-error | +-- ms-extension-error} +-- LINKED {operationObject1, ...} +-- CODE op-fetch +--} + +FetchArgument ::= SET { + entry-class [0] EntryClass DEFAULT delivery, + item + CHOICE {search [1] Selector, + precise [2] SequenceNumber}, + requested-attributes [3] EntryInformationSelection OPTIONAL, + -- 1994 extension + fetch-extensions [4] MSExtensions OPTIONAL +} + +FetchResult ::= SET { + entry-information + [0] EntryInformation OPTIONAL --if an entry was selected--, + list + [1] SEQUENCE SIZE (1..ub-messages) OF SequenceNumber OPTIONAL, + next [2] SequenceNumber OPTIONAL, + -- 1994 extension + fetch-result-extensions [3] MSExtensions OPTIONAL +} + +-- +--delete ABSTRACT-OPERATION ::= { +-- ARGUMENT DeleteArgument +-- RESULT DeleteResult +-- ERRORS +-- {delete-error | invalid-parameters-error | range-error | security-error | +-- sequence-number-error | service-error, +-- ... - - 1994 extension additions - -, entry-class-error | +-- ms-extension-error} +-- LINKED {operationObject1, ...} +-- CODE op-delete +--} + +DeleteArgument ::= SET { + entry-class [0] EntryClass DEFAULT delivery, + items + CHOICE {selector [1] Selector, + sequence-numbers [2] SET SIZE (1..ub-messages) OF SequenceNumber + }, + -- 1994 extension + delete-extensions [3] MSExtensions OPTIONAL +} + +DeleteResult ::= CHOICE { + delete-result-88 NULL, + -- 1994 extension + delete-result-94 + SET {entries-deleted + [0] SEQUENCE SIZE (1..ub-messages) OF SequenceNumber OPTIONAL, + delete-result-extensions [1] MSExtensions OPTIONAL} +} + +-- +--register-MS ABSTRACT-OPERATION ::= { +-- ARGUMENT Register-MSArgument +-- RESULT Register-MSResult +-- ERRORS +-- {attribute-error | auto-action-request-error | invalid-parameters-error | +-- security-error | service-error | old-credentials-incorrectly-specified | +-- new-credentials-unacceptable, ... - - 1994 extension additions - -, +-- message-group-error | ms-extension-error | register-ms-error} +-- LINKED {operationObject1, ...} +-- CODE op-register-ms +--} + +Register-MSArgument ::= SET { + auto-action-registrations + [0] SET SIZE (1..ub-auto-registrations) OF AutoActionRegistration OPTIONAL, + auto-action-deregistrations + [1] SET SIZE (1..ub-auto-registrations) OF AutoActionDeregistration + OPTIONAL, + list-attribute-defaults + [2] SET SIZE (0..ub-default-registrations) OF + --X413ATTRIBUTE.&id({AttributeTable})-- AttributeType OPTIONAL, + fetch-attribute-defaults + [3] SET SIZE (0..ub-default-registrations) OF + --X413ATTRIBUTE.&id({AttributeTable})-- AttributeType OPTIONAL, + change-credentials + [4] SEQUENCE {old-credentials + [0] Credentials(WITH COMPONENTS { + simple + }), + new-credentials + [1] Credentials(WITH COMPONENTS { + simple + })} OPTIONAL, + user-security-labels + [5] SET SIZE (1..ub-labels-and-redirections) OF SecurityLabel OPTIONAL, + -- 1994 extensions + ua-registrations + [6] SET SIZE (1..ub-ua-registrations) OF UARegistration OPTIONAL, + submission-defaults [7] MSSubmissionOptions OPTIONAL, + message-group-registrations [8] MessageGroupRegistrations OPTIONAL, + registration-status-request [9] RegistrationTypes OPTIONAL, + register-ms-extensions [10] MSExtensions OPTIONAL +} + +AutoActionDeregistration ::= SEQUENCE { + auto-action-type --AUTO-ACTION.&id({AutoActionTable})-- AutoActionType, + registration-identifier [0] INTEGER(1..ub-per-auto-action) DEFAULT 1 +} + +UARegistration ::= SET { + ua-registration-identifier [0] RegistrationIdentifier, + ua-list-attribute-defaults + [1] SET SIZE (0..ub-default-registrations) OF + --X413ATTRIBUTE.&id({AttributeTable})-- AttributeType OPTIONAL, + ua-fetch-attribute-defaults + [2] SET SIZE (0..ub-default-registrations) OF + --X413ATTRIBUTE.&id({AttributeTable})-- AttributeType OPTIONAL, + ua-submission-defaults [3] MSSubmissionOptions OPTIONAL, + content-specific-defaults [4] MSExtensions OPTIONAL +} + +MessageGroupRegistrations ::= + SEQUENCE SIZE (1..ub-default-registrations) OF + CHOICE {register-group [0] MessageGroupNameAndDescriptor, + deregister-group [1] MessageGroupName, + change-descriptors [2] MessageGroupNameAndDescriptor} + +MessageGroupNameAndDescriptor ::= SET { + message-group-name [0] MessageGroupName, + message-group-descriptor + [1] GeneralString(SIZE (1..ub-group-descriptor-length)) OPTIONAL +} + +RegistrationTypes ::= SET { + registrations + [0] BIT STRING {auto-action-registrations(0), list-attribute-defaults(1), + fetch-attribute-defaults(2), ua-registrations(3), + submission-defaults(4), message-group-registrations(5)} + OPTIONAL, + extended-registrations [1] SET OF --MS-EXTENSION.&id-- OBJECT IDENTIFIER OPTIONAL, + restrict-message-groups [2] MessageGroupsRestriction OPTIONAL +} + +MessageGroupsRestriction ::= SET { + parent-group [0] MessageGroupName OPTIONAL, + immediate-descendants-only [1] BOOLEAN DEFAULT TRUE, + omit-descriptors [2] BOOLEAN DEFAULT TRUE +} + +--protected-change-credentials MS-EXTENSION ::= { +-- ProtectedChangeCredentials +-- IDENTIFIED BY id-ext-protected-change-credentials +--} + +ProtectedChangeCredentials ::= SEQUENCE { + algorithm-identifier [0] IMPLICIT OBJECT IDENTIFIER, + old-credentials + InitiatorCredentials(WITH COMPONENTS { + protected PRESENT + }), + password-delta [2] IMPLICIT BIT STRING +} + +Register-MSResult ::= CHOICE { + no-status-information NULL, + -- 1994 extension + registered-information + SET {auto-action-registrations + [0] SET SIZE (1..ub-auto-registrations) OF AutoActionRegistration + OPTIONAL, + list-attribute-defaults + [1] SET SIZE (1..ub-default-registrations) OF + --X413ATTRIBUTE.&id({AttributeTable})-- AttributeType OPTIONAL, + fetch-attribute-defaults + [2] SET SIZE (1..ub-default-registrations) OF + --X413ATTRIBUTE.&id({AttributeTable})-- AttributeType OPTIONAL, + ua-registrations + [3] SET SIZE (1..ub-ua-registrations) OF UARegistration OPTIONAL, + submission-defaults [4] MSSubmissionOptions OPTIONAL, + message-group-registrations + [5] SET SIZE (1..ub-message-groups) OF + MessageGroupNameAndDescriptor OPTIONAL, + register-ms-result-extensions [6] MSExtensions OPTIONAL} +} + + +--alert ABSTRACT-OPERATION ::= { +-- ARGUMENT AlertArgument +-- RESULT AlertResult +-- ERRORS {security-error} +-- LINKED {operationObject1, ...} +-- CODE op-alert +--} + +AlertArgument ::= SET { + alert-registration-identifier [0] INTEGER(1..ub-auto-actions), + new-entry [2] EntryInformation OPTIONAL +} + +AlertResult ::= NULL + +-- +--modify ABSTRACT-OPERATION ::= { +-- ARGUMENT ModifyArgument +-- RESULT ModifyResult +-- ERRORS +-- {attribute-error | invalid-parameters-error | security-error | +-- sequence-number-error | service-error | modify-error | +-- message-group-error | entry-class-error | ms-extension-error, +-- ... - - For future extension additions - -} +-- LINKED {operationObject1, ...} +-- CODE op-modify +--} + +ModifyArgument ::= SET { + entry-class [0] EntryClass DEFAULT delivery, + entries + CHOICE {selector [1] Selector, + specific-entries + [2] SEQUENCE SIZE (1..ub-messages) OF SequenceNumber}, + modifications + [3] SEQUENCE SIZE (1..ub-modifications) OF EntryModification, + modify-extensions [4] MSExtensions OPTIONAL +} + +EntryModification ::= SET { + strict [0] BOOLEAN DEFAULT FALSE, + modification + CHOICE {add-attribute [1] Attribute, + remove-attribute [2] --X413ATTRIBUTE.&id({AttributeTable})-- AttributeType, + add-values [3] OrderedAttribute, + remove-values [4] OrderedAttribute} +} + +OrderedAttribute ::= SEQUENCE { + attribute-type --X413ATTRIBUTE.&id({AttributeTable})-- AttributeType, + attribute-values + SEQUENCE SIZE (1..ub-attribute-values) OF + SEQUENCE {-- at least one must be specified + value + [0] --X413ATTRIBUTE.&Type({AttributeTable}{@attribute-type})-- ANY + OPTIONAL, + position [1] INTEGER(1..ub-attribute-values) OPTIONAL + } +} + +ModifyResult ::= SET { + entries-modified + [0] SEQUENCE SIZE (1..ub-messages) OF SequenceNumber OPTIONAL, + modify-result-extensions [1] MSExtensions OPTIONAL +} + +-- MS-submission Port abstract-operations +--ms-message-submission ABSTRACT-OPERATION ::= { +-- ARGUMENT MSMessageSubmissionArgument +-- RESULT MSMessageSubmissionResult +-- ERRORS +-- {submission-control-violated | element-of-service-not-subscribed | +-- originator-invalid | recipient-improperly-specified | +-- inconsistent-request | security-error | unsupported-critical-function | +-- remote-bind-error, ... - - 1994 extension additions - -, ms-extension-error +-- | message-group-error | entry-class-error | service-error} +-- LINKED {operationObject1, ...} +-- CODE op-ms-message-submission +--} + +MSMessageSubmissionArgument ::= SEQUENCE { +-- COMPONENTS OF +-- MessageSubmissionArgument - - This imported type has IMPLICIT tags - -, + envelope MessageSubmissionEnvelope, + content Content, + -- 1994 extension + submission-options [4] MSSubmissionOptions OPTIONAL +} + +--forwarding-request EXTENSION ::= { +-- SequenceNumber, +-- IDENTIFIED BY standard-extension:36 +--} + +MSMessageSubmissionResult ::= CHOICE { + mts-result + SET {--COMPONENTS OF + -- MessageSubmissionResult- - This imported type has IMPLICIT tags - - , + message-submission-identifier MessageSubmissionIdentifier, + message-submission-time [0] IMPLICIT MessageSubmissionTime, + content-identifier ContentIdentifier OPTIONAL, + extensions + [1] SET OF ExtensionField --{{MessageSubmissionResultExtensions}}-- DEFAULT {}, + -- 1994 extension + ms-message-result [4] CommonSubmissionResults OPTIONAL}, + -- 1994 extension + store-draft-result [4] CommonSubmissionResults +} + +-- +--ms-probe-submission ABSTRACT-OPERATION ::= { +-- ARGUMENT MSProbeSubmissionArgument +-- RESULT MSProbeSubmissionResult +-- ERRORS +-- {submission-control-violated | element-of-service-not-subscribed | +-- originator-invalid | recipient-improperly-specified | +-- inconsistent-request | security-error | unsupported-critical-function | +-- remote-bind-error, ... - - 1994 extension additions - -, ms-extension-error +-- | message-group-error | entry-class-error | service-error} +-- LINKED {operationObject1, ...} +-- CODE op-ms-probe-submission +--} + +MSProbeSubmissionArgument ::= SET { +-- COMPONENTS OF +-- ProbeSubmissionArgument - - This imported type has IMPLICIT tags - -, + probe-submission-envelope ProbeSubmissionEnvelope, -- XXX: Is this right? + -- 1994 extension + submission-options [4] MSSubmissionOptions OPTIONAL +} + +MSProbeSubmissionResult ::= SET { +-- COMPONENTS OF +-- ProbeSubmissionResult - - This imported type has IMPLICIT tags - -, + probe-submission-identifier ProbeSubmissionIdentifier, + probe-submission-time [0] IMPLICIT ProbeSubmissionTime, + content-identifier ContentIdentifier OPTIONAL, + extensions + [1] SET OF ExtensionField --{{ProbeResultExtensions}}-- DEFAULT {}, + -- 1994 extension + ms-probe-result [4] CommonSubmissionResults OPTIONAL +} + +--ms-cancel-deferred-delivery ABSTRACT-OPERATION ::= cancel-deferred-delivery + +--ms-submission-control ABSTRACT-OPERATION ::= submission-control + +-- Abstract-errors +--attribute-error ABSTRACT-ERROR ::= { +-- PARAMETER +AttributeErrorParameter ::= + SET {problems + [0] SET SIZE (1..ub-per-entry) OF + SET {problem [0] AttributeProblem, + type [1] --X413ATTRIBUTE.&id({AttributeTable})-- AttributeType, + value + [2] --X413ATTRIBUTE.&Type({AttributeTable}{@.type})-- ANY + OPTIONAL}} +-- CODE err-attribute-error +--} + +AttributeProblem ::= INTEGER { + invalid-attribute-value(0), unavailable-attribute-type(1), + inappropriate-matching(2), attribute-type-not-subscribed(3), + inappropriate-for-operation(4), + -- 1994 extensions + inappropriate-modification(5), single-valued-attribute(6) +}(0..ub-error-reasons) + +-- +--auto-action-request-error ABSTRACT-ERROR ::= { +-- PARAMETER +AutoActionRequestErrorParameter ::= + SET {problems + [0] SET SIZE (1..ub-auto-registrations) OF + SET {problem [0] AutoActionRequestProblem, + type [1] --AUTO-ACTION.&id({AutoActionTable})-- AutoActionType + }} +-- CODE err-auto-action-request-error +--} + +AutoActionRequestProblem ::= INTEGER { + unavailable-auto-action-type(0), + auto-action-type-not-subscribed(1), + -- 1994 extension + not-willing-to-perform(2)}(0..ub-error-reasons) + +-- +--delete-error ABSTRACT-ERROR ::= { +-- PARAMETER +DeleteErrorParameter ::= + SET {problems + [0] SET SIZE (1..ub-messages) OF + SET {problem [0] DeleteProblem, + sequence-number [1] SequenceNumber}, + -- 1994 extension + entries-deleted + [1] SET SIZE (1..ub-messages) OF SequenceNumber OPTIONAL} +-- CODE err-delete-error +--} + +DeleteProblem ::= INTEGER { + child-entry-specified(0), + delete-restriction-problem(1), + -- 1994 extensions + new-entry-specified(2), entry-class-restriction(3), stored-message-exists(4) +}(0..ub-error-reasons) + +-- +--fetch-restriction-error ABSTRACT-ERROR ::= { +-- PARAMETER +FetchRestrictionErrorParameter ::= + SET {problems + [0] SET SIZE (1..ub-default-registrations) OF + SET {problem [3] FetchRestrictionProblem, + restriction + CHOICE {content-type [0] OBJECT IDENTIFIER, + eit [1] MS-EITs, + attribute-length [2] INTEGER}}} +-- CODE err-fetch-restriction-error +--} + +FetchRestrictionProblem ::= INTEGER { + content-type-problem(1), eit-problem(2), maximum-length-problem(3) +}(0..ub-error-reasons) + +-- +--invalid-parameters-error ABSTRACT-ERROR ::= { +-- PARAMETER NULL +-- CODE err-invalid-parameters-error +--} + +-- +--range-error ABSTRACT-ERROR ::= { +-- PARAMETER-- RangeErrorParameter ::= SET {problem [0] RangeProblem} +-- CODE err-range-error +--} + +RangeProblem ::= INTEGER {reversed(0)}(0..ub-error-reasons) + +-- +--sequence-number-error ABSTRACT-ERROR ::= { +-- PARAMETER +SequenceNumberErrorParameter ::= + SET {problems + [1] SET SIZE (1..ub-messages) OF + SET {problem [0] SequenceNumberProblem, + sequence-number [1] SequenceNumber}} +-- CODE err-sequence-number-error +--} + +SequenceNumberProblem ::= INTEGER {no-such-entry(0)}(0..ub-error-reasons) + +-- +--service-error ABSTRACT-ERROR ::= { +-- PARAMETER ServiceErrorParameter +-- CODE err-service-error +--} + +ServiceErrorParameter ::= SET { + problem [0] ServiceProblem, + -- 1994 extension + supplementary-information + [1] GeneralString(SIZE (1..ub-supplementary-info-length)) OPTIONAL +} + +ServiceProblem ::= INTEGER {busy(0), unavailable(1), unwilling-to-perform(2) +}(0..ub-error-reasons) + +-- +--message-group-error ABSTRACT-ERROR ::= { +-- PARAMETER MessageGroupErrorParameter +-- CODE err-message-group-error +--} + +MessageGroupErrorParameter ::= SET { + problem [0] MessageGroupProblem, + name [1] MessageGroupName +} + +MessageGroupProblem ::= INTEGER { + name-not-registered(0), name-already-registered(1), parent-not-registered(2), + group-not-empty(3), name-in-use(4), child-group-registered(5), + group-depth-exceeded(6)}(0..ub-error-reasons) + +-- +--ms-extension-error ABSTRACT-ERROR ::= { +-- PARAMETER MSExtensionErrorParameter +-- CODE err-ms-extension-error +--} + +MSExtensionErrorParameter ::= CHOICE { + ms-extension-problem [0] MSExtensionItem, + unknown-ms-extension [1] OBJECT IDENTIFIER +} + +-- +--register-ms-error ABSTRACT-ERROR ::= { +-- PARAMETER +RegisterMSErrorParameter ::= + SET {problem [0] RegistrationProblem, + registration-type [1] RegistrationTypes} +-- CODE err-register-ms-error +--} + +RegistrationProblem ::= ENUMERATED { + registration-not-supported(0), registration-improperly-specified(1), + registration-limit-exceeded(2), ... -- For future extension additions -- + } + +-- +--modify-error ABSTRACT-ERROR ::= { +-- PARAMETER ModifyErrorParameter +-- CODE err-modify-error +--} + +ModifyErrorParameter ::= SET { + entries-modified + [0] SEQUENCE SIZE (1..ub-messages) OF SequenceNumber OPTIONAL, + failing-entry [1] SequenceNumber, + modification-number [2] INTEGER, + problem [3] ModifyProblem +} + +ModifyProblem ::= INTEGER { + attribute-not-present(0), value-not-present(1), + attribute-or-value-already-exists(2), invalid-position(3), + modify-restriction-problem(4)}(0..ub-error-reasons) + +-- +--entry-class-error ABSTRACT-ERROR ::= { +-- PARAMETER EntryClassErrorParameter +-- CODE err-entry-class-error +--} + +EntryClassErrorParameter ::= SET { + entry-class [0] EntryClass, + problem + [1] BIT STRING {unsupported-entry-class(0), entry-class-not-subscribed(1), + inappropriate-entry-class(2)} +} + +END -- of MS Abstract Service + +-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D + diff --git a/asn1/p7/MSGeneralAttributeTypes.asn b/asn1/p7/MSGeneralAttributeTypes.asn new file mode 100755 index 0000000000..04a3c97758 --- /dev/null +++ b/asn1/p7/MSGeneralAttributeTypes.asn @@ -0,0 +1,836 @@ +-- +-- $Id$ +-- + +-- Module MSGeneralAttributeTypes (X.413:06/1999) +MSGeneralAttributeTypes {joint-iso-itu-t mhs(6) ms(4) modules(0) + general-attribute-types(2) version-1999(1)} DEFINITIONS ::= +BEGIN + +-- Prologue +IMPORTS + -- X413ATTRIBUTE information object class + X413ATTRIBUTE, + -- MS abstract-service data-types + AutoActionError, AutoActionType, CreationTime, EntryClassErrorParameter, + EntryType, MessageGroupName, MessageGroupErrorParameter, MS-EIT, + MSExtensionErrorParameter, RetrievalStatus, SequenceNumber, + ServiceErrorParameter + FROM MSAbstractService {joint-iso-itu-t mhs(6) ms(4) modules(0) + abstract-service(1) version-1999(1)} + -- General-attribute-type Object Identifiers + id-att-ac-correlated-report-list, id-att-ac-report-subject-entry, + id-att-ac-report-summary, id-att-ac-uncorrelated-report-list, + id-att-auto-action-error, id-att-auto-action-registration-identifier, + id-att-auto-action-subject-entry, id-att-auto-action-type, + id-att-certificate-selectors, id-att-child-sequence-numbers, + id-att-content, id-att-content-confidentiality-algorithm-identifier, + id-att-content-correlator, id-att-content-identifier, + id-att-content-integrity-check, id-att-content-length, + id-att-content-returned, id-att-content-type, + id-att-conversion-with-loss-prohibited, id-att-converted-EITs, + id-att-creation-time, id-att-deferred-delivery-cancellation-time, + id-att-deferred-delivery-time, id-att-deletion-time, id-att-delivered-EITs, + id-att-delivery-flags, id-att-dl-exempted-recipients, + id-att-dl-expansion-history, id-att-dl-expansion-prohibited, + id-att-entry-type, id-att-internal-trace-information, + id-att-latest-delivery-time, id-att-locally-originated, + id-att-marked-for-deletion, id-att-message-delivery-envelope, + id-att-message-delivery-time, id-att-message-group-name, + id-att-message-identifier, id-att-message-notes, + id-att-message-origin-authentication-check, id-att-message-security-label, + id-att-message-submission-envelope, id-att-message-submission-time, + id-att-message-token, id-att-ms-originated, id-att-ms-submission-error, + id-att-multiple-originator-certificates, id-att-original-EITs, + id-att-originally-intended-recipient-name, + id-att-originating-MTA-certificate, id-att-originator-certificate, + id-att-originator-name, id-att-originator-report-request, + id-att-originator-return-address, id-att-other-recipient-names, + id-att-parent-sequence-number, id-att-per-message-indicators, + id-att-per-recipient-message-submission-fields, + id-att-per-recipient-probe-submission-fields, + id-att-per-recipient-report-delivery-fields, id-att-priority, + id-att-probe-origin-authentication-check, id-att-probe-submission-envelope, + id-att-proof-of-delivery-request, id-att-proof-of-submission, + id-att-recipient-certificate, id-att-recipient-names, + id-att-recipient-reassignment-prohibited, id-att-redirection-history, + id-att-report-delivery-envelope, id-att-reporting-DL-name, + id-att-reporting-MTA-certificate, + id-att-report-origin-authentication-check, id-att-retrieval-status, + id-att-security-classification, id-att-sequence-number, + id-att-signature-verification-status, id-att-storage-period, + id-att-storage-time, id-att-subject-submission-identifier, + id-att-this-recipient-name, id-att-trace-information + FROM MSObjectIdentifiers {joint-iso-itu-t mhs(6) ms(4) modules(0) + object-identifiers(0) version-1999(1)} + -- Message Store matching-rules + bitStringMatch, contentCorrelatorMatch, contentIdentifierMatch, + mSSingleSubstringListElementsMatch, mSSingleSubstringListMatch, + mSSingleSubstringMatch, mSSubstringsMatch, mSStringCaseSensitiveMatch, + mSStringListElementsMatch, mSStringListMatch, mSStringMatch, + mSStringOrderingMatch, mTSIdentifierMatch, oRAddressElementsMatch, + oRAddressMatch, oRAddressSubstringElementsMatch, oRNameElementsMatch, + oRNameMatch, oRNameSingleElementMatch, oRNameSubstringElementsMatch, + redirectionOrDLExpansionElementsMatch, redirectionOrDLExpansionMatch, + redirectionOrDLExpansionSingleElementMatch, + redirectionOrDLExpansionSubstringElementsMatch, redirectionReasonMatch, + valueCountMatch + FROM MSMatchingRules {joint-iso-itu-t mhs(6) ms(4) modules(0) + general-matching-rules(5) version-1999(1)} + -- MS abstract-service upper bounds + ub-entry-types, ub-message-notes-length + FROM MSUpperBounds {joint-iso-itu-t mhs(6) ms(4) modules(0) upper-bounds(4) + version-1994(0)} + -- MTS abstract-service data-types + CertificateSelectors, Content, ContentCorrelator, ContentIdentifier, + ContentIntegrityCheck, ContentLength, ConversionWithLossProhibited, + DeferredDeliveryTime, DeliveryFlags, DLExpansion, DLExpansionProhibited, + ExtendedCertificates, ImproperlySpecifiedRecipients, LatestDeliveryTime, + MessageDeliveryEnvelope, MessageDeliveryTime, + MessageOriginAuthenticationCheck, MessageSecurityLabel, + MessageSubmissionEnvelope, MessageSubmissionTime, MessageToken, + MTSIdentifier, OriginatingMTACertificate, OriginatorCertificate, + OriginatorReportRequest, OriginatorReturnAddress, ORName, + PerMessageIndicators, PerRecipientMessageSubmissionFields, + PerRecipientProbeSubmissionFields, PerRecipientReportDeliveryFields, + Priority, ProbeOriginAuthenticationCheck, ProbeSubmissionEnvelope, + ProofOfDeliveryRequest, ProofOfSubmission, RecipientReassignmentProhibited, + Redirection, ReportDeliveryEnvelope, ReportingDLName, + ReportingMTACertificate, ReportOriginAuthenticationCheck, + SecurityClassification, SecurityProblem, SubjectSubmissionIdentifier + FROM MTSAbstractService {joint-iso-itu-t mhs(6) mts(3) modules(0) + mts-abstract-service(1) version-1999(1)} + -- MTS abstract-service upper bound + ub-recipients + FROM MTSUpperBounds {joint-iso-itu-t mhs(6) mts(3) modules(0) + upper-bounds(3) version-1999(1)} + -- MTA abstract-service data-types + InternalTraceInformationElement, TraceInformationElement + FROM MTAAbstractService {joint-iso-itu-t mhs(6) mts(3) modules(0) + mta-abstract-service(2) version-1999(1)} + -- Directory matching-rules + booleanMatch, integerMatch, integerOrderingMatch, uTCTimeMatch, + uTCTimeOrderingMatch + FROM SelectedAttributeTypes {joint-iso-itu-t ds(5) module(1) + selectedAttributeTypes(5) 3} + objectIdentifierMatch + FROM InformationFramework {joint-iso-itu-t ds(5) module(1) + informationFramework(1) 3} + -- Authentication-service data-types + AlgorithmIdentifier + FROM AuthenticationFramework {joint-iso-itu-t ds(5) module(1) + authenticationFramework(7) 3}; + +-- X413ATTRIBUTE table +AttributeTable X413ATTRIBUTE ::= + {GeneralAttributes | ContentSpecificAttributes} + +GeneralAttributes X413ATTRIBUTE ::= + {ms-child-sequence-numbers | mt-content | + mt-content-confidentiality-algorithm-identifier | mt-content-correlator | + mt-content-identifier | mt-content-integrity-check | ms-content-length | + ms-content-returned | mt-content-type | mt-conversion-with-loss-prohibited | + mt-converted-EITs | ms-creation-time | ms-delivered-EITs | mt-delivery-flags + | mt-dl-expansion-history | ms-entry-type | mt-message-delivery-envelope | + mt-message-delivery-time | mt-message-identifier | + mt-message-origin-authentication-check | mt-message-security-label | + mt-message-submission-time | mt-message-token | mt-original-EITs | + mt-originally-intended-recipient-name | mt-originator-certificate | + mt-originator-name | mt-other-recipient-names | ms-parent-sequence-number | + mt-per-recipient-report-delivery-fields | mt-priority | + mt-proof-of-delivery-request | mt-redirection-history | + mt-report-delivery-envelope | mt-reporting-DL-name | + mt-reporting-MTA-certificate | mt-report-origin-authentication-check | + ms-retrieval-status | mt-security-classification | ms-sequence-number | + mt-subject-submission-identifier | mt-this-recipient-name, + ... -- 1994 extension additions --, ms-ac-correlated-report-list | + ms-ac-report-subject-entry | ms-ac-report-summary | + ms-ac-uncorrelated-report-list | ms-auto-action-error | + ms-auto-action-registration-identifier | ms-auto-action-subject-entry | + ms-auto-action-type | mt-certificate-selectors | + ms-deferred-delivery-cancellation-time | mt-deferred-delivery-time | + ms-deletion-time | mt-dl-exempted-recipients | mt-dl-expansion-prohibited | + mt-internal-trace-information | mt-latest-delivery-time | + ms-locally-originated | ms-marked-for-deletion | ms-message-group-name | + ms-message-notes | mt-message-submission-envelope | + mt-multiple-originator-certificates | ms-originated | ms-submission-error | + mt-originating-MTA-certificate | mt-originator-report-request | + mt-originator-return-address | mt-per-message-indicators | + mt-per-recipient-message-submission-fields | + mt-per-recipient-probe-submission-fields | + mt-probe-origin-authentication-check | mt-probe-submission-envelope | + mt-proof-of-submission | mt-recipient-certificate | ms-recipient-names | + mt-recipient-reassignment-prohibited | ms-signature-verification-status | + ms-storage-period | ms-storage-time | mt-trace-information} + +--ContentSpecificAttributes X413ATTRIBUTE ::= +-- {...} + +-- Attribute-types +--ms-ac-correlated-report-list X413ATTRIBUTE ::= { +-- WITH ATTRIBUTE-SYNTAX ReportLocation, +-- NUMERATION multi-valued, +-- ID id-att-ac-correlated-report-list +--} + +ReportLocation ::= CHOICE { + no-correlated-reports [0] NULL, + location [1] SEQUENCE OF PerRecipientReport +} + +PerRecipientReport ::= SEQUENCE { + report-entry [0] SequenceNumber, + position [1] INTEGER(1..ub-recipients) DEFAULT 1 +} + +--ms-ac-report-subject-entry X413ATTRIBUTE ::= { +-- WITH ATTRIBUTE-SYNTAX SequenceNumber, +-- EQUALITY MATCHING-RULE integerMatch, +-- ORDERING MATCHING-RULE integerOrderingMatch, +-- NUMERATION single-valued, +-- ID id-att-ac-report-subject-entry +--} + +--ms-ac-report-summary X413ATTRIBUTE ::= { +-- WITH ATTRIBUTE-SYNTAX ReportSummary, +-- EQUALITY MATCHING-RULE integerMatch, +-- ORDERING MATCHING-RULE integerOrderingMatch, +-- NUMERATION multi-valued, +-- ID id-att-ac-report-summary +--} + +ReportSummary ::= ENUMERATED { + no-report-requested(0) -- non-delivery report suppressed --, + no-report-received(1) -- non-delivery report requested --, + report-outstanding(2) -- delivery report requested --, delivery-cancelled(3), + delivery-report-from-another-recipient(4), + non-delivery-report-from-another-recipient(5), + delivery-report-from-intended-recipient(6), + non-delivery-report-from-intended-recipient(7)} + +--ms-ac-uncorrelated-report-list X413ATTRIBUTE ::= { +-- WITH ATTRIBUTE-SYNTAX PerRecipientReport, +-- NUMERATION multi-valued, +-- ID id-att-ac-uncorrelated-report-list +--} + +--ms-auto-action-error X413ATTRIBUTE ::= { +-- WITH ATTRIBUTE-SYNTAX AutoActionError, +-- NUMERATION single-valued, +-- ID id-att-auto-action-error +--} + +--ms-auto-action-registration-identifier X413ATTRIBUTE ::= { +-- WITH ATTRIBUTE-SYNTAX INTEGER, +-- EQUALITY MATCHING-RULE integerMatch, +-- ORDERING MATCHING-RULE integerOrderingMatch, +-- NUMERATION single-valued, +-- ID id-att-auto-action-registration-identifier +--} + +--ms-auto-action-subject-entry X413ATTRIBUTE ::= { +-- WITH ATTRIBUTE-SYNTAX SequenceNumber, +-- EQUALITY MATCHING-RULE integerMatch, +-- ORDERING MATCHING-RULE integerOrderingMatch, +-- NUMERATION single-valued, +-- ID id-att-auto-action-subject-entry +--} + +--ms-auto-action-type X413ATTRIBUTE ::= { +-- WITH ATTRIBUTE-SYNTAX AutoActionType, +-- EQUALITY MATCHING-RULE objectIdentifierMatch, +-- NUMERATION single-valued, +-- ID id-att-auto-action-type +--} + +--mt-certificate-selectors X413ATTRIBUTE ::= { +-- WITH ATTRIBUTE-SYNTAX CertificateSelectors, +-- NUMERATION single-valued, +-- ID id-att-certificate-selectors +--} + +--ms-child-sequence-numbers X413ATTRIBUTE ::= { +-- WITH ATTRIBUTE-SYNTAX SequenceNumber, +-- NUMERATION multi-valued, +-- ID id-att-child-sequence-numbers +--} + +--mt-content X413ATTRIBUTE ::= { +-- WITH ATTRIBUTE-SYNTAX Content, +-- NUMERATION single-valued, +-- ID id-att-content +--} + +--mt-content-confidentiality-algorithm-identifier X413ATTRIBUTE ::= { +-- WITH ATTRIBUTE-SYNTAX AlgorithmIdentifier, +-- NUMERATION single-valued, +-- ID id-att-content-confidentiality-algorithm-identifier +--} + +--mt-content-correlator X413ATTRIBUTE ::= { +-- WITH ATTRIBUTE-SYNTAX ContentCorrelator, +-- EQUALITY MATCHING-RULE contentCorrelatorMatch, +-- NUMERATION single-valued, +-- ID id-att-content-correlator +--} + +--mt-content-identifier X413ATTRIBUTE ::= { +-- WITH ATTRIBUTE-SYNTAX ContentIdentifier, +-- EQUALITY MATCHING-RULE contentIdentifierMatch, +-- NUMERATION single-valued, +-- ID id-att-content-identifier +--} + +--mt-content-integrity-check X413ATTRIBUTE ::= { +-- WITH ATTRIBUTE-SYNTAX ContentIntegrityCheck, +-- NUMERATION single-valued, +-- ID id-att-content-integrity-check +--} + +--ms-content-length X413ATTRIBUTE ::= { +-- WITH ATTRIBUTE-SYNTAX ContentLength, +-- ORDERING MATCHING-RULE integerOrderingMatch, +-- NUMERATION single-valued, +-- ID id-att-content-length +--} + +--ms-content-returned X413ATTRIBUTE ::= { +-- WITH ATTRIBUTE-SYNTAX BOOLEAN, +-- EQUALITY MATCHING-RULE booleanMatch, +-- NUMERATION single-valued, +-- ID id-att-content-returned +--} + +--mt-content-type X413ATTRIBUTE ::= { +-- WITH ATTRIBUTE-SYNTAX OBJECT IDENTIFIER, +-- EQUALITY MATCHING-RULE objectIdentifierMatch, +-- NUMERATION single-valued, +-- ID id-att-content-type +--} + +--mt-conversion-with-loss-prohibited X413ATTRIBUTE ::= { +-- WITH ATTRIBUTE-SYNTAX ConversionWithLossProhibited, +-- EQUALITY MATCHING-RULE integerMatch, +-- NUMERATION single-valued, +-- ID id-att-conversion-with-loss-prohibited +--} + +--mt-converted-EITs X413ATTRIBUTE ::= { +-- WITH ATTRIBUTE-SYNTAX MS-EIT, +-- EQUALITY MATCHING-RULE objectIdentifierMatch, +-- NUMERATION multi-valued, +-- ID id-att-converted-EITs +--} + +--ms-creation-time X413ATTRIBUTE ::= { +-- WITH ATTRIBUTE-SYNTAX CreationTime, +-- EQUALITY MATCHING-RULE uTCTimeMatch, +-- ORDERING MATCHING-RULE uTCTimeOrderingMatch, +-- NUMERATION single-valued, +-- ID id-att-creation-time +--} + +--ms-deferred-delivery-cancellation-time X413ATTRIBUTE ::= { +-- WITH ATTRIBUTE-SYNTAX DeferredDeliveryCancellationTime, +-- EQUALITY MATCHING-RULE uTCTimeMatch, +-- ORDERING MATCHING-RULE uTCTimeOrderingMatch, +-- NUMERATION single-valued, +-- ID id-att-deferred-delivery-cancellation-time +--} + +DeferredDeliveryCancellationTime ::= UTCTime + +--mt-deferred-delivery-time X413ATTRIBUTE ::= { +-- WITH ATTRIBUTE-SYNTAX DeferredDeliveryTime, +-- EQUALITY MATCHING-RULE uTCTimeMatch, +-- ORDERING MATCHING-RULE uTCTimeOrderingMatch, +-- NUMERATION single-valued, +-- ID id-att-deferred-delivery-time +--} + +--ms-deletion-time X413ATTRIBUTE ::= { +-- WITH ATTRIBUTE-SYNTAX DeletionTime, +-- EQUALITY MATCHING-RULE uTCTimeMatch, +-- ORDERING MATCHING-RULE uTCTimeOrderingMatch, +-- NUMERATION single-valued, +-- ID id-att-deletion-time +--} + +DeletionTime ::= UTCTime + +--ms-delivered-EITs X413ATTRIBUTE ::= { +-- WITH ATTRIBUTE-SYNTAX MS-EIT, +-- EQUALITY MATCHING-RULE objectIdentifierMatch, +-- NUMERATION multi-valued, +-- ID id-att-delivered-EITs +--} + +--mt-delivery-flags X413ATTRIBUTE ::= { +-- WITH ATTRIBUTE-SYNTAX DeliveryFlags, +-- EQUALITY MATCHING-RULE bitStringMatch, +-- NUMERATION single-valued, +-- ID id-att-delivery-flags +--} + +--mt-dl-exempted-recipients X413ATTRIBUTE ::= { +-- WITH ATTRIBUTE-SYNTAX ORName, +-- EQUALITY MATCHING-RULE oRNameMatch, +-- OTHER MATCHING-RULES +-- {oRNameElementsMatch | oRNameSubstringElementsMatch | +-- oRNameSingleElementMatch, ...}, +-- NUMERATION multi-valued, +-- ID id-att-dl-exempted-recipients +--} + +--mt-dl-expansion-history X413ATTRIBUTE ::= { +-- WITH ATTRIBUTE-SYNTAX DLExpansion, +-- OTHER MATCHING-RULES +-- {redirectionOrDLExpansionMatch | redirectionOrDLExpansionElementsMatch | +-- redirectionOrDLExpansionSubstringElementsMatch | +-- redirectionOrDLExpansionSingleElementMatch, ...}, +-- NUMERATION multi-valued, +-- ID id-att-dl-expansion-history +--} + +--mt-dl-expansion-prohibited X413ATTRIBUTE ::= { +-- WITH ATTRIBUTE-SYNTAX DLExpansionProhibited, +-- EQUALITY MATCHING-RULE integerMatch, +-- NUMERATION single-valued, +-- ID id-att-dl-expansion-prohibited +--} + +--ms-entry-type X413ATTRIBUTE ::= { +-- WITH ATTRIBUTE-SYNTAX EntryType, +-- EQUALITY MATCHING-RULE integerMatch, +-- ORDERING MATCHING-RULE +-- integerOrderingMatch, - - rule not defined in 1988 Application Contexts +-- +-- NUMERATION single-valued, +-- ID id-att-entry-type +--} + +--mt-internal-trace-information X413ATTRIBUTE ::= { +-- WITH ATTRIBUTE-SYNTAX InternalTraceInformationElement, +-- NUMERATION multi-valued, +-- ID id-att-internal-trace-information +--} + +--mt-latest-delivery-time X413ATTRIBUTE ::= { +-- WITH ATTRIBUTE-SYNTAX LatestDeliveryTime, +-- EQUALITY MATCHING-RULE uTCTimeMatch, +-- ORDERING MATCHING-RULE uTCTimeOrderingMatch, +-- NUMERATION single-valued, +-- ID id-att-latest-delivery-time +--} + +--ms-locally-originated X413ATTRIBUTE ::= { +-- WITH ATTRIBUTE-SYNTAX NULL, +-- NUMERATION single-valued, +-- ID id-att-locally-originated +--} + +--ms-marked-for-deletion X413ATTRIBUTE ::= { +-- WITH ATTRIBUTE-SYNTAX NULL, +-- NUMERATION single-valued, +-- ID id-att-marked-for-deletion +--} + +--mt-message-delivery-envelope X413ATTRIBUTE ::= { +-- WITH ATTRIBUTE-SYNTAX MessageDeliveryEnvelope, +-- NUMERATION single-valued, +-- ID id-att-message-delivery-envelope +--} + +--mt-message-delivery-time X413ATTRIBUTE ::= { +-- WITH ATTRIBUTE-SYNTAX MessageDeliveryTime, +-- EQUALITY MATCHING-RULE uTCTimeMatch, +-- ORDERING MATCHING-RULE uTCTimeOrderingMatch, +-- NUMERATION single-valued, +-- ID id-att-message-delivery-time +--} + +--ms-message-group-name X413ATTRIBUTE ::= { +-- WITH ATTRIBUTE-SYNTAX MessageGroupName, +-- EQUALITY MATCHING-RULE mSStringListMatch, +-- OTHER MATCHING-RULES +-- {mSSingleSubstringListMatch | mSStringListElementsMatch | +-- mSSingleSubstringListElementsMatch | valueCountMatch, ...}, +-- NUMERATION multi-valued, +-- ID id-att-message-group-name +--} + +--mt-message-identifier X413ATTRIBUTE ::= { +-- WITH ATTRIBUTE-SYNTAX MTSIdentifier, +-- EQUALITY MATCHING-RULE +-- mTSIdentifierMatch, - - rule not defined in 1988 Application Contexts +-- +-- NUMERATION single-valued, +-- ID id-att-message-identifier +--} + +--ms-message-notes X413ATTRIBUTE ::= { +-- WITH ATTRIBUTE-SYNTAX GeneralString(SIZE (1..ub-message-notes-length)), +-- EQUALITY MATCHING-RULE mSStringMatch, +-- SUBSTRINGS MATCHING-RULE mSSubstringsMatch, +-- NUMERATION multi-valued, +-- ID id-att-message-notes +--} + +--mt-message-origin-authentication-check X413ATTRIBUTE ::= { +-- WITH ATTRIBUTE-SYNTAX MessageOriginAuthenticationCheck, +-- NUMERATION single-valued, +-- ID id-att-message-origin-authentication-check +--} + +--mt-message-security-label X413ATTRIBUTE ::= { +-- WITH ATTRIBUTE-SYNTAX MessageSecurityLabel, +-- NUMERATION single-valued, +-- ID id-att-message-security-label +--} + +--mt-message-submission-envelope X413ATTRIBUTE ::= { +-- WITH ATTRIBUTE-SYNTAX MessageSubmissionEnvelope, +-- NUMERATION single-valued, +-- ID id-att-message-submission-envelope +--} + +--mt-message-submission-time X413ATTRIBUTE ::= { +-- WITH ATTRIBUTE-SYNTAX MessageSubmissionTime, +-- EQUALITY MATCHING-RULE uTCTimeMatch, +-- ORDERING MATCHING-RULE uTCTimeOrderingMatch, +-- NUMERATION single-valued, +-- ID id-att-message-submission-time +--} + +--mt-message-token X413ATTRIBUTE ::= { +-- WITH ATTRIBUTE-SYNTAX MessageToken, +-- NUMERATION single-valued, +-- ID id-att-message-token +--} + +--ms-originated X413ATTRIBUTE ::= { +-- WITH ATTRIBUTE-SYNTAX NULL, +-- NUMERATION single-valued, +-- ID id-att-ms-originated +--} + +--ms-submission-error X413ATTRIBUTE ::= { +-- WITH ATTRIBUTE-SYNTAX SubmissionError, +-- NUMERATION single-valued, +-- ID id-att-ms-submission-error +--} + +SubmissionError ::= CHOICE { + submission-control-violated [1] NULL, + originator-invalid [2] NULL, + recipient-improperly-specified [3] ImproperlySpecifiedRecipients, + element-of-service-not-subscribed [4] NULL, + inconsistent-request [11] NULL, + security-error [12] SecurityProblem, + unsupported-critical-function [13] NULL, + remote-bind-error [15] NULL, + service-error [27] ServiceErrorParameter, + message-group-error [30] MessageGroupErrorParameter, + ms-extension-error [31] MSExtensionErrorParameter, + entry-class-error [34] EntryClassErrorParameter +} + +--mt-multiple-originator-certificates X413ATTRIBUTE ::= { +-- WITH ATTRIBUTE-SYNTAX ExtendedCertificates, +-- NUMERATION single-valued, +-- ID id-att-multiple-originator-certificates +--} + +--mt-original-EITs X413ATTRIBUTE ::= { +-- WITH ATTRIBUTE-SYNTAX MS-EIT, +-- EQUALITY MATCHING-RULE objectIdentifierMatch, +-- NUMERATION multi-valued, +-- ID id-att-original-EITs +--} + +--mt-originally-intended-recipient-name X413ATTRIBUTE ::= { +-- WITH ATTRIBUTE-SYNTAX ORName, +-- EQUALITY MATCHING-RULE oRNameMatch, +-- OTHER MATCHING-RULES +-- {oRNameElementsMatch | oRNameSubstringElementsMatch | +-- oRNameSingleElementMatch, ...}, +-- NUMERATION single-valued, +-- ID id-att-originally-intended-recipient-name +--} + +--mt-originating-MTA-certificate X413ATTRIBUTE ::= { +-- WITH ATTRIBUTE-SYNTAX OriginatingMTACertificate, +-- NUMERATION single-valued, +-- ID id-att-originating-MTA-certificate +--} + +--mt-originator-certificate X413ATTRIBUTE ::= { +-- WITH ATTRIBUTE-SYNTAX OriginatorCertificate, +-- NUMERATION single-valued, +-- ID id-att-originator-certificate +--} + +--mt-originator-name X413ATTRIBUTE ::= { +-- WITH ATTRIBUTE-SYNTAX ORName, +-- EQUALITY MATCHING-RULE oRNameMatch, +-- OTHER MATCHING-RULES +-- {oRNameElementsMatch | oRNameSubstringElementsMatch | +-- oRNameSingleElementMatch, ...}, +-- NUMERATION single-valued, +-- ID id-att-originator-name +--} + +--mt-originator-report-request X413ATTRIBUTE ::= { +-- WITH ATTRIBUTE-SYNTAX OriginatorReportRequest, +-- NUMERATION multi-valued, +-- ID id-att-originator-report-request +--} + +--mt-originator-return-address X413ATTRIBUTE ::= { +-- WITH ATTRIBUTE-SYNTAX OriginatorReturnAddress, +-- NUMERATION single-valued, +-- ID id-att-originator-return-address +--} + +--mt-other-recipient-names X413ATTRIBUTE ::= { +-- WITH ATTRIBUTE-SYNTAX ORName, +-- EQUALITY MATCHING-RULE oRNameMatch, +-- OTHER MATCHING-RULES +-- {oRNameElementsMatch | oRNameSubstringElementsMatch | +-- oRNameSingleElementMatch, ...}, +-- NUMERATION multi-valued, +-- ID id-att-other-recipient-names +--} + +--ms-parent-sequence-number X413ATTRIBUTE ::= { +-- WITH ATTRIBUTE-SYNTAX SequenceNumber, +-- EQUALITY MATCHING-RULE integerMatch, +-- ORDERING MATCHING-RULE integerOrderingMatch, +-- NUMERATION single-valued, +-- ID id-att-parent-sequence-number +--} + +--mt-per-message-indicators X413ATTRIBUTE ::= { +-- WITH ATTRIBUTE-SYNTAX PerMessageIndicators, +-- EQUALITY MATCHING-RULE bitStringMatch, +-- NUMERATION single-valued, +-- ID id-att-per-message-indicators +--} + +--mt-per-recipient-message-submission-fields X413ATTRIBUTE ::= { +-- WITH ATTRIBUTE-SYNTAX PerRecipientMessageSubmissionFields, +-- NUMERATION multi-valued, +-- ID id-att-per-recipient-message-submission-fields +--} + +--mt-per-recipient-probe-submission-fields X413ATTRIBUTE ::= { +-- WITH ATTRIBUTE-SYNTAX PerRecipientProbeSubmissionFields, +-- NUMERATION multi-valued, +-- ID id-att-per-recipient-probe-submission-fields +--} + +--mt-per-recipient-report-delivery-fields X413ATTRIBUTE ::= { +-- WITH ATTRIBUTE-SYNTAX PerRecipientReportDeliveryFields, +-- NUMERATION multi-valued, +-- ID id-att-per-recipient-report-delivery-fields +--} + +--mt-priority X413ATTRIBUTE ::= { +-- WITH ATTRIBUTE-SYNTAX Priority, +-- EQUALITY MATCHING-RULE integerMatch, +-- ORDERING MATCHING-RULE +-- integerOrderingMatch, - - rule not defined in 1988 Application Contexts +-- +-- NUMERATION single-valued, +-- ID id-att-priority +--} + +--mt-probe-origin-authentication-check X413ATTRIBUTE ::= { +-- WITH ATTRIBUTE-SYNTAX ProbeOriginAuthenticationCheck, +-- NUMERATION single-valued, +-- ID id-att-probe-origin-authentication-check +--} + +--mt-probe-submission-envelope X413ATTRIBUTE ::= { +-- WITH ATTRIBUTE-SYNTAX ProbeSubmissionEnvelope, +-- NUMERATION single-valued, +-- ID id-att-probe-submission-envelope +--} + +--mt-proof-of-delivery-request X413ATTRIBUTE ::= { +-- WITH ATTRIBUTE-SYNTAX ProofOfDeliveryRequest, +-- EQUALITY MATCHING-RULE +-- integerMatch, - - rule not defined in 1988 Application Contexts +-- +-- NUMERATION single-valued, +-- ID id-att-proof-of-delivery-request +--} + +--mt-proof-of-submission X413ATTRIBUTE ::= { +-- WITH ATTRIBUTE-SYNTAX ProofOfSubmission, +-- NUMERATION single-valued, +-- ID id-att-proof-of-submission +--} + +--mt-recipient-certificate X413ATTRIBUTE ::= { +-- WITH ATTRIBUTE-SYNTAX ExtendedCertificates, +-- NUMERATION single-valued, +-- ID id-att-recipient-certificate +--} + +--ms-recipient-names X413ATTRIBUTE ::= { +-- WITH ATTRIBUTE-SYNTAX ORName, +-- EQUALITY MATCHING-RULE oRNameMatch, +-- OTHER MATCHING-RULES +-- {oRNameElementsMatch | oRNameSubstringElementsMatch | +-- oRNameSingleElementMatch, ...}, +-- NUMERATION multi-valued, +-- ID id-att-recipient-names +--} + +--mt-recipient-reassignment-prohibited X413ATTRIBUTE ::= { +-- WITH ATTRIBUTE-SYNTAX RecipientReassignmentProhibited, +-- EQUALITY MATCHING-RULE integerMatch, +-- NUMERATION single-valued, +-- ID id-att-recipient-reassignment-prohibited +--} + +--mt-redirection-history X413ATTRIBUTE ::= { +-- WITH ATTRIBUTE-SYNTAX Redirection, +-- OTHER MATCHING-RULES +-- {redirectionOrDLExpansionMatch | redirectionOrDLExpansionElementsMatch | +-- redirectionOrDLExpansionSubstringElementsMatch | +-- redirectionOrDLExpansionSingleElementMatch | redirectionReasonMatch, +-- ...}, +-- NUMERATION multi-valued, +-- ID id-att-redirection-history +--} + +--mt-report-delivery-envelope X413ATTRIBUTE ::= { +-- WITH ATTRIBUTE-SYNTAX ReportDeliveryEnvelope, +-- NUMERATION single-valued, +-- ID id-att-report-delivery-envelope +--} + +--mt-reporting-DL-name X413ATTRIBUTE ::= { +-- WITH ATTRIBUTE-SYNTAX ReportingDLName, +-- EQUALITY MATCHING-RULE +-- oRNameMatch, - - rule not defined in 1988 Application Contexts + +-- OTHER MATCHING-RULES +-- {oRNameElementsMatch | oRNameSubstringElementsMatch | +-- oRNameSingleElementMatch, ...}, +-- NUMERATION single-valued, +-- ID id-att-reporting-DL-name +--} + +--mt-reporting-MTA-certificate X413ATTRIBUTE ::= { +-- WITH ATTRIBUTE-SYNTAX ReportingMTACertificate, +-- NUMERATION single-valued, +-- ID id-att-reporting-MTA-certificate +--} + +--mt-report-origin-authentication-check X413ATTRIBUTE ::= { +-- WITH ATTRIBUTE-SYNTAX ReportOriginAuthenticationCheck, +-- NUMERATION single-valued, +-- ID id-att-report-origin-authentication-check +--} + +--ms-retrieval-status X413ATTRIBUTE ::= { +-- WITH ATTRIBUTE-SYNTAX RetrievalStatus, +-- EQUALITY MATCHING-RULE integerMatch, +-- NUMERATION single-valued, +-- ID id-att-retrieval-status +--} + +--mt-security-classification X413ATTRIBUTE ::= { +-- WITH ATTRIBUTE-SYNTAX SecurityClassification, +-- EQUALITY MATCHING-RULE integerMatch, +-- NUMERATION single-valued, +-- ID id-att-security-classification +--} + +--ms-sequence-number X413ATTRIBUTE ::= { +-- WITH ATTRIBUTE-SYNTAX SequenceNumber, +-- EQUALITY MATCHING-RULE integerMatch, +-- ORDERING MATCHING-RULE integerOrderingMatch, +-- NUMERATION single-valued, +-- ID id-att-sequence-number +--} + +--ms-signature-verification-status X413ATTRIBUTE ::= { +-- WITH ATTRIBUTE-SYNTAX SignatureVerificationStatus, +-- NUMERATION single-valued, +-- ID id-att-signature-verification-status +--} + +SignatureVerificationStatus ::= SET { + content-integrity-check + [0] SignatureStatus DEFAULT signature-absent, + message-origin-authentication-check + [1] SignatureStatus DEFAULT signature-absent, + message-token + [2] SignatureStatus DEFAULT signature-absent, + report-origin-authentication-check + [3] SignatureStatus DEFAULT signature-absent, + proof-of-delivery + [4] SignatureStatus DEFAULT signature-absent, + proof-of-submission + [5] SignatureStatus DEFAULT signature-absent +} + +SignatureStatus ::= INTEGER { + signature-absent(0), verification-in-progress(1), verification-succeeded(2), + verification-not-possible(3), content-converted(4), signature-encrypted(5), + algorithm-not-supported(6), certificate-not-obtainable(7), + verification-failed(8)} + +--ms-storage-period X413ATTRIBUTE ::= { +-- WITH ATTRIBUTE-SYNTAX StoragePeriod, +-- EQUALITY MATCHING-RULE integerMatch, +-- ORDERING MATCHING-RULE integerOrderingMatch, +-- NUMERATION single-valued, +-- ID id-att-storage-period +--} + +StoragePeriod ::= INTEGER -- seconds + +--ms-storage-time X413ATTRIBUTE ::= { +-- WITH ATTRIBUTE-SYNTAX StorageTime, +-- EQUALITY MATCHING-RULE uTCTimeMatch, +-- ORDERING MATCHING-RULE uTCTimeOrderingMatch, +-- NUMERATION single-valued, +-- ID id-att-storage-time +--} + +StorageTime ::= UTCTime + +--mt-subject-submission-identifier X413ATTRIBUTE ::= { +-- WITH ATTRIBUTE-SYNTAX SubjectSubmissionIdentifier, +-- EQUALITY MATCHING-RULE +-- mTSIdentifierMatch, - - rule not defined in 1988 Application Contexts +-- +-- NUMERATION single-valued, +-- ID id-att-subject-submission-identifier +--} + +--mt-this-recipient-name X413ATTRIBUTE ::= { +-- WITH ATTRIBUTE-SYNTAX ORName, +-- EQUALITY MATCHING-RULE oRNameMatch, +-- OTHER MATCHING-RULES +-- {oRNameElementsMatch | oRNameSubstringElementsMatch | +-- oRNameSingleElementMatch, ...}, +-- NUMERATION single-valued, +-- ID id-att-this-recipient-name +--} + +--mt-trace-information X413ATTRIBUTE ::= { +-- WITH ATTRIBUTE-SYNTAX TraceInformationElement, +-- NUMERATION multi-valued, +-- ID id-att-trace-information +--} + +END -- of MSGeneralAttributeTypes + +-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D + diff --git a/asn1/p7/Makefile.am b/asn1/p7/Makefile.am new file mode 100644 index 0000000000..462af31e88 --- /dev/null +++ b/asn1/p7/Makefile.am @@ -0,0 +1,26 @@ +# $Id$ +# +# +# Wireshark - Network traffic analyzer +# By Gerald Combs <gerald@wireshark.org> +# Copyright 1998 Gerald Combs +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +include ../Makefile.preinc +include Makefile.common +include ../Makefile.inc + diff --git a/asn1/p7/Makefile.common b/asn1/p7/Makefile.common new file mode 100644 index 0000000000..36c3cd93f9 --- /dev/null +++ b/asn1/p7/Makefile.common @@ -0,0 +1,58 @@ +# $Id$ +# +# +# Wireshark - Network traffic analyzer +# By Gerald Combs <gerald@wireshark.org> +# Copyright 1998 Gerald Combs +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +PROTOCOL_NAME=p7 + +DISSECTOR_FILES=packet-$(PROTOCOL_NAME).c \ + packet-$(PROTOCOL_NAME).h + +NEED_PACKET_PROTO_H = 1 + +EXPORT_FILES = \ + $(PROTOCOL_NAME)-exp.cnf + +EXT_ASN_FILE_LIST = + +ASN_FILE_LIST = \ + MSAbstractService.asn \ + MSGeneralAttributeTypes.asn + +# The packet-$(PROTOCOL_NAME)-template.h and $(PROTOCOL_NAME).asn +# files do not exist # for all protocols: Please add/remove as required. +EXTRA_DIST = \ + $(ASN_FILE_LIST) \ + packet-$(PROTOCOL_NAME)-template.c \ + packet-$(PROTOCOL_NAME)-template.h \ + $(PROTOCOL_NAME).cnf + +SRC_FILES = \ + $(EXTRA_DIST) \ + $(EXT_ASN_FILE_LIST) + +A2W_FLAGS= -b -e -X -T + +EXTRA_CNF= \ + ../x411/x411-exp.cnf + +../x411/x411-exp.cnf: + (cd ../x411 && $(MAKE_CNF_EXPORT)) + diff --git a/asn1/p7/Makefile.nmake b/asn1/p7/Makefile.nmake new file mode 100644 index 0000000000..5a32997c60 --- /dev/null +++ b/asn1/p7/Makefile.nmake @@ -0,0 +1,29 @@ +## Use: $(MAKE) /$(MAKEFLAGS) -f makefile.nmake +# +# $Id$ +# +# +# Wireshark - Network traffic analyzer +# By Gerald Combs <gerald@wireshark.org> +# Copyright 1998 Gerald Combs +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +include ../../config.nmake +include ../Makefile.preinc.nmake +include Makefile.common +include ../Makefile.inc.nmake + diff --git a/asn1/p7/p7.cnf b/asn1/p7/p7.cnf new file mode 100644 index 0000000000..4f45aa49be --- /dev/null +++ b/asn1/p7/p7.cnf @@ -0,0 +1,298 @@ +# +# $Id$ +# + +#.IMPORT ../x411/x411-exp.cnf + +#.MODULE_IMPORT +MTSAbstractService x411 + +#.TYPE_RENAME +Attribute/attribute-values AttributeValues +OrderedAttribute/attribute-values OrderedAttributeValues + +Attribute/attribute-values/_item AttributeItem +OrderedAttribute/attribute-values/_item OrderedAttributeItem + +AttributeErrorParameter/problems AttributeErrorProblems +DeleteErrorParameter/problems DeleteErrorProblems +FetchRestrictionErrorParameter/problems FetchRestrictionErrorProblems +SequenceNumberErrorParameter/problems SequenceNumberErrorProblems + +AttributeErrorParameter/problems/_item AttributeErrorProblem +DeleteErrorParameter/problems/_item DeleteErrorProblem +FetchRestrictionErrorParameter/problems/_item FetchRestrictionErrorProblem +SequenceNumberErrorParameter/problems/_item SequenceNumberErrorProblem + +Summary/present/_item/value SummaryPresentItemValue +OrderedAttribute/attribute-values/_item/value OrderedAttributeValue +AttributeErrorParameter/problems/_item/value AttributeErrorProblemValue + +#.FIELD_RENAME +OrderedAttribute/attribute-values ordered-attribute-values +OrderedAttribute/attribute-values/_item ordered-attribute-values-item +OrderedAttribute/attribute-values/_item/position ordered-position + +Summary/present/_item/count summary-count +AttributeSelection/count selection-count + +DeleteResult/delete-result-94/entries-deleted entries-deleted-94 + +Register-MSArgument/change-credentials/old-credentials register-old-credentials + +Register-MSResult/registered-information/fetch-attribute-defaults registered-fetch-attribute-defaults +Register-MSResult/registered-information/list-attribute-defaults registered-list-attribute-defaults +Register-MSResult/registered-information/message-group-registrations registered-message-group-registrations + +TimeRange/from from-time +NumberRange/from from-number + +TimeRange/to to-time +NumberRange/to to-number + +Filter/item filter-item + +Summary/present summary-present + +AttributeErrorParameter/problems attribute-error-problems +AutoActionRequestErrorParameter/problems auto-action-request-error-problems +DeleteErrorParameter/problems delete-error-problems +SequenceNumberErrorParameter/problems sequence-number-error-problems +FetchRestrictionErrorParameter/problems fetch-restriction-error-problems + +DeleteErrorParameter/problems/_item delete-error-problem-item +AttributeErrorParameter/problems/_item attribute-error-problem-item +AutoActionRequestErrorParameter/problems/_item auto-action-request-error-problem-item +SequenceNumberErrorParameter/problems/_item sequence-number-error-problem-item +FetchRestrictionErrorParameter/problems/_item fetch-restriction-error-problem-item + +EntryClassErrorParameter/problem entry-class-problem +FetchRestrictionErrorParameter/problems/_item/problem fetch-restriction-problem +RegisterMSErrorParameter/problem registration-problem +AttributeErrorParameter/problems/_item/problem attribute-problem +SequenceNumberErrorParameter/problems/_item/problem sequence-number-problem +RangeErrorParameter/problem range-problem +DeleteErrorParameter/problems/_item/problem delete-problem +MessageGroupErrorParameter/problem message-group-problem +ServiceErrorParameter/problem service-problem +ModifyErrorParameter/problem modify-problem +AutoActionRequestErrorParameter/problems/_item/problem auto-action-request-problem + +AutoActionRequestErrorParameter/problems/_item/type auto-action-type + +AttributeErrorParameter/problems/_item/value problem-value +OrderedAttribute/attribute-values/_item/value ordered-attribute-value + +#.PDU +MSBindArgument +MSBindResult +MSBindError +MSMessageSubmissionArgument +MSMessageSubmissionResult +MSProbeSubmissionArgument +MSProbeSubmissionResult +SummarizeArgument +SummarizeResult +ListArgument +ListResult +FetchArgument +FetchResult +DeleteArgument +DeleteResult +Register-MSArgument +Register-MSResult +ModifyArgument +ModifyResult +AlertArgument +AlertResult +AttributeErrorParameter +AutoActionRequestErrorParameter +DeleteErrorParameter +FetchRestrictionErrorParameter +RangeErrorParameter +SequenceNumberErrorParameter +MessageGroupErrorParameter +MSExtensionErrorParameter +EntryClassErrorParameter +ServiceErrorParameter +RegisterMSErrorParameter +ModifyErrorParameter + +#.REGISTER +# MSGeneralAttributeTypes +ReportLocation B "2.6.4.3.42" "id-att-ac-correlated-report-list" +SequenceNumber B "2.6.4.3.76" "id-att-ac-report-subject-entry" +ReportSummary B "2.6.4.3.43" "id-att-ac-report-summary" +PerRecipientReport B "2.6.4.3.44" "id-att-ac-uncorrelated-report-list" +AutoActionError B "2.6.4.3.46" "id-att-auto-action-error" +#Integer B "2.6.4.3.47" "id-att-auto-action-registration-identifier" - see XXX +SequenceNumber B "2.6.4.3.48" "id-att-auto-action-subject-entry" +AutoActionType B "2.6.4.3.49" "id-att-auto-action-type" +#CertificateSelectors B "2.6.4.3.80" "id-att-certificate-selectors" - see x411.cnf +SequenceNumber B "2.6.4.3.0" "id-att-child-sequence-numbers" +#Content B "2.6.4.3.1" "id-att-content" - see XXX +#AlgorithmIdentifier B "2.6.4.3.2" "id-att-content-confidentiality-algorithm-identifier" - see XXX +#ContentCorrelator B "2.6.4.3.3" "id-att-content-correlator" - see x411.cnf +#ContentIdentifier B "2.6.4.3.4" "id-att-content-identifier" - see x411.cnf +#ContentIntegrityCheck B "2.6.4.3.5" "id-att-content-inetgrity-check" - see x411.cnf +#ContentLength B "2.6.4.3.6" "id-att-content-length" - see x411.cnf +#Boolean B "2.6.4.3.7" "id-att-content-returned" - see XXX +#ObjectIdentifier B "2.6.4.3.8" "id-att-content-type" - see XXX +#ConversionWithLossProhibited B "2.6.4.3.9" "id-att-conversion-with-loss-prohibited" - see x411.cnf +MS-EIT B "2.6.4.3.10" "id-att-converted-EITs" +CreationTime B "2.6.4.3.11" "id-att-creation-time" +DeferredDeliveryCancellationTime B "2.6.4.3.50" "id-att-deferred-delivery-cancellation-time" +#DeferredDeliveryTime B "2.6.4.3.51" "id-att-deferred-delivery-time" - see x411.cnf +DeletionTime B "2.6.4.3.52" "id-att-deletion-time" +MS-EIT B "2.6.4.3.12" "id-att-delivered-EITs" +#DeliveryFlags B "2.6.4.3.13" "id-att-delivery-flags" - see x411.cnf +#ORName B "2.6.4.3.78" "id-att-dl-exempted-recipients" - see x411.cnf +#DLExpansion B "2.6.4.3.14" "id-att-dl-expansion-history" - see x411.cnf +#DLExpansionProhibited B "2.6.4.3.53" "id-att-dl-expansion-prohibited" - see x411.cnf +EntryType B "2.6.4.3.16" "id-att-entry-type" +#InternalTraceInformationElement B "2.6.4.3.54" "id-att-internal-trace-information" - see x411.cnf +#LatestDeliveryTime B "2.6.4.3.55" "id-att-latest-delivery-time" - see x411.cnf +#NULL B "2.6.4.3.77" "id-att-locally-originated - see XXX +#NULL B "2.6.4.3.56" "id-att-marked-for-deletion" - see XXX +#MessageDeliveryEnvelope B "2.6.4.3.18" "id-att-message-delivery-envelope" - see x411.cnf +#MessageDeliveryTime B "2.6.4.3.20" "id-att-message-delivery-time" - see x411.cnf +MessageGroupName B "2.6.4.3.57" "id-att-message-group-name" +#MTSIdentifier B "2.6.4.3.19" "id-att-message-identifier" - see x411.cnf +#GeneralString B "2.6.4.3.58" "id-att-message-notes" - see XXX +#MessageOriginAuthenticationCheck B "2.6.4.3.21" "id-at-message-orgin-authentication-check" - see x411.cnf +#MessageSecurityLabel B "2.6.4.3.22" "id-att-message-security-label" - see x411.cnf +#MessageSubmissionEnvelope B "2.6.4.3.59" "id-att-message-submission-envelope" - see x411.cnf +#MessageSubmissionTime B "2.6.4.3.23" "id-att-message-submission-time" +#MessageToken B "2.6.4.3.24" "id-att-message-token" +#NULL B "2.6.4.3.60" "id-att-ms-originated" +SubmissionError B "2.6.4.3.61" "id-att-ms-submission-error" +#ExtendedCertificates B "2.6.4.3.81" "id-att-multiple-originator-certificates" - see x411.cnf +MS-EIT B "2.6.4.3.25" "id-att-original-EITs" +#ORName B "2.6.4.3.17" "id-att-originally-intended-recipient-name" - see x411.cnf +#OriginatingMTACertificate B "2.6.4.3.62" "id-att-originating-MTA-certificate" - see x411.cnf +#OriginatorCertificate B "2.6.4.3.26" "id-att-originator-certificate" - see x411.cnf +#ORName B "2.6.4.3.27" "id-att-originator-name" - see x411.cnf +#OriginatorReportRequest B "2.6.4.3.63" "id-att-originator-report-request" - see x411.cnf +#OriginatorReturnAddress B "2.6.4.3.64" "id-att-originator-return-address" - see x411.cnf +#ORName B "2.6.4.3.28" "id-att-other-recipient-names" - see x411.cnf +SequenceNumber B "2.6.4.3.29" "id-att-parent-sequence-number" +#PerMessageIndicators B "2.6.4.3.65" "id-att-per-message-indicators" - see x411.cnf +#PerRecipientMessageSubmissionFields B "2.6.4.3.66" "id-att-per-recipient-message-submission-fields" - see x411.cnf +#PerRecipientProbeSubmissionFields B "2.6.4.3.67" "id-att-per-recipient-probe-submission-fields" - see x411.cnf +#PerRecipientReportDeliveryFields B "2.6.4.3.30" "id-att-per-recipient-report-delivery-fields" - see x411.cnf +#Priority B "2.6.4.3.31" "id-att-priority" - see x411.cnf +#ProbeOriginAuthenticationCheck B "2.6.4.3.68" "id-att-probe-origin-authentication-check" - see x411.cnf +#ProbeSubmissionEnvelope B "2.6.4.3.69" "id-att-probe-submission-envelope" - see x411.cnf +#ProofOfDeliveryRequest B "2.6.4.3.32" "id-att-proof-of-delivery-request" - see x411.cnf +#ProofOfSubmission B "2.6.4.3.70" "id-att-proof-of-submission" - see x411.cnf +#ExtendedCertificates B "2.6.4.3.82" "id-att-recipient-certificate" - see x411.cnf +#ORName B "2.6.4.3.71" "id-att-recipient-names" - see x411.cnf +#RecipientReassignmentProhibited B "2.6.4.3.72" "id-att-recipient-reassignment-prohibited" - see x411.cnf +#Redirection B "2.6.4.3.33" "id-at-redirection-history" - see x411.cnf +#ReportDeliveryEnvelope B "2.6.4.3.34" "id-att-report-delivery-envelope" - see x411.cnf +#ReportingDLName B "2.6.4.3.35" "id-att-reporting-DL-name" - see x411.cnf +#ReportingMTACertificate B "2.6.4.3.36" "id-att-reporting-MTA-certificate" - see x411.cnf +#ReportOriginAuthenticationCheck B "2.6.4.3.37" "id-att-report-origin-authentication-check" - see x411.cnf +RetrievalStatus B "2.6.4.3.15" "id-att-retrieval-status" +#SecurityClassification B "2.6.4.3.38" "id-att-security-classification" - see x411.cnf +SequenceNumber B "2.6.4.3.39" "id-att-sequence-number" +SignatureVerificationStatus B "2.6.4.3.79" "id-att-signature-verification-status" +StoragePeriod B "2.6.4.3.73" "id-att-storage-period" +StorageTime B "2.6.4.3.74" "id-att-storage-time" +#SubjectSubmissionIdentifier B "2.6.4.3.40" "id-att-subject-submission-identifier" - see x411.cnf +#ORName B "2.6.4.3.41" "id-att-this-recipient-name" - see x411.cnf +#TraceInformationElement B "2.6.4.3.75" "id-att-trace-information" - see x411.cnf + +#.FN_PARS AttributeType FN_VARIANT = _str VAL_PTR = &object_identifier_id + +#.FN_BODY Attribute/attribute-values/_item + if(object_identifier_id) + call_ber_oid_callback(object_identifier_id, tvb, offset, actx->pinfo, tree); + +#.FN_BODY AttributeValueAssertion/attribute-value + if(object_identifier_id) + call_ber_oid_callback(object_identifier_id, tvb, offset, actx->pinfo, tree); + +#.FN_BODY FilterItem/substrings/strings/_item/initial + if(object_identifier_id) + call_ber_oid_callback(object_identifier_id, tvb, offset, actx->pinfo, tree); + +#.FN_BODY FilterItem/substrings/strings/_item/any + if(object_identifier_id) + call_ber_oid_callback(object_identifier_id, tvb, offset, actx->pinfo, tree); + +#.FN_BODY FilterItem/substrings/strings/_item/final + if(object_identifier_id) + call_ber_oid_callback(object_identifier_id, tvb, offset, actx->pinfo, tree); + +#.FN_BODY MatchingRuleAssertion/match-value + if(object_identifier_id) + call_ber_oid_callback(object_identifier_id, tvb, offset, actx->pinfo, tree); + +#.FN_BODY Summary/present/_item/value + if(object_identifier_id) + call_ber_oid_callback(object_identifier_id, tvb, offset, actx->pinfo, tree); + +#.FN_BODY OrderedAttribute/attribute-values/_item/value + if(object_identifier_id) + call_ber_oid_callback(object_identifier_id, tvb, offset, actx->pinfo, tree); + +#.FN_BODY AttributeErrorParameter/problems/_item/value + if(object_identifier_id) + call_ber_oid_callback(object_identifier_id, tvb, offset, actx->pinfo, tree); + +#.FN_PARS AutoActionType FN_VARIANT = _str VAL_PTR = &object_identifier_id + +#.FN_BODY AutoActionRegistration/registration-parameter + if(object_identifier_id) + call_ber_oid_callback(object_identifier_id, tvb, offset, actx->pinfo, tree); + +#.FN_PARS AutoActionError/error-code FN_VARIANT = _str VAL_PTR = &object_identifier_id + +#.FN_BODY AutoActionError/error-parameter + if(object_identifier_id) + call_ber_oid_callback(object_identifier_id, tvb, offset, actx->pinfo, tree); + +#.FN_BODY MSBindArgument/initiator-name + char *ora = NULL; + + %(DEFAULT_BODY)s + + if (check_col(actx->pinfo->cinfo, COL_INFO) && (ora = x411_get_last_oraddress())) { + col_append_fstr(actx->pinfo->cinfo, COL_INFO, " (initiator=%%s)", ora); + } + +#.FN_PARS SequenceNumber VAL_PTR = &seqno + +#.FN_BODY NumberRange + if (check_col(actx->pinfo->cinfo, COL_INFO)) { + col_append_fstr(actx->pinfo->cinfo, COL_INFO, " (range="); + } + %(DEFAULT_BODY)s + if (check_col(actx->pinfo->cinfo, COL_INFO)) { + col_append_fstr(actx->pinfo->cinfo, COL_INFO, ")"); + } + +#.FN_FTR NumberRange/from + if (check_col(actx->pinfo->cinfo, COL_INFO)) { + col_append_fstr(actx->pinfo->cinfo, COL_INFO, " from %d", seqno); + } + +#.FN_FTR NumberRange/to + if (check_col(actx->pinfo->cinfo, COL_INFO)) { + col_append_fstr(actx->pinfo->cinfo, COL_INFO, " to %d", seqno); + } + +#.FN_PARS SummarizeResult/count VAL_PTR = &count + +#.FN_BODY SummarizeResult/count + int count = 0; + + %(DEFAULT_BODY)s + + if (check_col(actx->pinfo->cinfo, COL_INFO)) { + col_append_fstr(actx->pinfo->cinfo, COL_INFO, " (count=%%d)", count); + } + + +
\ No newline at end of file diff --git a/asn1/p7/packet-p7-template.c b/asn1/p7/packet-p7-template.c new file mode 100644 index 0000000000..44cf92bb82 --- /dev/null +++ b/asn1/p7/packet-p7-template.c @@ -0,0 +1,403 @@ +/* packet-p7.c + * Routines for X.413 (P7) packet dissection + * Graeme Lunt 2007 + * + * $Id$ + * + * Wireshark - Network traffic analyzer + * By Gerald Combs <gerald@wireshark.org> + * Copyright 1998 Gerald Combs + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + */ + +#ifdef HAVE_CONFIG_H +# include "config.h" +#endif + +#include <glib.h> +#include <epan/packet.h> +#include <epan/prefs.h> +#include <epan/conversation.h> +#include <epan/oids.h> +#include <epan/asn1.h> + +#include <stdio.h> +#include <string.h> + +#include "packet-ber.h" +#include "packet-acse.h" +#include "packet-ros.h" + +#include "packet-x411.h" +#include <epan/strutil.h> + +#define PNAME "X.413 Message Store Service" +#define PSNAME "P7" +#define PFNAME "p7" + +static guint global_p7_tcp_port = 102; +static guint tcp_port = 0; +static dissector_handle_t tpkt_handle = NULL; +static const char *object_identifier_id = NULL; /* attribute identifier */ +static int seqno = 0; + +void prefs_register_p7(void); /* forwad declaration for use in preferences registration */ + + +/* Initialize the protocol and registered fields */ +int proto_p7 = -1; + +static struct SESSION_DATA_STRUCTURE* session = NULL; + +#include "packet-p7-hf.c" + +/* Initialize the subtree pointers */ +static gint ett_p7 = -1; +#include "packet-p7-ett.c" + +#include "packet-p7-fn.c" + +/* +* Dissect P7 PDUs inside a ROS PDUs +*/ +static void +dissect_p7(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree) +{ + int offset = 0; + int old_offset; + proto_item *item=NULL; + proto_tree *tree=NULL; + int (*p7_dissector)(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, asn1_ctx_t *actx, proto_tree *tree, int hf_index _U_) = NULL; + char *p7_op_name; + int hf_p7_index = -1; + asn1_ctx_t asn1_ctx; + + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + + /* do we have operation information from the ROS dissector? */ + if( !pinfo->private_data ){ + if(parent_tree){ + proto_tree_add_text(parent_tree, tvb, offset, -1, + "Internal error: can't get operation information from ROS dissector."); + } + return ; + } else { + session = ( (struct SESSION_DATA_STRUCTURE*)(pinfo->private_data) ); + } + + if(parent_tree){ + item = proto_tree_add_item(parent_tree, proto_p7, tvb, 0, -1, FALSE); + tree = proto_item_add_subtree(item, ett_p7); + } + if (check_col(pinfo->cinfo, COL_PROTOCOL)) + col_set_str(pinfo->cinfo, COL_PROTOCOL, "P7"); + if (check_col(pinfo->cinfo, COL_INFO)) + col_clear(pinfo->cinfo, COL_INFO); + + switch(session->ros_op & ROS_OP_MASK) { + case (ROS_OP_BIND | ROS_OP_ARGUMENT): /* BindInvoke */ + p7_dissector = dissect_p7_MSBindArgument; + p7_op_name = "MS-Bind-Argument"; + hf_p7_index = hf_p7_MSBindArgument_PDU; + break; + case (ROS_OP_BIND | ROS_OP_RESULT): /* BindResult */ + p7_dissector = dissect_p7_MSBindResult; + p7_op_name = "MS-Bind-Result"; + hf_p7_index = hf_p7_MSBindResult_PDU; + break; + case (ROS_OP_BIND | ROS_OP_ERROR): /* BindError */ + p7_dissector = dissect_p7_MSBindError; + p7_op_name = "MS-Bind-Error"; + hf_p7_index = hf_p7_MSBindError_PDU; + break; + case (ROS_OP_INVOKE | ROS_OP_ARGUMENT): /* Invoke Argument */ + switch(session->ros_op & ROS_OP_OPCODE_MASK) { + case 3: /* msMessageSubmission */ + p7_dissector = dissect_p7_MSMessageSubmissionArgument; + p7_op_name = "MS-Message-Submission-Argument"; + hf_p7_index = hf_p7_MSMessageSubmissionArgument_PDU; + break; + case 4: /* msProbeSubmission */ + p7_dissector = dissect_p7_MSProbeSubmissionArgument; + p7_op_name = "MS-Probe-Submission-Argument"; + hf_p7_index = hf_p7_MSProbeSubmissionArgument_PDU; + break; + case 20: /* summarize */ + p7_dissector = dissect_p7_SummarizeArgument; + p7_op_name = "Summarize-Argument"; + hf_p7_index = hf_p7_SummarizeArgument_PDU; + break; + case 21: /* list */ + p7_dissector = dissect_p7_ListArgument; + p7_op_name = "List-Argument"; + hf_p7_index = hf_p7_ListArgument_PDU; + break; + case 22: /* fetch */ + p7_dissector = dissect_p7_FetchArgument; + p7_op_name = "Fetch-Argument"; + hf_p7_index = hf_p7_FetchArgument_PDU; + break; + case 23: /* delete */ + p7_dissector = dissect_p7_DeleteArgument; + p7_op_name = "Delete-Argument"; + hf_p7_index = hf_p7_DeleteArgument_PDU; + break; + case 24: /* register-ms */ + p7_dissector = dissect_p7_Register_MSArgument; + p7_op_name = "RegisterMS-Argument"; + hf_p7_index = hf_p7_Register_MSArgument_PDU; + break; + case 25: /* alert */ + p7_dissector = dissect_p7_AlertArgument; + p7_op_name = "Alert-Argument"; + hf_p7_index = hf_p7_AlertArgument_PDU; + break; + case 26: /* modify */ + p7_dissector = dissect_p7_ModifyArgument; + p7_op_name = "Modify-Argument"; + hf_p7_index = hf_p7_ModifyArgument_PDU; + break; + default: + proto_tree_add_text(tree, tvb, offset, -1,"Unsupported P7 argument opcode (%d)", + session->ros_op & ROS_OP_OPCODE_MASK); + break; + } + break; + case (ROS_OP_INVOKE | ROS_OP_RESULT): /* Return Result */ + switch(session->ros_op & ROS_OP_OPCODE_MASK) { + case 3: /* msMessageSubmission */ + p7_dissector = dissect_p7_MSMessageSubmissionResult; + p7_op_name = "MS-Message-Submission-Result"; + hf_p7_index = hf_p7_MSMessageSubmissionResult_PDU; + break; + case 4: /* msProbeSubmission */ + p7_dissector = dissect_p7_MSProbeSubmissionResult; + p7_op_name = "MS-Probe-Submission-Result"; + hf_p7_index = hf_p7_MSProbeSubmissionResult_PDU; + break; + case 20: /* summarize */ + p7_dissector = dissect_p7_SummarizeResult; + p7_op_name = "Summarize-Result"; + hf_p7_index = hf_p7_SummarizeResult_PDU; + break; + case 21: /* list */ + p7_dissector = dissect_p7_ListResult; + p7_op_name = "List-Result"; + hf_p7_index = hf_p7_ListResult_PDU; + break; + case 22: /* fetch */ + p7_dissector = dissect_p7_FetchResult; + p7_op_name = "Fetch-Result"; + hf_p7_index = hf_p7_FetchResult_PDU; + break; + case 23: /* delete */ + p7_dissector = dissect_p7_DeleteResult; + p7_op_name = "Delete-Result"; + break; + case 24: /* register-ms */ + p7_dissector = dissect_p7_Register_MSResult; + p7_op_name = "RegisterMS-Result"; + hf_p7_index = hf_p7_Register_MSResult_PDU; + break; + case 25: /* alert */ + p7_dissector = dissect_p7_AlertResult; + p7_op_name = "Alert-Result"; + hf_p7_index = hf_p7_AlertResult_PDU; + break; + case 26: /* modify */ + p7_dissector = dissect_p7_ModifyResult; + p7_op_name = "Modify-Result"; + hf_p7_index = hf_p7_ModifyResult_PDU; + break; + default: + proto_tree_add_text(tree, tvb, offset, -1,"Unsupported P7 result opcode (%d)", + session->ros_op & ROS_OP_OPCODE_MASK); + break; + } + break; + case (ROS_OP_INVOKE | ROS_OP_ERROR): /* Return Error */ + switch(session->ros_op & ROS_OP_OPCODE_MASK) { + case 21: /* attributeError */ + p7_dissector = dissect_p7_AttributeErrorParameter; + p7_op_name = "Attribute-Error"; + hf_p7_index = hf_p7_AttributeErrorParameter_PDU; + break; + case 22: /* autoActionRequestError */ + p7_dissector = dissect_p7_AutoActionRequestErrorParameter; + p7_op_name = "Auto-Action-Request-Error"; + hf_p7_index = hf_p7_AutoActionRequestErrorParameter_PDU; + break; + case 23: /* deleteError */ + p7_dissector = dissect_p7_DeleteErrorParameter; + p7_op_name = "Delete-Error"; + hf_p7_index = hf_p7_DeleteErrorParameter_PDU; + break; + case 24: /* fetchRestrictionError */ + p7_dissector = dissect_p7_FetchRestrictionErrorParameter; + p7_op_name = "Fetch-Restriction-Error"; + hf_p7_index = hf_p7_FetchRestrictionErrorParameter_PDU; + break; + case 25: /* rangeError */ + p7_dissector = dissect_p7_RangeErrorParameter; + p7_op_name = "Range-Error"; + hf_p7_index = hf_p7_RangeErrorParameter_PDU; + break; + case 26: /* securityError */ + p7_dissector = dissect_x411_SecurityProblem; + p7_op_name = "Security-Error"; + break; + case 27: /* serviceError*/ + p7_dissector = dissect_p7_ServiceErrorParameter; + p7_op_name = "Service-Error"; + hf_p7_index = hf_p7_ServiceErrorParameter_PDU; + break; + case 28: /* sequenceNumberError */ + p7_dissector = dissect_p7_SequenceNumberErrorParameter; + p7_op_name = "Sequence-Number-Error"; + hf_p7_index = hf_p7_SequenceNumberErrorParameter_PDU; + break; + case 29: /* invalidParametersError */ + p7_dissector = NULL; + p7_op_name = "Invalid-Parameters-Error"; + break; + case 30: /* messageGroupError */ + p7_dissector = dissect_p7_MessageGroupErrorParameter; + p7_op_name = "Message-Group-Error"; + hf_p7_index = hf_p7_MessageGroupErrorParameter_PDU; + break; + case 31: /* msExtensioError */ + p7_dissector = dissect_p7_MSExtensionErrorParameter; + p7_op_name = "MS-Extension-Error"; + hf_p7_index = hf_p7_MSExtensionErrorParameter_PDU; + break; + case 32: /* registerMSError */ + p7_dissector = dissect_p7_RegisterMSErrorParameter; + p7_op_name = "Register-MS-Error"; + hf_p7_index = hf_p7_RegisterMSErrorParameter_PDU; + break; + case 33: /* sequenceNumberError */ + p7_dissector = dissect_p7_ModifyErrorParameter; + p7_op_name = "Modify-Error"; + hf_p7_index = hf_p7_ModifyErrorParameter_PDU; + break; + case 34: /* entryClassError */ + p7_dissector = dissect_p7_EntryClassErrorParameter; + p7_op_name = "Entry-Class-Error"; + hf_p7_index = hf_p7_EntryClassErrorParameter_PDU; + break; + default: + proto_tree_add_text(tree, tvb, offset, -1,"Unsupported P7 error opcode (%d)", + session->ros_op & ROS_OP_OPCODE_MASK); + break; + } + break; + default: + proto_tree_add_text(tree, tvb, offset, -1,"Unsupported P7 PDU"); + return; + } + + if(p7_dissector) { + if (check_col(pinfo->cinfo, COL_INFO)) + col_set_str(pinfo->cinfo, COL_INFO, p7_op_name); + + while (tvb_reported_length_remaining(tvb, offset) > 0){ + old_offset=offset; + offset=(*p7_dissector)(FALSE, tvb, offset, &asn1_ctx, tree, hf_p7_index); + if(offset == old_offset){ + proto_tree_add_text(tree, tvb, offset, -1,"Internal error, zero-byte P7 PDU"); + offset = tvb_length(tvb); + break; + } + } + } +} + + +/*--- proto_register_p7 -------------------------------------------*/ +void proto_register_p7(void) { + + /* List of fields */ + static hf_register_info hf[] = + { +#include "packet-p7-hfarr.c" + }; + + /* List of subtrees */ + static gint *ett[] = { + &ett_p7, +#include "packet-p7-ettarr.c" + }; + module_t *p7_module; + + /* Register protocol */ + proto_p7 = proto_register_protocol(PNAME, PSNAME, PFNAME); + register_dissector("p7", dissect_p7, proto_p7); + + /* Register fields and subtrees */ + proto_register_field_array(proto_p7, hf, array_length(hf)); + proto_register_subtree_array(ett, array_length(ett)); + + /* Register our configuration options for P7, particularly our port */ + + p7_module = prefs_register_protocol_subtree("OSI/X.400", proto_p7, prefs_register_p7); + + prefs_register_uint_preference(p7_module, "tcp.port", "P7 TCP Port", + "Set the port for P7 operations (if other" + " than the default of 102)", + 10, &global_p7_tcp_port); + +} + + +/*--- proto_reg_handoff_p7 --- */ +void proto_reg_handoff_p7(void) { + dissector_handle_t handle = NULL; + + /* #include "packet-p7-dis-tab.c" */ + + /* APPLICATION CONTEXT */ + + oid_add_from_string("id-ac-ms-access","2.6.0.1.11"); + oid_add_from_string("id-ac-ms-reliable-access","2.6.0.1.12"); + + /* ABSTRACT SYNTAXES */ + + /* Register P7 with ROS (with no use of RTSE) */ + if((handle = find_dissector("p7"))) { + register_ros_oid_dissector_handle("2.6.0.2.9", handle, 0, "id-as-ms", FALSE); + register_ros_oid_dissector_handle("2.6.0.2.5", handle, 0, "id-as-mrse", FALSE); + register_ros_oid_dissector_handle("2.6.0.2.1", handle, 0, "id-as-msse", FALSE); + } + + /* remember the tpkt handler for change in preferences */ + tpkt_handle = find_dissector("tpkt"); +} + + +void prefs_register_p7(void) { + + /* de-register the old port */ + /* port 102 is registered by TPKT - don't undo this! */ + if((tcp_port != 102) && tpkt_handle) + dissector_delete("tcp.port", tcp_port, tpkt_handle); + + /* Set our port number for future use */ + tcp_port = global_p7_tcp_port; + + if((tcp_port > 0) && (tcp_port != 102) && tpkt_handle) + dissector_add("tcp.port", global_p7_tcp_port, tpkt_handle); + +} diff --git a/asn1/p7/packet-p7-template.h b/asn1/p7/packet-p7-template.h new file mode 100755 index 0000000000..1b2fcfdeea --- /dev/null +++ b/asn1/p7/packet-p7-template.h @@ -0,0 +1,31 @@ +/* packet-p7.h + * Routines for X.413 (P7) packet dissection + * Graeme Lunt 2007 + * + * $Id$ + * + * Wireshark - Network traffic analyzer + * By Gerald Combs <gerald@wireshark.org> + * Copyright 1998 Gerald Combs + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + */ + +#ifndef PACKET_P7_H +#define PACKET_P7_H + +/* #include "packet-p7-exp.h" */ + +#endif /* PACKET_P7_H */ |