Store the canonical client princ in ipropd-slave
[heimdal.git] / lib / asn1 / test.asn1
blobe4fc99a1fd6bd35fe78a51aa9f18e135fb3d15af
1 -- $Id$ --
3 TEST DEFINITIONS ::=
5 BEGIN
7 IMPORTS heim_any FROM heim;
9 TESTuint32 ::= INTEGER (0..4294967295)
10 TESTuint64 ::= INTEGER(0..18446744073709551615)
11 TESTint64 ::= INTEGER(-9223372036854775808..9223372036854775807)
13 TESTLargeTag ::= SEQUENCE {
14         foo[127] INTEGER (-2147483648..2147483647),
15         bar[128] INTEGER (-2147483648..2147483647)
18 TESTSeq ::= SEQUENCE {
19         tag0[0] INTEGER (-2147483648..2147483647),
20         tag1[1] TESTLargeTag,
21         tagless INTEGER (-2147483648..2147483647),
22         tag3[2] INTEGER (-2147483648..2147483647)
25 TESTChoice1 ::= CHOICE {
26         i1[1]   INTEGER (-2147483648..2147483647),
27         i2[2]   INTEGER (-2147483648..2147483647),
28         ...
31 TESTChoice2 ::= CHOICE {
32         i1[1]   INTEGER (-2147483648..2147483647),
33         ...
36 TESTInteger ::= INTEGER (-2147483648..2147483647)
38 TESTInteger2 ::= [4] IMPLICIT TESTInteger
39 TESTInteger3 ::= [5] IMPLICIT TESTInteger2
41 TESTImplicit ::= SEQUENCE {
42         ti1[0] IMPLICIT INTEGER (-2147483648..2147483647),
43         ti2[1] IMPLICIT SEQUENCE {
44                 foo[127] INTEGER (-2147483648..2147483647)
45         },
46         ti3[2] IMPLICIT [5] IMPLICIT [4] IMPLICIT INTEGER (-2147483648..2147483647)
49 TESTImplicit2 ::= SEQUENCE {
50         ti1[0] IMPLICIT TESTInteger,
51 --      ti2[1] IMPLICIT TESTLargeTag,   this is disabled since the IMPLICT encoder does't get the types right when stepping inside an structure --
52         ti3[2] IMPLICIT TESTInteger3
55 TESTAllocInner ::= SEQUENCE {
56         ai[0] TESTInteger
59 TESTAlloc ::= SEQUENCE {
60           tagless TESTAllocInner OPTIONAL,
61           three [1] INTEGER (-2147483648..2147483647),
62           tagless2 heim_any OPTIONAL
65 TESTOptional ::= SEQUENCE {
66           zero [0] INTEGER (-2147483648..2147483647) OPTIONAL,
67           one [1] INTEGER (-2147483648..2147483647) OPTIONAL
71 TESTCONTAINING ::= OCTET STRING ( CONTAINING INTEGER )
72 TESTENCODEDBY ::= OCTET STRING ( ENCODED BY
73   { joint-iso-itu-t(2) asn(1) ber-derived(2) distinguished-encoding(1) }
76 TESTDer OBJECT IDENTIFIER ::= {
77         joint-iso-itu-t(2) asn(1) ber-derived(2) distinguished-encoding(1)
80 TESTCONTAININGENCODEDBY ::= OCTET STRING ( CONTAINING INTEGER ENCODED BY
81   { joint-iso-itu-t(2) asn(1) ber-derived(2) distinguished-encoding(1) }
84 TESTCONTAININGENCODEDBY2 ::= OCTET STRING (
85         CONTAINING INTEGER ENCODED BY TESTDer
89 TESTValue1 INTEGER ::= 1
91 TESTUSERCONSTRAINED ::= OCTET STRING (CONSTRAINED BY { -- meh -- })
92 -- TESTUSERCONSTRAINED2 ::= OCTET STRING (CONSTRAINED BY { TESTInteger })
93 -- TESTUSERCONSTRAINED3 ::= OCTET STRING (CONSTRAINED BY { INTEGER })
94 -- TESTUSERCONSTRAINED4 ::= OCTET STRING (CONSTRAINED BY { INTEGER : 1 })
96 TESTSeqOf ::= SEQUENCE OF TESTInteger
98 TESTSeqSizeOf1 ::= SEQUENCE SIZE (2) OF TESTInteger
99 TESTSeqSizeOf2 ::= SEQUENCE SIZE (1..2) OF TESTInteger
100 TESTSeqSizeOf3 ::= SEQUENCE SIZE (1..MAX) OF TESTInteger
101 TESTSeqSizeOf4 ::= SEQUENCE SIZE (0..2) OF TESTInteger
103 TESTOSSize1 ::= OCTET STRING SIZE (1..2)
105 TESTSeqOfSeq ::= SEQUENCE OF SEQUENCE {
106         zero [0] TESTInteger
109 TESTSeqOfSeq2 ::= SEQUENCE OF SEQUENCE {
110         string [0] GeneralString
113 TESTSeqOfSeq3 ::= SEQUENCE OF SEQUENCE {
114         zero [0] TESTInteger,
115         string [0] GeneralString
118 TESTSeqOf2 ::= SEQUENCE {
119         strings SEQUENCE OF GeneralString
122 TESTSeqOf3 ::= SEQUENCE {
123         strings SEQUENCE OF GeneralString OPTIONAL
126 -- Larger/more complex to increase odds of out-of-bounds
127 -- read/writes if miscoded
129 TESTSeqOf4 ::= SEQUENCE {
130         b1 [0] SEQUENCE OF SEQUENCE {
131                 s1 OCTET STRING,
132                 s2 OCTET STRING,
133                 u1 TESTuint64,
134                 u2 TESTuint64
135         } OPTIONAL,
136         b2 [1] IMPLICIT SEQUENCE OF SEQUENCE {
137                 u1 TESTuint64,
138                 u2 TESTuint64,
139                 u3 TESTuint64,
140                 s1 OCTET STRING,
141                 s2 OCTET STRING,
142                 s3 OCTET STRING
143         } OPTIONAL,
144         b3 [2] IMPLICIT SEQUENCE OF SEQUENCE {
145                 s1 OCTET STRING,
146                 u1 TESTuint64,
147                 s2 OCTET STRING,
148                 u2 TESTuint64,
149                 s3 OCTET STRING,
150                 u3 TESTuint64,
151                 s4 OCTET STRING,
152                 u4 TESTuint64
153         } OPTIONAL
156 TESTPreserve ::= SEQUENCE {
157         zero [0] TESTInteger,
158         one [1] TESTInteger
161 TESTBitString ::= BIT STRING {
162               zero(0),
163               eight(8),
164               thirtyone(31)
167 TESTMechType::= OBJECT IDENTIFIER
168 TESTMechTypeList ::= SEQUENCE OF TESTMechType