diff options
author | Graeme Lunt <graeme.lunt@smhs.co.uk> | 2007-11-25 17:46:42 +0000 |
---|---|---|
committer | Graeme Lunt <graeme.lunt@smhs.co.uk> | 2007-11-25 17:46:42 +0000 |
commit | a7dec11ce68d16bcaeb4f869a13ddd3f2aa767ea (patch) | |
tree | d483bb639b309bd347d9eb704fd55f7c6f48b2f6 | |
parent | f9ca33580fccdb4afa940e749a070f2de8d8cd56 (diff) |
Changes suggested/provided by Anders so that fewer changes are required to the ASN modules.
Also includes the MSAccessProtocol.asn to generate defines for the operation numbers.
svn path=/trunk/; revision=23586
-rw-r--r--[-rwxr-xr-x] | asn1/p7/MSAbstractService.asn | 575 | ||||
-rw-r--r-- | asn1/p7/MSAccessProtocol.asn | 258 | ||||
-rw-r--r--[-rwxr-xr-x] | asn1/p7/MSGeneralAttributeTypes.asn | 0 | ||||
-rw-r--r-- | asn1/p7/Makefile.common | 13 | ||||
-rw-r--r-- | asn1/p7/p7.cnf | 180 | ||||
-rw-r--r-- | asn1/p7/packet-p7-template.c | 69 | ||||
-rw-r--r--[-rwxr-xr-x] | asn1/p7/packet-p7-template.h | 0 | ||||
-rw-r--r-- | asn1/x411/x411.asn | 24 | ||||
-rw-r--r-- | asn1/x411/x411.cnf | 11 | ||||
-rwxr-xr-x | epan/dissectors/packet-p7.c | 396 | ||||
-rwxr-xr-x | epan/dissectors/packet-p7.h | 2 | ||||
-rw-r--r-- | epan/dissectors/packet-x411.c | 113 | ||||
-rw-r--r-- | epan/dissectors/packet-x411.h | 6 |
13 files changed, 1168 insertions, 479 deletions
diff --git a/asn1/p7/MSAbstractService.asn b/asn1/p7/MSAbstractService.asn index 7877b0f989..3f7d6e1586 100755..100644 --- a/asn1/p7/MSAbstractService.asn +++ b/asn1/p7/MSAbstractService.asn @@ -1,7 +1,5 @@ --- -- $Id$ --- - +-- 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 ::= @@ -28,10 +26,10 @@ IMPORTS MessageSubmissionArgument, MessageSubmissionResult, MessageToken, ORAddressAndOrDirectoryName, ProbeSubmissionArgument, ProbeSubmissionResult, ResponderCredentials, SecurityContext, SecurityLabel, - MessageSubmissionEnvelope, Content, -- COMPONENTS OF MessageSubmissionArgument - MessageSubmissionIdentifier, MessageSubmissionTime, ContentIdentifier, ExtensionField, -- COMPONENTS OF MessageSubmissionResult - ProbeSubmissionEnvelope, -- COMPONENTS OF ProbeSubmissionArgument (?) - ProbeSubmissionIdentifier, ProbeSubmissionTime -- COMPONENTS OF ProbeSubmissionResult +-- WS added imports because of expansion of COMPONENTS OF + MessageSubmissionIdentifier, ExtensionField, MTSOriginatorName, + 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 @@ -107,49 +105,49 @@ IMPORTS 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 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 ---} +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-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 ---} +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-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} +-- ... - 1994 extension addition -, modify} -- SUPPLIER INVOKES {alert} -- ID id-pt-retrieval-94 --} --retrieval-88 PORT ::= { - -- With all 1994 extensions to the abstract-operations absent +-- - With all 1994 extensions to the abstract-operations absent -- OPERATIONS {operationObject1, ...} -- CONSUMER INVOKES {summarize | list | fetch | delete | register-MS} -- SUPPLIER INVOKES {alert} @@ -165,72 +163,72 @@ IMPORTS --} -- 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)}, +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 ---} + &OtherMatches MATCHING-RULE OPTIONAL +} +WITH SYNTAX { + WITH ATTRIBUTE-SYNTAX &Type, + [EQUALITY MATCHING-RULE &equalityMatch,] + [SUBSTRINGS MATCHING-RULE &substringsMatch,] + [ORDERING MATCHING-RULE &orderingMatch,] + [OTHER MATCHING-RULES &OtherMatches,] + NUMERATION &numeration, + ID &id +} Attribute ::= SEQUENCE { - attribute-type --X413ATTRIBUTE.&id({AttributeTable})-- AttributeType, + attribute-type X413ATTRIBUTE.&id({AttributeTable}), attribute-values SEQUENCE SIZE (1..ub-attribute-values) OF --- X413ATTRIBUTE.&Type({AttributeTable}{@attribute-type}) -- ANY + 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 ---} +AUTO-ACTION ::= CLASS { + &id AutoActionType UNIQUE, + &RegistrationParameter OPTIONAL, + &Errors AUTO-ACTION-ERROR OPTIONAL +} +WITH SYNTAX { + [REGISTRATION PARAMETER IS &RegistrationParameter] + [ERRORS &Errors] + IDENTIFIED BY &id +} AutoActionType ::= OBJECT IDENTIFIER AutoActionRegistration ::= SEQUENCE { - auto-action-type --AUTO-ACTION.&id({AutoActionTable})-- AutoActionType, + 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}) -- ANY OPTIONAL + [1] AUTO-ACTION.&RegistrationParameter + ({AutoActionTable}{@auto-action-type}) OPTIONAL } -- AUTO-ACTION-ERROR information object class ---AUTO-ACTION-ERROR ::= --- ABSTRACT-ERROR +AUTO-ACTION-ERROR ::= + ABSTRACT-ERROR AutoActionError ::= SET { - error-code [0] --AUTO-ACTION-ERROR.&errorCode({AutoActionErrorTable})-- OBJECT IDENTIFIER, + error-code [0] AUTO-ACTION-ERROR.&errorCode({AutoActionErrorTable}), error-parameter - [1] --AUTO-ACTION-ERROR.&ParameterType({AutoActionErrorTable}{@error-code}) - ANY OPTIONAL + [1] AUTO-ACTION-ERROR.&ParameterType({AutoActionErrorTable}{@error-code}) + OPTIONAL } -- MS-EXTENSION information object class ---MS-EXTENSION ::= TYPE-IDENTIFIER +MS-EXTENSION ::= TYPE-IDENTIFIER -MSExtensionItem ::= --INSTANCE OF MS-EXTENSION-- EXTERNAL +MSExtensionItem ::= INSTANCE OF MS-EXTENSION MSExtensions ::= SEQUENCE SIZE (1..ub-extensions) OF MSExtensionItem @@ -291,11 +289,11 @@ RegistrationIdentifier ::= MSBindResult ::= SET { responder-credentials [2] ResponderCredentials, available-auto-actions - [3] SET SIZE (1..ub-auto-actions) OF --AUTO-ACTION.&id({AutoActionTable})-- AutoActionType + [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})-- AttributeType OPTIONAL, + X413ATTRIBUTE.&id({AttributeTable}) OPTIONAL, alert-indication [5] BOOLEAN DEFAULT FALSE, content-types-supported [6] SET SIZE (1..ub-content-types) OF OBJECT IDENTIFIER OPTIONAL, @@ -314,20 +312,20 @@ MSBindResult ::= SET { [14] GeneralString(SIZE (1..ub-service-information-length)) OPTIONAL } ---modify-capability MS-EXTENSION ::= { --- NULL --- IDENTIFIED BY id-ext-modify-capability ---} +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 ---} +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 ---} +protected-change-credentials-capability MS-EXTENSION ::= { + ChangeCredentialsAlgorithms + IDENTIFIED BY id-ext-protected-change-credentials-capability +} ChangeCredentialsAlgorithms ::= SET OF OBJECT IDENTIFIER @@ -358,7 +356,7 @@ BindProblem ::= ENUMERATED { } -- MS Unbind abstract-operation --- ms-unbind ABSTRACT-OPERATION ::= emptyUnbind +ms-unbind ABSTRACT-OPERATION ::= emptyUnbind -- Common data-types Range ::= CHOICE { @@ -388,37 +386,37 @@ Filter ::= CHOICE { FilterItem ::= CHOICE { equality [0] AttributeValueAssertion, substrings - [1] SEQUENCE {type --X413ATTRIBUTE.&id({AttributeTable})-- AttributeType, + [1] SEQUENCE {type X413ATTRIBUTE.&id({AttributeTable}), strings SEQUENCE OF CHOICE {initial - [0] --X413ATTRIBUTE.&Type - -- ({AttributeTable}{@substrings.type})-- ANY, + [0] X413ATTRIBUTE.&Type + ({AttributeTable}{@substrings.type}), any - [1] --X413ATTRIBUTE.&Type - -- ({AttributeTable}{@substrings.type})-- ANY, + [1] X413ATTRIBUTE.&Type + ({AttributeTable}{@substrings.type}), final - [2] --X413ATTRIBUTE.&Type - -- ({AttributeTable}{@substrings.type})-- ANY + [2] X413ATTRIBUTE.&Type + ({AttributeTable}{@substrings.type}) }}, greater-or-equal [2] AttributeValueAssertion, less-or-equal [3] AttributeValueAssertion, - present [4] --X413ATTRIBUTE.&id({AttributeTable})-- AttributeType, + present [4] X413ATTRIBUTE.&id({AttributeTable}), approximate-match [5] AttributeValueAssertion, -- 1994 extension other-match [6] MatchingRuleAssertion } MatchingRuleAssertion ::= SEQUENCE { - matching-rule [0] --MATCHING-RULE.&id({MatchingRuleTable})-- OBJECT IDENTIFIER, - attribute-type [1] --X413ATTRIBUTE.&id-- AttributeType, + matching-rule [0] MATCHING-RULE.&id({MatchingRuleTable}), + attribute-type [1] X413ATTRIBUTE.&id, match-value - [2] --MATCHING-RULE.&AssertionType({MatchingRuleTable}{@matching-rule})-- ANY + [2] MATCHING-RULE.&AssertionType({MatchingRuleTable}{@matching-rule}) } AttributeValueAssertion ::= SEQUENCE { - attribute-type --X413ATTRIBUTE.&id({AttributeTable})-- AttributeType, - attribute-value --X413ATTRIBUTE.&Type({AttributeTable}{@attribute-type})-- ANY + attribute-type X413ATTRIBUTE.&id({AttributeTable}), + attribute-value X413ATTRIBUTE.&Type({AttributeTable}{@attribute-type}) } Selector ::= SET { @@ -439,7 +437,7 @@ OverrideRestrictions ::= BIT STRING { EntryInformationSelection ::= SET SIZE (0..ub-per-entry) OF AttributeSelection AttributeSelection ::= SET { - type --X413ATTRIBUTE.&id({AttributeTable})-- AttributeType, + type X413ATTRIBUTE.&id({AttributeTable}), from [0] INTEGER(1..ub-attribute-values) OPTIONAL --used if type is multi valued--, @@ -457,7 +455,7 @@ EntryInformation ::= SEQUENCE { } AttributeValueCount ::= SEQUENCE { - type [0] --X413ATTRIBUTE.&id({AttributeTable})-- AttributeType, + type [0] X413ATTRIBUTE.&id({AttributeTable}), total [1] INTEGER } @@ -470,25 +468,25 @@ MSSubmissionOptions ::= SET { ms-submission-extensions [3] MSExtensions OPTIONAL } ---originator-token MS-EXTENSION ::= { --- OriginatorToken --- IDENTIFIED BY id-ext-originator-token ---} +originator-token MS-EXTENSION ::= { + OriginatorToken + IDENTIFIED BY id-ext-originator-token +} OriginatorToken ::= MessageToken --- (CONSTRAINED BY { + (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 ---} + -- 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, @@ -497,22 +495,22 @@ CommonSubmissionResults ::= SET { } -- 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 ---} +summarize ABSTRACT-OPERATION ::= { + ARGUMENT SummarizeArgument + RESULT SummarizeResult + ERRORS + {attribute-error | invalid-parameters-error | range-error | security-error + | service-error, ... -- 1994 extension additions --, entry-class-error | + ms-extension-error} + LINKED {operationObject1, ...} + CODE op-summarize +} SummarizeArgument ::= SET { entry-class [0] EntryClass DEFAULT delivery, selector [1] Selector, summary-requests - [2] SEQUENCE SIZE (1..ub-summaries) OF --X413ATTRIBUTE.&id({AttributeTable})-- AttributeType + [2] SEQUENCE SIZE (1..ub-summaries) OF X413ATTRIBUTE.&id({AttributeTable}) OPTIONAL -- absent if no summaries are requested--, -- 1994 extension summarize-extensions [3] MSExtensions OPTIONAL @@ -540,22 +538,22 @@ Summary ::= SET { present [1] SET SIZE (1..ub-attribute-values) OF--one for each X413ATTRIBUTE value present-- - SEQUENCE {type --X413ATTRIBUTE.&id({AttributeTable})-- AttributeType, - value --X413ATTRIBUTE.&Type({AttributeTable}{@.type})-- ANY, + 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 ---} +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, @@ -574,17 +572,17 @@ ListResult ::= SET { } -- ---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 ---} +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, @@ -607,17 +605,17 @@ FetchResult ::= SET { } -- ---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 ---} +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, @@ -639,17 +637,17 @@ DeleteResult ::= CHOICE { } -- ---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-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 @@ -659,10 +657,10 @@ Register-MSArgument ::= SET { OPTIONAL, list-attribute-defaults [2] SET SIZE (0..ub-default-registrations) OF - --X413ATTRIBUTE.&id({AttributeTable})-- AttributeType OPTIONAL, + X413ATTRIBUTE.&id({AttributeTable}) OPTIONAL, fetch-attribute-defaults [3] SET SIZE (0..ub-default-registrations) OF - --X413ATTRIBUTE.&id({AttributeTable})-- AttributeType OPTIONAL, + X413ATTRIBUTE.&id({AttributeTable}) OPTIONAL, change-credentials [4] SEQUENCE {old-credentials [0] Credentials(WITH COMPONENTS { @@ -684,7 +682,7 @@ Register-MSArgument ::= SET { } AutoActionDeregistration ::= SEQUENCE { - auto-action-type --AUTO-ACTION.&id({AutoActionTable})-- AutoActionType, + auto-action-type AUTO-ACTION.&id({AutoActionTable}), registration-identifier [0] INTEGER(1..ub-per-auto-action) DEFAULT 1 } @@ -692,10 +690,10 @@ UARegistration ::= SET { ua-registration-identifier [0] RegistrationIdentifier, ua-list-attribute-defaults [1] SET SIZE (0..ub-default-registrations) OF - --X413ATTRIBUTE.&id({AttributeTable})-- AttributeType OPTIONAL, + X413ATTRIBUTE.&id({AttributeTable}) OPTIONAL, ua-fetch-attribute-defaults [2] SET SIZE (0..ub-default-registrations) OF - --X413ATTRIBUTE.&id({AttributeTable})-- AttributeType OPTIONAL, + X413ATTRIBUTE.&id({AttributeTable}) OPTIONAL, ua-submission-defaults [3] MSSubmissionOptions OPTIONAL, content-specific-defaults [4] MSExtensions OPTIONAL } @@ -718,7 +716,7 @@ RegistrationTypes ::= SET { fetch-attribute-defaults(2), ua-registrations(3), submission-defaults(4), message-group-registrations(5)} OPTIONAL, - extended-registrations [1] SET OF --MS-EXTENSION.&id-- OBJECT IDENTIFIER OPTIONAL, + extended-registrations [1] SET OF MS-EXTENSION.&id OPTIONAL, restrict-message-groups [2] MessageGroupsRestriction OPTIONAL } @@ -728,10 +726,10 @@ MessageGroupsRestriction ::= SET { omit-descriptors [2] BOOLEAN DEFAULT TRUE } ---protected-change-credentials MS-EXTENSION ::= { --- ProtectedChangeCredentials --- IDENTIFIED BY id-ext-protected-change-credentials ---} +protected-change-credentials MS-EXTENSION ::= { + ProtectedChangeCredentials + IDENTIFIED BY id-ext-protected-change-credentials +} ProtectedChangeCredentials ::= SEQUENCE { algorithm-identifier [0] IMPLICIT OBJECT IDENTIFIER, @@ -751,10 +749,10 @@ Register-MSResult ::= CHOICE { OPTIONAL, list-attribute-defaults [1] SET SIZE (1..ub-default-registrations) OF - --X413ATTRIBUTE.&id({AttributeTable})-- AttributeType OPTIONAL, + X413ATTRIBUTE.&id({AttributeTable}) OPTIONAL, fetch-attribute-defaults [2] SET SIZE (1..ub-default-registrations) OF - --X413ATTRIBUTE.&id({AttributeTable})-- AttributeType OPTIONAL, + X413ATTRIBUTE.&id({AttributeTable}) OPTIONAL, ua-registrations [3] SET SIZE (1..ub-ua-registrations) OF UARegistration OPTIONAL, submission-defaults [4] MSSubmissionOptions OPTIONAL, @@ -764,14 +762,14 @@ Register-MSResult ::= CHOICE { register-ms-result-extensions [6] MSExtensions OPTIONAL} } - ---alert ABSTRACT-OPERATION ::= { --- ARGUMENT AlertArgument --- RESULT AlertResult --- ERRORS {security-error} --- LINKED {operationObject1, ...} --- CODE op-alert ---} +-- +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), @@ -781,17 +779,17 @@ AlertArgument ::= SET { 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 ---} +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, @@ -808,18 +806,18 @@ EntryModification ::= SET { strict [0] BOOLEAN DEFAULT FALSE, modification CHOICE {add-attribute [1] Attribute, - remove-attribute [2] --X413ATTRIBUTE.&id({AttributeTable})-- AttributeType, + remove-attribute [2] X413ATTRIBUTE.&id({AttributeTable}), add-values [3] OrderedAttribute, remove-values [4] OrderedAttribute} } OrderedAttribute ::= SEQUENCE { - attribute-type --X413ATTRIBUTE.&id({AttributeTable})-- AttributeType, + 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})-- ANY + [0] X413ATTRIBUTE.&Type({AttributeTable}{@attribute-type}) OPTIONAL, position [1] INTEGER(1..ub-attribute-values) OPTIONAL } @@ -832,42 +830,46 @@ ModifyResult ::= SET { } -- 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 ---} +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 - -, +-- 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 ---} +forwarding-request EXTENSION ::= { + SequenceNumber, + IDENTIFIED BY standard-extension:36 +} MSMessageSubmissionResult ::= CHOICE { mts-result - SET {--COMPONENTS OF - -- MessageSubmissionResult- - This imported type has IMPLICIT tags - - , - message-submission-identifier MessageSubmissionIdentifier, - message-submission-time [0] IMPLICIT MessageSubmissionTime, - content-identifier ContentIdentifier OPTIONAL, - extensions - [1] SET OF ExtensionField --{{MessageSubmissionResultExtensions}}-- DEFAULT {}, + 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 @@ -875,42 +877,55 @@ MSMessageSubmissionResult ::= CHOICE { } -- ---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 ---} +ms-probe-submission ABSTRACT-OPERATION ::= { + ARGUMENT MSProbeSubmissionArgument + RESULT MSProbeSubmissionResult + ERRORS + {submission-control-violated | element-of-service-not-subscribed | + originator-invalid | recipient-improperly-specified | + inconsistent-request | security-error | unsupported-critical-function | + remote-bind-error, ... -- 1994 extension additions --, ms-extension-error + | message-group-error | entry-class-error | service-error} + LINKED {operationObject1, ...} + CODE op-ms-probe-submission +} MSProbeSubmissionArgument ::= SET { -- COMPONENTS OF --- ProbeSubmissionArgument - - This imported type has IMPLICIT tags - -, - probe-submission-envelope ProbeSubmissionEnvelope, -- XXX: Is this right? +-- ProbeSubmissionArgument - This imported type has IMPLICIT tags -, +-- WS Expanded + originator-name MTSOriginatorName, + 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 - -, +-- ProbeSubmissionResult - This imported type has IMPLICIT tags -, probe-submission-identifier ProbeSubmissionIdentifier, - probe-submission-time [0] IMPLICIT ProbeSubmissionTime, + 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-cancel-deferred-delivery ABSTRACT-OPERATION ::= cancel-deferred-delivery ---ms-submission-control ABSTRACT-OPERATION ::= submission-control +ms-submission-control ABSTRACT-OPERATION ::= submission-control -- Abstract-errors --attribute-error ABSTRACT-ERROR ::= { @@ -919,9 +934,9 @@ AttributeErrorParameter ::= SET {problems [0] SET SIZE (1..ub-per-entry) OF SET {problem [0] AttributeProblem, - type [1] --X413ATTRIBUTE.&id({AttributeTable})-- AttributeType, + type [1] X413ATTRIBUTE.&id({AttributeTable}), value - [2] --X413ATTRIBUTE.&Type({AttributeTable}{@.type})-- ANY + [2] X413ATTRIBUTE.&Type({AttributeTable}{@.type}) OPTIONAL}} -- CODE err-attribute-error --} @@ -941,7 +956,7 @@ AutoActionRequestErrorParameter ::= SET {problems [0] SET SIZE (1..ub-auto-registrations) OF SET {problem [0] AutoActionRequestProblem, - type [1] --AUTO-ACTION.&id({AutoActionTable})-- AutoActionType + type [1] AUTO-ACTION.&id({AutoActionTable}) }} -- CODE err-auto-action-request-error --} @@ -992,14 +1007,14 @@ FetchRestrictionProblem ::= INTEGER { }(0..ub-error-reasons) -- ---invalid-parameters-error ABSTRACT-ERROR ::= { --- PARAMETER NULL --- CODE err-invalid-parameters-error ---} +invalid-parameters-error ABSTRACT-ERROR ::= { + PARAMETER NULL + CODE err-invalid-parameters-error +} -- --range-error ABSTRACT-ERROR ::= { --- PARAMETER-- RangeErrorParameter ::= SET {problem [0] RangeProblem} +-- PARAMETER -- RangeErrorParameter ::= SET {problem [0] RangeProblem} -- CODE err-range-error --} @@ -1008,7 +1023,7 @@ RangeProblem ::= INTEGER {reversed(0)}(0..ub-error-reasons) -- --sequence-number-error ABSTRACT-ERROR ::= { -- PARAMETER -SequenceNumberErrorParameter ::= +SequenceNumberErrorParameter ::= SET {problems [1] SET SIZE (1..ub-messages) OF SET {problem [0] SequenceNumberProblem, @@ -1018,11 +1033,11 @@ SequenceNumberErrorParameter ::= SequenceNumberProblem ::= INTEGER {no-such-entry(0)}(0..ub-error-reasons) --- ---service-error ABSTRACT-ERROR ::= { --- PARAMETER ServiceErrorParameter --- CODE err-service-error ---} +-- +service-error ABSTRACT-ERROR ::= { + PARAMETER ServiceErrorParameter + CODE err-service-error +} ServiceErrorParameter ::= SET { problem [0] ServiceProblem, @@ -1035,10 +1050,10 @@ 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 ---} +message-group-error ABSTRACT-ERROR ::= { + PARAMETER MessageGroupErrorParameter + CODE err-message-group-error +} MessageGroupErrorParameter ::= SET { problem [0] MessageGroupProblem, @@ -1051,10 +1066,10 @@ MessageGroupProblem ::= INTEGER { group-depth-exceeded(6)}(0..ub-error-reasons) -- ---ms-extension-error ABSTRACT-ERROR ::= { --- PARAMETER MSExtensionErrorParameter --- CODE err-ms-extension-error ---} +ms-extension-error ABSTRACT-ERROR ::= { + PARAMETER MSExtensionErrorParameter + CODE err-ms-extension-error +} MSExtensionErrorParameter ::= CHOICE { ms-extension-problem [0] MSExtensionItem, @@ -1076,10 +1091,10 @@ RegistrationProblem ::= ENUMERATED { } -- ---modify-error ABSTRACT-ERROR ::= { --- PARAMETER ModifyErrorParameter --- CODE err-modify-error ---} +modify-error ABSTRACT-ERROR ::= { + PARAMETER ModifyErrorParameter + CODE err-modify-error +} ModifyErrorParameter ::= SET { entries-modified @@ -1095,10 +1110,10 @@ ModifyProblem ::= INTEGER { modify-restriction-problem(4)}(0..ub-error-reasons) -- ---entry-class-error ABSTRACT-ERROR ::= { --- PARAMETER EntryClassErrorParameter --- CODE err-entry-class-error ---} +entry-class-error ABSTRACT-ERROR ::= { + PARAMETER EntryClassErrorParameter + CODE err-entry-class-error +} EntryClassErrorParameter ::= SET { entry-class [0] EntryClass, diff --git a/asn1/p7/MSAccessProtocol.asn b/asn1/p7/MSAccessProtocol.asn new file mode 100644 index 0000000000..b7ac4c6828 --- /dev/null +++ b/asn1/p7/MSAccessProtocol.asn @@ -0,0 +1,258 @@ +-- $Id$ +-- 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-security-error Code ::= local:26 + +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/asn1/p7/MSGeneralAttributeTypes.asn b/asn1/p7/MSGeneralAttributeTypes.asn index 04a3c97758..04a3c97758 100755..100644 --- a/asn1/p7/MSGeneralAttributeTypes.asn +++ b/asn1/p7/MSGeneralAttributeTypes.asn diff --git a/asn1/p7/Makefile.common b/asn1/p7/Makefile.common index 36c3cd93f9..99668de5d0 100644 --- a/asn1/p7/Makefile.common +++ b/asn1/p7/Makefile.common @@ -34,7 +34,8 @@ EXT_ASN_FILE_LIST = ASN_FILE_LIST = \ MSAbstractService.asn \ - MSGeneralAttributeTypes.asn + MSGeneralAttributeTypes.asn \ + MSAccessProtocol.asn # The packet-$(PROTOCOL_NAME)-template.h and $(PROTOCOL_NAME).asn # files do not exist # for all protocols: Please add/remove as required. @@ -51,8 +52,16 @@ SRC_FILES = \ A2W_FLAGS= -b -e -X -T EXTRA_CNF= \ - ../x411/x411-exp.cnf + ../x411/x411-exp.cnf \ + ../ros/ros-exp.cnf \ + ../rtse/rtse.cnf ../x411/x411-exp.cnf: (cd ../x411 && $(MAKE_CNF_EXPORT)) +../ros/ros-exp.cnf: + (cd ../ros && $(MAKE_CNF_EXPORT)) + +../rtse/rtse-exp.cnf: + (cd ../rtse && $(MAKE_CNF_EXPORT)) + diff --git a/asn1/p7/p7.cnf b/asn1/p7/p7.cnf index 4f45aa49be..713eee78d1 100644 --- a/asn1/p7/p7.cnf +++ b/asn1/p7/p7.cnf @@ -3,10 +3,78 @@ # #.IMPORT ../x411/x411-exp.cnf +#.IMPORT ../ros/ros-exp.cnf +#.IMPORT ../rtse/rtse-exp.cnf #.MODULE_IMPORT MTSAbstractService x411 + +# 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 Attribute/attribute-values AttributeValues OrderedAttribute/attribute-values OrderedAttributeValues @@ -28,6 +96,7 @@ Summary/present/_item/value SummaryPresentItemValue OrderedAttribute/attribute-values/_item/value OrderedAttributeValue AttributeErrorParameter/problems/_item/value AttributeErrorProblemValue + #.FIELD_RENAME OrderedAttribute/attribute-values ordered-attribute-values OrderedAttribute/attribute-values/_item ordered-attribute-values-item @@ -54,17 +123,17 @@ Filter/item filter-item Summary/present summary-present -AttributeErrorParameter/problems attribute-error-problems -AutoActionRequestErrorParameter/problems auto-action-request-error-problems -DeleteErrorParameter/problems delete-error-problems -SequenceNumberErrorParameter/problems sequence-number-error-problems -FetchRestrictionErrorParameter/problems fetch-restriction-error-problems +AttributeErrorParameter/problems attribute-error-problems +AutoActionRequestErrorParameter/problems auto-action-request-error-problems +DeleteErrorParameter/problems delete-error-problems +SequenceNumberErrorParameter/problems sequence-number-error-problems +FetchRestrictionErrorParameter/problems fetch-restriction-error-problems -DeleteErrorParameter/problems/_item delete-error-problem-item -AttributeErrorParameter/problems/_item attribute-error-problem-item -AutoActionRequestErrorParameter/problems/_item auto-action-request-error-problem-item -SequenceNumberErrorParameter/problems/_item sequence-number-error-problem-item -FetchRestrictionErrorParameter/problems/_item fetch-restriction-error-problem-item +DeleteErrorParameter/problems/_item delete-error-problem-item +AttributeErrorParameter/problems/_item attribute-error-problem-item +AutoActionRequestErrorParameter/problems/_item auto-action-request-error-problem-item +SequenceNumberErrorParameter/problems/_item sequence-number-error-problem-item +FetchRestrictionErrorParameter/problems/_item fetch-restriction-error-problem-item EntryClassErrorParameter/problem entry-class-problem FetchRestrictionErrorParameter/problems/_item/problem fetch-restriction-problem @@ -81,8 +150,11 @@ AutoActionRequestErrorParameter/problems/_item/problem auto-action-request-probl AutoActionRequestErrorParameter/problems/_item/type auto-action-type AttributeErrorParameter/problems/_item/value problem-value + OrderedAttribute/attribute-values/_item/value ordered-attribute-value +FetchRestrictionErrorParameter/problems/_item/restriction/content-type extended-content-type + #.PDU MSBindArgument MSBindResult @@ -108,15 +180,66 @@ AlertResult AttributeErrorParameter AutoActionRequestErrorParameter DeleteErrorParameter +EntryClassErrorParameter FetchRestrictionErrorParameter -RangeErrorParameter -SequenceNumberErrorParameter MessageGroupErrorParameter +ModifyErrorParameter MSExtensionErrorParameter -EntryClassErrorParameter -ServiceErrorParameter +RangeErrorParameter RegisterMSErrorParameter -ModifyErrorParameter +SequenceNumberErrorParameter +ServiceErrorParameter + +# 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_strings[] = { +#TABLE_BODY ABSTRACT-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 ABSTRACT-ERROR +# { %(&errorCode)s, "%(_ident)s" }, +#TABLE_FTR +# { 0, NULL } +#}; +#END + +# Create a table of opcode and corresponding args and res +#TABLE11_HDR +#typedef struct _ros_op_t { +# gint32 opcode; +# new_dissector_t arg_pdu; +# new_dissector_t res_pdu; +#} ros_op_t; + +#static const ros_op_t p7_op_tab[] = { +#TABLE11_BODY ABSTRACT-OPERATION +# /* %(_name)-31s */ { %(&operationCode)-40s, %(_argument_pdu)-45s, %(_result_pdu)s }, +#TABLE11_FTR +#}; +#END +#TABLE21_HDR +#typedef struct _ros_err_t { +# gint32 errcode; +# new_dissector_t err_pdu; +#} ros_err_t; + +#static const ros_err_t p7_err_tab[] = { +#TABLE21_BODY ABSTRACT-ERROR +# /* %(_name)-24s */ { %(&errorCode)4s, %(_parameter_pdu)s }, +#TABLE21_FTR +#}; +#END + #.REGISTER # MSGeneralAttributeTypes @@ -137,7 +260,7 @@ SequenceNumber B "2.6.4.3.0" "id-att-child-sequence-numbers" #ContentIntegrityCheck B "2.6.4.3.5" "id-att-content-inetgrity-check" - see x411.cnf #ContentLength B "2.6.4.3.6" "id-att-content-length" - see x411.cnf #Boolean B "2.6.4.3.7" "id-att-content-returned" - see XXX -#ObjectIdentifier B "2.6.4.3.8" "id-att-content-type" - see XXX +#ExtendedContentType B "2.6.4.3.8" "id-att-content-type" - see x411.cnf #ConversionWithLossProhibited B "2.6.4.3.9" "id-att-conversion-with-loss-prohibited" - see x411.cnf MS-EIT B "2.6.4.3.10" "id-att-converted-EITs" CreationTime B "2.6.4.3.11" "id-att-creation-time" @@ -237,22 +360,35 @@ StorageTime B "2.6.4.3.74" "id-att-storage-time" if(object_identifier_id) call_ber_oid_callback(object_identifier_id, tvb, offset, actx->pinfo, tree); -#.FN_BODY AttributeErrorParameter/problems/_item/value - if(object_identifier_id) - call_ber_oid_callback(object_identifier_id, tvb, offset, actx->pinfo, tree); - #.FN_PARS AutoActionType FN_VARIANT = _str VAL_PTR = &object_identifier_id #.FN_BODY AutoActionRegistration/registration-parameter if(object_identifier_id) call_ber_oid_callback(object_identifier_id, tvb, offset, actx->pinfo, tree); -#.FN_PARS AutoActionError/error-code FN_VARIANT = _str VAL_PTR = &object_identifier_id + +#.FN_BODY AutoActionError/error-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, &object_identifier_id); + +#.FN_BODY RTABapdu/userdataAB + offset = dissect_unknown_ber(actx->pinfo, tvb, offset, tree); + +#.END #.FN_BODY AutoActionError/error-parameter if(object_identifier_id) call_ber_oid_callback(object_identifier_id, tvb, offset, actx->pinfo, tree); +#.FN_BODY AttributeErrorParameter/problems/_item/value + if(object_identifier_id) + call_ber_oid_callback(object_identifier_id, tvb, offset, actx->pinfo, tree); + + #.FN_BODY MSBindArgument/initiator-name char *ora = NULL; @@ -294,5 +430,3 @@ StorageTime B "2.6.4.3.74" "id-att-storage-time" col_append_fstr(actx->pinfo->cinfo, COL_INFO, " (count=%%d)", count); } - -
\ No newline at end of file diff --git a/asn1/p7/packet-p7-template.c b/asn1/p7/packet-p7-template.c index 44cf92bb82..2e565e255a 100644 --- a/asn1/p7/packet-p7-template.c +++ b/asn1/p7/packet-p7-template.c @@ -40,6 +40,7 @@ #include "packet-ber.h" #include "packet-acse.h" #include "packet-ros.h" +#include "packet-rtse.h" #include "packet-x411.h" #include <epan/strutil.h> @@ -54,7 +55,7 @@ static dissector_handle_t tpkt_handle = NULL; static const char *object_identifier_id = NULL; /* attribute identifier */ static int seqno = 0; -void prefs_register_p7(void); /* forwad declaration for use in preferences registration */ +void prefs_register_p7(void); /* forward declaration for use in preferences registration */ /* Initialize the protocol and registered fields */ @@ -68,6 +69,8 @@ static struct SESSION_DATA_STRUCTURE* session = NULL; static gint ett_p7 = -1; #include "packet-p7-ett.c" +#include "packet-p7-val.h" + #include "packet-p7-fn.c" /* @@ -125,47 +128,47 @@ dissect_p7(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree) break; case (ROS_OP_INVOKE | ROS_OP_ARGUMENT): /* Invoke Argument */ switch(session->ros_op & ROS_OP_OPCODE_MASK) { - case 3: /* msMessageSubmission */ + case op_ms_message_submission: /* msMessageSubmission */ p7_dissector = dissect_p7_MSMessageSubmissionArgument; p7_op_name = "MS-Message-Submission-Argument"; hf_p7_index = hf_p7_MSMessageSubmissionArgument_PDU; break; - case 4: /* msProbeSubmission */ + case op_ms_probe_submission: /* msProbeSubmission */ p7_dissector = dissect_p7_MSProbeSubmissionArgument; p7_op_name = "MS-Probe-Submission-Argument"; hf_p7_index = hf_p7_MSProbeSubmissionArgument_PDU; break; - case 20: /* summarize */ + case op_summarize: /* summarize */ p7_dissector = dissect_p7_SummarizeArgument; p7_op_name = "Summarize-Argument"; hf_p7_index = hf_p7_SummarizeArgument_PDU; break; - case 21: /* list */ + case op_list: /* list */ p7_dissector = dissect_p7_ListArgument; p7_op_name = "List-Argument"; hf_p7_index = hf_p7_ListArgument_PDU; break; - case 22: /* fetch */ + case op_fetch: /* fetch */ p7_dissector = dissect_p7_FetchArgument; p7_op_name = "Fetch-Argument"; hf_p7_index = hf_p7_FetchArgument_PDU; break; - case 23: /* delete */ + case op_delete: /* delete */ p7_dissector = dissect_p7_DeleteArgument; p7_op_name = "Delete-Argument"; hf_p7_index = hf_p7_DeleteArgument_PDU; break; - case 24: /* register-ms */ + case op_register_ms: /* register-ms */ p7_dissector = dissect_p7_Register_MSArgument; p7_op_name = "RegisterMS-Argument"; hf_p7_index = hf_p7_Register_MSArgument_PDU; break; - case 25: /* alert */ + case op_alert: /* alert */ p7_dissector = dissect_p7_AlertArgument; p7_op_name = "Alert-Argument"; hf_p7_index = hf_p7_AlertArgument_PDU; break; - case 26: /* modify */ + case op_modify: /* modify */ p7_dissector = dissect_p7_ModifyArgument; p7_op_name = "Modify-Argument"; hf_p7_index = hf_p7_ModifyArgument_PDU; @@ -178,46 +181,46 @@ dissect_p7(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree) break; case (ROS_OP_INVOKE | ROS_OP_RESULT): /* Return Result */ switch(session->ros_op & ROS_OP_OPCODE_MASK) { - case 3: /* msMessageSubmission */ + case op_ms_message_submission: /* msMessageSubmission */ p7_dissector = dissect_p7_MSMessageSubmissionResult; p7_op_name = "MS-Message-Submission-Result"; hf_p7_index = hf_p7_MSMessageSubmissionResult_PDU; break; - case 4: /* msProbeSubmission */ + case op_ms_probe_submission: /* msProbeSubmission */ p7_dissector = dissect_p7_MSProbeSubmissionResult; p7_op_name = "MS-Probe-Submission-Result"; hf_p7_index = hf_p7_MSProbeSubmissionResult_PDU; break; - case 20: /* summarize */ + case op_summarize: /* summarize */ p7_dissector = dissect_p7_SummarizeResult; p7_op_name = "Summarize-Result"; hf_p7_index = hf_p7_SummarizeResult_PDU; break; - case 21: /* list */ + case op_list: /* list */ p7_dissector = dissect_p7_ListResult; p7_op_name = "List-Result"; hf_p7_index = hf_p7_ListResult_PDU; break; - case 22: /* fetch */ + case op_fetch: /* fetch */ p7_dissector = dissect_p7_FetchResult; p7_op_name = "Fetch-Result"; hf_p7_index = hf_p7_FetchResult_PDU; break; - case 23: /* delete */ + case op_delete: /* delete */ p7_dissector = dissect_p7_DeleteResult; p7_op_name = "Delete-Result"; break; - case 24: /* register-ms */ + case op_register_ms: /* register-ms */ p7_dissector = dissect_p7_Register_MSResult; p7_op_name = "RegisterMS-Result"; hf_p7_index = hf_p7_Register_MSResult_PDU; break; - case 25: /* alert */ + case op_alert: /* alert */ p7_dissector = dissect_p7_AlertResult; p7_op_name = "Alert-Result"; hf_p7_index = hf_p7_AlertResult_PDU; break; - case 26: /* modify */ + case op_modify: /* modify */ p7_dissector = dissect_p7_ModifyResult; p7_op_name = "Modify-Result"; hf_p7_index = hf_p7_ModifyResult_PDU; @@ -230,70 +233,70 @@ dissect_p7(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree) break; case (ROS_OP_INVOKE | ROS_OP_ERROR): /* Return Error */ switch(session->ros_op & ROS_OP_OPCODE_MASK) { - case 21: /* attributeError */ + case err_attribute_error: /* attributeError */ p7_dissector = dissect_p7_AttributeErrorParameter; p7_op_name = "Attribute-Error"; hf_p7_index = hf_p7_AttributeErrorParameter_PDU; break; - case 22: /* autoActionRequestError */ + case err_auto_action_request_error: /* autoActionRequestError */ p7_dissector = dissect_p7_AutoActionRequestErrorParameter; p7_op_name = "Auto-Action-Request-Error"; hf_p7_index = hf_p7_AutoActionRequestErrorParameter_PDU; break; - case 23: /* deleteError */ + case err_delete_error: /* deleteError */ p7_dissector = dissect_p7_DeleteErrorParameter; p7_op_name = "Delete-Error"; hf_p7_index = hf_p7_DeleteErrorParameter_PDU; break; - case 24: /* fetchRestrictionError */ + case err_fetch_restriction_error: /* fetchRestrictionError */ p7_dissector = dissect_p7_FetchRestrictionErrorParameter; p7_op_name = "Fetch-Restriction-Error"; hf_p7_index = hf_p7_FetchRestrictionErrorParameter_PDU; break; - case 25: /* rangeError */ + case err_range_error: /* rangeError */ p7_dissector = dissect_p7_RangeErrorParameter; p7_op_name = "Range-Error"; hf_p7_index = hf_p7_RangeErrorParameter_PDU; break; - case 26: /* securityError */ + case err_security_error: /* securityError */ p7_dissector = dissect_x411_SecurityProblem; p7_op_name = "Security-Error"; break; - case 27: /* serviceError*/ + case err_service_error: /* serviceError*/ p7_dissector = dissect_p7_ServiceErrorParameter; p7_op_name = "Service-Error"; hf_p7_index = hf_p7_ServiceErrorParameter_PDU; break; - case 28: /* sequenceNumberError */ + case err_sequence_number_error: /* sequenceNumberError */ p7_dissector = dissect_p7_SequenceNumberErrorParameter; p7_op_name = "Sequence-Number-Error"; hf_p7_index = hf_p7_SequenceNumberErrorParameter_PDU; break; - case 29: /* invalidParametersError */ + case err_invalid_parameters_error: /* invalidParametersError */ p7_dissector = NULL; p7_op_name = "Invalid-Parameters-Error"; break; - case 30: /* messageGroupError */ + case err_message_group_error: /* messageGroupError */ p7_dissector = dissect_p7_MessageGroupErrorParameter; p7_op_name = "Message-Group-Error"; hf_p7_index = hf_p7_MessageGroupErrorParameter_PDU; break; - case 31: /* msExtensioError */ + case err_ms_extension_error: /* msExtensioError */ p7_dissector = dissect_p7_MSExtensionErrorParameter; p7_op_name = "MS-Extension-Error"; hf_p7_index = hf_p7_MSExtensionErrorParameter_PDU; break; - case 32: /* registerMSError */ + case err_register_ms_error: /* registerMSError */ p7_dissector = dissect_p7_RegisterMSErrorParameter; p7_op_name = "Register-MS-Error"; hf_p7_index = hf_p7_RegisterMSErrorParameter_PDU; break; - case 33: /* sequenceNumberError */ + case err_modify_error: /* modifyError */ p7_dissector = dissect_p7_ModifyErrorParameter; p7_op_name = "Modify-Error"; hf_p7_index = hf_p7_ModifyErrorParameter_PDU; break; - case 34: /* entryClassError */ + case err_entry_class_error: /* entryClassError */ p7_dissector = dissect_p7_EntryClassErrorParameter; p7_op_name = "Entry-Class-Error"; hf_p7_index = hf_p7_EntryClassErrorParameter_PDU; diff --git a/asn1/p7/packet-p7-template.h b/asn1/p7/packet-p7-template.h index 1b2fcfdeea..1b2fcfdeea 100755..100644 --- a/asn1/p7/packet-p7-template.h +++ b/asn1/p7/packet-p7-template.h diff --git a/asn1/x411/x411.asn b/asn1/x411/x411.asn index ff901e7743..a6a5812037 100644 --- a/asn1/x411/x411.asn +++ b/asn1/x411/x411.asn @@ -1739,18 +1739,18 @@ SupplementaryInformation ::= PrintableString(SIZE (1..ub-supplementary-info-length)) -- Extension Fields ---EXTENSION ::= CLASS { --- &id ExtensionType UNIQUE, --- &Type OPTIONAL, --- &absent &Type OPTIONAL, --- &recommended Criticality DEFAULT {} ---} ---WITH SYNTAX { --- [&Type --- [IF ABSENT &absent],] --- [RECOMMENDED CRITICALITY &recommended,] --- IDENTIFIED BY &id ---} +EXTENSION ::= CLASS { + &id ExtensionType UNIQUE, + &Type OPTIONAL, + &absent &Type OPTIONAL, + &recommended Criticality DEFAULT {} +} +WITH SYNTAX { + [&Type + [IF ABSENT &absent],] + [RECOMMENDED CRITICALITY &recommended,] + IDENTIFIED BY &id +} ExtensionType ::= CHOICE { standard-extension [0] StandardExtension --(0..ub-extension-types)--, diff --git a/asn1/x411/x411.cnf b/asn1/x411/x411.cnf index 30b6a6f747..c27af7ca90 100644 --- a/asn1/x411/x411.cnf +++ b/asn1/x411/x411.cnf @@ -8,9 +8,11 @@ Time TYPE = FT_STRING DISPLAY = BASE_NONE STRING = NULL BITMASK = 0 #.IMPORT ../x509af/x509af-exp.cnf #.EXPORTS +EXTENSION Content ContentIdentifier ContentLength +ContentType Credentials EncodedInformationTypes EncodedInformationTypesConstraints @@ -27,11 +29,15 @@ MessageSubmissionEnvelope MessageSubmissionIdentifier MessageSubmissionTime MessageToken +MTSOriginatorName ORAddress ORAddressAndOrDirectoryName ORName +OriginalEncodedInformationTypes OriginatingMTACertificate OtherMessageDeliveryFields +PerMessageIndicators +PerRecipientProbeSubmissionFields ProbeSubmissionEnvelope ProbeSubmissionIdentifier ProbeSubmissionTime @@ -47,6 +53,9 @@ UniversalOrBMPString NonDeliveryReasonCode NonDeliveryDiagnosticCode +# Forward declaration of Classes + + #.TYPE_RENAME MTABindArgument/authenticated AuthenticatedArgument MTABindResult/authenticated AuthenticatedResult @@ -253,6 +262,7 @@ ContentCorrelator B "2.6.4.3.3" "id-att-content-correlator" ContentIdentifier B "2.6.4.3.4" "id-att-content-identifier" ContentIntegrityCheck B "2.6.4.3.5" "id-att-content-inetgrity-check" ContentLength B "2.6.4.3.6" "id-att-content-length" +ExtendedContentType B "2.6.4.3.8" "id-att-content-type" ConversionWithLossProhibited B "2.6.4.3.9" "id-att-conversion-with-loss-prohibited" DeferredDeliveryTime B "2.6.4.3.51" "id-att-deferred-delivery-time" DeliveryFlags B "2.6.4.3.13" "id-att-delivery-flags" @@ -882,3 +892,4 @@ AddrTeletexString TeletexPersonalName/surname TeletexPersonalName/given-name Tel } #.END + diff --git a/epan/dissectors/packet-p7.c b/epan/dissectors/packet-p7.c index 89fc753d9e..d40959ab21 100755 --- a/epan/dissectors/packet-p7.c +++ b/epan/dissectors/packet-p7.c @@ -1,7 +1,7 @@ /* Do not modify this file. */ /* It is created automatically by the ASN.1 to Wireshark dissector compiler */ /* packet-p7.c */ -/* ../../tools/asn2wrs.py -b -e -X -T -p p7 -c p7.cnf -s packet-p7-template MSAbstractService.asn MSGeneralAttributeTypes.asn */ +/* ../../tools/asn2wrs.py -b -e -X -T -p p7 -c p7.cnf -s packet-p7-template MSAbstractService.asn MSGeneralAttributeTypes.asn MSAccessProtocol.asn */ /* Input file: packet-p7-template.c */ @@ -48,6 +48,7 @@ #include "packet-ber.h" #include "packet-acse.h" #include "packet-ros.h" +#include "packet-rtse.h" #include "packet-x411.h" #include <epan/strutil.h> @@ -62,7 +63,7 @@ static dissector_handle_t tpkt_handle = NULL; static const char *object_identifier_id = NULL; /* attribute identifier */ static int seqno = 0; -void prefs_register_p7(void); /* forwad declaration for use in preferences registration */ +void prefs_register_p7(void); /* forward declaration for use in preferences registration */ /* Initialize the protocol and registered fields */ @@ -295,7 +296,7 @@ static int hf_p7_message_group_name = -1; /* MessageGroupName */ static int hf_p7_message_group_descriptor = -1; /* GeneralString_SIZE_1_ub_group_descriptor_length */ static int hf_p7_registrations = -1; /* T_registrations */ static int hf_p7_extended_registrations = -1; /* T_extended_registrations */ -static int hf_p7_extended_registrations_item = -1; /* OBJECT_IDENTIFIER */ +static int hf_p7_extended_registrations_item = -1; /* T_extended_registrations_item */ static int hf_p7_restrict_message_groups = -1; /* MessageGroupsRestriction */ static int hf_p7_parent_group = -1; /* MessageGroupName */ static int hf_p7_immediate_descendants_only = -1; /* BOOLEAN */ @@ -344,7 +345,13 @@ static int hf_p7_extensions = -1; /* SET_OF_ExtensionField */ static int hf_p7_extensions_item = -1; /* ExtensionField */ static int hf_p7_ms_message_result = -1; /* CommonSubmissionResults */ static int hf_p7_store_draft_result = -1; /* CommonSubmissionResults */ -static int hf_p7_probe_submission_envelope = -1; /* ProbeSubmissionEnvelope */ +static int hf_p7_originator_name = -1; /* MTSOriginatorName */ +static int hf_p7_original_encoded_information_types = -1; /* OriginalEncodedInformationTypes */ +static int hf_p7_content_type = -1; /* ContentType */ +static int hf_p7_content_length = -1; /* ContentLength */ +static int hf_p7_per_message_indicators = -1; /* PerMessageIndicators */ +static int hf_p7_per_recipient_fields = -1; /* SEQUENCE_OF_PerRecipientProbeSubmissionFields */ +static int hf_p7_per_recipient_fields_item = -1; /* PerRecipientProbeSubmissionFields */ static int hf_p7_probe_submission_identifier = -1; /* ProbeSubmissionIdentifier */ static int hf_p7_probe_submission_time = -1; /* ProbeSubmissionTime */ static int hf_p7_ms_probe_result = -1; /* CommonSubmissionResults */ @@ -364,7 +371,7 @@ static int hf_p7_fetch_restriction_error_problems = -1; /* FetchRestrictionErro static int hf_p7_fetch_restriction_error_problem_item = -1; /* FetchRestrictionErrorProblem */ static int hf_p7_fetch_restriction_problem = -1; /* FetchRestrictionProblem */ static int hf_p7_restriction = -1; /* T_restriction */ -static int hf_p7_content_type = -1; /* OBJECT_IDENTIFIER */ +static int hf_p7_extended_content_type = -1; /* OBJECT_IDENTIFIER */ static int hf_p7_eit = -1; /* MS_EITs */ static int hf_p7_attribute_length = -1; /* INTEGER */ static int hf_p7_range_problem = -1; /* RangeProblem */ @@ -405,6 +412,15 @@ static int hf_p7_message_token = -1; /* SignatureStatus */ static int hf_p7_report_origin_authentication_check = -1; /* SignatureStatus */ static int hf_p7_proof_of_delivery = -1; /* SignatureStatus */ static int hf_p7_proof_of_submission = -1; /* SignatureStatus */ +static int hf_p7_rtorq_apdu = -1; /* RTORQapdu */ +static int hf_p7_rtoac_apdu = -1; /* RTOACapdu */ +static int hf_p7_rtorj_apdu = -1; /* RTORJapdu */ +static int hf_p7_rttp_apdu = -1; /* RTTPapdu */ +static int hf_p7_rttr_apdu = -1; /* RTTRapdu */ +static int hf_p7_rtab_apdu = -1; /* RTABapdu */ +static int hf_p7_abortReason = -1; /* AbortReason */ +static int hf_p7_reflectedParameter = -1; /* BIT_STRING */ +static int hf_p7_userdataAB = -1; /* T_userdataAB */ /* named bits */ static int hf_p7_OverrideRestrictions_override_content_types_restriction = -1; static int hf_p7_OverrideRestrictions_override_EITs_restriction = -1; @@ -420,7 +436,7 @@ static int hf_p7_T_entry_class_problem_entry_class_not_subscribed = -1; static int hf_p7_T_entry_class_problem_inappropriate_entry_class = -1; /*--- End of included file: packet-p7-hf.c ---*/ -#line 66 "packet-p7-template.c" +#line 67 "packet-p7-template.c" /* Initialize the subtree pointers */ static gint ett_p7 = -1; @@ -527,6 +543,7 @@ static gint ett_p7_MSMessageSubmissionResult = -1; static gint ett_p7_T_mts_result = -1; static gint ett_p7_SET_OF_ExtensionField = -1; static gint ett_p7_MSProbeSubmissionArgument = -1; +static gint ett_p7_SEQUENCE_OF_PerRecipientProbeSubmissionFields = -1; static gint ett_p7_MSProbeSubmissionResult = -1; static gint ett_p7_AttributeErrorParameter = -1; static gint ett_p7_AttributeErrorProblems = -1; @@ -557,9 +574,43 @@ static gint ett_p7_SEQUENCE_OF_PerRecipientReport = -1; static gint ett_p7_PerRecipientReport = -1; static gint ett_p7_SubmissionError = -1; static gint ett_p7_SignatureVerificationStatus = -1; +static gint ett_p7_RTSE_apdus = -1; +static gint ett_p7_RTABapdu = -1; /*--- End of included file: packet-p7-ett.c ---*/ -#line 70 "packet-p7-template.c" +#line 71 "packet-p7-template.c" + + +/*--- Included file: packet-p7-val.h ---*/ +#line 1 "packet-p7-val.h" +#define op_ms_submission_control 2 +#define op_ms_message_submission 3 +#define op_ms_probe_submission 4 +#define op_ms_cancel_deferred_delivery 7 +#define op_summarize 20 +#define op_list 21 +#define op_fetch 22 +#define op_delete 23 +#define op_register_ms 24 +#define op_alert 25 +#define op_modify 26 +#define err_attribute_error 21 +#define err_auto_action_request_error 22 +#define err_delete_error 23 +#define err_fetch_restriction_error 24 +#define err_range_error 25 +#define err_security_error 26 +#define err_service_error 27 +#define err_sequence_number_error 28 +#define err_invalid_parameters_error 29 +#define err_message_group_error 30 +#define err_ms_extension_error 31 +#define err_register_ms_error 32 +#define err_modify_error 33 +#define err_entry_class_error 34 + +/*--- End of included file: packet-p7-val.h ---*/ +#line 73 "packet-p7-template.c" /*--- Included file: packet-p7-fn.c ---*/ @@ -584,7 +635,7 @@ dissect_p7_AttributeType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offse static int dissect_p7_AttributeItem(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 209 "p7.cnf" +#line 332 "p7.cnf" if(object_identifier_id) call_ber_oid_callback(object_identifier_id, tvb, offset, actx->pinfo, tree); @@ -644,12 +695,13 @@ dissect_p7_INTEGER_1_ub_per_auto_action(gboolean implicit_tag _U_, tvbuff_t *tvb static int dissect_p7_T_registration_parameter(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 247 "p7.cnf" +#line 366 "p7.cnf" if(object_identifier_id) call_ber_oid_callback(object_identifier_id, tvb, offset, actx->pinfo, tree); + return offset; } @@ -673,7 +725,11 @@ dissect_p7_AutoActionRegistration(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, static int dissect_p7_T_error_code(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_ber_object_identifier_str(implicit_tag, actx, tree, tvb, offset, hf_index, &object_identifier_id); +#line 371 "p7.cnf" + /* XXX: Is this really the best way to do this? */ + offset = dissect_ros_Code(implicit_tag, tvb, offset, actx, tree, hf_index); + + return offset; } @@ -682,7 +738,7 @@ dissect_p7_T_error_code(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset static int dissect_p7_T_error_parameter(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 253 "p7.cnf" +#line 384 "p7.cnf" if(object_identifier_id) call_ber_oid_callback(object_identifier_id, tvb, offset, actx->pinfo, tree); @@ -826,7 +882,7 @@ dissect_p7_MessageGroupName(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int of static int dissect_p7_T_initiator_name(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 257 "p7.cnf" +#line 393 "p7.cnf" char *ora = NULL; offset = dissect_x411_ORAddressAndOrDirectoryName(implicit_tag, tvb, offset, actx, tree, hf_index); @@ -1207,7 +1263,7 @@ static int dissect_p7_T_from_number(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_p7_SequenceNumber(implicit_tag, tvb, offset, actx, tree, hf_index); -#line 277 "p7.cnf" +#line 413 "p7.cnf" if (check_col(actx->pinfo->cinfo, COL_INFO)) { col_append_fstr(actx->pinfo->cinfo, COL_INFO, " from %d", seqno); } @@ -1222,7 +1278,7 @@ static int dissect_p7_T_to_number(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_p7_SequenceNumber(implicit_tag, tvb, offset, actx, tree, hf_index); -#line 282 "p7.cnf" +#line 418 "p7.cnf" if (check_col(actx->pinfo->cinfo, COL_INFO)) { col_append_fstr(actx->pinfo->cinfo, COL_INFO, " to %d", seqno); } @@ -1240,7 +1296,7 @@ static const ber_sequence_t NumberRange_sequence[] = { static int dissect_p7_NumberRange(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 268 "p7.cnf" +#line 404 "p7.cnf" if (check_col(actx->pinfo->cinfo, COL_INFO)) { col_append_fstr(actx->pinfo->cinfo, COL_INFO, " (range="); } @@ -1308,7 +1364,7 @@ dissect_p7_Range(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, a static int dissect_p7_T_attribute_value(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 213 "p7.cnf" +#line 336 "p7.cnf" if(object_identifier_id) call_ber_oid_callback(object_identifier_id, tvb, offset, actx->pinfo, tree); @@ -1336,7 +1392,7 @@ dissect_p7_AttributeValueAssertion(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, static int dissect_p7_T_initial(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 217 "p7.cnf" +#line 340 "p7.cnf" if(object_identifier_id) call_ber_oid_callback(object_identifier_id, tvb, offset, actx->pinfo, tree); @@ -1349,7 +1405,7 @@ dissect_p7_T_initial(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U static int dissect_p7_T_any(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 221 "p7.cnf" +#line 344 "p7.cnf" if(object_identifier_id) call_ber_oid_callback(object_identifier_id, tvb, offset, actx->pinfo, tree); @@ -1362,7 +1418,7 @@ dissect_p7_T_any(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, a static int dissect_p7_T_final(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 225 "p7.cnf" +#line 348 "p7.cnf" if(object_identifier_id) call_ber_oid_callback(object_identifier_id, tvb, offset, actx->pinfo, tree); @@ -1427,7 +1483,7 @@ dissect_p7_T_substrings(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset static int dissect_p7_T_match_value(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 229 "p7.cnf" +#line 352 "p7.cnf" if(object_identifier_id) call_ber_oid_callback(object_identifier_id, tvb, offset, actx->pinfo, tree); @@ -1763,7 +1819,7 @@ dissect_p7_SummarizeArgument(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int o static int dissect_p7_T_count(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 289 "p7.cnf" +#line 425 "p7.cnf" int count = 0; offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, @@ -1775,7 +1831,6 @@ dissect_p7_T_count(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, } - return offset; } @@ -1799,7 +1854,7 @@ dissect_p7_Span(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, as static int dissect_p7_SummaryPresentItemValue(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 233 "p7.cnf" +#line 356 "p7.cnf" if(object_identifier_id) call_ber_oid_callback(object_identifier_id, tvb, offset, actx->pinfo, tree); @@ -2283,8 +2338,21 @@ dissect_p7_T_registrations(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int off } + +static int +dissect_p7_T_extended_registrations_item(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 375 "p7.cnf" + /* XXX: Is this really the best way to do this? */ + offset = dissect_ber_object_identifier_str(implicit_tag, actx, tree, tvb, offset, hf_index, &object_identifier_id); + + + + return offset; +} + + static const ber_sequence_t T_extended_registrations_set_of[1] = { - { &hf_p7_extended_registrations_item, BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_p7_OBJECT_IDENTIFIER }, + { &hf_p7_extended_registrations_item, BER_CLASS_ANY, 0, BER_FLAGS_NOOWNTAG, dissect_p7_T_extended_registrations_item }, }; static int @@ -2506,7 +2574,7 @@ dissect_p7_T_entries(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U static int dissect_p7_OrderedAttributeValue(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 237 "p7.cnf" +#line 360 "p7.cnf" if(object_identifier_id) call_ber_oid_callback(object_identifier_id, tvb, offset, actx->pinfo, tree); @@ -2714,8 +2782,28 @@ dissect_p7_MSMessageSubmissionResult(gboolean implicit_tag _U_, tvbuff_t *tvb _U } +static const ber_sequence_t SEQUENCE_OF_PerRecipientProbeSubmissionFields_sequence_of[1] = { + { &hf_p7_per_recipient_fields_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_x411_PerRecipientProbeSubmissionFields }, +}; + +static int +dissect_p7_SEQUENCE_OF_PerRecipientProbeSubmissionFields(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset, + SEQUENCE_OF_PerRecipientProbeSubmissionFields_sequence_of, hf_index, ett_p7_SEQUENCE_OF_PerRecipientProbeSubmissionFields); + + return offset; +} + + static const ber_sequence_t MSProbeSubmissionArgument_set[] = { - { &hf_p7_probe_submission_envelope, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_x411_ProbeSubmissionEnvelope }, + { &hf_p7_originator_name , BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_x411_MTSOriginatorName }, + { &hf_p7_original_encoded_information_types, BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x411_OriginalEncodedInformationTypes }, + { &hf_p7_content_type , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_x411_ContentType }, + { &hf_p7_content_identifier, BER_CLASS_APP, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x411_ContentIdentifier }, + { &hf_p7_content_length , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_x411_ContentLength }, + { &hf_p7_per_message_indicators, BER_CLASS_APP, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x411_PerMessageIndicators }, + { &hf_p7_extensions , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_p7_SET_OF_ExtensionField }, + { &hf_p7_per_recipient_fields, BER_CLASS_CON, 3, 0, dissect_p7_SEQUENCE_OF_PerRecipientProbeSubmissionFields }, { &hf_p7_submission_options, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL, dissect_p7_MSSubmissionOptions }, { NULL, 0, 0, 0, NULL } }; @@ -2731,7 +2819,7 @@ dissect_p7_MSProbeSubmissionArgument(gboolean implicit_tag _U_, tvbuff_t *tvb _U static const ber_sequence_t MSProbeSubmissionResult_set[] = { { &hf_p7_probe_submission_identifier, BER_CLASS_APP, 4, BER_FLAGS_NOOWNTAG, dissect_x411_ProbeSubmissionIdentifier }, - { &hf_p7_probe_submission_time, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x411_ProbeSubmissionTime }, + { &hf_p7_probe_submission_time, BER_CLASS_CON, 0, 0, dissect_x411_ProbeSubmissionTime }, { &hf_p7_content_identifier, BER_CLASS_APP, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x411_ContentIdentifier }, { &hf_p7_extensions , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_p7_SET_OF_ExtensionField }, { &hf_p7_ms_probe_result , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL, dissect_p7_CommonSubmissionResults }, @@ -2771,12 +2859,13 @@ dissect_p7_AttributeProblem(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int of static int dissect_p7_AttributeErrorProblemValue(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 241 "p7.cnf" +#line 388 "p7.cnf" if(object_identifier_id) call_ber_oid_callback(object_identifier_id, tvb, offset, actx->pinfo, tree); + return offset; } @@ -2970,7 +3059,7 @@ static const value_string p7_T_restriction_vals[] = { }; static const ber_choice_t T_restriction_choice[] = { - { 0, &hf_p7_content_type , BER_CLASS_CON, 0, 0, dissect_p7_OBJECT_IDENTIFIER }, + { 0, &hf_p7_extended_content_type, BER_CLASS_CON, 0, 0, dissect_p7_OBJECT_IDENTIFIER }, { 1, &hf_p7_eit , BER_CLASS_CON, 1, 0, dissect_p7_MS_EITs }, { 2, &hf_p7_attribute_length , BER_CLASS_CON, 2, 0, dissect_p7_INTEGER }, { 0, NULL, 0, 0, 0, NULL } @@ -3512,6 +3601,106 @@ dissect_p7_StorageTime(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset return offset; } + + +static int +dissect_p7_RTTPapdu(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + + +static int +dissect_p7_RTTRapdu(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + +static const value_string p7_AbortReason_vals[] = { + { 0, "localSystemProblem" }, + { 1, "invalidParameter" }, + { 2, "unrecognizedActivity" }, + { 3, "temporaryProblem" }, + { 4, "protocolError" }, + { 5, "permanentProblem" }, + { 6, "userError" }, + { 7, "transferCompleted" }, + { 0, NULL } +}; + + +static int +dissect_p7_AbortReason(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + + +static int +dissect_p7_T_userdataAB(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 379 "p7.cnf" + offset = dissect_unknown_ber(actx->pinfo, tvb, offset, tree); + + + + return offset; +} + + +static const ber_sequence_t RTABapdu_set[] = { + { &hf_p7_abortReason , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p7_AbortReason }, + { &hf_p7_reflectedParameter, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_p7_BIT_STRING }, + { &hf_p7_userdataAB , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_p7_T_userdataAB }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p7_RTABapdu(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset, + RTABapdu_set, hf_index, ett_p7_RTABapdu); + + return offset; +} + + +static const value_string p7_RTSE_apdus_vals[] = { + { 0, "rtorq-apdu" }, + { 1, "rtoac-apdu" }, + { 2, "rtorj-apdu" }, + { 3, "rttp-apdu" }, + { 4, "rttr-apdu" }, + { 5, "rtab-apdu" }, + { 0, NULL } +}; + +static const ber_choice_t RTSE_apdus_choice[] = { + { 0, &hf_p7_rtorq_apdu , BER_CLASS_CON, 16, BER_FLAGS_IMPLTAG, dissect_rtse_RTORQapdu }, + { 1, &hf_p7_rtoac_apdu , BER_CLASS_CON, 17, BER_FLAGS_IMPLTAG, dissect_rtse_RTOACapdu }, + { 2, &hf_p7_rtorj_apdu , BER_CLASS_CON, 18, BER_FLAGS_IMPLTAG, dissect_rtse_RTORJapdu }, + { 3, &hf_p7_rttp_apdu , BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_p7_RTTPapdu }, + { 4, &hf_p7_rttr_apdu , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_p7_RTTRapdu }, + { 5, &hf_p7_rtab_apdu , BER_CLASS_CON, 22, BER_FLAGS_IMPLTAG, dissect_p7_RTABapdu }, + { 0, NULL, 0, 0, 0, NULL } +}; + +static int +dissect_p7_RTSE_apdus(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_choice(actx, tree, tvb, offset, + RTSE_apdus_choice, hf_index, ett_p7_RTSE_apdus, + NULL); + + return offset; +} + /*--- PDUs ---*/ static void dissect_AutoActionType_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { @@ -3767,7 +3956,7 @@ static void dissect_StorageTime_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, p /*--- End of included file: packet-p7-fn.c ---*/ -#line 72 "packet-p7-template.c" +#line 75 "packet-p7-template.c" /* * Dissect P7 PDUs inside a ROS PDUs @@ -3824,47 +4013,47 @@ dissect_p7(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree) break; case (ROS_OP_INVOKE | ROS_OP_ARGUMENT): /* Invoke Argument */ switch(session->ros_op & ROS_OP_OPCODE_MASK) { - case 3: /* msMessageSubmission */ + case op_ms_message_submission: /* msMessageSubmission */ p7_dissector = dissect_p7_MSMessageSubmissionArgument; p7_op_name = "MS-Message-Submission-Argument"; hf_p7_index = hf_p7_MSMessageSubmissionArgument_PDU; break; - case 4: /* msProbeSubmission */ + case op_ms_probe_submission: /* msProbeSubmission */ p7_dissector = dissect_p7_MSProbeSubmissionArgument; p7_op_name = "MS-Probe-Submission-Argument"; hf_p7_index = hf_p7_MSProbeSubmissionArgument_PDU; break; - case 20: /* summarize */ + case op_summarize: /* summarize */ p7_dissector = dissect_p7_SummarizeArgument; p7_op_name = "Summarize-Argument"; hf_p7_index = hf_p7_SummarizeArgument_PDU; break; - case 21: /* list */ + case op_list: /* list */ p7_dissector = dissect_p7_ListArgument; p7_op_name = "List-Argument"; hf_p7_index = hf_p7_ListArgument_PDU; break; - case 22: /* fetch */ + case op_fetch: /* fetch */ p7_dissector = dissect_p7_FetchArgument; p7_op_name = "Fetch-Argument"; hf_p7_index = hf_p7_FetchArgument_PDU; break; - case 23: /* delete */ + case op_delete: /* delete */ p7_dissector = dissect_p7_DeleteArgument; p7_op_name = "Delete-Argument"; hf_p7_index = hf_p7_DeleteArgument_PDU; break; - case 24: /* register-ms */ + case op_register_ms: /* register-ms */ p7_dissector = dissect_p7_Register_MSArgument; p7_op_name = "RegisterMS-Argument"; hf_p7_index = hf_p7_Register_MSArgument_PDU; break; - case 25: /* alert */ + case op_alert: /* alert */ p7_dissector = dissect_p7_AlertArgument; p7_op_name = "Alert-Argument"; hf_p7_index = hf_p7_AlertArgument_PDU; break; - case 26: /* modify */ + case op_modify: /* modify */ p7_dissector = dissect_p7_ModifyArgument; p7_op_name = "Modify-Argument"; hf_p7_index = hf_p7_ModifyArgument_PDU; @@ -3877,46 +4066,46 @@ dissect_p7(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree) break; case (ROS_OP_INVOKE | ROS_OP_RESULT): /* Return Result */ switch(session->ros_op & ROS_OP_OPCODE_MASK) { - case 3: /* msMessageSubmission */ + case op_ms_message_submission: /* msMessageSubmission */ p7_dissector = dissect_p7_MSMessageSubmissionResult; p7_op_name = "MS-Message-Submission-Result"; hf_p7_index = hf_p7_MSMessageSubmissionResult_PDU; break; - case 4: /* msProbeSubmission */ + case op_ms_probe_submission: /* msProbeSubmission */ p7_dissector = dissect_p7_MSProbeSubmissionResult; p7_op_name = "MS-Probe-Submission-Result"; hf_p7_index = hf_p7_MSProbeSubmissionResult_PDU; break; - case 20: /* summarize */ + case op_summarize: /* summarize */ p7_dissector = dissect_p7_SummarizeResult; p7_op_name = "Summarize-Result"; hf_p7_index = hf_p7_SummarizeResult_PDU; break; - case 21: /* list */ + case op_list: /* list */ p7_dissector = dissect_p7_ListResult; p7_op_name = "List-Result"; hf_p7_index = hf_p7_ListResult_PDU; break; - case 22: /* fetch */ + case op_fetch: /* fetch */ p7_dissector = dissect_p7_FetchResult; p7_op_name = "Fetch-Result"; hf_p7_index = hf_p7_FetchResult_PDU; break; - case 23: /* delete */ + case op_delete: /* delete */ p7_dissector = dissect_p7_DeleteResult; p7_op_name = "Delete-Result"; break; - case 24: /* register-ms */ + case op_register_ms: /* register-ms */ p7_dissector = dissect_p7_Register_MSResult; p7_op_name = "RegisterMS-Result"; hf_p7_index = hf_p7_Register_MSResult_PDU; break; - case 25: /* alert */ + case op_alert: /* alert */ p7_dissector = dissect_p7_AlertResult; p7_op_name = "Alert-Result"; hf_p7_index = hf_p7_AlertResult_PDU; break; - case 26: /* modify */ + case op_modify: /* modify */ p7_dissector = dissect_p7_ModifyResult; p7_op_name = "Modify-Result"; hf_p7_index = hf_p7_ModifyResult_PDU; @@ -3929,70 +4118,70 @@ dissect_p7(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree) break; case (ROS_OP_INVOKE | ROS_OP_ERROR): /* Return Error */ switch(session->ros_op & ROS_OP_OPCODE_MASK) { - case 21: /* attributeError */ + case err_attribute_error: /* attributeError */ p7_dissector = dissect_p7_AttributeErrorParameter; p7_op_name = "Attribute-Error"; hf_p7_index = hf_p7_AttributeErrorParameter_PDU; break; - case 22: /* autoActionRequestError */ + case err_auto_action_request_error: /* autoActionRequestError */ p7_dissector = dissect_p7_AutoActionRequestErrorParameter; p7_op_name = "Auto-Action-Request-Error"; hf_p7_index = hf_p7_AutoActionRequestErrorParameter_PDU; break; - case 23: /* deleteError */ + case err_delete_error: /* deleteError */ p7_dissector = dissect_p7_DeleteErrorParameter; p7_op_name = "Delete-Error"; hf_p7_index = hf_p7_DeleteErrorParameter_PDU; break; - case 24: /* fetchRestrictionError */ + case err_fetch_restriction_error: /* fetchRestrictionError */ p7_dissector = dissect_p7_FetchRestrictionErrorParameter; p7_op_name = "Fetch-Restriction-Error"; hf_p7_index = hf_p7_FetchRestrictionErrorParameter_PDU; break; - case 25: /* rangeError */ + case err_range_error: /* rangeError */ p7_dissector = dissect_p7_RangeErrorParameter; p7_op_name = "Range-Error"; hf_p7_index = hf_p7_RangeErrorParameter_PDU; break; - case 26: /* securityError */ + case err_security_error: /* securityError */ p7_dissector = dissect_x411_SecurityProblem; p7_op_name = "Security-Error"; break; - case 27: /* serviceError*/ + case err_service_error: /* serviceError*/ p7_dissector = dissect_p7_ServiceErrorParameter; p7_op_name = "Service-Error"; hf_p7_index = hf_p7_ServiceErrorParameter_PDU; break; - case 28: /* sequenceNumberError */ + case err_sequence_number_error: /* sequenceNumberError */ p7_dissector = dissect_p7_SequenceNumberErrorParameter; p7_op_name = "Sequence-Number-Error"; hf_p7_index = hf_p7_SequenceNumberErrorParameter_PDU; break; - case 29: /* invalidParametersError */ + case err_invalid_parameters_error: /* invalidParametersError */ p7_dissector = NULL; p7_op_name = "Invalid-Parameters-Error"; break; - case 30: /* messageGroupError */ + case err_message_group_error: /* messageGroupError */ p7_dissector = dissect_p7_MessageGroupErrorParameter; p7_op_name = "Message-Group-Error"; hf_p7_index = hf_p7_MessageGroupErrorParameter_PDU; break; - case 31: /* msExtensioError */ + case err_ms_extension_error: /* msExtensioError */ p7_dissector = dissect_p7_MSExtensionErrorParameter; p7_op_name = "MS-Extension-Error"; hf_p7_index = hf_p7_MSExtensionErrorParameter_PDU; break; - case 32: /* registerMSError */ + case err_register_ms_error: /* registerMSError */ p7_dissector = dissect_p7_RegisterMSErrorParameter; p7_op_name = "Register-MS-Error"; hf_p7_index = hf_p7_RegisterMSErrorParameter_PDU; break; - case 33: /* sequenceNumberError */ + case err_modify_error: /* modifyError */ p7_dissector = dissect_p7_ModifyErrorParameter; p7_op_name = "Modify-Error"; hf_p7_index = hf_p7_ModifyErrorParameter_PDU; break; - case 34: /* entryClassError */ + case err_entry_class_error: /* entryClassError */ p7_dissector = dissect_p7_EntryClassErrorParameter; p7_op_name = "Entry-Class-Error"; hf_p7_index = hf_p7_EntryClassErrorParameter_PDU; @@ -4260,7 +4449,7 @@ void proto_register_p7(void) { "p7.T_registration_parameter", HFILL }}, { &hf_p7_error_code, { "error-code", "p7.error_code", - FT_OID, BASE_NONE, NULL, 0, + FT_NONE, BASE_NONE, NULL, 0, "p7.T_error_code", HFILL }}, { &hf_p7_error_parameter, { "error-parameter", "p7.error_parameter", @@ -4924,8 +5113,8 @@ void proto_register_p7(void) { "p7.T_extended_registrations", HFILL }}, { &hf_p7_extended_registrations_item, { "Item", "p7.extended_registrations_item", - FT_OID, BASE_NONE, NULL, 0, - "p7.OBJECT_IDENTIFIER", HFILL }}, + FT_NONE, BASE_NONE, NULL, 0, + "p7.T_extended_registrations_item", HFILL }}, { &hf_p7_restrict_message_groups, { "restrict-message-groups", "p7.restrict_message_groups", FT_NONE, BASE_NONE, NULL, 0, @@ -5118,10 +5307,34 @@ void proto_register_p7(void) { { "store-draft-result", "p7.store_draft_result", FT_NONE, BASE_NONE, NULL, 0, "p7.CommonSubmissionResults", HFILL }}, - { &hf_p7_probe_submission_envelope, - { "probe-submission-envelope", "p7.probe_submission_envelope", + { &hf_p7_originator_name, + { "originator-name", "p7.originator_name", + FT_NONE, BASE_NONE, NULL, 0, + "x411.MTSOriginatorName", HFILL }}, + { &hf_p7_original_encoded_information_types, + { "original-encoded-information-types", "p7.original_encoded_information_types", FT_NONE, BASE_NONE, NULL, 0, - "x411.ProbeSubmissionEnvelope", HFILL }}, + "x411.OriginalEncodedInformationTypes", HFILL }}, + { &hf_p7_content_type, + { "content-type", "p7.content_type", + FT_UINT32, BASE_DEC, VALS(x411_ContentType_vals), 0, + "x411.ContentType", HFILL }}, + { &hf_p7_content_length, + { "content-length", "p7.content_length", + FT_UINT32, BASE_DEC, NULL, 0, + "x411.ContentLength", HFILL }}, + { &hf_p7_per_message_indicators, + { "per-message-indicators", "p7.per_message_indicators", + FT_BYTES, BASE_HEX, NULL, 0, + "x411.PerMessageIndicators", HFILL }}, + { &hf_p7_per_recipient_fields, + { "per-recipient-fields", "p7.per_recipient_fields", + FT_UINT32, BASE_DEC, NULL, 0, + "p7.SEQUENCE_OF_PerRecipientProbeSubmissionFields", HFILL }}, + { &hf_p7_per_recipient_fields_item, + { "Item", "p7.per_recipient_fields_item", + FT_NONE, BASE_NONE, NULL, 0, + "x411.PerRecipientProbeSubmissionFields", HFILL }}, { &hf_p7_probe_submission_identifier, { "probe-submission-identifier", "p7.probe_submission_identifier", FT_NONE, BASE_NONE, NULL, 0, @@ -5198,7 +5411,7 @@ void proto_register_p7(void) { { "restriction", "p7.restriction", FT_UINT32, BASE_DEC, VALS(p7_T_restriction_vals), 0, "p7.T_restriction", HFILL }}, - { &hf_p7_content_type, + { &hf_p7_extended_content_type, { "content-type", "p7.content_type", FT_OID, BASE_NONE, NULL, 0, "p7.OBJECT_IDENTIFIER", HFILL }}, @@ -5300,7 +5513,7 @@ void proto_register_p7(void) { "p7.NULL", HFILL }}, { &hf_p7_recipient_improperly_specified, { "recipient-improperly-specified", "p7.recipient_improperly_specified", - FT_NONE, BASE_NONE, NULL, 0, + FT_UINT32, BASE_DEC, NULL, 0, "x411.ImproperlySpecifiedRecipients", HFILL }}, { &hf_p7_element_of_service_not_subscribed, { "element-of-service-not-subscribed", "p7.element_of_service_not_subscribed", @@ -5362,6 +5575,42 @@ void proto_register_p7(void) { { "proof-of-submission", "p7.proof_of_submission", FT_INT32, BASE_DEC, VALS(p7_SignatureStatus_vals), 0, "p7.SignatureStatus", HFILL }}, + { &hf_p7_rtorq_apdu, + { "rtorq-apdu", "p7.rtorq_apdu", + FT_NONE, BASE_NONE, NULL, 0, + "rtse.RTORQapdu", HFILL }}, + { &hf_p7_rtoac_apdu, + { "rtoac-apdu", "p7.rtoac_apdu", + FT_NONE, BASE_NONE, NULL, 0, + "rtse.RTOACapdu", HFILL }}, + { &hf_p7_rtorj_apdu, + { "rtorj-apdu", "p7.rtorj_apdu", + FT_NONE, BASE_NONE, NULL, 0, + "rtse.RTORJapdu", HFILL }}, + { &hf_p7_rttp_apdu, + { "rttp-apdu", "p7.rttp_apdu", + FT_INT32, BASE_DEC, NULL, 0, + "p7.RTTPapdu", HFILL }}, + { &hf_p7_rttr_apdu, + { "rttr-apdu", "p7.rttr_apdu", + FT_BYTES, BASE_HEX, NULL, 0, + "p7.RTTRapdu", HFILL }}, + { &hf_p7_rtab_apdu, + { "rtab-apdu", "p7.rtab_apdu", + FT_NONE, BASE_NONE, NULL, 0, + "p7.RTABapdu", HFILL }}, + { &hf_p7_abortReason, + { "abortReason", "p7.abortReason", + FT_INT32, BASE_DEC, VALS(p7_AbortReason_vals), 0, + "p7.AbortReason", HFILL }}, + { &hf_p7_reflectedParameter, + { "reflectedParameter", "p7.reflectedParameter", + FT_BYTES, BASE_HEX, NULL, 0, + "p7.BIT_STRING", HFILL }}, + { &hf_p7_userdataAB, + { "userdataAB", "p7.userdataAB", + FT_NONE, BASE_NONE, NULL, 0, + "p7.T_userdataAB", HFILL }}, { &hf_p7_OverrideRestrictions_override_content_types_restriction, { "override-content-types-restriction", "p7.override-content-types-restriction", FT_BOOLEAN, 8, NULL, 0x80, @@ -5412,7 +5661,7 @@ void proto_register_p7(void) { "", HFILL }}, /*--- End of included file: packet-p7-hfarr.c ---*/ -#line 336 "packet-p7-template.c" +#line 339 "packet-p7-template.c" }; /* List of subtrees */ @@ -5521,6 +5770,7 @@ void proto_register_p7(void) { &ett_p7_T_mts_result, &ett_p7_SET_OF_ExtensionField, &ett_p7_MSProbeSubmissionArgument, + &ett_p7_SEQUENCE_OF_PerRecipientProbeSubmissionFields, &ett_p7_MSProbeSubmissionResult, &ett_p7_AttributeErrorParameter, &ett_p7_AttributeErrorProblems, @@ -5551,9 +5801,11 @@ void proto_register_p7(void) { &ett_p7_PerRecipientReport, &ett_p7_SubmissionError, &ett_p7_SignatureVerificationStatus, + &ett_p7_RTSE_apdus, + &ett_p7_RTABapdu, /*--- End of included file: packet-p7-ettarr.c ---*/ -#line 342 "packet-p7-template.c" +#line 345 "packet-p7-template.c" }; module_t *p7_module; diff --git a/epan/dissectors/packet-p7.h b/epan/dissectors/packet-p7.h index d034c1ce19..c066b13664 100755 --- a/epan/dissectors/packet-p7.h +++ b/epan/dissectors/packet-p7.h @@ -1,7 +1,7 @@ /* Do not modify this file. */ /* It is created automatically by the ASN.1 to Wireshark dissector compiler */ /* packet-p7.h */ -/* ../../tools/asn2wrs.py -b -e -X -T -p p7 -c p7.cnf -s packet-p7-template MSAbstractService.asn MSGeneralAttributeTypes.asn */ +/* ../../tools/asn2wrs.py -b -e -X -T -p p7 -c p7.cnf -s packet-p7-template MSAbstractService.asn MSGeneralAttributeTypes.asn MSAccessProtocol.asn */ /* Input file: packet-p7-template.h */ diff --git a/epan/dissectors/packet-x411.c b/epan/dissectors/packet-x411.c index 169356e06f..a1bfa075af 100644 --- a/epan/dissectors/packet-x411.c +++ b/epan/dissectors/packet-x411.c @@ -800,7 +800,7 @@ dissect_x411_NULL(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, static int dissect_x411_MTAName(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 456 "x411.cnf" +#line 466 "x411.cnf" tvbuff_t *mtaname = NULL; offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_IA5String, @@ -881,7 +881,7 @@ dissect_x411_TokenTypeIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, i static int dissect_x411_TokenTypeData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 804 "x411.cnf" +#line 814 "x411.cnf" if(object_identifier_id) call_ber_oid_callback(object_identifier_id, tvb, offset, actx->pinfo, tree); @@ -994,7 +994,7 @@ static const ber_choice_t Credentials_choice[] = { int dissect_x411_Credentials(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 812 "x411.cnf" +#line 822 "x411.cnf" gint credentials = -1; offset = dissect_ber_choice(actx, tree, tvb, offset, @@ -1075,7 +1075,7 @@ dissect_x411_OBJECT_IDENTIFIER(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int static int dissect_x411_CategoryValue(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 346 "x411.cnf" +#line 356 "x411.cnf" offset = dissect_unknown_ber(actx->pinfo, tvb, offset, tree); @@ -1239,7 +1239,7 @@ static const value_string x411_MTABindError_vals[] = { static int dissect_x411_MTABindError(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 795 "x411.cnf" +#line 805 "x411.cnf" int error = -1; offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, &error); @@ -1256,7 +1256,7 @@ dissect_x411_MTABindError(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offs static int dissect_x411_AddrNumericString(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 567 "x411.cnf" +#line 577 "x411.cnf" tvbuff_t *nstring = NULL; offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_NumericString, @@ -1276,7 +1276,7 @@ dissect_x411_AddrNumericString(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int static int dissect_x411_AddrPrintableString(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 556 "x411.cnf" +#line 566 "x411.cnf" tvbuff_t *nstring = NULL; offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString, @@ -1318,7 +1318,7 @@ dissect_x411_CountryName_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int off static int dissect_x411_CountryName(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 373 "x411.cnf" +#line 383 "x411.cnf" if(doing_address) g_strlcat(oraddress, "/C=", MAX_ORA_STR_LEN); @@ -1358,7 +1358,7 @@ dissect_x411_AdministrationDomainName_U(gboolean implicit_tag _U_, tvbuff_t *tvb static int dissect_x411_AdministrationDomainName(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 380 "x411.cnf" +#line 390 "x411.cnf" if(doing_address) g_strlcat(oraddress, "/A=", MAX_ORA_STR_LEN); @@ -1387,7 +1387,7 @@ static const ber_choice_t PrivateDomainIdentifier_choice[] = { static int dissect_x411_PrivateDomainIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 507 "x411.cnf" +#line 517 "x411.cnf" if(doing_address) g_strlcat(oraddress, "/P=", MAX_ORA_STR_LEN); @@ -1422,7 +1422,7 @@ dissect_x411_GlobalDomainIdentifier_U(gboolean implicit_tag _U_, tvbuff_t *tvb _ static int dissect_x411_GlobalDomainIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 675 "x411.cnf" +#line 685 "x411.cnf" oraddress = ep_alloc(MAX_ORA_STR_LEN); oraddress[0] = '\0'; address_item = tree; @@ -1449,7 +1449,7 @@ dissect_x411_GlobalDomainIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb _U_ static int dissect_x411_LocalIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 694 "x411.cnf" +#line 704 "x411.cnf" tvbuff_t *id = NULL; offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_IA5String, @@ -1489,7 +1489,7 @@ dissect_x411_MTSIdentifier_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int o static int dissect_x411_MTSIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 707 "x411.cnf" +#line 717 "x411.cnf" doing_address = TRUE; @@ -1515,7 +1515,7 @@ dissect_x411_MTSIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int off static int dissect_x411_MessageIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 669 "x411.cnf" +#line 679 "x411.cnf" address_item = NULL; @@ -1531,7 +1531,7 @@ dissect_x411_MessageIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int static int dissect_x411_X121Address(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 476 "x411.cnf" +#line 486 "x411.cnf" tvbuff_t *string = NULL; offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_NumericString, @@ -1563,7 +1563,7 @@ dissect_x411_NetworkAddress(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int of static int dissect_x411_TerminalIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 490 "x411.cnf" +#line 500 "x411.cnf" tvbuff_t *string = NULL; offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString, @@ -1596,7 +1596,7 @@ static const ber_choice_t PrivateDomainName_choice[] = { static int dissect_x411_PrivateDomainName(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 500 "x411.cnf" +#line 510 "x411.cnf" if(doing_address) g_strlcat(oraddress, "/P=", MAX_ORA_STR_LEN); @@ -1615,7 +1615,7 @@ dissect_x411_PrivateDomainName(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int static int dissect_x411_OrganizationName(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 517 "x411.cnf" +#line 527 "x411.cnf" tvbuff_t *string = NULL; offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString, @@ -1648,7 +1648,7 @@ dissect_x411_NumericUserIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, static int dissect_x411_T_printable_surname(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 587 "x411.cnf" +#line 597 "x411.cnf" tvbuff_t *pstring = NULL; offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString, @@ -1669,7 +1669,7 @@ dissect_x411_T_printable_surname(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, i static int dissect_x411_T_printable_given_name(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 596 "x411.cnf" +#line 606 "x411.cnf" tvbuff_t *pstring = NULL; offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString, @@ -1690,7 +1690,7 @@ dissect_x411_T_printable_given_name(gboolean implicit_tag _U_, tvbuff_t *tvb _U_ static int dissect_x411_T_printable_initials(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 605 "x411.cnf" +#line 615 "x411.cnf" tvbuff_t *pstring = NULL; offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString, @@ -1711,7 +1711,7 @@ dissect_x411_T_printable_initials(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, static int dissect_x411_T_printable_generation_qualifier(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 614 "x411.cnf" +#line 624 "x411.cnf" tvbuff_t *pstring = NULL; offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString, @@ -1750,7 +1750,7 @@ dissect_x411_PersonalName(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offs static int dissect_x411_OrganizationalUnitName(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 530 "x411.cnf" +#line 540 "x411.cnf" tvbuff_t *string = NULL; offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString, @@ -1797,7 +1797,7 @@ static const ber_sequence_t BuiltInStandardAttributes_sequence[] = { static int dissect_x411_BuiltInStandardAttributes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 731 "x411.cnf" +#line 741 "x411.cnf" address_item = tree; @@ -1814,7 +1814,7 @@ dissect_x411_BuiltInStandardAttributes(gboolean implicit_tag _U_, tvbuff_t *tvb static int dissect_x411_T_printable_type(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 624 "x411.cnf" +#line 634 "x411.cnf" tvbuff_t *pstring = NULL; offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString, @@ -1835,7 +1835,7 @@ dissect_x411_T_printable_type(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int static int dissect_x411_T_printable_value(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 633 "x411.cnf" +#line 643 "x411.cnf" tvbuff_t *pstring = NULL; offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString, @@ -1939,7 +1939,7 @@ dissect_x411_ExtensionAttributeType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_ static int dissect_x411_T_extension_attribute_value(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 353 "x411.cnf" +#line 363 "x411.cnf" proto_item_append_text(tree, " (%s)", val_to_str(extension_id, x411_ExtensionAttributeType_vals, "extension-attribute-type %d")); if (dissector_try_port(x411_extension_attribute_dissector_table, extension_id, tvb, actx->pinfo, tree)) { @@ -2010,7 +2010,7 @@ dissect_x411_ORName_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _ int dissect_x411_ORName(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 656 "x411.cnf" +#line 666 "x411.cnf" oraddress = ep_alloc(MAX_ORA_STR_LEN); oraddress[0] = '\0'; address_item = NULL; @@ -2189,7 +2189,7 @@ dissect_x411_EncodedInformationTypes(gboolean implicit_tag _U_, tvbuff_t *tvb _U -static int +int dissect_x411_OriginalEncodedInformationTypes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_x411_EncodedInformationTypes(implicit_tag, tvb, offset, actx, tree, hf_index); @@ -2210,7 +2210,7 @@ static const value_string x411_BuiltInContentType_U_vals[] = { static int dissect_x411_BuiltInContentType_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 413 "x411.cnf" +#line 423 "x411.cnf" static guint32 ict = -1; offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, @@ -2249,7 +2249,7 @@ dissect_x411_BuiltInContentType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, in int dissect_x411_ExtendedContentType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 398 "x411.cnf" +#line 408 "x411.cnf" const char *name = NULL; offset = dissect_ber_object_identifier_str(implicit_tag, actx, tree, tvb, offset, hf_index, &content_type_id); @@ -2269,7 +2269,7 @@ dissect_x411_ExtendedContentType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, i } -static const value_string x411_ContentType_vals[] = { +const value_string x411_ContentType_vals[] = { { 0, "built-in" }, { 1, "extended" }, { 0, NULL } @@ -2281,7 +2281,7 @@ static const ber_choice_t ContentType_choice[] = { { 0, NULL, 0, 0, 0, NULL } }; -static int +int dissect_x411_ContentType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_choice(actx, tree, tvb, offset, ContentType_choice, hf_index, ett_x411_ContentType, @@ -2362,7 +2362,7 @@ dissect_x411_PerMessageIndicators_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_ -static int +int dissect_x411_PerMessageIndicators(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset, hf_index, BER_CLASS_APP, 8, TRUE, dissect_x411_PerMessageIndicators_U); @@ -2374,7 +2374,7 @@ dissect_x411_PerMessageIndicators(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, static int dissect_x411_Time(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 774 "x411.cnf" +#line 784 "x411.cnf" tvbuff_t *arrival = NULL; offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_UTCTime, @@ -2440,7 +2440,7 @@ dissect_x411_T_bilateral_domain(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, in static int dissect_x411_T_bilateral_information(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 842 "x411.cnf" +#line 852 "x411.cnf" proto_item *item = NULL; int loffset = 0; guint32 len = 0; @@ -2508,7 +2508,7 @@ static const value_string x411_RoutingAction_vals[] = { static int dissect_x411_RoutingAction(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 785 "x411.cnf" +#line 795 "x411.cnf" int action = 0; offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, @@ -2569,7 +2569,7 @@ static const ber_sequence_t DomainSuppliedInformation_set[] = { static int dissect_x411_DomainSuppliedInformation(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 753 "x411.cnf" +#line 763 "x411.cnf" doing_address = FALSE; @@ -2594,7 +2594,7 @@ static const ber_sequence_t TraceInformationElement_sequence[] = { static int dissect_x411_TraceInformationElement(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 737 "x411.cnf" +#line 747 "x411.cnf" doing_address = TRUE; @@ -2695,7 +2695,7 @@ dissect_x411_StandardExtension(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int static int dissect_x411_T_private_extension(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 390 "x411.cnf" +#line 400 "x411.cnf" offset = dissect_ber_object_identifier_str(implicit_tag, actx, tree, tvb, offset, hf_index, &object_identifier_id); @@ -2749,7 +2749,7 @@ dissect_x411_Criticality(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offse static int dissect_x411_ExtensionValue(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 322 "x411.cnf" +#line 332 "x411.cnf" const char *name; if(extension_id != -1) { @@ -2932,7 +2932,7 @@ dissect_x411_MessageTransferEnvelope(gboolean implicit_tag _U_, tvbuff_t *tvb _U int dissect_x411_Content(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 431 "x411.cnf" +#line 441 "x411.cnf" tvbuff_t *next_tvb; /* we can do this now constructed octet strings are supported */ @@ -3040,7 +3040,7 @@ dissect_x411_SubjectIntermediateTraceInformation(gboolean implicit_tag _U_, tvbu static int dissect_x411_AdditionalInformation(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 304 "x411.cnf" +#line 314 "x411.cnf" proto_item *item = NULL; int loffset = 0; guint32 len = 0; @@ -3260,7 +3260,7 @@ static const ber_choice_t ReportType_choice[] = { static int dissect_x411_ReportType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 874 "x411.cnf" +#line 884 "x411.cnf" gint report = -1; offset = dissect_ber_choice(actx, tree, tvb, offset, @@ -3485,7 +3485,7 @@ static const ber_choice_t MTS_APDU_choice[] = { static int dissect_x411_MTS_APDU(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 860 "x411.cnf" +#line 870 "x411.cnf" gint apdu = -1; offset = dissect_ber_choice(actx, tree, tvb, offset, @@ -3548,7 +3548,7 @@ static const ber_sequence_t MTASuppliedInformation_set[] = { static int dissect_x411_MTASuppliedInformation(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 762 "x411.cnf" +#line 772 "x411.cnf" doing_address = FALSE; @@ -3574,7 +3574,7 @@ static const ber_sequence_t InternalTraceInformationElement_sequence[] = { static int dissect_x411_InternalTraceInformationElement(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 745 "x411.cnf" +#line 755 "x411.cnf" doing_address = TRUE; @@ -3732,7 +3732,7 @@ dissect_x411_ORAddressAndOrDirectoryName(gboolean implicit_tag _U_, tvbuff_t *tv -static int +int dissect_x411_MTSOriginatorName(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_x411_ORAddressAndOrDirectoryName(implicit_tag, tvb, offset, actx, tree, hf_index); @@ -3875,7 +3875,7 @@ static const ber_sequence_t PerRecipientProbeSubmissionFields_set[] = { { NULL, 0, 0, 0, NULL } }; -static int +int dissect_x411_PerRecipientProbeSubmissionFields(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset, PerRecipientProbeSubmissionFields_set, hf_index, ett_x411_PerRecipientProbeSubmissionFields); @@ -4535,7 +4535,7 @@ dissect_x411_RefusedArgument(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int o static int dissect_x411_T_refused_extension(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 370 "x411.cnf" +#line 380 "x411.cnf" /*XXX not implemented yet */ @@ -4916,7 +4916,7 @@ dissect_x411_T_standard_parameters(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, static int dissect_x411_T_type_extensions_item(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 319 "x411.cnf" +#line 329 "x411.cnf" /*XXX not implemented yet */ @@ -5264,7 +5264,7 @@ static const ber_sequence_t ORAddress_sequence[] = { int dissect_x411_ORAddress(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 643 "x411.cnf" +#line 653 "x411.cnf" oraddress = ep_alloc(MAX_ORA_STR_LEN); oraddress[0] = '\0'; doing_address = TRUE; @@ -5791,7 +5791,7 @@ dissect_x411_CertificateSelectors(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, static int dissect_x411_CommonName(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 543 "x411.cnf" +#line 553 "x411.cnf" tvbuff_t *string = NULL; offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString, @@ -5912,7 +5912,7 @@ dissect_x411_UniversalOrganizationName(gboolean implicit_tag _U_, tvbuff_t *tvb static int dissect_x411_AddrTeletexString(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 578 "x411.cnf" +#line 588 "x411.cnf" tvbuff_t *tstring = NULL; offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_TeletexString, @@ -6471,7 +6471,7 @@ static const ber_sequence_t MTANameAndOptionalGDI_sequence[] = { static int dissect_x411_MTANameAndOptionalGDI(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 722 "x411.cnf" +#line 732 "x411.cnf" doing_address = TRUE; @@ -6531,7 +6531,7 @@ dissect_x411_TokenDataType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int off static int dissect_x411_T_value(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 826 "x411.cnf" +#line 836 "x411.cnf" proto_item_append_text(tree, " (%s)", val_to_str(extension_id, x411_TokenDataType_vals, "tokendata-type %d")); if (dissector_try_port(x411_tokendata_dissector_table, extension_id, tvb, actx->pinfo, tree)) { @@ -9565,6 +9565,7 @@ void proto_reg_handoff_x411(void) { register_ber_oid_dissector("2.6.4.3.4", dissect_ContentIdentifier_PDU, proto_x411, "id-att-content-identifier"); register_ber_oid_dissector("2.6.4.3.5", dissect_ContentIntegrityCheck_PDU, proto_x411, "id-att-content-inetgrity-check"); register_ber_oid_dissector("2.6.4.3.6", dissect_ContentLength_PDU, proto_x411, "id-att-content-length"); + register_ber_oid_dissector("2.6.4.3.8", dissect_ExtendedContentType_PDU, proto_x411, "id-att-content-type"); register_ber_oid_dissector("2.6.4.3.9", dissect_ConversionWithLossProhibited_PDU, proto_x411, "id-att-conversion-with-loss-prohibited"); register_ber_oid_dissector("2.6.4.3.51", dissect_DeferredDeliveryTime_PDU, proto_x411, "id-att-deferred-delivery-time"); register_ber_oid_dissector("2.6.4.3.13", dissect_DeliveryFlags_PDU, proto_x411, "id-att-delivery-flags"); diff --git a/epan/dissectors/packet-x411.h b/epan/dissectors/packet-x411.h index 13f485ec20..b7b3da2716 100644 --- a/epan/dissectors/packet-x411.h +++ b/epan/dissectors/packet-x411.h @@ -41,6 +41,7 @@ void dissect_x411_mts_apdu (tvbuff_t *tvb, packet_info *pinfo, proto_tree *paren #line 1 "packet-x411-exp.h" extern const value_string x411_Credentials_vals[]; extern const value_string x411_SecurityProblem_vals[]; +extern const value_string x411_ContentType_vals[]; extern const value_string x411_NonDeliveryReasonCode_vals[]; extern const value_string x411_NonDeliveryDiagnosticCode_vals[]; int dissect_x411_InitiatorCredentials(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); @@ -56,9 +57,14 @@ int dissect_x411_ProbeSubmissionTime(gboolean implicit_tag _U_, tvbuff_t *tvb _U int dissect_x411_EncodedInformationTypesConstraints(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); int dissect_x411_MessageSubmissionEnvelope(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); int dissect_x411_ProbeSubmissionEnvelope(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); +int dissect_x411_PerRecipientProbeSubmissionFields(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); int dissect_x411_OtherMessageDeliveryFields(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); +int dissect_x411_MTSOriginatorName(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); +int dissect_x411_OriginalEncodedInformationTypes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); +int dissect_x411_ContentType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); int dissect_x411_ExtendedContentType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); int dissect_x411_ContentIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); +int dissect_x411_PerMessageIndicators(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); int dissect_x411_ContentLength(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); int dissect_x411_MessageDeliveryIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); int dissect_x411_MessageDeliveryTime(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_); |