Line data Source code
1 : /* Generated from /builds/eaglegai/samba/third_party/heimdal/lib/asn1/digest.asn1 */
2 : /* Do not edit */
3 :
4 : #if defined(_WIN32) && !defined(ASN1_LIB)
5 : # error "ASN1_LIB must be defined"
6 : #endif
7 : #include <stdio.h>
8 : #include <stdlib.h>
9 : #include <time.h>
10 : #include <string.h>
11 : #include <errno.h>
12 : #include <limits.h>
13 : #include <krb5-types.h>
14 : #include "digest_asn1.h"
15 : #include "digest_asn1-priv.h"
16 : #include <asn1_err.h>
17 : #include <der.h>
18 : #include <asn1-template.h>
19 :
20 : #include <parse_units.h>
21 :
22 : static const struct asn1_type_func asn1_extern_EncryptedData = {
23 : (asn1_type_encode)encode_EncryptedData,
24 : (asn1_type_decode)decode_EncryptedData,
25 : (asn1_type_length)length_EncryptedData,
26 : (asn1_type_copy)copy_EncryptedData,
27 : (asn1_type_release)free_EncryptedData,
28 : (asn1_type_print)print_EncryptedData,
29 : sizeof(EncryptedData)
30 : };
31 : static const struct asn1_type_func asn1_extern_Principal = {
32 : (asn1_type_encode)encode_Principal,
33 : (asn1_type_decode)decode_Principal,
34 : (asn1_type_length)length_Principal,
35 : (asn1_type_copy)copy_Principal,
36 : (asn1_type_release)free_Principal,
37 : (asn1_type_print)print_Principal,
38 : sizeof(Principal)
39 : };
40 : extern const struct asn1_template asn1_DigestTypes[];
41 : extern const struct asn1_template asn1_DigestTypes[];
42 : extern const struct asn1_template asn1_DigestInit[];
43 : extern const struct asn1_template asn1_DigestInitReply[];
44 : extern const struct asn1_template asn1_DigestRequest[];
45 : extern const struct asn1_template asn1_DigestError[];
46 : extern const struct asn1_template asn1_DigestResponse[];
47 : extern const struct asn1_template asn1_NTLMInit[];
48 : extern const struct asn1_template asn1_NTLMInitReply[];
49 : extern const struct asn1_template asn1_NTLMRequest[];
50 : extern const struct asn1_template asn1_NTLMResponse[];
51 : extern const struct asn1_template asn1_NTLMRequest2[];
52 : extern const struct asn1_template asn1_NTLMReply[];
53 : extern const struct asn1_template asn1_DigestReqInner[];
54 : extern const struct asn1_template asn1_DigestREQ[];
55 : extern const struct asn1_template asn1_DigestRepInner[];
56 : extern const struct asn1_template asn1_DigestREP[];
57 : /* template_members: DigestTypes exp exp */
58 : static const struct asn1_template asn1_DigestTypes_bmember__0[] = {
59 : /* 0 */ { 0, sizeof(DigestTypes), ((void *)(uintptr_t)6) },
60 : /* 1 */ { 0, 0, "ntlm_v1" },
61 : /* 2 */ { 0, 1, "ntlm_v1_session" },
62 : /* 3 */ { 0, 2, "ntlm_v2" },
63 : /* 4 */ { 0, 3, "digest_md5" },
64 : /* 5 */ { 0, 4, "chap_md5" },
65 : /* 6 */ { 0, 5, "ms_chap_v2" }
66 : };
67 : /* generate_template_type: DigestTypes_tag__0 */
68 : const struct asn1_template asn1_DigestTypes_tag__0[] = {
69 : /* 0 */ { 0, sizeof(DigestTypes), ((void *)(uintptr_t)1) },
70 : /* 1 */ { A1_OP_BMEMBER, 0, asn1_DigestTypes_bmember__0 }
71 : };
72 : /* generate_template_type: DigestTypes */
73 : const struct asn1_template asn1_DigestTypes[] = {
74 : /* 0 */ { 0, sizeof(DigestTypes), ((void *)(uintptr_t)1) },
75 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_BitString), 0, asn1_DigestTypes_tag__0 }
76 : };
77 :
78 : int ASN1CALL
79 0 : decode_DigestTypes(const unsigned char *p, size_t len, DigestTypes *data, size_t *size)
80 : {
81 0 : memset(data, 0, sizeof(*data));
82 0 : return _asn1_decode_top(asn1_DigestTypes, 0|0, p, len, data, size);
83 : }
84 :
85 :
86 : int ASN1CALL
87 0 : encode_DigestTypes(unsigned char *p, size_t len, const DigestTypes *data, size_t *size)
88 : {
89 0 : return _asn1_encode(asn1_DigestTypes, p, len, data, size);
90 : }
91 :
92 :
93 : size_t ASN1CALL
94 0 : length_DigestTypes(const DigestTypes *data)
95 : {
96 0 : return _asn1_length(asn1_DigestTypes, data);
97 : }
98 :
99 :
100 : void ASN1CALL
101 0 : free_DigestTypes(DigestTypes *data)
102 : {
103 0 : _asn1_free_top(asn1_DigestTypes, data);
104 0 : }
105 :
106 :
107 : int ASN1CALL
108 0 : copy_DigestTypes(const DigestTypes *from, DigestTypes *to)
109 : {
110 0 : return _asn1_copy_top(asn1_DigestTypes, from, to);
111 : }
112 :
113 :
114 : char * ASN1CALL
115 0 : print_DigestTypes(const DigestTypes *data, int flags)
116 : {
117 0 : return _asn1_print_top(asn1_DigestTypes, flags, data);
118 : }
119 :
120 0 : uint64_t DigestTypes2int(DigestTypes f)
121 : {
122 0 : uint64_t r = 0;
123 0 : if(f.ntlm_v1) r |= (1ULL << 0);
124 0 : if(f.ntlm_v1_session) r |= (1ULL << 1);
125 0 : if(f.ntlm_v2) r |= (1ULL << 2);
126 0 : if(f.digest_md5) r |= (1ULL << 3);
127 0 : if(f.chap_md5) r |= (1ULL << 4);
128 0 : if(f.ms_chap_v2) r |= (1ULL << 5);
129 0 : return r;
130 : }
131 :
132 0 : DigestTypes int2DigestTypes(uint64_t n)
133 : {
134 0 : DigestTypes flags;
135 :
136 0 : memset(&flags, 0, sizeof(flags));
137 :
138 0 : flags.ntlm_v1 = (n >> 0) & 1;
139 0 : flags.ntlm_v1_session = (n >> 1) & 1;
140 0 : flags.ntlm_v2 = (n >> 2) & 1;
141 0 : flags.digest_md5 = (n >> 3) & 1;
142 0 : flags.chap_md5 = (n >> 4) & 1;
143 0 : flags.ms_chap_v2 = (n >> 5) & 1;
144 0 : return flags;
145 : }
146 :
147 : static struct units DigestTypes_units[] = {
148 : {"ms-chap-v2", 1ULL << 5},
149 : {"chap-md5", 1ULL << 4},
150 : {"digest-md5", 1ULL << 3},
151 : {"ntlm-v2", 1ULL << 2},
152 : {"ntlm-v1-session", 1ULL << 1},
153 : {"ntlm-v1", 1ULL << 0},
154 : {NULL, 0}
155 : };
156 :
157 0 : const struct units * asn1_DigestTypes_units(void){
158 0 : return DigestTypes_units;
159 : }
160 :
161 : /* template_members: DigestInit exp exp */
162 : /* tsequence: members isstruct: 1 */
163 : /* template_members: DigestInit exp exp */
164 : /* generate_template_type: DigestInit_tag_type_2 */
165 : const struct asn1_template asn1_DigestInit_tag_type_2[] = {
166 : /* 0 */ { 0, sizeof(heim_utf8_string), ((void *)(uintptr_t)1) },
167 : /* 1 */ { A1_PARSE_T(A1T_UTF8_STRING), 0, NULL }
168 : };
169 : /* template_members: DigestInit exp exp */
170 : /* template_members: DigestInit exp exp */
171 : /* tsequence: members isstruct: 1 */
172 : /* template_members: DigestInit_channel exp exp */
173 : /* generate_template_type: DigestInit_channel_tag_cb_type_5 */
174 : /* template_members: DigestInit_channel exp exp */
175 : /* generate_template_type: DigestInit_channel_tag_cb_binding_6 */
176 : /* generate_template_type: DigestInit_tag_channel_4 */
177 : const struct asn1_template asn1_DigestInit_tag_channel_4[] = {
178 : /* 0 */ { 0, sizeof(struct DigestInit_channel), ((void *)(uintptr_t)5) },
179 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_UTF8String), offsetof(struct DigestInit_channel, cb_type), asn1_DigestInit_tag_type_2 },
180 : /* 2 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_UTF8String), offsetof(struct DigestInit_channel, cb_binding), asn1_DigestInit_tag_type_2 },
181 : /* 3 */ { A1_OP_NAME, 0, "DigestInit" },
182 : /* 4 */ { A1_OP_NAME, 0, "cb-type" },
183 : /* 5 */ { A1_OP_NAME, 0, "cb-binding" }
184 : };
185 : /* generate_template_type: DigestInit_tag_channel_3 */
186 : const struct asn1_template asn1_DigestInit_tag_channel_3[] = {
187 : /* 0 */ { 0, sizeof(struct DigestInit_channel), ((void *)(uintptr_t)1) },
188 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,CONS,UT_Sequence), 0, asn1_DigestInit_tag_channel_4 }
189 : };
190 : /* template_members: DigestInit exp exp */
191 : /* template_members: heim_utf8_string exp exp */
192 : /* generate_template_type: heim_utf8_string_tag_hostname_8 */
193 : /* generate_template_type: DigestInit_tag_hostname_7 */
194 : const struct asn1_template asn1_DigestInit_tag_hostname_7[] = {
195 : /* 0 */ { 0, sizeof(heim_utf8_string), ((void *)(uintptr_t)1) },
196 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_UTF8String), 0, asn1_DigestInit_tag_type_2 }
197 : };
198 : /* generate_template_type: DigestInit_tag__1 */
199 : const struct asn1_template asn1_DigestInit_tag__1[] = {
200 : /* 0 */ { 0, sizeof(struct DigestInit), ((void *)(uintptr_t)7) },
201 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_UTF8String), offsetof(struct DigestInit, type), asn1_DigestInit_tag_type_2 },
202 : /* 2 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,0)|A1_FLAG_OPTIONAL, offsetof(struct DigestInit, channel), asn1_DigestInit_tag_channel_3 },
203 : /* 3 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,1)|A1_FLAG_OPTIONAL, offsetof(struct DigestInit, hostname), asn1_DigestInit_tag_hostname_7 },
204 : /* 4 */ { A1_OP_NAME, 0, "DigestInit" },
205 : /* 5 */ { A1_OP_NAME, 0, "type" },
206 : /* 6 */ { A1_OP_NAME, 0, "channel" },
207 : /* 7 */ { A1_OP_NAME, 0, "hostname" }
208 : };
209 : /* generate_template_type: DigestInit */
210 : const struct asn1_template asn1_DigestInit[] = {
211 : /* 0 */ { 0, sizeof(DigestInit), ((void *)(uintptr_t)1) },
212 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,CONS,UT_Sequence), 0, asn1_DigestInit_tag__1 }
213 : };
214 :
215 : int ASN1CALL
216 0 : decode_DigestInit(const unsigned char *p, size_t len, DigestInit *data, size_t *size)
217 : {
218 0 : memset(data, 0, sizeof(*data));
219 0 : return _asn1_decode_top(asn1_DigestInit, 0|0, p, len, data, size);
220 : }
221 :
222 :
223 : int ASN1CALL
224 0 : encode_DigestInit(unsigned char *p, size_t len, const DigestInit *data, size_t *size)
225 : {
226 0 : return _asn1_encode(asn1_DigestInit, p, len, data, size);
227 : }
228 :
229 :
230 : size_t ASN1CALL
231 0 : length_DigestInit(const DigestInit *data)
232 : {
233 0 : return _asn1_length(asn1_DigestInit, data);
234 : }
235 :
236 :
237 : void ASN1CALL
238 0 : free_DigestInit(DigestInit *data)
239 : {
240 0 : _asn1_free_top(asn1_DigestInit, data);
241 0 : }
242 :
243 :
244 : int ASN1CALL
245 0 : copy_DigestInit(const DigestInit *from, DigestInit *to)
246 : {
247 0 : return _asn1_copy_top(asn1_DigestInit, from, to);
248 : }
249 :
250 :
251 : char * ASN1CALL
252 0 : print_DigestInit(const DigestInit *data, int flags)
253 : {
254 0 : return _asn1_print_top(asn1_DigestInit, flags, data);
255 : }
256 :
257 : /* template_members: DigestInitReply exp exp */
258 : /* tsequence: members isstruct: 1 */
259 : /* template_members: DigestInitReply exp exp */
260 : /* generate_template_type: DigestInitReply_tag_nonce_10 */
261 : /* template_members: DigestInitReply exp exp */
262 : /* generate_template_type: DigestInitReply_tag_opaque_11 */
263 : /* template_members: DigestInitReply exp exp */
264 : /* template_members: heim_utf8_string exp exp */
265 : /* generate_template_type: heim_utf8_string_tag_identifier_13 */
266 : /* generate_template_type: DigestInitReply_tag_identifier_12 */
267 : /* generate_template_type: DigestInitReply_tag__9 */
268 : const struct asn1_template asn1_DigestInitReply_tag__9[] = {
269 : /* 0 */ { 0, sizeof(struct DigestInitReply), ((void *)(uintptr_t)7) },
270 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_UTF8String), offsetof(struct DigestInitReply, nonce), asn1_DigestInit_tag_type_2 },
271 : /* 2 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_UTF8String), offsetof(struct DigestInitReply, opaque), asn1_DigestInit_tag_type_2 },
272 : /* 3 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,0)|A1_FLAG_OPTIONAL, offsetof(struct DigestInitReply, identifier), asn1_DigestInit_tag_hostname_7 },
273 : /* 4 */ { A1_OP_NAME, 0, "DigestInitReply" },
274 : /* 5 */ { A1_OP_NAME, 0, "nonce" },
275 : /* 6 */ { A1_OP_NAME, 0, "opaque" },
276 : /* 7 */ { A1_OP_NAME, 0, "identifier" }
277 : };
278 : /* generate_template_type: DigestInitReply */
279 : const struct asn1_template asn1_DigestInitReply[] = {
280 : /* 0 */ { 0, sizeof(DigestInitReply), ((void *)(uintptr_t)1) },
281 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,CONS,UT_Sequence), 0, asn1_DigestInitReply_tag__9 }
282 : };
283 :
284 : int ASN1CALL
285 0 : decode_DigestInitReply(const unsigned char *p, size_t len, DigestInitReply *data, size_t *size)
286 : {
287 0 : memset(data, 0, sizeof(*data));
288 0 : return _asn1_decode_top(asn1_DigestInitReply, 0|0, p, len, data, size);
289 : }
290 :
291 :
292 : int ASN1CALL
293 0 : encode_DigestInitReply(unsigned char *p, size_t len, const DigestInitReply *data, size_t *size)
294 : {
295 0 : return _asn1_encode(asn1_DigestInitReply, p, len, data, size);
296 : }
297 :
298 :
299 : size_t ASN1CALL
300 0 : length_DigestInitReply(const DigestInitReply *data)
301 : {
302 0 : return _asn1_length(asn1_DigestInitReply, data);
303 : }
304 :
305 :
306 : void ASN1CALL
307 0 : free_DigestInitReply(DigestInitReply *data)
308 : {
309 0 : _asn1_free_top(asn1_DigestInitReply, data);
310 0 : }
311 :
312 :
313 : int ASN1CALL
314 0 : copy_DigestInitReply(const DigestInitReply *from, DigestInitReply *to)
315 : {
316 0 : return _asn1_copy_top(asn1_DigestInitReply, from, to);
317 : }
318 :
319 :
320 : char * ASN1CALL
321 0 : print_DigestInitReply(const DigestInitReply *data, int flags)
322 : {
323 0 : return _asn1_print_top(asn1_DigestInitReply, flags, data);
324 : }
325 :
326 : /* template_members: DigestRequest exp exp */
327 : /* tsequence: members isstruct: 1 */
328 : /* template_members: DigestRequest exp exp */
329 : /* generate_template_type: DigestRequest_tag_type_15 */
330 : /* template_members: DigestRequest exp exp */
331 : /* generate_template_type: DigestRequest_tag_digest_16 */
332 : /* template_members: DigestRequest exp exp */
333 : /* generate_template_type: DigestRequest_tag_username_17 */
334 : /* template_members: DigestRequest exp exp */
335 : /* generate_template_type: DigestRequest_tag_responseData_18 */
336 : /* template_members: DigestRequest exp exp */
337 : /* template_members: heim_utf8_string exp exp */
338 : /* generate_template_type: heim_utf8_string_tag_authid_20 */
339 : /* generate_template_type: DigestRequest_tag_authid_19 */
340 : /* template_members: DigestRequest exp exp */
341 : /* generate_template_type: DigestRequest_tag_authentication_user_21 */
342 : const struct asn1_template asn1_DigestRequest_tag_authentication_user_21[] = {
343 : /* 0 */ { 0, sizeof(Principal), ((void *)(uintptr_t)1) },
344 : /* 1 */ { A1_OP_TYPE_EXTERN , 0, &asn1_extern_Principal}
345 : };
346 : /* template_members: DigestRequest exp exp */
347 : /* template_members: heim_utf8_string exp exp */
348 : /* generate_template_type: heim_utf8_string_tag_realm_23 */
349 : /* generate_template_type: DigestRequest_tag_realm_22 */
350 : /* template_members: DigestRequest exp exp */
351 : /* template_members: heim_utf8_string exp exp */
352 : /* generate_template_type: heim_utf8_string_tag_method_25 */
353 : /* generate_template_type: DigestRequest_tag_method_24 */
354 : /* template_members: DigestRequest exp exp */
355 : /* template_members: heim_utf8_string exp exp */
356 : /* generate_template_type: heim_utf8_string_tag_uri_27 */
357 : /* generate_template_type: DigestRequest_tag_uri_26 */
358 : /* template_members: DigestRequest exp exp */
359 : /* generate_template_type: DigestRequest_tag_serverNonce_28 */
360 : /* template_members: DigestRequest exp exp */
361 : /* template_members: heim_utf8_string exp exp */
362 : /* generate_template_type: heim_utf8_string_tag_clientNonce_30 */
363 : /* generate_template_type: DigestRequest_tag_clientNonce_29 */
364 : /* template_members: DigestRequest exp exp */
365 : /* template_members: heim_utf8_string exp exp */
366 : /* generate_template_type: heim_utf8_string_tag_nonceCount_32 */
367 : /* generate_template_type: DigestRequest_tag_nonceCount_31 */
368 : /* template_members: DigestRequest exp exp */
369 : /* template_members: heim_utf8_string exp exp */
370 : /* generate_template_type: heim_utf8_string_tag_qop_34 */
371 : /* generate_template_type: DigestRequest_tag_qop_33 */
372 : /* template_members: DigestRequest exp exp */
373 : /* template_members: heim_utf8_string exp exp */
374 : /* generate_template_type: heim_utf8_string_tag_identifier_36 */
375 : /* generate_template_type: DigestRequest_tag_identifier_35 */
376 : /* template_members: DigestRequest exp exp */
377 : /* template_members: heim_utf8_string exp exp */
378 : /* generate_template_type: heim_utf8_string_tag_hostname_38 */
379 : /* generate_template_type: DigestRequest_tag_hostname_37 */
380 : /* template_members: DigestRequest exp exp */
381 : /* generate_template_type: DigestRequest_tag_opaque_39 */
382 : /* generate_template_type: DigestRequest_tag__14 */
383 : const struct asn1_template asn1_DigestRequest_tag__14[] = {
384 : /* 0 */ { 0, sizeof(struct DigestRequest), ((void *)(uintptr_t)33) },
385 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_UTF8String), offsetof(struct DigestRequest, type), asn1_DigestInit_tag_type_2 },
386 : /* 2 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_UTF8String), offsetof(struct DigestRequest, digest), asn1_DigestInit_tag_type_2 },
387 : /* 3 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_UTF8String), offsetof(struct DigestRequest, username), asn1_DigestInit_tag_type_2 },
388 : /* 4 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_UTF8String), offsetof(struct DigestRequest, responseData), asn1_DigestInit_tag_type_2 },
389 : /* 5 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,0)|A1_FLAG_OPTIONAL, offsetof(struct DigestRequest, authid), asn1_DigestInit_tag_hostname_7 },
390 : /* 6 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,1)|A1_FLAG_OPTIONAL, offsetof(struct DigestRequest, authentication_user), asn1_DigestRequest_tag_authentication_user_21 },
391 : /* 7 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,2)|A1_FLAG_OPTIONAL, offsetof(struct DigestRequest, realm), asn1_DigestInit_tag_hostname_7 },
392 : /* 8 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,3)|A1_FLAG_OPTIONAL, offsetof(struct DigestRequest, method), asn1_DigestInit_tag_hostname_7 },
393 : /* 9 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,4)|A1_FLAG_OPTIONAL, offsetof(struct DigestRequest, uri), asn1_DigestInit_tag_hostname_7 },
394 : /* 10 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_UTF8String), offsetof(struct DigestRequest, serverNonce), asn1_DigestInit_tag_type_2 },
395 : /* 11 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,5)|A1_FLAG_OPTIONAL, offsetof(struct DigestRequest, clientNonce), asn1_DigestInit_tag_hostname_7 },
396 : /* 12 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,6)|A1_FLAG_OPTIONAL, offsetof(struct DigestRequest, nonceCount), asn1_DigestInit_tag_hostname_7 },
397 : /* 13 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,7)|A1_FLAG_OPTIONAL, offsetof(struct DigestRequest, qop), asn1_DigestInit_tag_hostname_7 },
398 : /* 14 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,8)|A1_FLAG_OPTIONAL, offsetof(struct DigestRequest, identifier), asn1_DigestInit_tag_hostname_7 },
399 : /* 15 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,9)|A1_FLAG_OPTIONAL, offsetof(struct DigestRequest, hostname), asn1_DigestInit_tag_hostname_7 },
400 : /* 16 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_UTF8String), offsetof(struct DigestRequest, opaque), asn1_DigestInit_tag_type_2 },
401 : /* 17 */ { A1_OP_NAME, 0, "DigestRequest" },
402 : /* 18 */ { A1_OP_NAME, 0, "type" },
403 : /* 19 */ { A1_OP_NAME, 0, "digest" },
404 : /* 20 */ { A1_OP_NAME, 0, "username" },
405 : /* 21 */ { A1_OP_NAME, 0, "responseData" },
406 : /* 22 */ { A1_OP_NAME, 0, "authid" },
407 : /* 23 */ { A1_OP_NAME, 0, "authentication-user" },
408 : /* 24 */ { A1_OP_NAME, 0, "realm" },
409 : /* 25 */ { A1_OP_NAME, 0, "method" },
410 : /* 26 */ { A1_OP_NAME, 0, "uri" },
411 : /* 27 */ { A1_OP_NAME, 0, "serverNonce" },
412 : /* 28 */ { A1_OP_NAME, 0, "clientNonce" },
413 : /* 29 */ { A1_OP_NAME, 0, "nonceCount" },
414 : /* 30 */ { A1_OP_NAME, 0, "qop" },
415 : /* 31 */ { A1_OP_NAME, 0, "identifier" },
416 : /* 32 */ { A1_OP_NAME, 0, "hostname" },
417 : /* 33 */ { A1_OP_NAME, 0, "opaque" }
418 : };
419 : /* generate_template_type: DigestRequest */
420 : const struct asn1_template asn1_DigestRequest[] = {
421 : /* 0 */ { 0, sizeof(DigestRequest), ((void *)(uintptr_t)1) },
422 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,CONS,UT_Sequence), 0, asn1_DigestRequest_tag__14 }
423 : };
424 :
425 : int ASN1CALL
426 0 : decode_DigestRequest(const unsigned char *p, size_t len, DigestRequest *data, size_t *size)
427 : {
428 0 : memset(data, 0, sizeof(*data));
429 0 : return _asn1_decode_top(asn1_DigestRequest, 0|0, p, len, data, size);
430 : }
431 :
432 :
433 : int ASN1CALL
434 0 : encode_DigestRequest(unsigned char *p, size_t len, const DigestRequest *data, size_t *size)
435 : {
436 0 : return _asn1_encode(asn1_DigestRequest, p, len, data, size);
437 : }
438 :
439 :
440 : size_t ASN1CALL
441 0 : length_DigestRequest(const DigestRequest *data)
442 : {
443 0 : return _asn1_length(asn1_DigestRequest, data);
444 : }
445 :
446 :
447 : void ASN1CALL
448 0 : free_DigestRequest(DigestRequest *data)
449 : {
450 0 : _asn1_free_top(asn1_DigestRequest, data);
451 0 : }
452 :
453 :
454 : int ASN1CALL
455 0 : copy_DigestRequest(const DigestRequest *from, DigestRequest *to)
456 : {
457 0 : return _asn1_copy_top(asn1_DigestRequest, from, to);
458 : }
459 :
460 :
461 : char * ASN1CALL
462 0 : print_DigestRequest(const DigestRequest *data, int flags)
463 : {
464 0 : return _asn1_print_top(asn1_DigestRequest, flags, data);
465 : }
466 :
467 : /* template_members: DigestError exp exp */
468 : /* tsequence: members isstruct: 1 */
469 : /* template_members: DigestError exp exp */
470 : /* generate_template_type: DigestError_tag_reason_41 */
471 : /* template_members: DigestError exp exp */
472 : /* generate_template_type: DigestError_tag_code_42 */
473 : const struct asn1_template asn1_DigestError_tag_code_42[] = {
474 : /* 0 */ { 0, sizeof(int), ((void *)(uintptr_t)1) },
475 : /* 1 */ { A1_PARSE_T(A1T_INTEGER), 0, NULL }
476 : };
477 : /* generate_template_type: DigestError_tag__40 */
478 : const struct asn1_template asn1_DigestError_tag__40[] = {
479 : /* 0 */ { 0, sizeof(struct DigestError), ((void *)(uintptr_t)5) },
480 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_UTF8String), offsetof(struct DigestError, reason), asn1_DigestInit_tag_type_2 },
481 : /* 2 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_Integer), offsetof(struct DigestError, code), asn1_DigestError_tag_code_42 },
482 : /* 3 */ { A1_OP_NAME, 0, "DigestError" },
483 : /* 4 */ { A1_OP_NAME, 0, "reason" },
484 : /* 5 */ { A1_OP_NAME, 0, "code" }
485 : };
486 : /* generate_template_type: DigestError */
487 : const struct asn1_template asn1_DigestError[] = {
488 : /* 0 */ { 0, sizeof(DigestError), ((void *)(uintptr_t)1) },
489 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,CONS,UT_Sequence), 0, asn1_DigestError_tag__40 }
490 : };
491 :
492 : int ASN1CALL
493 0 : decode_DigestError(const unsigned char *p, size_t len, DigestError *data, size_t *size)
494 : {
495 0 : memset(data, 0, sizeof(*data));
496 0 : return _asn1_decode_top(asn1_DigestError, 0|0, p, len, data, size);
497 : }
498 :
499 :
500 : int ASN1CALL
501 0 : encode_DigestError(unsigned char *p, size_t len, const DigestError *data, size_t *size)
502 : {
503 0 : return _asn1_encode(asn1_DigestError, p, len, data, size);
504 : }
505 :
506 :
507 : size_t ASN1CALL
508 0 : length_DigestError(const DigestError *data)
509 : {
510 0 : return _asn1_length(asn1_DigestError, data);
511 : }
512 :
513 :
514 : void ASN1CALL
515 0 : free_DigestError(DigestError *data)
516 : {
517 0 : _asn1_free_top(asn1_DigestError, data);
518 0 : }
519 :
520 :
521 : int ASN1CALL
522 0 : copy_DigestError(const DigestError *from, DigestError *to)
523 : {
524 0 : return _asn1_copy_top(asn1_DigestError, from, to);
525 : }
526 :
527 :
528 : char * ASN1CALL
529 0 : print_DigestError(const DigestError *data, int flags)
530 : {
531 0 : return _asn1_print_top(asn1_DigestError, flags, data);
532 : }
533 :
534 : /* template_members: DigestResponse exp exp */
535 : /* tsequence: members isstruct: 1 */
536 : /* template_members: DigestResponse exp exp */
537 : /* generate_template_type: DigestResponse_tag_success_44 */
538 : const struct asn1_template asn1_DigestResponse_tag_success_44[] = {
539 : /* 0 */ { 0, sizeof(int), ((void *)(uintptr_t)1) },
540 : /* 1 */ { A1_PARSE_T(A1T_BOOLEAN), 0, NULL }
541 : };
542 : /* template_members: DigestResponse exp exp */
543 : /* template_members: heim_utf8_string exp exp */
544 : /* generate_template_type: heim_utf8_string_tag_rsp_46 */
545 : /* generate_template_type: DigestResponse_tag_rsp_45 */
546 : /* template_members: DigestResponse exp exp */
547 : /* template_members: DigestResponse exp exp */
548 : /* template_members: heim_octet_string exp exp */
549 : /* generate_template_type: heim_octet_string_tag__49 */
550 : const struct asn1_template asn1_heim_octet_string_tag__49[] = {
551 : /* 0 */ { 0, sizeof(heim_octet_string), ((void *)(uintptr_t)1) },
552 : /* 1 */ { A1_PARSE_T(A1T_OCTET_STRING), 0, NULL }
553 : };
554 : /* generate_template_type: DigestResponse_tickets_0 */
555 : const struct asn1_template asn1_DigestResponse_tickets_0[] = {
556 : /* 0 */ { 0, sizeof(heim_octet_string), ((void *)(uintptr_t)1) },
557 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_OctetString), 0, asn1_heim_octet_string_tag__49 }
558 : };
559 : /* generate_template_type: DigestResponse_tag_tickets_48 */
560 : const struct asn1_template asn1_DigestResponse_tag_tickets_48[] = {
561 : /* 0 */ { 0, sizeof(struct DigestResponse_tickets), ((void *)(uintptr_t)1) },
562 : /* 1 */ { A1_OP_SEQOF, 0, asn1_DigestResponse_tickets_0 }
563 : };
564 : /* generate_template_type: DigestResponse_tag_tickets_47 */
565 : const struct asn1_template asn1_DigestResponse_tag_tickets_47[] = {
566 : /* 0 */ { 0, sizeof(struct DigestResponse_tickets), ((void *)(uintptr_t)1) },
567 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,CONS,UT_Sequence), 0, asn1_DigestResponse_tag_tickets_48 }
568 : };
569 : /* template_members: DigestResponse exp exp */
570 : /* template_members: DigestResponse exp exp */
571 : /* tsequence: members isstruct: 1 */
572 : /* template_members: DigestResponse_channel exp exp */
573 : /* generate_template_type: DigestResponse_channel_tag_cb_type_52 */
574 : /* template_members: DigestResponse_channel exp exp */
575 : /* generate_template_type: DigestResponse_channel_tag_cb_binding_53 */
576 : /* generate_template_type: DigestResponse_tag_channel_51 */
577 : const struct asn1_template asn1_DigestResponse_tag_channel_51[] = {
578 : /* 0 */ { 0, sizeof(struct DigestResponse_channel), ((void *)(uintptr_t)5) },
579 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_UTF8String), offsetof(struct DigestResponse_channel, cb_type), asn1_DigestInit_tag_type_2 },
580 : /* 2 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_UTF8String), offsetof(struct DigestResponse_channel, cb_binding), asn1_DigestInit_tag_type_2 },
581 : /* 3 */ { A1_OP_NAME, 0, "DigestResponse" },
582 : /* 4 */ { A1_OP_NAME, 0, "cb-type" },
583 : /* 5 */ { A1_OP_NAME, 0, "cb-binding" }
584 : };
585 : /* generate_template_type: DigestResponse_tag_channel_50 */
586 : const struct asn1_template asn1_DigestResponse_tag_channel_50[] = {
587 : /* 0 */ { 0, sizeof(struct DigestResponse_channel), ((void *)(uintptr_t)1) },
588 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,CONS,UT_Sequence), 0, asn1_DigestResponse_tag_channel_51 }
589 : };
590 : /* template_members: DigestResponse exp exp */
591 : /* template_members: heim_octet_string exp exp */
592 : /* generate_template_type: heim_octet_string_tag_session_key_55 */
593 : /* generate_template_type: DigestResponse_tag_session_key_54 */
594 : /* generate_template_type: DigestResponse_tag__43 */
595 : const struct asn1_template asn1_DigestResponse_tag__43[] = {
596 : /* 0 */ { 0, sizeof(struct DigestResponse), ((void *)(uintptr_t)11) },
597 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_Boolean), offsetof(struct DigestResponse, success), asn1_DigestResponse_tag_success_44 },
598 : /* 2 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,0)|A1_FLAG_OPTIONAL, offsetof(struct DigestResponse, rsp), asn1_DigestInit_tag_hostname_7 },
599 : /* 3 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,1)|A1_FLAG_OPTIONAL, offsetof(struct DigestResponse, tickets), asn1_DigestResponse_tag_tickets_47 },
600 : /* 4 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,2)|A1_FLAG_OPTIONAL, offsetof(struct DigestResponse, channel), asn1_DigestResponse_tag_channel_50 },
601 : /* 5 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,3)|A1_FLAG_OPTIONAL, offsetof(struct DigestResponse, session_key), asn1_DigestResponse_tickets_0 },
602 : /* 6 */ { A1_OP_NAME, 0, "DigestResponse" },
603 : /* 7 */ { A1_OP_NAME, 0, "success" },
604 : /* 8 */ { A1_OP_NAME, 0, "rsp" },
605 : /* 9 */ { A1_OP_NAME, 0, "tickets" },
606 : /* 10 */ { A1_OP_NAME, 0, "channel" },
607 : /* 11 */ { A1_OP_NAME, 0, "session-key" }
608 : };
609 : /* generate_template_type: DigestResponse */
610 : const struct asn1_template asn1_DigestResponse[] = {
611 : /* 0 */ { 0, sizeof(DigestResponse), ((void *)(uintptr_t)1) },
612 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,CONS,UT_Sequence), 0, asn1_DigestResponse_tag__43 }
613 : };
614 :
615 : int ASN1CALL
616 0 : decode_DigestResponse(const unsigned char *p, size_t len, DigestResponse *data, size_t *size)
617 : {
618 0 : memset(data, 0, sizeof(*data));
619 0 : return _asn1_decode_top(asn1_DigestResponse, 0|0, p, len, data, size);
620 : }
621 :
622 :
623 : int ASN1CALL
624 0 : encode_DigestResponse(unsigned char *p, size_t len, const DigestResponse *data, size_t *size)
625 : {
626 0 : return _asn1_encode(asn1_DigestResponse, p, len, data, size);
627 : }
628 :
629 :
630 : size_t ASN1CALL
631 0 : length_DigestResponse(const DigestResponse *data)
632 : {
633 0 : return _asn1_length(asn1_DigestResponse, data);
634 : }
635 :
636 :
637 : void ASN1CALL
638 0 : free_DigestResponse(DigestResponse *data)
639 : {
640 0 : _asn1_free_top(asn1_DigestResponse, data);
641 0 : }
642 :
643 :
644 : int ASN1CALL
645 0 : copy_DigestResponse(const DigestResponse *from, DigestResponse *to)
646 : {
647 0 : return _asn1_copy_top(asn1_DigestResponse, from, to);
648 : }
649 :
650 :
651 : char * ASN1CALL
652 0 : print_DigestResponse(const DigestResponse *data, int flags)
653 : {
654 0 : return _asn1_print_top(asn1_DigestResponse, flags, data);
655 : }
656 :
657 : /* template_members: NTLMInit exp exp */
658 : /* tsequence: members isstruct: 1 */
659 : /* template_members: NTLMInit exp exp */
660 : /* template_members: unsigned exp exp */
661 : /* generate_template_type: unsigned_tag_flags_58 */
662 : const struct asn1_template asn1_unsigned_tag_flags_58[] = {
663 : /* 0 */ { 0, sizeof(unsigned), ((void *)(uintptr_t)1) },
664 : /* 1 */ { A1_PARSE_T(A1T_UNSIGNED), 0, NULL }
665 : };
666 : /* generate_template_type: NTLMInit_tag_flags_57 */
667 : const struct asn1_template asn1_NTLMInit_tag_flags_57[] = {
668 : /* 0 */ { 0, sizeof(unsigned), ((void *)(uintptr_t)1) },
669 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_Integer), 0, asn1_unsigned_tag_flags_58 }
670 : };
671 : /* template_members: NTLMInit exp exp */
672 : /* template_members: heim_utf8_string exp exp */
673 : /* generate_template_type: heim_utf8_string_tag_hostname_60 */
674 : /* generate_template_type: NTLMInit_tag_hostname_59 */
675 : /* template_members: NTLMInit exp exp */
676 : /* template_members: heim_utf8_string exp exp */
677 : /* generate_template_type: heim_utf8_string_tag_domain_62 */
678 : /* generate_template_type: NTLMInit_tag_domain_61 */
679 : /* generate_template_type: NTLMInit_tag__56 */
680 : const struct asn1_template asn1_NTLMInit_tag__56[] = {
681 : /* 0 */ { 0, sizeof(struct NTLMInit), ((void *)(uintptr_t)7) },
682 : /* 1 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,0), offsetof(struct NTLMInit, flags), asn1_NTLMInit_tag_flags_57 },
683 : /* 2 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,1)|A1_FLAG_OPTIONAL, offsetof(struct NTLMInit, hostname), asn1_DigestInit_tag_hostname_7 },
684 : /* 3 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,1)|A1_FLAG_OPTIONAL, offsetof(struct NTLMInit, domain), asn1_DigestInit_tag_hostname_7 },
685 : /* 4 */ { A1_OP_NAME, 0, "NTLMInit" },
686 : /* 5 */ { A1_OP_NAME, 0, "flags" },
687 : /* 6 */ { A1_OP_NAME, 0, "hostname" },
688 : /* 7 */ { A1_OP_NAME, 0, "domain" }
689 : };
690 : /* generate_template_type: NTLMInit */
691 : const struct asn1_template asn1_NTLMInit[] = {
692 : /* 0 */ { 0, sizeof(NTLMInit), ((void *)(uintptr_t)1) },
693 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,CONS,UT_Sequence), 0, asn1_NTLMInit_tag__56 }
694 : };
695 :
696 : int ASN1CALL
697 0 : decode_NTLMInit(const unsigned char *p, size_t len, NTLMInit *data, size_t *size)
698 : {
699 0 : memset(data, 0, sizeof(*data));
700 0 : return _asn1_decode_top(asn1_NTLMInit, 0|0, p, len, data, size);
701 : }
702 :
703 :
704 : int ASN1CALL
705 0 : encode_NTLMInit(unsigned char *p, size_t len, const NTLMInit *data, size_t *size)
706 : {
707 0 : return _asn1_encode(asn1_NTLMInit, p, len, data, size);
708 : }
709 :
710 :
711 : size_t ASN1CALL
712 0 : length_NTLMInit(const NTLMInit *data)
713 : {
714 0 : return _asn1_length(asn1_NTLMInit, data);
715 : }
716 :
717 :
718 : void ASN1CALL
719 0 : free_NTLMInit(NTLMInit *data)
720 : {
721 0 : _asn1_free_top(asn1_NTLMInit, data);
722 0 : }
723 :
724 :
725 : int ASN1CALL
726 0 : copy_NTLMInit(const NTLMInit *from, NTLMInit *to)
727 : {
728 0 : return _asn1_copy_top(asn1_NTLMInit, from, to);
729 : }
730 :
731 :
732 : char * ASN1CALL
733 0 : print_NTLMInit(const NTLMInit *data, int flags)
734 : {
735 0 : return _asn1_print_top(asn1_NTLMInit, flags, data);
736 : }
737 :
738 : /* template_members: NTLMInitReply exp exp */
739 : /* tsequence: members isstruct: 1 */
740 : /* template_members: NTLMInitReply exp exp */
741 : /* template_members: unsigned exp exp */
742 : /* generate_template_type: unsigned_tag_flags_65 */
743 : /* generate_template_type: NTLMInitReply_tag_flags_64 */
744 : /* template_members: NTLMInitReply exp exp */
745 : /* template_members: heim_octet_string exp exp */
746 : /* generate_template_type: heim_octet_string_tag_opaque_67 */
747 : /* generate_template_type: NTLMInitReply_tag_opaque_66 */
748 : /* template_members: NTLMInitReply exp exp */
749 : /* template_members: heim_utf8_string exp exp */
750 : /* generate_template_type: heim_utf8_string_tag_targetname_69 */
751 : /* generate_template_type: NTLMInitReply_tag_targetname_68 */
752 : /* template_members: NTLMInitReply exp exp */
753 : /* template_members: heim_octet_string exp exp */
754 : /* generate_template_type: heim_octet_string_tag_challenge_71 */
755 : /* generate_template_type: NTLMInitReply_tag_challenge_70 */
756 : /* template_members: NTLMInitReply exp exp */
757 : /* template_members: heim_octet_string exp exp */
758 : /* generate_template_type: heim_octet_string_tag_targetinfo_73 */
759 : /* generate_template_type: NTLMInitReply_tag_targetinfo_72 */
760 : /* generate_template_type: NTLMInitReply_tag__63 */
761 : const struct asn1_template asn1_NTLMInitReply_tag__63[] = {
762 : /* 0 */ { 0, sizeof(struct NTLMInitReply), ((void *)(uintptr_t)11) },
763 : /* 1 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,0), offsetof(struct NTLMInitReply, flags), asn1_NTLMInit_tag_flags_57 },
764 : /* 2 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,1), offsetof(struct NTLMInitReply, opaque), asn1_DigestResponse_tickets_0 },
765 : /* 3 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,2), offsetof(struct NTLMInitReply, targetname), asn1_DigestInit_tag_hostname_7 },
766 : /* 4 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,3), offsetof(struct NTLMInitReply, challenge), asn1_DigestResponse_tickets_0 },
767 : /* 5 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,4)|A1_FLAG_OPTIONAL, offsetof(struct NTLMInitReply, targetinfo), asn1_DigestResponse_tickets_0 },
768 : /* 6 */ { A1_OP_NAME, 0, "NTLMInitReply" },
769 : /* 7 */ { A1_OP_NAME, 0, "flags" },
770 : /* 8 */ { A1_OP_NAME, 0, "opaque" },
771 : /* 9 */ { A1_OP_NAME, 0, "targetname" },
772 : /* 10 */ { A1_OP_NAME, 0, "challenge" },
773 : /* 11 */ { A1_OP_NAME, 0, "targetinfo" }
774 : };
775 : /* generate_template_type: NTLMInitReply */
776 : const struct asn1_template asn1_NTLMInitReply[] = {
777 : /* 0 */ { 0, sizeof(NTLMInitReply), ((void *)(uintptr_t)1) },
778 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,CONS,UT_Sequence), 0, asn1_NTLMInitReply_tag__63 }
779 : };
780 :
781 : int ASN1CALL
782 0 : decode_NTLMInitReply(const unsigned char *p, size_t len, NTLMInitReply *data, size_t *size)
783 : {
784 0 : memset(data, 0, sizeof(*data));
785 0 : return _asn1_decode_top(asn1_NTLMInitReply, 0|0, p, len, data, size);
786 : }
787 :
788 :
789 : int ASN1CALL
790 0 : encode_NTLMInitReply(unsigned char *p, size_t len, const NTLMInitReply *data, size_t *size)
791 : {
792 0 : return _asn1_encode(asn1_NTLMInitReply, p, len, data, size);
793 : }
794 :
795 :
796 : size_t ASN1CALL
797 0 : length_NTLMInitReply(const NTLMInitReply *data)
798 : {
799 0 : return _asn1_length(asn1_NTLMInitReply, data);
800 : }
801 :
802 :
803 : void ASN1CALL
804 0 : free_NTLMInitReply(NTLMInitReply *data)
805 : {
806 0 : _asn1_free_top(asn1_NTLMInitReply, data);
807 0 : }
808 :
809 :
810 : int ASN1CALL
811 0 : copy_NTLMInitReply(const NTLMInitReply *from, NTLMInitReply *to)
812 : {
813 0 : return _asn1_copy_top(asn1_NTLMInitReply, from, to);
814 : }
815 :
816 :
817 : char * ASN1CALL
818 0 : print_NTLMInitReply(const NTLMInitReply *data, int flags)
819 : {
820 0 : return _asn1_print_top(asn1_NTLMInitReply, flags, data);
821 : }
822 :
823 : /* template_members: NTLMRequest exp exp */
824 : /* tsequence: members isstruct: 1 */
825 : /* template_members: NTLMRequest exp exp */
826 : /* template_members: unsigned exp exp */
827 : /* generate_template_type: unsigned_tag_flags_76 */
828 : /* generate_template_type: NTLMRequest_tag_flags_75 */
829 : /* template_members: NTLMRequest exp exp */
830 : /* template_members: heim_octet_string exp exp */
831 : /* generate_template_type: heim_octet_string_tag_opaque_78 */
832 : /* generate_template_type: NTLMRequest_tag_opaque_77 */
833 : /* template_members: NTLMRequest exp exp */
834 : /* template_members: heim_utf8_string exp exp */
835 : /* generate_template_type: heim_utf8_string_tag_username_80 */
836 : /* generate_template_type: NTLMRequest_tag_username_79 */
837 : /* template_members: NTLMRequest exp exp */
838 : /* template_members: heim_utf8_string exp exp */
839 : /* generate_template_type: heim_utf8_string_tag_targetname_82 */
840 : /* generate_template_type: NTLMRequest_tag_targetname_81 */
841 : /* template_members: NTLMRequest exp exp */
842 : /* template_members: heim_octet_string exp exp */
843 : /* generate_template_type: heim_octet_string_tag_targetinfo_84 */
844 : /* generate_template_type: NTLMRequest_tag_targetinfo_83 */
845 : /* template_members: NTLMRequest exp exp */
846 : /* template_members: heim_octet_string exp exp */
847 : /* generate_template_type: heim_octet_string_tag_lm_86 */
848 : /* generate_template_type: NTLMRequest_tag_lm_85 */
849 : /* template_members: NTLMRequest exp exp */
850 : /* template_members: heim_octet_string exp exp */
851 : /* generate_template_type: heim_octet_string_tag_ntlm_88 */
852 : /* generate_template_type: NTLMRequest_tag_ntlm_87 */
853 : /* template_members: NTLMRequest exp exp */
854 : /* template_members: heim_octet_string exp exp */
855 : /* generate_template_type: heim_octet_string_tag_sessionkey_90 */
856 : /* generate_template_type: NTLMRequest_tag_sessionkey_89 */
857 : /* generate_template_type: NTLMRequest_tag__74 */
858 : const struct asn1_template asn1_NTLMRequest_tag__74[] = {
859 : /* 0 */ { 0, sizeof(struct NTLMRequest), ((void *)(uintptr_t)17) },
860 : /* 1 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,0), offsetof(struct NTLMRequest, flags), asn1_NTLMInit_tag_flags_57 },
861 : /* 2 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,1), offsetof(struct NTLMRequest, opaque), asn1_DigestResponse_tickets_0 },
862 : /* 3 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,2), offsetof(struct NTLMRequest, username), asn1_DigestInit_tag_hostname_7 },
863 : /* 4 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,3), offsetof(struct NTLMRequest, targetname), asn1_DigestInit_tag_hostname_7 },
864 : /* 5 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,4)|A1_FLAG_OPTIONAL, offsetof(struct NTLMRequest, targetinfo), asn1_DigestResponse_tickets_0 },
865 : /* 6 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,5), offsetof(struct NTLMRequest, lm), asn1_DigestResponse_tickets_0 },
866 : /* 7 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,6), offsetof(struct NTLMRequest, ntlm), asn1_DigestResponse_tickets_0 },
867 : /* 8 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,7)|A1_FLAG_OPTIONAL, offsetof(struct NTLMRequest, sessionkey), asn1_DigestResponse_tickets_0 },
868 : /* 9 */ { A1_OP_NAME, 0, "NTLMRequest" },
869 : /* 10 */ { A1_OP_NAME, 0, "flags" },
870 : /* 11 */ { A1_OP_NAME, 0, "opaque" },
871 : /* 12 */ { A1_OP_NAME, 0, "username" },
872 : /* 13 */ { A1_OP_NAME, 0, "targetname" },
873 : /* 14 */ { A1_OP_NAME, 0, "targetinfo" },
874 : /* 15 */ { A1_OP_NAME, 0, "lm" },
875 : /* 16 */ { A1_OP_NAME, 0, "ntlm" },
876 : /* 17 */ { A1_OP_NAME, 0, "sessionkey" }
877 : };
878 : /* generate_template_type: NTLMRequest */
879 : const struct asn1_template asn1_NTLMRequest[] = {
880 : /* 0 */ { 0, sizeof(NTLMRequest), ((void *)(uintptr_t)1) },
881 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,CONS,UT_Sequence), 0, asn1_NTLMRequest_tag__74 }
882 : };
883 :
884 : int ASN1CALL
885 0 : decode_NTLMRequest(const unsigned char *p, size_t len, NTLMRequest *data, size_t *size)
886 : {
887 0 : memset(data, 0, sizeof(*data));
888 0 : return _asn1_decode_top(asn1_NTLMRequest, 0|0, p, len, data, size);
889 : }
890 :
891 :
892 : int ASN1CALL
893 0 : encode_NTLMRequest(unsigned char *p, size_t len, const NTLMRequest *data, size_t *size)
894 : {
895 0 : return _asn1_encode(asn1_NTLMRequest, p, len, data, size);
896 : }
897 :
898 :
899 : size_t ASN1CALL
900 0 : length_NTLMRequest(const NTLMRequest *data)
901 : {
902 0 : return _asn1_length(asn1_NTLMRequest, data);
903 : }
904 :
905 :
906 : void ASN1CALL
907 0 : free_NTLMRequest(NTLMRequest *data)
908 : {
909 0 : _asn1_free_top(asn1_NTLMRequest, data);
910 0 : }
911 :
912 :
913 : int ASN1CALL
914 0 : copy_NTLMRequest(const NTLMRequest *from, NTLMRequest *to)
915 : {
916 0 : return _asn1_copy_top(asn1_NTLMRequest, from, to);
917 : }
918 :
919 :
920 : char * ASN1CALL
921 0 : print_NTLMRequest(const NTLMRequest *data, int flags)
922 : {
923 0 : return _asn1_print_top(asn1_NTLMRequest, flags, data);
924 : }
925 :
926 : /* template_members: NTLMResponse exp exp */
927 : /* tsequence: members isstruct: 1 */
928 : /* template_members: NTLMResponse exp exp */
929 : /* template_members: int exp exp */
930 : /* generate_template_type: int_tag_success_93 */
931 : /* generate_template_type: NTLMResponse_tag_success_92 */
932 : const struct asn1_template asn1_NTLMResponse_tag_success_92[] = {
933 : /* 0 */ { 0, sizeof(int), ((void *)(uintptr_t)1) },
934 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_Boolean), 0, asn1_DigestResponse_tag_success_44 }
935 : };
936 : /* template_members: NTLMResponse exp exp */
937 : /* template_members: unsigned exp exp */
938 : /* generate_template_type: unsigned_tag_flags_95 */
939 : /* generate_template_type: NTLMResponse_tag_flags_94 */
940 : /* template_members: NTLMResponse exp exp */
941 : /* template_members: heim_octet_string exp exp */
942 : /* generate_template_type: heim_octet_string_tag_sessionkey_97 */
943 : /* generate_template_type: NTLMResponse_tag_sessionkey_96 */
944 : /* template_members: NTLMResponse exp exp */
945 : /* template_members: NTLMResponse exp exp */
946 : /* template_members: heim_octet_string exp exp */
947 : /* generate_template_type: heim_octet_string_tag__100 */
948 : /* generate_template_type: NTLMResponse_tickets_1 */
949 : /* generate_template_type: NTLMResponse_tag_tickets_99 */
950 : const struct asn1_template asn1_NTLMResponse_tag_tickets_99[] = {
951 : /* 0 */ { 0, sizeof(struct NTLMResponse_tickets), ((void *)(uintptr_t)1) },
952 : /* 1 */ { A1_OP_SEQOF, 0, asn1_DigestResponse_tickets_0 }
953 : };
954 : /* generate_template_type: NTLMResponse_tag_tickets_98 */
955 : const struct asn1_template asn1_NTLMResponse_tag_tickets_98[] = {
956 : /* 0 */ { 0, sizeof(struct NTLMResponse_tickets), ((void *)(uintptr_t)1) },
957 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,CONS,UT_Sequence), 0, asn1_NTLMResponse_tag_tickets_99 }
958 : };
959 : /* generate_template_type: NTLMResponse_tag__91 */
960 : const struct asn1_template asn1_NTLMResponse_tag__91[] = {
961 : /* 0 */ { 0, sizeof(struct NTLMResponse), ((void *)(uintptr_t)9) },
962 : /* 1 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,0), offsetof(struct NTLMResponse, success), asn1_NTLMResponse_tag_success_92 },
963 : /* 2 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,1), offsetof(struct NTLMResponse, flags), asn1_NTLMInit_tag_flags_57 },
964 : /* 3 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,2)|A1_FLAG_OPTIONAL, offsetof(struct NTLMResponse, sessionkey), asn1_DigestResponse_tickets_0 },
965 : /* 4 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,3)|A1_FLAG_OPTIONAL, offsetof(struct NTLMResponse, tickets), asn1_NTLMResponse_tag_tickets_98 },
966 : /* 5 */ { A1_OP_NAME, 0, "NTLMResponse" },
967 : /* 6 */ { A1_OP_NAME, 0, "success" },
968 : /* 7 */ { A1_OP_NAME, 0, "flags" },
969 : /* 8 */ { A1_OP_NAME, 0, "sessionkey" },
970 : /* 9 */ { A1_OP_NAME, 0, "tickets" }
971 : };
972 : /* generate_template_type: NTLMResponse */
973 : const struct asn1_template asn1_NTLMResponse[] = {
974 : /* 0 */ { 0, sizeof(NTLMResponse), ((void *)(uintptr_t)1) },
975 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,CONS,UT_Sequence), 0, asn1_NTLMResponse_tag__91 }
976 : };
977 :
978 : int ASN1CALL
979 0 : decode_NTLMResponse(const unsigned char *p, size_t len, NTLMResponse *data, size_t *size)
980 : {
981 0 : memset(data, 0, sizeof(*data));
982 0 : return _asn1_decode_top(asn1_NTLMResponse, 0|0, p, len, data, size);
983 : }
984 :
985 :
986 : int ASN1CALL
987 0 : encode_NTLMResponse(unsigned char *p, size_t len, const NTLMResponse *data, size_t *size)
988 : {
989 0 : return _asn1_encode(asn1_NTLMResponse, p, len, data, size);
990 : }
991 :
992 :
993 : size_t ASN1CALL
994 0 : length_NTLMResponse(const NTLMResponse *data)
995 : {
996 0 : return _asn1_length(asn1_NTLMResponse, data);
997 : }
998 :
999 :
1000 : void ASN1CALL
1001 0 : free_NTLMResponse(NTLMResponse *data)
1002 : {
1003 0 : _asn1_free_top(asn1_NTLMResponse, data);
1004 0 : }
1005 :
1006 :
1007 : int ASN1CALL
1008 0 : copy_NTLMResponse(const NTLMResponse *from, NTLMResponse *to)
1009 : {
1010 0 : return _asn1_copy_top(asn1_NTLMResponse, from, to);
1011 : }
1012 :
1013 :
1014 : char * ASN1CALL
1015 0 : print_NTLMResponse(const NTLMResponse *data, int flags)
1016 : {
1017 0 : return _asn1_print_top(asn1_NTLMResponse, flags, data);
1018 : }
1019 :
1020 : /* template_members: NTLMRequest2 exp exp */
1021 : /* tsequence: members isstruct: 1 */
1022 : /* template_members: NTLMRequest2 exp exp */
1023 : /* template_members: heim_utf8_string exp exp */
1024 : /* generate_template_type: heim_utf8_string_tag_loginUserName_103 */
1025 : /* generate_template_type: NTLMRequest2_tag_loginUserName_102 */
1026 : /* template_members: NTLMRequest2 exp exp */
1027 : /* template_members: heim_utf8_string exp exp */
1028 : /* generate_template_type: heim_utf8_string_tag_loginDomainName_105 */
1029 : /* generate_template_type: NTLMRequest2_tag_loginDomainName_104 */
1030 : /* template_members: NTLMRequest2 exp exp */
1031 : /* template_members: unsigned exp exp */
1032 : /* generate_template_type: unsigned_tag_flags_107 */
1033 : /* generate_template_type: NTLMRequest2_tag_flags_106 */
1034 : /* template_members: NTLMRequest2 exp exp */
1035 : /* template_members: heim_octet_string exp exp */
1036 : /* generate_template_type: heim_octet_string_tag_lmchallenge_109 */
1037 : /* generate_template_type: NTLMRequest2_tag_lmchallenge_108 */
1038 : /* template_members: NTLMRequest2 exp exp */
1039 : /* template_members: heim_octet_string exp exp */
1040 : /* generate_template_type: heim_octet_string_tag_ntChallengeResponce_111 */
1041 : /* generate_template_type: NTLMRequest2_tag_ntChallengeResponce_110 */
1042 : /* template_members: NTLMRequest2 exp exp */
1043 : /* template_members: heim_octet_string exp exp */
1044 : /* generate_template_type: heim_octet_string_tag_lmChallengeResponce_113 */
1045 : /* generate_template_type: NTLMRequest2_tag_lmChallengeResponce_112 */
1046 : /* generate_template_type: NTLMRequest2_tag__101 */
1047 : const struct asn1_template asn1_NTLMRequest2_tag__101[] = {
1048 : /* 0 */ { 0, sizeof(struct NTLMRequest2), ((void *)(uintptr_t)13) },
1049 : /* 1 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,0), offsetof(struct NTLMRequest2, loginUserName), asn1_DigestInit_tag_hostname_7 },
1050 : /* 2 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,1), offsetof(struct NTLMRequest2, loginDomainName), asn1_DigestInit_tag_hostname_7 },
1051 : /* 3 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,2), offsetof(struct NTLMRequest2, flags), asn1_NTLMInit_tag_flags_57 },
1052 : /* 4 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,3), offsetof(struct NTLMRequest2, lmchallenge), asn1_DigestResponse_tickets_0 },
1053 : /* 5 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,4), offsetof(struct NTLMRequest2, ntChallengeResponce), asn1_DigestResponse_tickets_0 },
1054 : /* 6 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,5), offsetof(struct NTLMRequest2, lmChallengeResponce), asn1_DigestResponse_tickets_0 },
1055 : /* 7 */ { A1_OP_NAME, 0, "NTLMRequest2" },
1056 : /* 8 */ { A1_OP_NAME, 0, "loginUserName" },
1057 : /* 9 */ { A1_OP_NAME, 0, "loginDomainName" },
1058 : /* 10 */ { A1_OP_NAME, 0, "flags" },
1059 : /* 11 */ { A1_OP_NAME, 0, "lmchallenge" },
1060 : /* 12 */ { A1_OP_NAME, 0, "ntChallengeResponce" },
1061 : /* 13 */ { A1_OP_NAME, 0, "lmChallengeResponce" }
1062 : };
1063 : /* generate_template_type: NTLMRequest2 */
1064 : const struct asn1_template asn1_NTLMRequest2[] = {
1065 : /* 0 */ { 0, sizeof(NTLMRequest2), ((void *)(uintptr_t)1) },
1066 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,CONS,UT_Sequence), 0, asn1_NTLMRequest2_tag__101 }
1067 : };
1068 :
1069 : int ASN1CALL
1070 0 : decode_NTLMRequest2(const unsigned char *p, size_t len, NTLMRequest2 *data, size_t *size)
1071 : {
1072 0 : memset(data, 0, sizeof(*data));
1073 0 : return _asn1_decode_top(asn1_NTLMRequest2, 0|0, p, len, data, size);
1074 : }
1075 :
1076 :
1077 : int ASN1CALL
1078 0 : encode_NTLMRequest2(unsigned char *p, size_t len, const NTLMRequest2 *data, size_t *size)
1079 : {
1080 0 : return _asn1_encode(asn1_NTLMRequest2, p, len, data, size);
1081 : }
1082 :
1083 :
1084 : size_t ASN1CALL
1085 0 : length_NTLMRequest2(const NTLMRequest2 *data)
1086 : {
1087 0 : return _asn1_length(asn1_NTLMRequest2, data);
1088 : }
1089 :
1090 :
1091 : void ASN1CALL
1092 0 : free_NTLMRequest2(NTLMRequest2 *data)
1093 : {
1094 0 : _asn1_free_top(asn1_NTLMRequest2, data);
1095 0 : }
1096 :
1097 :
1098 : int ASN1CALL
1099 0 : copy_NTLMRequest2(const NTLMRequest2 *from, NTLMRequest2 *to)
1100 : {
1101 0 : return _asn1_copy_top(asn1_NTLMRequest2, from, to);
1102 : }
1103 :
1104 :
1105 : char * ASN1CALL
1106 0 : print_NTLMRequest2(const NTLMRequest2 *data, int flags)
1107 : {
1108 0 : return _asn1_print_top(asn1_NTLMRequest2, flags, data);
1109 : }
1110 :
1111 : /* template_members: NTLMReply exp exp */
1112 : /* tsequence: members isstruct: 1 */
1113 : /* template_members: NTLMReply exp exp */
1114 : /* template_members: int exp exp */
1115 : /* generate_template_type: int_tag_success_116 */
1116 : /* generate_template_type: NTLMReply_tag_success_115 */
1117 : /* template_members: NTLMReply exp exp */
1118 : /* template_members: unsigned exp exp */
1119 : /* generate_template_type: unsigned_tag_flags_118 */
1120 : /* generate_template_type: NTLMReply_tag_flags_117 */
1121 : /* template_members: NTLMReply exp exp */
1122 : /* template_members: heim_octet_string exp exp */
1123 : /* generate_template_type: heim_octet_string_tag_sessionkey_120 */
1124 : /* generate_template_type: NTLMReply_tag_sessionkey_119 */
1125 : /* generate_template_type: NTLMReply_tag__114 */
1126 : const struct asn1_template asn1_NTLMReply_tag__114[] = {
1127 : /* 0 */ { 0, sizeof(struct NTLMReply), ((void *)(uintptr_t)7) },
1128 : /* 1 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,0), offsetof(struct NTLMReply, success), asn1_NTLMResponse_tag_success_92 },
1129 : /* 2 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,1), offsetof(struct NTLMReply, flags), asn1_NTLMInit_tag_flags_57 },
1130 : /* 3 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,2)|A1_FLAG_OPTIONAL, offsetof(struct NTLMReply, sessionkey), asn1_DigestResponse_tickets_0 },
1131 : /* 4 */ { A1_OP_NAME, 0, "NTLMReply" },
1132 : /* 5 */ { A1_OP_NAME, 0, "success" },
1133 : /* 6 */ { A1_OP_NAME, 0, "flags" },
1134 : /* 7 */ { A1_OP_NAME, 0, "sessionkey" }
1135 : };
1136 : /* generate_template_type: NTLMReply */
1137 : const struct asn1_template asn1_NTLMReply[] = {
1138 : /* 0 */ { 0, sizeof(NTLMReply), ((void *)(uintptr_t)1) },
1139 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,CONS,UT_Sequence), 0, asn1_NTLMReply_tag__114 }
1140 : };
1141 :
1142 : int ASN1CALL
1143 0 : decode_NTLMReply(const unsigned char *p, size_t len, NTLMReply *data, size_t *size)
1144 : {
1145 0 : memset(data, 0, sizeof(*data));
1146 0 : return _asn1_decode_top(asn1_NTLMReply, 0|0, p, len, data, size);
1147 : }
1148 :
1149 :
1150 : int ASN1CALL
1151 0 : encode_NTLMReply(unsigned char *p, size_t len, const NTLMReply *data, size_t *size)
1152 : {
1153 0 : return _asn1_encode(asn1_NTLMReply, p, len, data, size);
1154 : }
1155 :
1156 :
1157 : size_t ASN1CALL
1158 0 : length_NTLMReply(const NTLMReply *data)
1159 : {
1160 0 : return _asn1_length(asn1_NTLMReply, data);
1161 : }
1162 :
1163 :
1164 : void ASN1CALL
1165 0 : free_NTLMReply(NTLMReply *data)
1166 : {
1167 0 : _asn1_free_top(asn1_NTLMReply, data);
1168 0 : }
1169 :
1170 :
1171 : int ASN1CALL
1172 0 : copy_NTLMReply(const NTLMReply *from, NTLMReply *to)
1173 : {
1174 0 : return _asn1_copy_top(asn1_NTLMReply, from, to);
1175 : }
1176 :
1177 :
1178 : char * ASN1CALL
1179 0 : print_NTLMReply(const NTLMReply *data, int flags)
1180 : {
1181 0 : return _asn1_print_top(asn1_NTLMReply, flags, data);
1182 : }
1183 :
1184 : /* template_members: DigestInit exp exp */
1185 : /* generate_template_type: DigestInit_tag__121 */
1186 : const struct asn1_template asn1_DigestInit_tag__121[] = {
1187 : /* 0 */ { 0, sizeof(DigestInit), ((void *)(uintptr_t)1) },
1188 : /* 1 */ { A1_OP_TYPE , 0, asn1_DigestInit }
1189 : };
1190 : /* generate_template_type: DigestReqInner_choice_init */
1191 : const struct asn1_template asn1_DigestReqInner_choice_init[] = {
1192 : /* 0 */ { 0, sizeof(DigestInit), ((void *)(uintptr_t)1) },
1193 : /* 1 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,0), 0, asn1_DigestInit_tag__121 }
1194 : };
1195 : /* template_members: DigestRequest exp exp */
1196 : /* generate_template_type: DigestRequest_tag__122 */
1197 : const struct asn1_template asn1_DigestRequest_tag__122[] = {
1198 : /* 0 */ { 0, sizeof(DigestRequest), ((void *)(uintptr_t)1) },
1199 : /* 1 */ { A1_OP_TYPE , 0, asn1_DigestRequest }
1200 : };
1201 : /* generate_template_type: DigestReqInner_choice_digestRequest */
1202 : const struct asn1_template asn1_DigestReqInner_choice_digestRequest[] = {
1203 : /* 0 */ { 0, sizeof(DigestRequest), ((void *)(uintptr_t)1) },
1204 : /* 1 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,1), 0, asn1_DigestRequest_tag__122 }
1205 : };
1206 : /* template_members: NTLMInit exp exp */
1207 : /* generate_template_type: NTLMInit_tag__123 */
1208 : const struct asn1_template asn1_NTLMInit_tag__123[] = {
1209 : /* 0 */ { 0, sizeof(NTLMInit), ((void *)(uintptr_t)1) },
1210 : /* 1 */ { A1_OP_TYPE , 0, asn1_NTLMInit }
1211 : };
1212 : /* generate_template_type: DigestReqInner_choice_ntlmInit */
1213 : const struct asn1_template asn1_DigestReqInner_choice_ntlmInit[] = {
1214 : /* 0 */ { 0, sizeof(NTLMInit), ((void *)(uintptr_t)1) },
1215 : /* 1 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,2), 0, asn1_NTLMInit_tag__123 }
1216 : };
1217 : /* template_members: NTLMRequest exp exp */
1218 : /* generate_template_type: NTLMRequest_tag__124 */
1219 : const struct asn1_template asn1_NTLMRequest_tag__124[] = {
1220 : /* 0 */ { 0, sizeof(NTLMRequest), ((void *)(uintptr_t)1) },
1221 : /* 1 */ { A1_OP_TYPE , 0, asn1_NTLMRequest }
1222 : };
1223 : /* generate_template_type: DigestReqInner_choice_ntlmRequest */
1224 : const struct asn1_template asn1_DigestReqInner_choice_ntlmRequest[] = {
1225 : /* 0 */ { 0, sizeof(NTLMRequest), ((void *)(uintptr_t)1) },
1226 : /* 1 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,3), 0, asn1_NTLMRequest_tag__124 }
1227 : };
1228 : /* template_members: heim_integer exp exp */
1229 : /* template_members: heim_integer exp exp */
1230 : /* generate_template_type: heim_integer_tag__126 */
1231 : const struct asn1_template asn1_heim_integer_tag__126[] = {
1232 : /* 0 */ { 0, sizeof(heim_integer), ((void *)(uintptr_t)0) },
1233 : };
1234 : /* generate_template_type: heim_integer_tag__125 */
1235 : const struct asn1_template asn1_heim_integer_tag__125[] = {
1236 : /* 0 */ { 0, sizeof(heim_integer), ((void *)(uintptr_t)1) },
1237 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_Null), 0, asn1_heim_integer_tag__126 }
1238 : };
1239 : /* generate_template_type: DigestReqInner_choice_supportedMechs */
1240 : const struct asn1_template asn1_DigestReqInner_choice_supportedMechs[] = {
1241 : /* 0 */ { 0, sizeof(heim_integer), ((void *)(uintptr_t)1) },
1242 : /* 1 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,4), 0, asn1_heim_integer_tag__125 }
1243 : };
1244 : static const struct asn1_template asn1_choice_DigestReqInner_0[] = {
1245 : /* 0 */ { 0, offsetof(DigestReqInner, element), ((void *)(uintptr_t)10) },
1246 : /* 1 */ { choice_DigestReqInner_init, offsetof(DigestReqInner, u.init), asn1_DigestReqInner_choice_init },
1247 : /* 2 */ { choice_DigestReqInner_digestRequest, offsetof(DigestReqInner, u.digestRequest), asn1_DigestReqInner_choice_digestRequest },
1248 : /* 3 */ { choice_DigestReqInner_ntlmInit, offsetof(DigestReqInner, u.ntlmInit), asn1_DigestReqInner_choice_ntlmInit },
1249 : /* 4 */ { choice_DigestReqInner_ntlmRequest, offsetof(DigestReqInner, u.ntlmRequest), asn1_DigestReqInner_choice_ntlmRequest },
1250 : /* 5 */ { choice_DigestReqInner_supportedMechs, offsetof(DigestReqInner, u.supportedMechs), asn1_DigestReqInner_choice_supportedMechs },
1251 : /* 6 */ { 0, 0, "init" },
1252 : /* 7 */ { 0, 0, "digestRequest" },
1253 : /* 8 */ { 0, 0, "ntlmInit" },
1254 : /* 9 */ { 0, 0, "ntlmRequest" },
1255 : /* 10 */ { 0, 0, "supportedMechs" }
1256 : };
1257 : /* generate_template_type: DigestReqInner */
1258 : const struct asn1_template asn1_DigestReqInner[] = {
1259 : /* 0 */ { 0, sizeof(DigestReqInner), ((void *)(uintptr_t)1) },
1260 : /* 1 */ { A1_OP_CHOICE, 0, asn1_choice_DigestReqInner_0 }
1261 : };
1262 :
1263 : int ASN1CALL
1264 0 : decode_DigestReqInner(const unsigned char *p, size_t len, DigestReqInner *data, size_t *size)
1265 : {
1266 0 : memset(data, 0, sizeof(*data));
1267 0 : return _asn1_decode_top(asn1_DigestReqInner, 0|0, p, len, data, size);
1268 : }
1269 :
1270 :
1271 : int ASN1CALL
1272 0 : encode_DigestReqInner(unsigned char *p, size_t len, const DigestReqInner *data, size_t *size)
1273 : {
1274 0 : return _asn1_encode(asn1_DigestReqInner, p, len, data, size);
1275 : }
1276 :
1277 :
1278 : size_t ASN1CALL
1279 0 : length_DigestReqInner(const DigestReqInner *data)
1280 : {
1281 0 : return _asn1_length(asn1_DigestReqInner, data);
1282 : }
1283 :
1284 :
1285 : void ASN1CALL
1286 0 : free_DigestReqInner(DigestReqInner *data)
1287 : {
1288 0 : _asn1_free_top(asn1_DigestReqInner, data);
1289 0 : }
1290 :
1291 :
1292 : int ASN1CALL
1293 0 : copy_DigestReqInner(const DigestReqInner *from, DigestReqInner *to)
1294 : {
1295 0 : return _asn1_copy_top(asn1_DigestReqInner, from, to);
1296 : }
1297 :
1298 :
1299 : char * ASN1CALL
1300 0 : print_DigestReqInner(const DigestReqInner *data, int flags)
1301 : {
1302 0 : return _asn1_print_top(asn1_DigestReqInner, flags, data);
1303 : }
1304 :
1305 : /* template_members: DigestREQ exp exp */
1306 : /* template_members: DigestREQ exp exp */
1307 : /* tsequence: members isstruct: 1 */
1308 : /* template_members: DigestREQ exp exp */
1309 : /* template_members: heim_octet_string exp exp */
1310 : /* generate_template_type: heim_octet_string_tag_apReq_130 */
1311 : /* generate_template_type: DigestREQ_tag_apReq_129 */
1312 : /* template_members: DigestREQ exp exp */
1313 : /* generate_template_type: DigestREQ_tag_innerReq_131 */
1314 : const struct asn1_template asn1_DigestREQ_tag_innerReq_131[] = {
1315 : /* 0 */ { 0, sizeof(EncryptedData), ((void *)(uintptr_t)1) },
1316 : /* 1 */ { A1_OP_TYPE_EXTERN , 0, &asn1_extern_EncryptedData}
1317 : };
1318 : /* generate_template_type: DigestREQ_tag__128 */
1319 : const struct asn1_template asn1_DigestREQ_tag__128[] = {
1320 : /* 0 */ { 0, sizeof(struct DigestREQ), ((void *)(uintptr_t)5) },
1321 : /* 1 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,0), offsetof(struct DigestREQ, apReq), asn1_DigestResponse_tickets_0 },
1322 : /* 2 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,1), offsetof(struct DigestREQ, innerReq), asn1_DigestREQ_tag_innerReq_131 },
1323 : /* 3 */ { A1_OP_NAME, 0, "DigestREQ" },
1324 : /* 4 */ { A1_OP_NAME, 0, "apReq" },
1325 : /* 5 */ { A1_OP_NAME, 0, "innerReq" }
1326 : };
1327 : /* generate_template_type: DigestREQ_tag__127 */
1328 : const struct asn1_template asn1_DigestREQ_tag__127[] = {
1329 : /* 0 */ { 0, sizeof(struct DigestREQ), ((void *)(uintptr_t)1) },
1330 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,CONS,UT_Sequence), 0, asn1_DigestREQ_tag__128 }
1331 : };
1332 : /* generate_template_type: DigestREQ */
1333 : const struct asn1_template asn1_DigestREQ[] = {
1334 : /* 0 */ { 0, sizeof(DigestREQ), ((void *)(uintptr_t)1) },
1335 : /* 1 */ { A1_TAG_T(ASN1_C_APPL,CONS,128), 0, asn1_DigestREQ_tag__127 }
1336 : };
1337 :
1338 : int ASN1CALL
1339 0 : decode_DigestREQ(const unsigned char *p, size_t len, DigestREQ *data, size_t *size)
1340 : {
1341 0 : memset(data, 0, sizeof(*data));
1342 0 : return _asn1_decode_top(asn1_DigestREQ, 0|0, p, len, data, size);
1343 : }
1344 :
1345 :
1346 : int ASN1CALL
1347 0 : encode_DigestREQ(unsigned char *p, size_t len, const DigestREQ *data, size_t *size)
1348 : {
1349 0 : return _asn1_encode(asn1_DigestREQ, p, len, data, size);
1350 : }
1351 :
1352 :
1353 : size_t ASN1CALL
1354 0 : length_DigestREQ(const DigestREQ *data)
1355 : {
1356 0 : return _asn1_length(asn1_DigestREQ, data);
1357 : }
1358 :
1359 :
1360 : void ASN1CALL
1361 0 : free_DigestREQ(DigestREQ *data)
1362 : {
1363 0 : _asn1_free_top(asn1_DigestREQ, data);
1364 0 : }
1365 :
1366 :
1367 : int ASN1CALL
1368 0 : copy_DigestREQ(const DigestREQ *from, DigestREQ *to)
1369 : {
1370 0 : return _asn1_copy_top(asn1_DigestREQ, from, to);
1371 : }
1372 :
1373 :
1374 : char * ASN1CALL
1375 0 : print_DigestREQ(const DigestREQ *data, int flags)
1376 : {
1377 0 : return _asn1_print_top(asn1_DigestREQ, flags, data);
1378 : }
1379 :
1380 : /* template_members: DigestError exp exp */
1381 : /* generate_template_type: DigestError_tag__132 */
1382 : const struct asn1_template asn1_DigestError_tag__132[] = {
1383 : /* 0 */ { 0, sizeof(DigestError), ((void *)(uintptr_t)1) },
1384 : /* 1 */ { A1_OP_TYPE , 0, asn1_DigestError }
1385 : };
1386 : /* generate_template_type: DigestRepInner_choice_error */
1387 : const struct asn1_template asn1_DigestRepInner_choice_error[] = {
1388 : /* 0 */ { 0, sizeof(DigestError), ((void *)(uintptr_t)1) },
1389 : /* 1 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,0), 0, asn1_DigestError_tag__132 }
1390 : };
1391 : /* template_members: DigestInitReply exp exp */
1392 : /* generate_template_type: DigestInitReply_tag__133 */
1393 : const struct asn1_template asn1_DigestInitReply_tag__133[] = {
1394 : /* 0 */ { 0, sizeof(DigestInitReply), ((void *)(uintptr_t)1) },
1395 : /* 1 */ { A1_OP_TYPE , 0, asn1_DigestInitReply }
1396 : };
1397 : /* generate_template_type: DigestRepInner_choice_initReply */
1398 : const struct asn1_template asn1_DigestRepInner_choice_initReply[] = {
1399 : /* 0 */ { 0, sizeof(DigestInitReply), ((void *)(uintptr_t)1) },
1400 : /* 1 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,1), 0, asn1_DigestInitReply_tag__133 }
1401 : };
1402 : /* template_members: DigestResponse exp exp */
1403 : /* generate_template_type: DigestResponse_tag__134 */
1404 : const struct asn1_template asn1_DigestResponse_tag__134[] = {
1405 : /* 0 */ { 0, sizeof(DigestResponse), ((void *)(uintptr_t)1) },
1406 : /* 1 */ { A1_OP_TYPE , 0, asn1_DigestResponse }
1407 : };
1408 : /* generate_template_type: DigestRepInner_choice_response */
1409 : const struct asn1_template asn1_DigestRepInner_choice_response[] = {
1410 : /* 0 */ { 0, sizeof(DigestResponse), ((void *)(uintptr_t)1) },
1411 : /* 1 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,2), 0, asn1_DigestResponse_tag__134 }
1412 : };
1413 : /* template_members: NTLMInitReply exp exp */
1414 : /* generate_template_type: NTLMInitReply_tag__135 */
1415 : const struct asn1_template asn1_NTLMInitReply_tag__135[] = {
1416 : /* 0 */ { 0, sizeof(NTLMInitReply), ((void *)(uintptr_t)1) },
1417 : /* 1 */ { A1_OP_TYPE , 0, asn1_NTLMInitReply }
1418 : };
1419 : /* generate_template_type: DigestRepInner_choice_ntlmInitReply */
1420 : const struct asn1_template asn1_DigestRepInner_choice_ntlmInitReply[] = {
1421 : /* 0 */ { 0, sizeof(NTLMInitReply), ((void *)(uintptr_t)1) },
1422 : /* 1 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,3), 0, asn1_NTLMInitReply_tag__135 }
1423 : };
1424 : /* template_members: NTLMResponse exp exp */
1425 : /* generate_template_type: NTLMResponse_tag__136 */
1426 : const struct asn1_template asn1_NTLMResponse_tag__136[] = {
1427 : /* 0 */ { 0, sizeof(NTLMResponse), ((void *)(uintptr_t)1) },
1428 : /* 1 */ { A1_OP_TYPE , 0, asn1_NTLMResponse }
1429 : };
1430 : /* generate_template_type: DigestRepInner_choice_ntlmResponse */
1431 : const struct asn1_template asn1_DigestRepInner_choice_ntlmResponse[] = {
1432 : /* 0 */ { 0, sizeof(NTLMResponse), ((void *)(uintptr_t)1) },
1433 : /* 1 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,4), 0, asn1_NTLMResponse_tag__136 }
1434 : };
1435 : /* template_members: DigestTypes exp exp */
1436 : /* generate_template_type: DigestTypes_tag__137 */
1437 : const struct asn1_template asn1_DigestTypes_tag__137[] = {
1438 : /* 0 */ { 0, sizeof(DigestTypes), ((void *)(uintptr_t)1) },
1439 : /* 1 */ { A1_OP_TYPE , 0, asn1_DigestTypes }
1440 : };
1441 : /* generate_template_type: DigestRepInner_choice_supportedMechs */
1442 : const struct asn1_template asn1_DigestRepInner_choice_supportedMechs[] = {
1443 : /* 0 */ { 0, sizeof(DigestTypes), ((void *)(uintptr_t)1) },
1444 : /* 1 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,5), 0, asn1_DigestTypes_tag__137 }
1445 : };
1446 : static const struct asn1_template asn1_choice_DigestRepInner_1[] = {
1447 : /* 0 */ { offsetof(DigestRepInner, u.asn1_ellipsis), offsetof(DigestRepInner, element), ((void *)(uintptr_t)13) },
1448 : /* 1 */ { choice_DigestRepInner_error, offsetof(DigestRepInner, u.error), asn1_DigestRepInner_choice_error },
1449 : /* 2 */ { choice_DigestRepInner_initReply, offsetof(DigestRepInner, u.initReply), asn1_DigestRepInner_choice_initReply },
1450 : /* 3 */ { choice_DigestRepInner_response, offsetof(DigestRepInner, u.response), asn1_DigestRepInner_choice_response },
1451 : /* 4 */ { choice_DigestRepInner_ntlmInitReply, offsetof(DigestRepInner, u.ntlmInitReply), asn1_DigestRepInner_choice_ntlmInitReply },
1452 : /* 5 */ { choice_DigestRepInner_ntlmResponse, offsetof(DigestRepInner, u.ntlmResponse), asn1_DigestRepInner_choice_ntlmResponse },
1453 : /* 6 */ { choice_DigestRepInner_supportedMechs, offsetof(DigestRepInner, u.supportedMechs), asn1_DigestRepInner_choice_supportedMechs },
1454 : /* 7 */ { 0, 0, "error" },
1455 : /* 8 */ { 0, 0, "initReply" },
1456 : /* 9 */ { 0, 0, "response" },
1457 : /* 10 */ { 0, 0, "ntlmInitReply" },
1458 : /* 11 */ { 0, 0, "ntlmResponse" },
1459 : /* 12 */ { 0, 0, "supportedMechs" },
1460 : /* 13 */ { 0, 0, "..." }
1461 : };
1462 : /* generate_template_type: DigestRepInner */
1463 : const struct asn1_template asn1_DigestRepInner[] = {
1464 : /* 0 */ { 0, sizeof(DigestRepInner), ((void *)(uintptr_t)1) },
1465 : /* 1 */ { A1_OP_CHOICE, 0, asn1_choice_DigestRepInner_1 }
1466 : };
1467 :
1468 : int ASN1CALL
1469 0 : decode_DigestRepInner(const unsigned char *p, size_t len, DigestRepInner *data, size_t *size)
1470 : {
1471 0 : memset(data, 0, sizeof(*data));
1472 0 : return _asn1_decode_top(asn1_DigestRepInner, 0|0, p, len, data, size);
1473 : }
1474 :
1475 :
1476 : int ASN1CALL
1477 0 : encode_DigestRepInner(unsigned char *p, size_t len, const DigestRepInner *data, size_t *size)
1478 : {
1479 0 : return _asn1_encode(asn1_DigestRepInner, p, len, data, size);
1480 : }
1481 :
1482 :
1483 : size_t ASN1CALL
1484 0 : length_DigestRepInner(const DigestRepInner *data)
1485 : {
1486 0 : return _asn1_length(asn1_DigestRepInner, data);
1487 : }
1488 :
1489 :
1490 : void ASN1CALL
1491 0 : free_DigestRepInner(DigestRepInner *data)
1492 : {
1493 0 : _asn1_free_top(asn1_DigestRepInner, data);
1494 0 : }
1495 :
1496 :
1497 : int ASN1CALL
1498 0 : copy_DigestRepInner(const DigestRepInner *from, DigestRepInner *to)
1499 : {
1500 0 : return _asn1_copy_top(asn1_DigestRepInner, from, to);
1501 : }
1502 :
1503 :
1504 : char * ASN1CALL
1505 0 : print_DigestRepInner(const DigestRepInner *data, int flags)
1506 : {
1507 0 : return _asn1_print_top(asn1_DigestRepInner, flags, data);
1508 : }
1509 :
1510 : /* template_members: DigestREP exp exp */
1511 : /* template_members: DigestREP exp exp */
1512 : /* tsequence: members isstruct: 1 */
1513 : /* template_members: DigestREP exp exp */
1514 : /* template_members: heim_octet_string exp exp */
1515 : /* generate_template_type: heim_octet_string_tag_apRep_141 */
1516 : /* generate_template_type: DigestREP_tag_apRep_140 */
1517 : /* template_members: DigestREP exp exp */
1518 : /* generate_template_type: DigestREP_tag_innerRep_142 */
1519 : /* generate_template_type: DigestREP_tag__139 */
1520 : const struct asn1_template asn1_DigestREP_tag__139[] = {
1521 : /* 0 */ { 0, sizeof(struct DigestREP), ((void *)(uintptr_t)5) },
1522 : /* 1 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,0), offsetof(struct DigestREP, apRep), asn1_DigestResponse_tickets_0 },
1523 : /* 2 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,1), offsetof(struct DigestREP, innerRep), asn1_DigestREQ_tag_innerReq_131 },
1524 : /* 3 */ { A1_OP_NAME, 0, "DigestREP" },
1525 : /* 4 */ { A1_OP_NAME, 0, "apRep" },
1526 : /* 5 */ { A1_OP_NAME, 0, "innerRep" }
1527 : };
1528 : /* generate_template_type: DigestREP_tag__138 */
1529 : const struct asn1_template asn1_DigestREP_tag__138[] = {
1530 : /* 0 */ { 0, sizeof(struct DigestREP), ((void *)(uintptr_t)1) },
1531 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,CONS,UT_Sequence), 0, asn1_DigestREP_tag__139 }
1532 : };
1533 : /* generate_template_type: DigestREP */
1534 : const struct asn1_template asn1_DigestREP[] = {
1535 : /* 0 */ { 0, sizeof(DigestREP), ((void *)(uintptr_t)1) },
1536 : /* 1 */ { A1_TAG_T(ASN1_C_APPL,CONS,129), 0, asn1_DigestREP_tag__138 }
1537 : };
1538 :
1539 : int ASN1CALL
1540 0 : decode_DigestREP(const unsigned char *p, size_t len, DigestREP *data, size_t *size)
1541 : {
1542 0 : memset(data, 0, sizeof(*data));
1543 0 : return _asn1_decode_top(asn1_DigestREP, 0|0, p, len, data, size);
1544 : }
1545 :
1546 :
1547 : int ASN1CALL
1548 0 : encode_DigestREP(unsigned char *p, size_t len, const DigestREP *data, size_t *size)
1549 : {
1550 0 : return _asn1_encode(asn1_DigestREP, p, len, data, size);
1551 : }
1552 :
1553 :
1554 : size_t ASN1CALL
1555 0 : length_DigestREP(const DigestREP *data)
1556 : {
1557 0 : return _asn1_length(asn1_DigestREP, data);
1558 : }
1559 :
1560 :
1561 : void ASN1CALL
1562 0 : free_DigestREP(DigestREP *data)
1563 : {
1564 0 : _asn1_free_top(asn1_DigestREP, data);
1565 0 : }
1566 :
1567 :
1568 : int ASN1CALL
1569 0 : copy_DigestREP(const DigestREP *from, DigestREP *to)
1570 : {
1571 0 : return _asn1_copy_top(asn1_DigestREP, from, to);
1572 : }
1573 :
1574 :
1575 : char * ASN1CALL
1576 0 : print_DigestREP(const DigestREP *data, int flags)
1577 : {
1578 0 : return _asn1_print_top(asn1_DigestREP, flags, data);
1579 : }
1580 :
|