diff options
author | João Valverde <joao.valverde@tecnico.ulisboa.pt> | 2016-03-09 03:17:51 +0000 |
---|---|---|
committer | João Valverde <j@v6e.pt> | 2016-03-13 21:30:24 +0000 |
commit | 54a520d4a1151c68d0b4e5f09a8d82466fa499f3 (patch) | |
tree | 7aacae160382098ce651ac862a5dfd5de4beff94 /epan/dissectors/asn1/p7 | |
parent | c1f3c935bdd33090c87f0d2f84842ce9729b747a (diff) |
Move /asn1 to /epan/dissectors
Change-Id: I1208fe3c2ba428995526f561e8f792b8d871e9a9
Reviewed-on: https://code.wireshark.org/review/14388
Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com>
Petri-Dish: Pascal Quantin <pascal.quantin@gmail.com>
Reviewed-by: João Valverde <j@v6e.pt>
Diffstat (limited to 'epan/dissectors/asn1/p7')
-rw-r--r-- | epan/dissectors/asn1/p7/CMakeLists.txt | 65 | ||||
-rw-r--r-- | epan/dissectors/asn1/p7/MSAbstractService.asn | 1124 | ||||
-rw-r--r-- | epan/dissectors/asn1/p7/MSAccessProtocol.asn | 257 | ||||
-rw-r--r-- | epan/dissectors/asn1/p7/MSGeneralAttributeTypes.asn | 832 | ||||
-rw-r--r-- | epan/dissectors/asn1/p7/MSUpperBounds.asn | 79 | ||||
-rw-r--r-- | epan/dissectors/asn1/p7/Makefile.am | 23 | ||||
-rw-r--r-- | epan/dissectors/asn1/p7/Makefile.common | 64 | ||||
-rw-r--r-- | epan/dissectors/asn1/p7/Makefile.nmake | 26 | ||||
-rw-r--r-- | epan/dissectors/asn1/p7/p7.cnf | 408 | ||||
-rw-r--r-- | epan/dissectors/asn1/p7/packet-p7-template.c | 156 | ||||
-rw-r--r-- | epan/dissectors/asn1/p7/packet-p7-template.h | 29 |
11 files changed, 3063 insertions, 0 deletions
diff --git a/epan/dissectors/asn1/p7/CMakeLists.txt b/epan/dissectors/asn1/p7/CMakeLists.txt new file mode 100644 index 0000000000..71477eace5 --- /dev/null +++ b/epan/dissectors/asn1/p7/CMakeLists.txt @@ -0,0 +1,65 @@ +# CMakeLists.txt +# +# 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +# + +set( PROTOCOL_NAME p7 ) + +set( PROTO_OPT ) + +set( EXPORT_FILES + ${PROTOCOL_NAME}-exp.cnf +) + +set( EXT_ASN_FILE_LIST +) + +set( ASN_FILE_LIST + MSAbstractService.asn + MSGeneralAttributeTypes.asn + MSAccessProtocol.asn + MSUpperBounds.asn +) + +set( EXTRA_DIST + ${ASN_FILE_LIST} + packet-${PROTOCOL_NAME}-template.c + packet-${PROTOCOL_NAME}-template.h + ${PROTOCOL_NAME}.cnf +) + +set( SRC_FILES + ${EXTRA_DIST} + ${EXT_ASN_FILE_LIST} +) + +set( A2W_FLAGS -b -L -C ) + +set( EXTRA_CNF + "${CMAKE_CURRENT_BINARY_DIR}/../p1/p1-exp.cnf" + "${CMAKE_CURRENT_BINARY_DIR}/../ros/ros-exp.cnf" + "${CMAKE_CURRENT_BINARY_DIR}/../rtse/rtse-exp.cnf" +) + +set( EXPORT_DEPENDS + "${CMAKE_CURRENT_BINARY_DIR}/../p1/p1-exp.cnf" +) + +ASN2WRS() + diff --git a/epan/dissectors/asn1/p7/MSAbstractService.asn b/epan/dissectors/asn1/p7/MSAbstractService.asn new file mode 100644 index 0000000000..5641f3c135 --- /dev/null +++ b/epan/dissectors/asn1/p7/MSAbstractService.asn @@ -0,0 +1,1124 @@ +-- http://www.itu.int/ITU-T/asn1/database/itu-t/x/x413/1999/index.html +-- 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, +-- WS added imports because of expansion of COMPONENTS OF + MessageSubmissionIdentifier, ExtensionField, OriginatorName, + OriginalEncodedInformationTypes, ContentType, ProbeSubmissionIdentifier, + ProbeSubmissionTime + FROM MTSAbstractService {joint-iso-itu-t mhs(6) mts(3) modules(0) + mts-abstract-service(1) version-1999(1)} + -- MTS abstract-service 1988 ports + OPERATION, ERROR +FROM Remote-Operations-Information-Objects + 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-ua-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}), + attribute-values + SEQUENCE SIZE (1..ub-attribute-values) OF + X413ATTRIBUTE.&Type({AttributeTable}{@attribute-type}) +} + +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}), + registration-identifier [0] INTEGER(1..ub-per-auto-action) DEFAULT 1, + registration-parameter + [1] AUTO-ACTION.&RegistrationParameter + ({AutoActionTable}{@auto-action-type}) OPTIONAL +} + +-- AUTO-ACTION-ERROR information object class +AUTO-ACTION-ERROR ::= + ABSTRACT-ERROR + +AutoActionError ::= SET { + error-code [0] AUTO-ACTION-ERROR.&errorCode({AutoActionErrorTable}), + error-parameter + [1] AUTO-ACTION-ERROR.&ParameterType({AutoActionErrorTable}{@error-code}) + OPTIONAL +} + +-- MS-EXTENSION information object class +MS-EXTENSION ::= TYPE-IDENTIFIER + +MSExtensionItem ::= INSTANCE OF MS-EXTENSION + +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} + CODE op-ros-bind -- WS: internal operation code +} + +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}) + OPTIONAL, + available-attribute-types + [4] SET SIZE (1..ub-attributes-supported) OF + X413ATTRIBUTE.&id({AttributeTable}) 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 + 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}} + CODE err-ros-bind -- WS: internal error code +} + +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}), + strings + SEQUENCE OF + CHOICE {initial + [0] X413ATTRIBUTE.&Type + ({AttributeTable}{@substrings.type}), + any + [1] X413ATTRIBUTE.&Type + ({AttributeTable}{@substrings.type}), + final + [2] X413ATTRIBUTE.&Type + ({AttributeTable}{@substrings.type}) + }}, + greater-or-equal [2] AttributeValueAssertion, + less-or-equal [3] AttributeValueAssertion, + present [4] X413ATTRIBUTE.&id({AttributeTable}), + approximate-match [5] AttributeValueAssertion, + -- 1994 extension + other-match [6] MatchingRuleAssertion +} + +MatchingRuleAssertion ::= SEQUENCE { + matching-rule [0] MATCHING-RULE.&id({MatchingRuleTable}), + attribute-type [1] X413ATTRIBUTE.&id, + match-value + [2] MATCHING-RULE.&AssertionType({MatchingRuleTable}{@matching-rule}) +} + +AttributeValueAssertion ::= SEQUENCE { + attribute-type X413ATTRIBUTE.&id({AttributeTable}), + attribute-value X413ATTRIBUTE.&Type({AttributeTable}{@attribute-type}) +} + +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-ua-restrictions)) + +EntryInformationSelection ::= SET SIZE (0..ub-per-entry) OF AttributeSelection + +AttributeSelection ::= SET { + type X413ATTRIBUTE.&id({AttributeTable}), + 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}), + 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}) + 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}), + value X413ATTRIBUTE.&Type({AttributeTable}{@.type}), + 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}) OPTIONAL, + fetch-attribute-defaults + [3] SET SIZE (0..ub-default-registrations) OF + X413ATTRIBUTE.&id({AttributeTable}) 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}), + 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}) OPTIONAL, + ua-fetch-attribute-defaults + [2] SET SIZE (0..ub-default-registrations) OF + X413ATTRIBUTE.&id({AttributeTable}) 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 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}) OPTIONAL, + fetch-attribute-defaults + [2] SET SIZE (1..ub-default-registrations) OF + X413ATTRIBUTE.&id({AttributeTable}) 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}), + add-values [3] OrderedAttribute, + remove-values [4] OrderedAttribute} +} + +OrderedAttribute ::= SEQUENCE { + attribute-type X413ATTRIBUTE.&id({AttributeTable}), + attribute-values + SEQUENCE SIZE (1..ub-attribute-values) OF + SEQUENCE {-- at least one must be specified + value + [0] X413ATTRIBUTE.&Type({AttributeTable}{@attribute-type}) + 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 -, +-- WS expanded here + 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 - , +-- WS extended here + 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 -, +-- WS Expanded + originator-name OriginatorName, + original-encoded-information-types OriginalEncodedInformationTypes OPTIONAL, + content-type ContentType, + content-identifier ContentIdentifier OPTIONAL, + content-length [0] ContentLength OPTIONAL, + per-message-indicators PerMessageIndicators DEFAULT {}, + extensions + [2] SET OF ExtensionField --{{PerProbeSubmissionExtensions}}-- DEFAULT {} + ,per-recipient-fields + [3] SEQUENCE --SIZE (1..ub-recipients)-- OF PerRecipientProbeSubmissionFields, + + + -- 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] 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 + SET {problems + [0] SET SIZE (1..ub-per-entry) OF + SET {problem [0] AttributeProblem, + type [1] X413ATTRIBUTE.&id({AttributeTable}), + value + [2] X413ATTRIBUTE.&Type({AttributeTable}{@.type}) + 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 + SET {problems + [0] SET SIZE (1..ub-auto-registrations) OF + SET {problem [0] AutoActionRequestProblem, + type [1] AUTO-ACTION.&id({AutoActionTable}) + }} + 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 + 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 + 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 SET {problem [0] RangeProblem} + CODE err-range-error +} + +RangeProblem ::= INTEGER {reversed(0)}(0..ub-error-reasons) + +-- +sequence-number-error -- ABSTRACT- -- ERROR ::= { + PARAMETER + 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 + 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/epan/dissectors/asn1/p7/MSAccessProtocol.asn b/epan/dissectors/asn1/p7/MSAccessProtocol.asn new file mode 100644 index 0000000000..309a38da5b --- /dev/null +++ b/epan/dissectors/asn1/p7/MSAccessProtocol.asn @@ -0,0 +1,257 @@ +-- http://www.itu.int/ITU-T/asn1/database/itu-t/x/x419/1999/index.html +-- Module MSAccessProtocol (X.419:06/1999) +MSAccessProtocol {joint-iso-itu-t mhs(6) protocols(0) modules(0) + ms-access-protocol(2) version-1999(1)} DEFINITIONS ::= +BEGIN + +-- Prologue +IMPORTS + -- MS Abstract Service + ms-access-contract-88, ms-access-contract-94, ms-submission, retrieval, + retrieval-88 + --== + FROM MSAbstractService {joint-iso-itu-t mhs(6) ms(4) modules(0) + abstract-service(1) version-1999(1)} + -- Remote Operations + APPLICATION-CONTEXT + --== + FROM Remote-Operations-Information-Objects-extensions {joint-iso-itu-t + remote-operations(4) informationObjects-extensions(8) version1(0)} + Code + --== + FROM Remote-Operations-Information-Objects {joint-iso-itu-t + remote-operations(4) informationObjects(5) version1(0)} + Bind{}, InvokeId, Unbind{} + --== + FROM Remote-Operations-Generic-ROS-PDUs {joint-iso-itu-t + remote-operations(4) generic-ROS-PDUs(6) version1(0)} + ROS-SingleAS{} + --== + FROM Remote-Operations-Useful-Definitions {joint-iso-itu-t + remote-operations(4) useful-definitions(7) version1(0)} + acse, association-by-RTSE, pData, transfer-by-RTSE + --== + FROM Remote-Operations-Realizations {joint-iso-itu-t remote-operations(4) + realizations(9) version1(0)} + acse-abstract-syntax + --== + FROM Remote-Operations-Abstract-Syntaxes {joint-iso-itu-t + remote-operations(4) remote-operations-abstract-syntaxes(12) version1(0)} + -- Reliable Transfer + RTORQapdu, RTOACapdu, RTORJapdu + FROM Reliable-Transfer-APDU {joint-iso-itu-t reliable-transfer(3) apdus(0)} + -- MTS Access Protocol + message-administration-abstract-syntax-88, + message-administration-abstract-syntax-94, + message-submission-abstract-syntax + --== + FROM MTSAccessProtocol {joint-iso-itu-t mhs(6) protocols(0) modules(0) + mts-access-protocol(1) version-1999(1)} + -- Object Identifiers + id-ac-ms-access-88, id-ac-ms-access-94, id-ac-ms-reliable-access-88, + id-ac-ms-reliable-access-94, id-as-ms-msse, id-as-mase-88, id-as-mase-94, + id-as-mdse-88, id-as-mdse-94, id-as-mrse-88, id-as-mrse-94, id-as-ms-88, + id-as-ms-94, id-as-ms-rtse, id-as-msse + --== + FROM MHSProtocolObjectIdentifiers {joint-iso-itu-t mhs(6) protocols(0) + modules(0) object-identifiers(0) version-1994(0)}; + +RTSE-apdus ::= CHOICE { + rtorq-apdu [16] IMPLICIT RTORQapdu, + rtoac-apdu [17] IMPLICIT RTOACapdu, + rtorj-apdu [18] IMPLICIT RTORJapdu, + rttp-apdu RTTPapdu, + rttr-apdu RTTRapdu, + rtab-apdu [22] IMPLICIT RTABapdu +} + +RTTPapdu ::= -- priority-- INTEGER + +RTTRapdu ::= OCTET STRING + +RTABapdu ::= SET { + abortReason [0] IMPLICIT AbortReason OPTIONAL, + reflectedParameter [1] IMPLICIT BIT STRING OPTIONAL, + -- 8 bits maximum, only if abortReason is invalidParameter + userdataAB + [2] TYPE-IDENTIFIER.&Type + OPTIONAL -- only in normal mode and if abortReason-- + -- is userError +} + +AbortReason ::= INTEGER { + localSystemProblem(0), + invalidParameter(1), -- reflectedParameter supplied + unrecognizedActivity(2), + temporaryProblem(3), + -- the RTSE cannot accept a session for a period of time + protocolError(4), -- RTSE level protocol error + permanentProblem(5), --provider-abort solely in normal mode + userError(6), -- user-abort solely in normal mode + transferCompleted(7) -- activity can't be discarded--} + +-- APPLICATION-CONTEXTS +-- 1994 Application Context omitting RTSE +ms-access-94 APPLICATION-CONTEXT ::= { + CONTRACT ms-access-contract-94 + ESTABLISHED BY acse + INFORMATION TRANSFER BY pData + ABSTRACT SYNTAXES + {acse-abstract-syntax | ms-message-submission-abstract-syntax | + message-retrieval-abstract-syntax-94 | + message-administration-abstract-syntax-94 | + ms-bind-unbind-abstract-syntax-94} + APPLICATION CONTEXT NAME id-ac-ms-access-94 +} + +-- 1994 Application Context including RTSE +ms-reliable-access-94 APPLICATION-CONTEXT ::= { + CONTRACT ms-access-contract-94 + ESTABLISHED BY association-by-RTSE + INFORMATION TRANSFER BY transfer-by-RTSE + ABSTRACT SYNTAXES + {acse-abstract-syntax | ms-message-submission-abstract-syntax | + message-retrieval-abstract-syntax-94 | + message-administration-abstract-syntax-94 | + ms-bind-unbind-rtse-abstract-syntax} + APPLICATION CONTEXT NAME id-ac-ms-reliable-access-94 +} + +-- 1988 Application Context omitting RTSE +ms-access-88 APPLICATION-CONTEXT ::= { + CONTRACT ms-access-contract-88 + ESTABLISHED BY acse + INFORMATION TRANSFER BY pData + ABSTRACT SYNTAXES + {acse-abstract-syntax | message-submission-abstract-syntax | + message-retrieval-abstract-syntax-88 | + message-administration-abstract-syntax-88 | + ms-bind-unbind-abstract-syntax-88} + APPLICATION CONTEXT NAME id-ac-ms-access-88 +} + +-- 1988 Application Context including RTSE +ms-reliable-access-88 APPLICATION-CONTEXT ::= { + CONTRACT ms-access-contract-88 + ESTABLISHED BY association-by-RTSE + INFORMATION TRANSFER BY transfer-by-RTSE + ABSTRACT SYNTAXES + {acse-abstract-syntax | message-submission-abstract-syntax | + message-retrieval-abstract-syntax-88 | + message-administration-abstract-syntax-88 | + ms-bind-unbind-rtse-abstract-syntax} + APPLICATION CONTEXT NAME id-ac-ms-reliable-access-88 +} + +-- ABSTRACT SYNTAXES +-- Abstract-syntax for 1994 MS-bind and MS-unbind +ms-bind-unbind-abstract-syntax-94 ABSTRACT-SYNTAX ::= { + MSBindUnbindPDUs94 + IDENTIFIED BY id-as-ms-94 +} + +--MSBindUnbindPDUs94 ::= CHOICE { +-- bind Bind{ms-access-contract-94.&connection.&bind}, +-- unbind Unbind{ms-access-contract-94.&connection.&unbind} +--} + +-- Abstract-syntax for 1988 MS-bind and MS-unbind +ms-bind-unbind-abstract-syntax-88 ABSTRACT-SYNTAX ::= { + MSBindUnbindPDUs88 + IDENTIFIED BY id-as-ms-88 +} + +--MSBindUnbindPDUs88 ::= CHOICE { +-- bind Bind{ms-access-contract-88.&connection.&bind}, +-- unbind Unbind{ms-access-contract-88.&connection.&unbind} +--} + +-- Abstract-syntax for MS-bind and MS-unbind with RTSE +ms-bind-unbind-rtse-abstract-syntax ABSTRACT-SYNTAX ::= { + RTSE-apdus -- With MS-bind and MS-unbind -- + IDENTIFIED BY id-as-ms-rtse +} + +-- Abstract Syntax for MS Message Submission Service Element +ms-message-submission-abstract-syntax ABSTRACT-SYNTAX ::= { + MSMessageSubmissionPDUs + IDENTIFIED BY id-as-ms-msse +} + +--MSMessageSubmissionPDUs ::= ROS-SingleAS{{MSInvokeIds}, ms-submission} + +--MSInvokeIds ::= InvokeId(ALL EXCEPT absent:NULL) + +-- Abstract Syntax for Message Retrieval Service Element 1994 +--message-retrieval-abstract-syntax-94 ABSTRACT-SYNTAX ::= { +-- MessageRetrievalPDUs +-- IDENTIFIED BY id-as-mrse-94 +--} + +-- Abstract Syntax for Message Retrieval Service Element 1988 +--MessageRetrievalPDUs ::= +-- ROS-SingleAS{{MSInvokeIds}, retrieval} + +--message-retrieval-abstract-syntax-88 ABSTRACT-SYNTAX ::= { +-- MessageRetrievalPDUs88 +-- IDENTIFIED BY id-as-mrse-88 +--} + +--MessageRetrievalPDUs88 ::= ROS-SingleAS{{MSInvokeIds}, retrieval-88} + +-- Remote Operations +op-ms-submission-control Code ::= local:2 + +op-ms-message-submission Code ::= local:3 + +op-ms-probe-submission Code ::= local:4 + +op-ms-cancel-deferred-delivery Code ::= local:7 + +op-summarize Code ::= local:20 + +op-list Code ::= local:21 + +op-fetch Code ::= local:22 + +op-delete Code ::= local:23 + +op-register-ms Code ::= local:24 + +op-alert Code ::= local:25 + +op-modify Code ::= local:26 + +-- Remote Errors +err-attribute-error Code ::= local:21 + +err-auto-action-request-error Code ::= local:22 + +err-delete-error Code ::= local:23 + +err-fetch-restriction-error Code ::= local:24 + +err-range-error Code ::= local:25 -- 1988 Application Contexts only + +err-ub-security-error Code ::= local:26 -- Renamed to avoid duplicate in MTSAccessProtocol.asn + +err-service-error Code ::= local:27 + +err-sequence-number-error Code ::= local:28 + +err-invalid-parameters-error Code ::= local:29 + +err-message-group-error Code ::= local:30 + +err-ms-extension-error Code ::= local:31 + +err-register-ms-error Code ::= local:32 + +err-modify-error Code ::= local:33 + +err-entry-class-error Code ::= local:34 + +END -- of MSAccessProtocol + +-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D + diff --git a/epan/dissectors/asn1/p7/MSGeneralAttributeTypes.asn b/epan/dissectors/asn1/p7/MSGeneralAttributeTypes.asn new file mode 100644 index 0000000000..960270e2a5 --- /dev/null +++ b/epan/dissectors/asn1/p7/MSGeneralAttributeTypes.asn @@ -0,0 +1,832 @@ +-- 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/epan/dissectors/asn1/p7/MSUpperBounds.asn b/epan/dissectors/asn1/p7/MSUpperBounds.asn new file mode 100644 index 0000000000..bcd6e8587e --- /dev/null +++ b/epan/dissectors/asn1/p7/MSUpperBounds.asn @@ -0,0 +1,79 @@ +-- Module MSUpperBounds (X.413:06/1999) +-- See also ITU-T X.413 (06/1999) +-- See also the index of all ASN.1 assignments needed in this document + +MSUpperBounds {joint-iso-itu-t mhs(6) ms(4) modules(0) upper-bounds(4) + version-1994(0)} DEFINITIONS ::= +BEGIN + +-- Exports everything +IMPORTS -- nothing -- ; + +-- Upper Bounds +ub-alert-addresses INTEGER ::= 16 + +ub-attribute-values INTEGER ::= 32767 -- (215 - 1) the largest integer + +-- representable in 16 bits +ub-attributes-supported INTEGER ::= 1024 + +ub-auto-action-errors INTEGER ::= 32767 -- (215 - 1) the largest integer + +-- representable in 16 bits +ub-auto-actions INTEGER ::= 128 + +ub-auto-registrations INTEGER ::= 1024 + +ub-default-registrations INTEGER ::= 1024 + +ub-entry-classes INTEGER ::= 128 + +ub-entry-types INTEGER ::= 16 + +ub-error-reasons INTEGER ::= 16 + +ub-extensions INTEGER ::= 32 + +ub-group-depth INTEGER ::= 64 + +ub-group-descriptor-length INTEGER ::= 256 + +ub-group-part-length INTEGER ::= 128 + +ub-information-bases INTEGER ::= 16 + +ub-matching-rules INTEGER ::= 1024 + +ub-message-groups INTEGER ::= 8192 + +ub-message-notes-length INTEGER ::= 1024 + +ub-messages INTEGER ::= 2147483647 -- (231 - 1) the largest integer + +-- representable in 32 bits +ub-modifications INTEGER ::= + 32767 -- (215 - 1) the largest integer + +-- representable in 16 bits +ub-msstring-match INTEGER ::= 512 + +ub-per-auto-action INTEGER ::= 32767 -- (215 - 1) the largest integer + +-- representable in 16 bits +ub-per-entry INTEGER ::= 1024 + +ub-service-information-length INTEGER ::= 2048 + +ub-summaries INTEGER ::= 16 + +ub-supplementary-info-length INTEGER ::= 256 + +ub-ua-registration-identifier-length INTEGER ::= 32 + +ub-ua-registrations INTEGER ::= 128 + +ub-ua-restrictions INTEGER ::= 16 -- renamed to avoid duplicate in MTSUpperBounds + +END -- of MSUpperBounds + +-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D diff --git a/epan/dissectors/asn1/p7/Makefile.am b/epan/dissectors/asn1/p7/Makefile.am new file mode 100644 index 0000000000..72d28e600b --- /dev/null +++ b/epan/dissectors/asn1/p7/Makefile.am @@ -0,0 +1,23 @@ +# 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + + +include ../Makefile.preinc +include Makefile.common +include ../Makefile.inc + diff --git a/epan/dissectors/asn1/p7/Makefile.common b/epan/dissectors/asn1/p7/Makefile.common new file mode 100644 index 0000000000..fd3cbd195b --- /dev/null +++ b/epan/dissectors/asn1/p7/Makefile.common @@ -0,0 +1,64 @@ +# 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + + +PROTOCOL_NAME=p7 + +EXPORT_FILES = \ + $(PROTOCOL_NAME)-exp.cnf + +EXT_ASN_FILE_LIST = + +ASN_FILE_LIST = \ + MSAbstractService.asn \ + MSGeneralAttributeTypes.asn \ + MSAccessProtocol.asn \ + MSUpperBounds.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 = \ + $(EXTRA_DIST_COMMON) \ + $(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 -L -C + +EXTRA_CNF = \ + $(builddir)/../p1/p1-exp.cnf \ + $(builddir)/../ros/ros-exp.cnf \ + $(builddir)/../rtse/rtse.cnf + +EXPORT_DEPENDS = \ + $(builddir)/../p1/p1-exp.cnf + +$(builddir)/../p1/p1-exp.cnf: + (cd $(builddir)/../p1 && $(MAKE_CNF_EXPORT)) + +$(builddir)/../ros/ros-exp.cnf: + (cd $(builddir)/../ros && $(MAKE_CNF_EXPORT)) + +$(builddir)/../rtse/rtse-exp.cnf: + (cd $(builddir)/../rtse && $(MAKE_CNF_EXPORT)) + diff --git a/epan/dissectors/asn1/p7/Makefile.nmake b/epan/dissectors/asn1/p7/Makefile.nmake new file mode 100644 index 0000000000..d296638ddd --- /dev/null +++ b/epan/dissectors/asn1/p7/Makefile.nmake @@ -0,0 +1,26 @@ +## Use: $(MAKE) /$(MAKEFLAGS) -f makefile.nmake +# +# 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + + +include ../../../../config.nmake +include ../Makefile.preinc.nmake +include Makefile.common +include ../Makefile.inc.nmake + diff --git a/epan/dissectors/asn1/p7/p7.cnf b/epan/dissectors/asn1/p7/p7.cnf new file mode 100644 index 0000000000..ab46e42a9d --- /dev/null +++ b/epan/dissectors/asn1/p7/p7.cnf @@ -0,0 +1,408 @@ +#.IMPORT ../p1/p1-exp.cnf +#.IMPORT ../ros/ros-exp.cnf +#.IMPORT ../rtse/rtse-exp.cnf + +#.MODULE +Reliable-Transfer-APDU rtse + +#.EXPORTS +SequenceNumber +SignatureStatus +#.END + +# Forward declaration of Classes +# CONNECTION-PACKAGE CONTRACT from ROS +#.CLASS CONNECTION-PACKAGE +&bind ClassReference OPERATION +&unbind ClassReference OPERATION +&responderCanUnbind BooleanType +&unbindCanFail BooleanType +&id ObjectIdentifierType +#.END + +#.CLASS CONTRACT +&connection ClassReference CONNECTION-PACKAGE +&OperationsOf ClassReference OPERATION-PACKAGE +&InitiatorConsumerOf ClassReference OPERATION-PACKAGE +&InitiatorSupplierOf ClassReference OPERATION-PACKAGE +&id ObjectIdentifierType +#.END + +#.CLASS MHS-OBJECT +&Is ClassReference MHS-OBJECT +&Initiates ClassReference CONTRACT +&Responds ClassReference CONTRACT +&InitiatesAndResponds ClassReference CONTRACT +&id ObjectIdentifierType +#.END + +# Ros OPERATION +#.CLASS ABSTRACT-OPERATION +&ArgumentType +&argumentTypeOptional BooleanType +&returnResult BooleanType +&ResultType +&resultTypeOptional BooleanType +&Errors ClassReference ERROR +&Linked ClassReference OPERATION +&synchronous BooleanType +&alwaysReturns BooleanType +&InvokePriority _FixedTypeValueSetFieldSpec +&ResultPriority _FixedTypeValueSetFieldSpec +&operationCode TypeReference Code +#.END + +# ros ERROR +#.CLASS ABSTRACT-ERROR +&ParameterType +¶meterTypeOptional BooleanType +&ErrorPriority _FixedTypeValueSetFieldSpec +&errorCode TypeReference Code +#.END + +#.CLASS MATCHING-RULE +&ParentMatchingRules ClassReference MATCHING-RULE +&AssertionType +&uniqueMatchIndicator ClassReference ATTRIBUTE +&id ObjectIdentifierType +#.END + +#.CLASS APPLICATION-CONTEXT +&associationContract ClassReference CONTRACT +&associationRealization +&transferRealization +&AbstractSyntaxes ClassReference ABSTRACT-SYNTAX +&applicationContextName ObjectIdentifierType +#.END + +#.TYPE_RENAME + +PAR-fetch-restriction-error/problems FetchRestrictionProblems +PAR-sequence-number-error/problems SequenceNumberProblems +PAR-attribute-error/problems AttributeProblems +PAR-auto-action-request-error/problems AutoActionRequestProblems +PAR-delete-error/problems DeleteProblems + +PAR-fetch-restriction-error/problems/_item FetchRestrictionProblemItem +PAR-sequence-number-error/problems/_item SequenceNumberProblemItem +PAR-attribute-error/problems/_item AttributeProblemItem +PAR-auto-action-request-error/problems/_item AutoActionRequestProblemItem +PAR-delete-error/problems/_item DeleteProblemItem + +Attribute/attribute-values AttributeValues +OrderedAttribute/attribute-values OrderedAttributeValues + +Attribute/attribute-values/_item AttributeItem +OrderedAttribute/attribute-values/_item OrderedAttributeItem + +Summary/present/_item/value SummaryPresentItemValue +OrderedAttribute/attribute-values/_item/value OrderedAttributeValue + +#.FIELD_RENAME + +PAR-sequence-number-error/problems/_item/problem sequence-number-problem +PAR-register-ms-error/problem register-ms-problem +PAR-delete-error/problems/_item/problem delete-problem +PAR-auto-action-request-error/problems/_item/problem auto-action-request-problem +PAR-attribute-error/problems/_item/problem attribute-problem + +PAR-sequence-number-error/problems sequence-number-problems +PAR-fetch-restriction-error/problems fetch-restriction-problems +PAR-attribute-error/problems attribute-problems +PAR-auto-action-request-error/problems auto-action-request-problems +PAR-delete-error/problems delete-problems + +PAR-fetch-restriction-error/problems/_item fetch-restriction-problem-item +PAR-sequence-number-error/problems/_item sequence-number-problem-item +PAR-attribute-error/problems/_item attribute-problem-item +PAR-auto-action-request-error/problems/_item auto-action-request-problem-item +PAR-delete-error/problems/_item delete-problem-item + +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 + +PAR-fetch-restriction-error/problems/_item/problem fetch-restriction-problem +PAR-range-error/problem range-problem +EntryClassErrorParameter/problem entry-class-problem +MessageGroupErrorParameter/problem message-group-problem +ServiceErrorParameter/problem service-problem +ModifyErrorParameter/problem modify-problem + +OrderedAttribute/attribute-values/_item/value ordered-attribute-value + +PAR-fetch-restriction-error/problems/_item/restriction/content-type extended-content-type +PAR-auto-action-request-error/problems/_item/type auto-action-type +PAR-attribute-error/problems/_item/value attr-value + +# This table creates the value_sting to name P7 operation codes and errors +# in file packet-p7-table.c which is included in the template file +# +#.TABLE_HDR +/* P7 ABSTRACT-OPERATIONS */ +const value_string p7_opr_code_string_vals[] = { +#.TABLE_BODY OPERATION + { %(&operationCode)s, "%(_ident)s" }, +#.TABLE_FTR + { 0, NULL } +}; +#.END + +#.TABLE_HDR +/* P7 ERRORS */ +static const value_string p7_err_code_string_vals[] = { +#.TABLE_BODY ERROR + { %(&errorCode)s, "%(_ident)s" }, +#.TABLE_FTR + { 0, NULL } +}; +#.END + +# Create a table of opcode and corresponding args and res +#.TABLE11_HDR +static const ros_opr_t p7_opr_tab[] = { +#.TABLE11_BODY OPERATION + /* %(_name)s */ + { %(&operationCode)-25s, %(_argument_pdu)s, %(_result_pdu)s }, +#.TABLE11_FTR + { 0, (dissector_t)(-1), (dissector_t)(-1) }, +}; +#.END + +#.TABLE21_HDR +static const ros_err_t p7_err_tab[] = { +#.TABLE21_BODY ERROR + /* %(_name)s*/ + { %(&errorCode)s, %(_parameter_pdu)s }, +#.TABLE21_FTR + { 0, (dissector_t)(-1) }, +}; +#.END + +#.PDU +ERROR.&ParameterType +OPERATION.&ArgumentType +OPERATION.&ResultType +#.END + +#.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 p1.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 p1.cnf +#ContentIdentifier B "2.6.4.3.4" "id-att-content-identifier" - see p1.cnf +#ContentIntegrityCheck B "2.6.4.3.5" "id-att-content-inetgrity-check" - see p1.cnf +#ContentLength B "2.6.4.3.6" "id-att-content-length" - see p1.cnf +#Boolean B "2.6.4.3.7" "id-att-content-returned" - see XXX +#ExtendedContentType B "2.6.4.3.8" "id-att-content-type" - see p1.cnf +#ConversionWithLossProhibited B "2.6.4.3.9" "id-att-conversion-with-loss-prohibited" - see p1.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 p1.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 p1.cnf +#ORName B "2.6.4.3.78" "id-att-dl-exempted-recipients" - see p1.cnf +#DLExpansion B "2.6.4.3.14" "id-att-dl-expansion-history" - see p1.cnf +#DLExpansionProhibited B "2.6.4.3.53" "id-att-dl-expansion-prohibited" - see p1.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 p1.cnf +#LatestDeliveryTime B "2.6.4.3.55" "id-att-latest-delivery-time" - see p1.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 p1.cnf +#MessageDeliveryTime B "2.6.4.3.20" "id-att-message-delivery-time" - see p1.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 p1.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 p1.cnf +#MessageSecurityLabel B "2.6.4.3.22" "id-att-message-security-label" - see p1.cnf +#MessageSubmissionEnvelope B "2.6.4.3.59" "id-att-message-submission-envelope" - see p1.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 p1.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 p1.cnf +#OriginatingMTACertificate B "2.6.4.3.62" "id-att-originating-MTA-certificate" - see p1.cnf +#OriginatorCertificate B "2.6.4.3.26" "id-att-originator-certificate" - see p1.cnf +#ORName B "2.6.4.3.27" "id-att-originator-name" - see p1.cnf +#OriginatorReportRequest B "2.6.4.3.63" "id-att-originator-report-request" - see p1.cnf +#OriginatorReturnAddress B "2.6.4.3.64" "id-att-originator-return-address" - see p1.cnf +#ORName B "2.6.4.3.28" "id-att-other-recipient-names" - see p1.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 p1.cnf +#PerRecipientMessageSubmissionFields B "2.6.4.3.66" "id-att-per-recipient-message-submission-fields" - see p1.cnf +#PerRecipientProbeSubmissionFields B "2.6.4.3.67" "id-att-per-recipient-probe-submission-fields" - see p1.cnf +#PerRecipientReportDeliveryFields B "2.6.4.3.30" "id-att-per-recipient-report-delivery-fields" - see p1.cnf +#Priority B "2.6.4.3.31" "id-att-priority" - see p1.cnf +#ProbeOriginAuthenticationCheck B "2.6.4.3.68" "id-att-probe-origin-authentication-check" - see p1.cnf +#ProbeSubmissionEnvelope B "2.6.4.3.69" "id-att-probe-submission-envelope" - see p1.cnf +#ProofOfDeliveryRequest B "2.6.4.3.32" "id-att-proof-of-delivery-request" - see p1.cnf +#ProofOfSubmission B "2.6.4.3.70" "id-att-proof-of-submission" - see p1.cnf +#ExtendedCertificates B "2.6.4.3.82" "id-att-recipient-certificate" - see p1.cnf +#ORName B "2.6.4.3.71" "id-att-recipient-names" - see p1.cnf +#RecipientReassignmentProhibited B "2.6.4.3.72" "id-att-recipient-reassignment-prohibited" - see p1.cnf +#Redirection B "2.6.4.3.33" "id-at-redirection-history" - see p1.cnf +#ReportDeliveryEnvelope B "2.6.4.3.34" "id-att-report-delivery-envelope" - see p1.cnf +#ReportingDLName B "2.6.4.3.35" "id-att-reporting-DL-name" - see p1.cnf +#ReportingMTACertificate B "2.6.4.3.36" "id-att-reporting-MTA-certificate" - see p1.cnf +#ReportOriginAuthenticationCheck B "2.6.4.3.37" "id-att-report-origin-authentication-check" - see p1.cnf +RetrievalStatus B "2.6.4.3.15" "id-att-retrieval-status" +#SecurityClassification B "2.6.4.3.38" "id-att-security-classification" - see p1.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 p1.cnf +#ORName B "2.6.4.3.41" "id-att-this-recipient-name" - see p1.cnf +#TraceInformationElement B "2.6.4.3.75" "id-att-trace-information" - see p1.cnf + +#MSExtensions +ChangeCredentialsAlgorithms B "2.6.4.9.5" "id-ext-protected-change-credentials-capability" +OriginatorToken B "2.6.4.9.3" "id-ext-originator-token" +ProtectedChangeCredentials B "2.6.4.9.4" "id-ext-protected-change-credentials" + +RTSE-apdus B "2.6.0.2.10""id-as-ms-rtse" + +#.FN_PARS AttributeType FN_VARIANT = _str VAL_PTR = &actx->external.direct_reference + +#.FN_BODY Attribute/attribute-values/_item + if(actx->external.direct_reference) + call_ber_oid_callback(actx->external.direct_reference, tvb, offset, actx->pinfo, tree, NULL); + +#.FN_BODY AttributeValueAssertion/attribute-value + if(actx->external.direct_reference) + call_ber_oid_callback(actx->external.direct_reference, tvb, offset, actx->pinfo, tree, NULL); + +#.FN_BODY FilterItem/substrings/strings/_item/initial + if(actx->external.direct_reference) + call_ber_oid_callback(actx->external.direct_reference, tvb, offset, actx->pinfo, tree, NULL); + +#.FN_BODY FilterItem/substrings/strings/_item/any + if(actx->external.direct_reference) + call_ber_oid_callback(actx->external.direct_reference, tvb, offset, actx->pinfo, tree, NULL); + +#.FN_BODY FilterItem/substrings/strings/_item/final + if(actx->external.direct_reference) + call_ber_oid_callback(actx->external.direct_reference, tvb, offset, actx->pinfo, tree, NULL); + +#.FN_BODY MatchingRuleAssertion/match-value + if(actx->external.direct_reference) + call_ber_oid_callback(actx->external.direct_reference, tvb, offset, actx->pinfo, tree, NULL); + +#.FN_BODY Summary/present/_item/value + if(actx->external.direct_reference) + call_ber_oid_callback(actx->external.direct_reference, tvb, offset, actx->pinfo, tree, NULL); + +#.FN_BODY OrderedAttribute/attribute-values/_item/value + if(actx->external.direct_reference) + call_ber_oid_callback(actx->external.direct_reference, tvb, offset, actx->pinfo, tree, NULL); + +#.FN_PARS AutoActionType FN_VARIANT = _str VAL_PTR = &actx->external.direct_reference + +#.FN_BODY AutoActionRegistration/registration-parameter + if(actx->external.direct_reference) + call_ber_oid_callback(actx->external.direct_reference, tvb, offset, actx->pinfo, tree, NULL); + + +#.FN_BODY AutoActionError/error-code + /* XXX: Is this really the best way to do this? */ + offset = dissect_ros_Code(implicit_tag, tvb, offset, actx, tree, hf_index); + +#.FN_BODY RegistrationTypes/extended-registrations/_item + /* XXX: Is this really the best way to do this? */ + offset = dissect_ber_object_identifier_str(implicit_tag, actx, tree, tvb, offset, hf_index, &actx->external.direct_reference); + +#.FN_BODY RTABapdu/userdataAB + offset = dissect_unknown_ber(actx->pinfo, tvb, offset, tree); + +#.END + +#.FN_BODY AutoActionError/error-parameter + if(actx->external.direct_reference) + call_ber_oid_callback(actx->external.direct_reference, tvb, offset, actx->pinfo, tree, NULL); + +#.FN_BODY PAR-attribute-error/problems/_item/value + if(actx->external.direct_reference) + call_ber_oid_callback(actx->external.direct_reference, tvb, offset, actx->pinfo, tree, NULL); + + +#.FN_BODY MSBindArgument/initiator-name + const char *ora = NULL; + + %(DEFAULT_BODY)s + + if ((ora = p1_get_last_oraddress(actx))) { + col_append_fstr(actx->pinfo->cinfo, COL_INFO, " (initiator=%%s)", ora); + } + +#.FN_PARS SequenceNumber VAL_PTR = &seqno + +#.FN_BODY NumberRange + col_append_str(actx->pinfo->cinfo, COL_INFO, " (range="); + %(DEFAULT_BODY)s + col_append_str(actx->pinfo->cinfo, COL_INFO, ")"); + +#.FN_FTR NumberRange/from + col_append_fstr(actx->pinfo->cinfo, COL_INFO, " from %d", seqno); + +#.FN_FTR NumberRange/to + 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 + + col_append_fstr(actx->pinfo->cinfo, COL_INFO, " (count=%%d)", count); + +#.FN_BODY MSMessageSubmissionArgument + p1_initialize_content_globals (actx, tree, TRUE); + %(DEFAULT_BODY)s + p1_initialize_content_globals (actx, NULL, FALSE); + +#.FN_BODY EntryInformation + p1_initialize_content_globals (actx, NULL, FALSE); + %(DEFAULT_BODY)s + p1_initialize_content_globals (actx, NULL, FALSE); + +#.FN_BODY EntryModification + p1_initialize_content_globals (actx, NULL, FALSE); + %(DEFAULT_BODY)s + p1_initialize_content_globals (actx, NULL, FALSE); diff --git a/epan/dissectors/asn1/p7/packet-p7-template.c b/epan/dissectors/asn1/p7/packet-p7-template.c new file mode 100644 index 0000000000..1f56222713 --- /dev/null +++ b/epan/dissectors/asn1/p7/packet-p7-template.c @@ -0,0 +1,156 @@ +/* packet-p7.c + * Routines for X.413 (P7) packet dissection + * Graeme Lunt 2007 + * + * 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#include "config.h" + +#include <epan/packet.h> +#include <epan/prefs.h> +#include <epan/oids.h> +#include <epan/asn1.h> + +#include "packet-ber.h" +#include "packet-acse.h" +#include "packet-ros.h" +#include "packet-rtse.h" +#include "packet-p7.h" + +#include "packet-p1.h" +#include <epan/strutil.h> + +#define PNAME "X.413 Message Store Service" +#define PSNAME "P7" +#define PFNAME "p7" + +void proto_register_p7(void); +void proto_reg_handoff_p7(void); + +static guint global_p7_tcp_port = 102; +static dissector_handle_t tpkt_handle; +static int seqno = 0; + +static void prefs_register_p7(void); /* forward declaration for use in preferences registration */ + + +/* Initialize the protocol and registered fields */ +static int proto_p7 = -1; + +#include "packet-p7-val.h" + +#include "packet-p7-hf.c" + +/* Initialize the subtree pointers */ +static gint ett_p7 = -1; +#include "packet-p7-ett.c" + +#include "packet-p7-table.c" /* operation and error codes */ + +#include "packet-p7-fn.c" + +#include "packet-p7-table11.c" /* operation argument/result dissectors */ +#include "packet-p7-table21.c" /* error dissector */ + +static const ros_info_t p7_ros_info = { + "P7", + &proto_p7, + &ett_p7, + p7_opr_code_string_vals, + p7_opr_tab, + p7_err_code_string_vals, + p7_err_tab +}; + + +/*--- 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 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) { + + #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) */ + register_ros_protocol_info("2.6.0.2.9", &p7_ros_info, 0, "id-as-ms", FALSE); + register_ros_protocol_info("2.6.0.2.5", &p7_ros_info, 0, "id-as-mrse", FALSE); + register_ros_protocol_info("2.6.0.2.1", &p7_ros_info, 0, "id-as-msse", FALSE); + + /* remember the tpkt handler for change in preferences */ + tpkt_handle = find_dissector("tpkt"); +} + + +static void +prefs_register_p7(void) +{ + static guint tcp_port = 0; + + /* de-register the old port */ + /* port 102 is registered by TPKT - don't undo this! */ + if((tcp_port > 0) && (tcp_port != 102) && tpkt_handle) + dissector_delete_uint("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_uint("tcp.port", global_p7_tcp_port, tpkt_handle); + +} diff --git a/epan/dissectors/asn1/p7/packet-p7-template.h b/epan/dissectors/asn1/p7/packet-p7-template.h new file mode 100644 index 0000000000..fd745aef58 --- /dev/null +++ b/epan/dissectors/asn1/p7/packet-p7-template.h @@ -0,0 +1,29 @@ +/* packet-p7.h + * Routines for X.413 (P7) packet dissection + * Graeme Lunt 2007 + * + * 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#ifndef PACKET_P7_H +#define PACKET_P7_H + +#include "packet-p7-exp.h" + +#endif /* PACKET_P7_H */ |