diff options
author | João Valverde <joao.valverde@tecnico.ulisboa.pt> | 2016-03-09 03:17:51 +0000 |
---|---|---|
committer | João Valverde <j@v6e.pt> | 2016-03-13 21:30:24 +0000 |
commit | 54a520d4a1151c68d0b4e5f09a8d82466fa499f3 (patch) | |
tree | 7aacae160382098ce651ac862a5dfd5de4beff94 /epan/dissectors/asn1/acse/acse.asn | |
parent | c1f3c935bdd33090c87f0d2f84842ce9729b747a (diff) |
Move /asn1 to /epan/dissectors
Change-Id: I1208fe3c2ba428995526f561e8f792b8d871e9a9
Reviewed-on: https://code.wireshark.org/review/14388
Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com>
Petri-Dish: Pascal Quantin <pascal.quantin@gmail.com>
Reviewed-by: João Valverde <j@v6e.pt>
Diffstat (limited to 'epan/dissectors/asn1/acse/acse.asn')
-rw-r--r-- | epan/dissectors/asn1/acse/acse.asn | 435 |
1 files changed, 435 insertions, 0 deletions
diff --git a/epan/dissectors/asn1/acse/acse.asn b/epan/dissectors/asn1/acse/acse.asn new file mode 100644 index 0000000000..968026d1eb --- /dev/null +++ b/epan/dissectors/asn1/acse/acse.asn @@ -0,0 +1,435 @@ +-- ACSE definition from +-- http://www.itu.int/ITU-T/asn1/database/itu-t/x/x227bis/1998/ACSE-1.html +-- and modified to pass through asn2wrs +-- +-- +-- Module ACSE-1 (X.227bis:09/1998) +ACSE-1 {joint-iso-itu-t association-control(2) modules(0) acse1(1) version1(1)} +-- ACSE-1 refers to ACSE version 1 +DEFINITIONS ::= +BEGIN + +IMPORTS + Name, RelativeDistinguishedName + FROM InformationFramework {joint-iso-itu-t ds(5) module(1) + informationFramework(1) 3}; + +-- The data types Name and RelativeDistinguishedName are imported from +-- ITU-T Rec. X.501 | ISO/IEC 9594-2. + + +-- Workaround for bug in asn2wrs in the .cnf file +-- to handle the lack of support for tagged assignments. +-- remove that workaround once asn2wrs learns how to handle +-- tagged assignments. +EXTERNALt ::= [UNIVERSAL 8] IMPLICIT SEQUENCE + { + direct-reference OBJECT IDENTIFIER OPTIONAL, + indirect-reference INTEGER OPTIONAL, + data-value-descriptor ObjectDescriptor OPTIONAL, + encoding CHOICE + {single-ASN1-type [0] ANY, + octet-aligned [1] IMPLICIT OCTET STRING, + arbitrary [2] IMPLICIT BIT STRING} + } + +-- object identifier assignments +acse-as-id OBJECT IDENTIFIER ::= + {joint-iso-itu-t association-control(2) abstract-syntax(1) apdus(0) + version1(1)} + +-- may be used to reference the abstract syntax of the ACSE APDUs. +aCSE-id OBJECT IDENTIFIER ::= + {joint-iso-itu-t association-control(2) ase-id(3) acse-ase(1) version(1)} + +-- may be used to identify the Association Control ASE. +-- top level CHOICE +ACSE-apdu ::= CHOICE { +--asn2wrs bug +-- aarq AARQ-apdu, + aarq [APPLICATION 0] IMPLICIT AARQ-apdu, +--asn2wrs bug +-- aare AARE-apdu, + aare [APPLICATION 1] IMPLICIT AARE-apdu, +--asn2wrs bug +-- rlrq RLRQ-apdu, + rlrq [APPLICATION 2] IMPLICIT RLRQ-apdu, +--asn2wrs bug +-- rlre RLRE-apdu, + rlre [APPLICATION 3] IMPLICIT RLRE-apdu, +--asn2wrs bug +-- abrt ABRT-apdu, + abrt [APPLICATION 4] IMPLICIT ABRT-apdu, + ..., + -- Extensions for higher level association FU +--asn2wrs bug +-- adt A-DT-apdu, + adt [APPLICATION 5] IMPLICIT A-DT-apdu, +--asn2wrs bug +-- acrq ACRQ-apdu, + acrq [APPLICATION 6] IMPLICIT ACRQ-apdu, +--asn2wrs bug +-- acrp ACRP-apdu + acrp [APPLICATION 7] IMPLICIT ACRP-apdu +} + +AARQ-apdu ::= [APPLICATION 0] IMPLICIT SEQUENCE { + protocol-version + [0] IMPLICIT BIT STRING {version1(0)} DEFAULT {version1}, + aSO-context-name [1] ASO-context-name, + called-AP-title [2] AP-title OPTIONAL, + called-AE-qualifier [3] AE-qualifier OPTIONAL, + called-AP-invocation-identifier [4] AP-invocation-identifier OPTIONAL, + called-AE-invocation-identifier [5] AE-invocation-identifier OPTIONAL, + calling-AP-title [6] AP-title OPTIONAL, + calling-AE-qualifier [7] AE-qualifier OPTIONAL, + calling-AP-invocation-identifier [8] AP-invocation-identifier OPTIONAL, + calling-AE-invocation-identifier [9] AE-invocation-identifier OPTIONAL, + -- The following field shall not be present if only the Kernel is used. + sender-acse-requirements [10] IMPLICIT ACSE-requirements OPTIONAL, + -- The following field shall only be present if the Authentication functional unit is selected. + mechanism-name [11] IMPLICIT Mechanism-name OPTIONAL, + -- The following field shall only be present if the Authentication functional unit is selected. + calling-authentication-value [12] EXPLICIT Authentication-value OPTIONAL, + aSO-context-name-list + [13] IMPLICIT ASO-context-name-list OPTIONAL, + -- The above field shall only be present if the Application Context Negotiation functional unit is selected. + implementation-information [29] IMPLICIT Implementation-data OPTIONAL, + ..., + -- Extensions for higher level association FU + p-context-definition-list [14] Syntactic-context-list OPTIONAL, + called-asoi-tag [15] IMPLICIT ASOI-tag OPTIONAL, + calling-asoi-tag [16] IMPLICIT ASOI-tag OPTIONAL, + -- End of extensions for higher level association FU +-- ..., + user-information [30] IMPLICIT Association-data OPTIONAL +} + +AARE-apdu ::= [APPLICATION 1] IMPLICIT SEQUENCE { + protocol-version + [0] IMPLICIT BIT STRING {version1(0)} DEFAULT {version1}, + aSO-context-name [1] ASO-context-name, + result [2] Associate-result, + result-source-diagnostic [3] Associate-source-diagnostic, + responding-AP-title [4] AP-title OPTIONAL, + responding-AE-qualifier [5] AE-qualifier OPTIONAL, + responding-AP-invocation-identifier [6] AP-invocation-identifier OPTIONAL, + responding-AE-invocation-identifier [7] AE-invocation-identifier OPTIONAL, + -- The following field shall not be present if only the Kernel is used. + responder-acse-requirements [8] IMPLICIT ACSE-requirements OPTIONAL, + -- The following field shall only be present if the Authentication functional unit is selected. + mechanism-name [9] IMPLICIT Mechanism-name OPTIONAL, + -- This following field shall only be present if the Authentication functional unit is selected. + responding-authentication-value + [10] EXPLICIT Authentication-value OPTIONAL, + aSO-context-name-list + [11] IMPLICIT ASO-context-name-list OPTIONAL, + -- The above field shall only be present if the Application Context Negotiation functional unit is selected. + implementation-information + [29] IMPLICIT Implementation-data OPTIONAL, + ..., + -- Extensions for higher level association FU + p-context-result-list + [12] IMPLICIT P-context-result-list OPTIONAL, + called-asoi-tag [13] IMPLICIT ASOI-tag OPTIONAL, + calling-asoi-tag [14] IMPLICIT ASOI-tag OPTIONAL, + -- End of extensions for higher level association FU +-- ..., + user-information [30] IMPLICIT Association-data OPTIONAL +} + +RLRQ-apdu ::= [APPLICATION 2] IMPLICIT SEQUENCE { + reason [0] IMPLICIT Release-request-reason OPTIONAL, + ..., + -- Extensions for higher level association FU + aso-qualifier [13] ASO-qualifier OPTIONAL, + asoi-identifier [14] IMPLICIT ASOI-identifier OPTIONAL, + -- End of extensions for higher level association FU +-- ..., + user-information [30] IMPLICIT Association-data OPTIONAL +} + +RLRE-apdu ::= [APPLICATION 3] IMPLICIT SEQUENCE { + reason [0] IMPLICIT Release-response-reason OPTIONAL, + ..., + -- Extensions for higher level association FU + aso-qualifier [13] ASO-qualifier OPTIONAL, + asoi-identifier [14] IMPLICIT ASOI-identifier OPTIONAL, + -- End of extensions for higher level association FU +-- ..., + user-information [30] IMPLICIT Association-data OPTIONAL +} + +ABRT-apdu ::= [APPLICATION 4] IMPLICIT SEQUENCE { + abort-source [0] IMPLICIT ABRT-source, + abort-diagnostic [1] IMPLICIT ABRT-diagnostic OPTIONAL, + -- This field shall not be present if only the Kernel is used. + ..., + -- Extensions for higher level association FU + aso-qualifier [13] ASO-qualifier OPTIONAL, + asoi-identifier [14] IMPLICIT ASOI-identifier OPTIONAL, + -- End of extensions for higher level association FU +-- ..., + user-information [30] IMPLICIT Association-data OPTIONAL +} + +A-DT-apdu ::= [APPLICATION 5] IMPLICIT SEQUENCE { + aso-qualifier [0] ASO-qualifier OPTIONAL, + asoi-identifier [1] IMPLICIT ASOI-identifier OPTIONAL, + ..., +-- ..., + a-user-data [30] User-Data +} + +ACRQ-apdu ::= [APPLICATION 6] IMPLICIT SEQUENCE { + aso-qualifier [0] ASO-qualifier OPTIONAL, + asoi-identifier [1] IMPLICIT ASOI-identifier OPTIONAL, + aSO-context-name [3] IMPLICIT ASO-context-name OPTIONAL, + aSO-context-name-list [4] IMPLICIT ASO-context-name-list OPTIONAL, + p-context-definition-list [5] Syntactic-context-list OPTIONAL, + ..., +-- ..., + user-information [30] IMPLICIT User-information OPTIONAL +} + +ACRP-apdu ::= [APPLICATION 7] IMPLICIT SEQUENCE { + aso-qualifier [0] ASO-qualifier OPTIONAL, + asoi-identifier [1] IMPLICIT ASOI-identifier OPTIONAL, + -- originally defined as ASO-context-name-list, but this has to be wrong + -- aSO-context-name [3] IMPLICIT ASO-context-name-list OPTIONAL, + aSO-context-name [3] IMPLICIT ASO-context-name OPTIONAL, + p-context-result-list [4] IMPLICIT P-context-result-list OPTIONAL, + ..., +-- ..., + user-information [30] IMPLICIT User-information OPTIONAL +} + +ABRT-diagnostic ::= ENUMERATED { + no-reason-given(1), protocol-error(2), + authentication-mechanism-name-not-recognized(3), + authentication-mechanism-name-required(4), authentication-failure(5), + authentication-required(6), ... + } + +ABRT-source ::= INTEGER {service-user(0), service-provider(1) +}(0..1, ...) + +ACSE-requirements ::= BIT STRING { + authentication(0), aSO-context-negotiation(1), higher-level-association(2), + nested-association(3)} + +Application-context-name ::= ASO-context-name + +ASO-context-name ::= OBJECT IDENTIFIER + +-- Application-entity title productions follow (not in alphabetical order). +AP-title ::= CHOICE { + ap-title-form1 AP-title-form1, + ap-title-form2 AP-title-form2, + ..., + ap-title-form3 AP-title-form3 +} + +AE-qualifier ::= ASO-qualifier + +ASO-qualifier ::= CHOICE { + aso-qualifier-form1 ASO-qualifier-form1, + aso-qualifier-form2 ASO-qualifier-form2, + ..., + aso-qualifier-form3 ASO-qualifier-form3, +-- an alternative used by some systems from the days when ASO-qualifier +-- was an ANY + aso-qualifier-form-any-octets ASO-qualifier-form-octets +} + +-- When both AP-title and AE-qualifier data values are present in an AARQ or AARE APDU, both must +-- have the same form to allow the construction of an AE-title as discussed in itu-t Rec. X.665 | +-- ISO/IEC 9834-6 +AP-title-form1 ::= + Name + +-- The value assigned to AP-title-form1 is The Directory Name of an application-process title. +ASO-qualifier-form1 ::= + RelativeDistinguishedName + +-- The value assigned to AE-qualifier-form1 is the relative distinguished name of a particular +-- application-entity of the application-process identified by AP-title-form1. +AP-title-form2 ::= OBJECT IDENTIFIER + +ASO-qualifier-form2 ::= INTEGER + +AP-title-form3 ::= PrintableString + +ASO-qualifier-form3 ::= PrintableString + +ASO-qualifier-form-octets ::= OCTET STRING + +AE-title ::= CHOICE { + ae-title-form1 AE-title-form1, + ae-title-form2 AE-title-form2, + ... +} + +-- As defined in ITU-T Rec. X.650 | ISO/IEC 7498-3, an application-entity title is composed of an application process +-- title and an application-entity qualifier. The ACSE protocol provides for the transfer of an application-entity title +-- value by the transfer of its component values. However, the following data type is provided for International +-- Standards that reference a single syntactic structure for AE titles. +AE-title-form1 ::= + Name + +-- For access to The Directory (see ITU-T Rec. X.500 series | ISO/IEC 9594), an AE title has AE-title-form1. This value +-- can be constructed from AP-title-form1 and AE-qualifier-form1 values contained in an AARQ or AARE APDU. +-- A discussion of forming an AE-title-form1 from AP-title-form1 and AE-qualifier form1 may be found in itu-t +-- Rec X.665 | ISO/IEC 9834-6. +AE-title-form2 ::= OBJECT IDENTIFIER + +-- A discussion of forming an AE-title-form2 from AP-title-form2 and AE-qualifier-form2 may be found in +-- itu-t Rec. X.665 | ISO/IEC 9834-6. +AE-invocation-identifier ::= INTEGER + +AP-invocation-identifier ::= INTEGER + +ASOI-identifier ::= INTEGER(1..128, ...) + +ASOI-tag ::= + SEQUENCE SIZE (0..7, ...) OF + SEQUENCE {qualifier [0] ASO-qualifier OPTIONAL, + identifier [1] ASOI-identifier OPTIONAL} + +-- End of Application-entity title productions +ASO-context-name-list ::= SEQUENCE OF ASO-context-name + +Syntactic-context-list ::= CHOICE { + context-list [0] Context-list, + default-contact-list [1] Default-Context-List +} + +Context-list ::= + SEQUENCE OF + SEQUENCE {pci Presentation-context-identifier, + abstract-syntax Abstract-syntax-name, +-- bug in asn2wrs +-- transfer-syntaxes SEQUENCE OF Transfer-syntax-name} + transfer-syntaxes SEQUENCE OF TransferSyntaxName} + +Default-Context-List ::= + SEQUENCE OF + SEQUENCE {abstract-syntax-name [0] IMPLICIT Abstract-syntax-name OPTIONAL, +-- bug in asn2wrs +-- transfer-syntax-name [1] IMPLICIT Transfer-syntax-name + transfer-syntax-name [1] IMPLICIT TransferSyntaxName + } + +Abstract-syntax-name ::= OBJECT IDENTIFIER + +P-context-result-list ::= + SEQUENCE OF + SEQUENCE {result [0] IMPLICIT Result, + concrete-syntax-name [1] IMPLICIT Concrete-syntax-name OPTIONAL, + provider-reason + [2] IMPLICIT INTEGER {reason-not-specified(0), + abstract-syntax-not-supported(1), + proposed-transfer-syntaxes-not-supported(2), + local-limit-on-DCS-exceeded(3)} OPTIONAL + } + +Result ::= INTEGER {acceptance(0), user-rejection(1), provider-rejection(2)} + +--bug in asn2wrs +--Concrete-syntax-name ::= Transfer-syntax-name +Concrete-syntax-name ::= TransferSyntaxName + +--bug in asn2wrs +--Transfer-syntax-name ::= OBJECT IDENTIFIER +TransferSyntaxName ::= OBJECT IDENTIFIER + +Associate-result ::= INTEGER { + accepted(0), rejected-permanent(1), rejected-transient(2)}(0..2, ...) + +Associate-source-diagnostic ::= CHOICE { + service-user + [1] INTEGER {null(0), no-reason-given(1), + application-context-name-not-supported(2), + calling-AP-title-not-recognized(3), + calling-AP-invocation-identifier-not-recognized(4), + calling-AE-qualifier-not-recognized(5), + calling-AE-invocation-identifier-not-recognized(6), + called-AP-title-not-recognized(7), + called-AP-invocation-identifier-not-recognized(8), + called-AE-qualifier-not-recognized(9), + called-AE-invocation-identifier-not-recognized(10), + authentication-mechanism-name-not-recognized(11), + authentication-mechanism-name-required(12), + authentication-failure(13), authentication-required(14)} + (0..14, ...), + service-provider + [2] INTEGER {null(0), no-reason-given(1), no-common-acse-version(2)} + (0..2, ...) +} + +User-information ::= Association-data + +Association-data ::= SEQUENCE OF EXTERNALt + +Simply-encoded-data ::= OCTET STRING + +User-Data ::= CHOICE { + user-information User-information, + simply-encoded-data Simply-encoded-data, + fully-encoded-data [0] PDV-list +} + +-- see ITU-T Rec. X.226 | ISO/IEC 8823-1. +PDV-list ::= SEQUENCE { +--bug in asn2wrs +-- transfer-syntax-name Transfer-syntax-name OPTIONAL, + transfer-syntax-name TransferSyntaxName OPTIONAL, + presentation-context-identifier Presentation-context-identifier, + presentation-data-values + CHOICE {simple-ASN1-type + [0] ANY + (CONSTRAINED BY { + + -- Type corresponding to presentation context identifier + }), + octet-aligned [1] IMPLICIT OCTET STRING, + arbitrary [2] IMPLICIT BIT STRING} + -- see ITU-T Rec. X.226 | ISO/IEC 8823-1. +} + +Presentation-context-identifier ::= INTEGER + +Authentication-value-other ::= SEQUENCE { + other-mechanism-name OBJECT IDENTIFIER, + other-mechanism-value ANY +} + +Authentication-value ::= CHOICE { + charstring [0] IMPLICIT GraphicString, + bitstring [1] IMPLICIT BIT STRING, + external [2] IMPLICIT EXTERNALt, + other + [3] IMPLICIT Authentication-value-other +} + +-- The abstract syntax of (calling/responding) authentication-value is determined by the authentication mechanism used +-- during association establishment. The authentication mechanism is either explicitly denoted by the &id field (of type +-- OBJECT IDENTIFIER) for a mechanism belonging to the class MECHANISM-NAME, or it is known implicitly by +-- prior agreement between the communicating partners. If the "other" component is chosen, then the +-- "mechanism-name" component must be present in accordance with ITU-T Rec. X.680 | ISO/IEC 8824-1. If the value +-- "mechanism-name" occurs in the AARQ-apdu or the AARE-apdu, then that value must be the same as the value for +-- "other-mechanism-name". +Implementation-data ::= GraphicString + +Mechanism-name ::= OBJECT IDENTIFIER + +Release-request-reason ::= INTEGER {normal(0), urgent(1), user-defined(30) +} + +Release-response-reason ::= INTEGER { + normal(0), not-finished(1), user-defined(30)} + +END + +-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D + |