gss: update SAnon for draft-howard-gss-sanon-13
[heimdal.git] / lib / asn1 / test.asn1
blob7546ed744e4cd878dae581aacb31f5e466b4209d
1 -- $Id$ --
3 TEST DEFINITIONS ::=
5 BEGIN
7 IMPORTS heim_any FROM heim;
9 TESTuint32 ::= INTEGER (0..4294967295)
10 TESTuint64 ::= INTEGER(0..9223372036854775807)
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 TESTSeqOf5 ::= SEQUENCE {
157         outer SEQUENCE {
158           inner SEQUENCE {
159                         u0 TESTuint64,
160                         s0 OCTET STRING,
161                         u1 TESTuint64,
162                         s1 OCTET STRING,
163                         u2 TESTuint64,
164                         s2 OCTET STRING,
165                         u3 TESTuint64,
166                         s3 OCTET STRING,
167                         u4 TESTuint64,
168                         s4 OCTET STRING,
169                         u5 TESTuint64,
170                         s5 OCTET STRING,
171                         u6 TESTuint64,
172                         s6 OCTET STRING,
173                         u7 TESTuint64,
174                         s7 OCTET STRING
175                 }
176             }
177         OPTIONAL
180 TESTPreserve ::= SEQUENCE {
181         zero [0] TESTInteger,
182         one [1] TESTInteger
185 TESTBitString ::= BIT STRING {
186               zero(0),
187               eight(8),
188               thirtyone(31)
191 TESTBitString64 ::= BIT STRING {
192               zero(0),
193               eight(8),
194               thirtyone(31),
195               thirtytwo(32),
196               sixtythree(63)
199 TESTLargeBitString ::= BIT STRING {
200               zero(0),
201               eight(8),
202               thirtyone(31),
203               onehundredtwenty(120)
206 TESTMechType::= OBJECT IDENTIFIER
207 TESTMechTypeList ::= SEQUENCE OF TESTMechType