Changes suggested/provided by Anders so that fewer changes are required to the ASN...
authorgal <gal@f5534014-38df-0310-8fa8-9805f1628bb7>
Sun, 25 Nov 2007 17:46:42 +0000 (17:46 +0000)
committergal <gal@f5534014-38df-0310-8fa8-9805f1628bb7>
Sun, 25 Nov 2007 17:46:42 +0000 (17:46 +0000)
Also includes the MSAccessProtocol.asn to generate defines for the operation numbers.

git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@23586 f5534014-38df-0310-8fa8-9805f1628bb7

13 files changed:
asn1/p7/MSAbstractService.asn [changed mode: 0755->0644]
asn1/p7/MSAccessProtocol.asn [new file with mode: 0644]
asn1/p7/MSGeneralAttributeTypes.asn [changed mode: 0755->0644]
asn1/p7/Makefile.common
asn1/p7/p7.cnf
asn1/p7/packet-p7-template.c
asn1/p7/packet-p7-template.h [changed mode: 0755->0644]
asn1/x411/x411.asn
asn1/x411/x411.cnf
epan/dissectors/packet-p7.c
epan/dissectors/packet-p7.h
epan/dissectors/packet-x411.c
epan/dissectors/packet-x411.h

old mode 100755 (executable)
new mode 100644 (file)
index 7877b0f..3f7d6e1
@@ -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 (file)
index 0000000..b7ac4c6
--- /dev/null
@@ -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
+
old mode 100755 (executable)
new mode 100644 (file)
index 36c3cd93f96b2cd71c3f8d2c887cac9ea25d3a46..99668de5d0188931b4940b193d31ae5c4e3779e1 100644 (file)
@@ -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))
+
index 4f45aa49be5e0f7ba91f01dc9baeed85b70a7e5d..713eee78d1799f71183fcedd008c14d27932b9e1 100644 (file)
@@ -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
index 44cf92bb82c3ddd5001cc31c7b668f4fcbcda701..2e565e255a9a8dbfccf225c88ba5a9b3059d6dc3 100644 (file)
@@ -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;
old mode 100755 (executable)
new mode 100644 (file)
index ff901e7743e44710338039c3c8a74bf915d03d90..a6a5812037f4094654abcc58134f918d13487c30 100644 (file)
@@ -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)--,
index 30b6a6f74765b22996f1c21eb9db335ce8439859..c27af7ca9063f687f6f499a6d81ddbb32bd15063 100644 (file)
@@ -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
+
index 89fc753d9efbac95673797dde787eb6547b59422..d40959ab21e7fe84c0382508a1be6b09ec0b25e0 100755 (executable)
@@ -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;
 
index d034c1ce1984ca4b96dd57a3e51907fe8ba7fdde..c066b13664bb4098f215065c3bafefc91d4df4c4 100755 (executable)
@@ -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 */
 
index 169356e06fa0f2a9302907f10009b81a7a36b3e8..a1bfa075afaa0b631d4f451bb3fbba257ee9a1fc 100644 (file)
@@ -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");
index 13f485ec208b71fa75414aac4328ea65444cf76a..b7b3da2716d4fdd470959b0227315bb631f75852 100644 (file)
@@ -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_);