aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGraeme Lunt <graeme.lunt@smhs.co.uk>2007-11-25 17:46:42 +0000
committerGraeme Lunt <graeme.lunt@smhs.co.uk>2007-11-25 17:46:42 +0000
commita7dec11ce68d16bcaeb4f869a13ddd3f2aa767ea (patch)
treed483bb639b309bd347d9eb704fd55f7c6f48b2f6
parentf9ca33580fccdb4afa940e749a070f2de8d8cd56 (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.asn575
-rw-r--r--asn1/p7/MSAccessProtocol.asn258
-rw-r--r--[-rwxr-xr-x]asn1/p7/MSGeneralAttributeTypes.asn0
-rw-r--r--asn1/p7/Makefile.common13
-rw-r--r--asn1/p7/p7.cnf180
-rw-r--r--asn1/p7/packet-p7-template.c69
-rw-r--r--[-rwxr-xr-x]asn1/p7/packet-p7-template.h0
-rw-r--r--asn1/x411/x411.asn24
-rw-r--r--asn1/x411/x411.cnf11
-rwxr-xr-xepan/dissectors/packet-p7.c396
-rwxr-xr-xepan/dissectors/packet-p7.h2
-rw-r--r--epan/dissectors/packet-x411.c113
-rw-r--r--epan/dissectors/packet-x411.h6
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
+&parameterTypeOptional 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_);