summaryrefslogtreecommitdiff
path: root/src/lib/libcrypto/asn1/tasn_typ.c
diff options
context:
space:
mode:
authorjsing <>2015-02-09 15:05:59 +0000
committerjsing <>2015-02-09 15:05:59 +0000
commit714f82ff1b6302b27dcbcff8136087833e23251d (patch)
tree80e095d0af9796de5fe6127773c94c044f1f68bd /src/lib/libcrypto/asn1/tasn_typ.c
parent9e99e3c7210b10eacf8cf3b559238c15b31f6438 (diff)
downloadopenbsd-714f82ff1b6302b27dcbcff8136087833e23251d.tar.gz
openbsd-714f82ff1b6302b27dcbcff8136087833e23251d.tar.bz2
openbsd-714f82ff1b6302b27dcbcff8136087833e23251d.zip
Expand the IMPLEMENT_ASN1_FUNCTIONS macro so that the code is visible and
functions can be readily located. Change has been scripted and the generated assembly only differs by changes to line numbers. Discussed with beck@ miod@ tedu@
Diffstat (limited to 'src/lib/libcrypto/asn1/tasn_typ.c')
-rw-r--r--src/lib/libcrypto/asn1/tasn_typ.c392
1 files changed, 376 insertions, 16 deletions
diff --git a/src/lib/libcrypto/asn1/tasn_typ.c b/src/lib/libcrypto/asn1/tasn_typ.c
index 04d9c84180..2f44b4229b 100644
--- a/src/lib/libcrypto/asn1/tasn_typ.c
+++ b/src/lib/libcrypto/asn1/tasn_typ.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: tasn_typ.c,v 1.6 2014/06/12 15:49:27 deraadt Exp $ */ 1/* $OpenBSD: tasn_typ.c,v 1.7 2015/02/09 15:05:59 jsing Exp $ */
2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL 2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
3 * project 2000. 3 * project 2000.
4 */ 4 */
@@ -63,51 +63,411 @@
63 63
64 64
65IMPLEMENT_ASN1_TYPE(ASN1_INTEGER) 65IMPLEMENT_ASN1_TYPE(ASN1_INTEGER)
66IMPLEMENT_ASN1_FUNCTIONS(ASN1_INTEGER) 66
67ASN1_INTEGER *
68d2i_ASN1_INTEGER(ASN1_INTEGER **a, const unsigned char **in, long len)
69{
70 return (ASN1_INTEGER *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
71 &ASN1_INTEGER_it);
72}
73
74int
75i2d_ASN1_INTEGER(ASN1_INTEGER *a, unsigned char **out)
76{
77 return ASN1_item_i2d((ASN1_VALUE *)a, out, &ASN1_INTEGER_it);
78}
79
80ASN1_INTEGER *
81ASN1_INTEGER_new(void)
82{
83 return (ASN1_INTEGER *)ASN1_item_new(&ASN1_INTEGER_it);
84}
85
86void
87ASN1_INTEGER_free(ASN1_INTEGER *a)
88{
89 ASN1_item_free((ASN1_VALUE *)a, &ASN1_INTEGER_it);
90}
67 91
68IMPLEMENT_ASN1_TYPE(ASN1_ENUMERATED) 92IMPLEMENT_ASN1_TYPE(ASN1_ENUMERATED)
69IMPLEMENT_ASN1_FUNCTIONS(ASN1_ENUMERATED) 93
94ASN1_ENUMERATED *
95d2i_ASN1_ENUMERATED(ASN1_ENUMERATED **a, const unsigned char **in, long len)
96{
97 return (ASN1_ENUMERATED *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
98 &ASN1_ENUMERATED_it);
99}
100
101int
102i2d_ASN1_ENUMERATED(ASN1_ENUMERATED *a, unsigned char **out)
103{
104 return ASN1_item_i2d((ASN1_VALUE *)a, out, &ASN1_ENUMERATED_it);
105}
106
107ASN1_ENUMERATED *
108ASN1_ENUMERATED_new(void)
109{
110 return (ASN1_ENUMERATED *)ASN1_item_new(&ASN1_ENUMERATED_it);
111}
112
113void
114ASN1_ENUMERATED_free(ASN1_ENUMERATED *a)
115{
116 ASN1_item_free((ASN1_VALUE *)a, &ASN1_ENUMERATED_it);
117}
70 118
71IMPLEMENT_ASN1_TYPE(ASN1_BIT_STRING) 119IMPLEMENT_ASN1_TYPE(ASN1_BIT_STRING)
72IMPLEMENT_ASN1_FUNCTIONS(ASN1_BIT_STRING) 120
121ASN1_BIT_STRING *
122d2i_ASN1_BIT_STRING(ASN1_BIT_STRING **a, const unsigned char **in, long len)
123{
124 return (ASN1_BIT_STRING *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
125 &ASN1_BIT_STRING_it);
126}
127
128int
129i2d_ASN1_BIT_STRING(ASN1_BIT_STRING *a, unsigned char **out)
130{
131 return ASN1_item_i2d((ASN1_VALUE *)a, out, &ASN1_BIT_STRING_it);
132}
133
134ASN1_BIT_STRING *
135ASN1_BIT_STRING_new(void)
136{
137 return (ASN1_BIT_STRING *)ASN1_item_new(&ASN1_BIT_STRING_it);
138}
139
140void
141ASN1_BIT_STRING_free(ASN1_BIT_STRING *a)
142{
143 ASN1_item_free((ASN1_VALUE *)a, &ASN1_BIT_STRING_it);
144}
73 145
74IMPLEMENT_ASN1_TYPE(ASN1_OCTET_STRING) 146IMPLEMENT_ASN1_TYPE(ASN1_OCTET_STRING)
75IMPLEMENT_ASN1_FUNCTIONS(ASN1_OCTET_STRING) 147
148ASN1_OCTET_STRING *
149d2i_ASN1_OCTET_STRING(ASN1_OCTET_STRING **a, const unsigned char **in, long len)
150{
151 return (ASN1_OCTET_STRING *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
152 &ASN1_OCTET_STRING_it);
153}
154
155int
156i2d_ASN1_OCTET_STRING(ASN1_OCTET_STRING *a, unsigned char **out)
157{
158 return ASN1_item_i2d((ASN1_VALUE *)a, out, &ASN1_OCTET_STRING_it);
159}
160
161ASN1_OCTET_STRING *
162ASN1_OCTET_STRING_new(void)
163{
164 return (ASN1_OCTET_STRING *)ASN1_item_new(&ASN1_OCTET_STRING_it);
165}
166
167void
168ASN1_OCTET_STRING_free(ASN1_OCTET_STRING *a)
169{
170 ASN1_item_free((ASN1_VALUE *)a, &ASN1_OCTET_STRING_it);
171}
76 172
77IMPLEMENT_ASN1_TYPE(ASN1_NULL) 173IMPLEMENT_ASN1_TYPE(ASN1_NULL)
78IMPLEMENT_ASN1_FUNCTIONS(ASN1_NULL) 174
175ASN1_NULL *
176d2i_ASN1_NULL(ASN1_NULL **a, const unsigned char **in, long len)
177{
178 return (ASN1_NULL *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
179 &ASN1_NULL_it);
180}
181
182int
183i2d_ASN1_NULL(ASN1_NULL *a, unsigned char **out)
184{
185 return ASN1_item_i2d((ASN1_VALUE *)a, out, &ASN1_NULL_it);
186}
187
188ASN1_NULL *
189ASN1_NULL_new(void)
190{
191 return (ASN1_NULL *)ASN1_item_new(&ASN1_NULL_it);
192}
193
194void
195ASN1_NULL_free(ASN1_NULL *a)
196{
197 ASN1_item_free((ASN1_VALUE *)a, &ASN1_NULL_it);
198}
79 199
80IMPLEMENT_ASN1_TYPE(ASN1_OBJECT) 200IMPLEMENT_ASN1_TYPE(ASN1_OBJECT)
81 201
82IMPLEMENT_ASN1_TYPE(ASN1_UTF8STRING) 202IMPLEMENT_ASN1_TYPE(ASN1_UTF8STRING)
83IMPLEMENT_ASN1_FUNCTIONS(ASN1_UTF8STRING) 203
204ASN1_UTF8STRING *
205d2i_ASN1_UTF8STRING(ASN1_UTF8STRING **a, const unsigned char **in, long len)
206{
207 return (ASN1_UTF8STRING *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
208 &ASN1_UTF8STRING_it);
209}
210
211int
212i2d_ASN1_UTF8STRING(ASN1_UTF8STRING *a, unsigned char **out)
213{
214 return ASN1_item_i2d((ASN1_VALUE *)a, out, &ASN1_UTF8STRING_it);
215}
216
217ASN1_UTF8STRING *
218ASN1_UTF8STRING_new(void)
219{
220 return (ASN1_UTF8STRING *)ASN1_item_new(&ASN1_UTF8STRING_it);
221}
222
223void
224ASN1_UTF8STRING_free(ASN1_UTF8STRING *a)
225{
226 ASN1_item_free((ASN1_VALUE *)a, &ASN1_UTF8STRING_it);
227}
84 228
85IMPLEMENT_ASN1_TYPE(ASN1_PRINTABLESTRING) 229IMPLEMENT_ASN1_TYPE(ASN1_PRINTABLESTRING)
86IMPLEMENT_ASN1_FUNCTIONS(ASN1_PRINTABLESTRING) 230
231ASN1_PRINTABLESTRING *
232d2i_ASN1_PRINTABLESTRING(ASN1_PRINTABLESTRING **a, const unsigned char **in, long len)
233{
234 return (ASN1_PRINTABLESTRING *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
235 &ASN1_PRINTABLESTRING_it);
236}
237
238int
239i2d_ASN1_PRINTABLESTRING(ASN1_PRINTABLESTRING *a, unsigned char **out)
240{
241 return ASN1_item_i2d((ASN1_VALUE *)a, out, &ASN1_PRINTABLESTRING_it);
242}
243
244ASN1_PRINTABLESTRING *
245ASN1_PRINTABLESTRING_new(void)
246{
247 return (ASN1_PRINTABLESTRING *)ASN1_item_new(&ASN1_PRINTABLESTRING_it);
248}
249
250void
251ASN1_PRINTABLESTRING_free(ASN1_PRINTABLESTRING *a)
252{
253 ASN1_item_free((ASN1_VALUE *)a, &ASN1_PRINTABLESTRING_it);
254}
87 255
88IMPLEMENT_ASN1_TYPE(ASN1_T61STRING) 256IMPLEMENT_ASN1_TYPE(ASN1_T61STRING)
89IMPLEMENT_ASN1_FUNCTIONS(ASN1_T61STRING) 257
258ASN1_T61STRING *
259d2i_ASN1_T61STRING(ASN1_T61STRING **a, const unsigned char **in, long len)
260{
261 return (ASN1_T61STRING *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
262 &ASN1_T61STRING_it);
263}
264
265int
266i2d_ASN1_T61STRING(ASN1_T61STRING *a, unsigned char **out)
267{
268 return ASN1_item_i2d((ASN1_VALUE *)a, out, &ASN1_T61STRING_it);
269}
270
271ASN1_T61STRING *
272ASN1_T61STRING_new(void)
273{
274 return (ASN1_T61STRING *)ASN1_item_new(&ASN1_T61STRING_it);
275}
276
277void
278ASN1_T61STRING_free(ASN1_T61STRING *a)
279{
280 ASN1_item_free((ASN1_VALUE *)a, &ASN1_T61STRING_it);
281}
90 282
91IMPLEMENT_ASN1_TYPE(ASN1_IA5STRING) 283IMPLEMENT_ASN1_TYPE(ASN1_IA5STRING)
92IMPLEMENT_ASN1_FUNCTIONS(ASN1_IA5STRING) 284
285ASN1_IA5STRING *
286d2i_ASN1_IA5STRING(ASN1_IA5STRING **a, const unsigned char **in, long len)
287{
288 return (ASN1_IA5STRING *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
289 &ASN1_IA5STRING_it);
290}
291
292int
293i2d_ASN1_IA5STRING(ASN1_IA5STRING *a, unsigned char **out)
294{
295 return ASN1_item_i2d((ASN1_VALUE *)a, out, &ASN1_IA5STRING_it);
296}
297
298ASN1_IA5STRING *
299ASN1_IA5STRING_new(void)
300{
301 return (ASN1_IA5STRING *)ASN1_item_new(&ASN1_IA5STRING_it);
302}
303
304void
305ASN1_IA5STRING_free(ASN1_IA5STRING *a)
306{
307 ASN1_item_free((ASN1_VALUE *)a, &ASN1_IA5STRING_it);
308}
93 309
94IMPLEMENT_ASN1_TYPE(ASN1_GENERALSTRING) 310IMPLEMENT_ASN1_TYPE(ASN1_GENERALSTRING)
95IMPLEMENT_ASN1_FUNCTIONS(ASN1_GENERALSTRING) 311
312ASN1_GENERALSTRING *
313d2i_ASN1_GENERALSTRING(ASN1_GENERALSTRING **a, const unsigned char **in, long len)
314{
315 return (ASN1_GENERALSTRING *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
316 &ASN1_GENERALSTRING_it);
317}
318
319int
320i2d_ASN1_GENERALSTRING(ASN1_GENERALSTRING *a, unsigned char **out)
321{
322 return ASN1_item_i2d((ASN1_VALUE *)a, out, &ASN1_GENERALSTRING_it);
323}
324
325ASN1_GENERALSTRING *
326ASN1_GENERALSTRING_new(void)
327{
328 return (ASN1_GENERALSTRING *)ASN1_item_new(&ASN1_GENERALSTRING_it);
329}
330
331void
332ASN1_GENERALSTRING_free(ASN1_GENERALSTRING *a)
333{
334 ASN1_item_free((ASN1_VALUE *)a, &ASN1_GENERALSTRING_it);
335}
96 336
97IMPLEMENT_ASN1_TYPE(ASN1_UTCTIME) 337IMPLEMENT_ASN1_TYPE(ASN1_UTCTIME)
98IMPLEMENT_ASN1_FUNCTIONS(ASN1_UTCTIME) 338
339ASN1_UTCTIME *
340d2i_ASN1_UTCTIME(ASN1_UTCTIME **a, const unsigned char **in, long len)
341{
342 return (ASN1_UTCTIME *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
343 &ASN1_UTCTIME_it);
344}
345
346int
347i2d_ASN1_UTCTIME(ASN1_UTCTIME *a, unsigned char **out)
348{
349 return ASN1_item_i2d((ASN1_VALUE *)a, out, &ASN1_UTCTIME_it);
350}
351
352ASN1_UTCTIME *
353ASN1_UTCTIME_new(void)
354{
355 return (ASN1_UTCTIME *)ASN1_item_new(&ASN1_UTCTIME_it);
356}
357
358void
359ASN1_UTCTIME_free(ASN1_UTCTIME *a)
360{
361 ASN1_item_free((ASN1_VALUE *)a, &ASN1_UTCTIME_it);
362}
99 363
100IMPLEMENT_ASN1_TYPE(ASN1_GENERALIZEDTIME) 364IMPLEMENT_ASN1_TYPE(ASN1_GENERALIZEDTIME)
101IMPLEMENT_ASN1_FUNCTIONS(ASN1_GENERALIZEDTIME) 365
366ASN1_GENERALIZEDTIME *
367d2i_ASN1_GENERALIZEDTIME(ASN1_GENERALIZEDTIME **a, const unsigned char **in, long len)
368{
369 return (ASN1_GENERALIZEDTIME *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
370 &ASN1_GENERALIZEDTIME_it);
371}
372
373int
374i2d_ASN1_GENERALIZEDTIME(ASN1_GENERALIZEDTIME *a, unsigned char **out)
375{
376 return ASN1_item_i2d((ASN1_VALUE *)a, out, &ASN1_GENERALIZEDTIME_it);
377}
378
379ASN1_GENERALIZEDTIME *
380ASN1_GENERALIZEDTIME_new(void)
381{
382 return (ASN1_GENERALIZEDTIME *)ASN1_item_new(&ASN1_GENERALIZEDTIME_it);
383}
384
385void
386ASN1_GENERALIZEDTIME_free(ASN1_GENERALIZEDTIME *a)
387{
388 ASN1_item_free((ASN1_VALUE *)a, &ASN1_GENERALIZEDTIME_it);
389}
102 390
103IMPLEMENT_ASN1_TYPE(ASN1_VISIBLESTRING) 391IMPLEMENT_ASN1_TYPE(ASN1_VISIBLESTRING)
104IMPLEMENT_ASN1_FUNCTIONS(ASN1_VISIBLESTRING) 392
393ASN1_VISIBLESTRING *
394d2i_ASN1_VISIBLESTRING(ASN1_VISIBLESTRING **a, const unsigned char **in, long len)
395{
396 return (ASN1_VISIBLESTRING *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
397 &ASN1_VISIBLESTRING_it);
398}
399
400int
401i2d_ASN1_VISIBLESTRING(ASN1_VISIBLESTRING *a, unsigned char **out)
402{
403 return ASN1_item_i2d((ASN1_VALUE *)a, out, &ASN1_VISIBLESTRING_it);
404}
405
406ASN1_VISIBLESTRING *
407ASN1_VISIBLESTRING_new(void)
408{
409 return (ASN1_VISIBLESTRING *)ASN1_item_new(&ASN1_VISIBLESTRING_it);
410}
411
412void
413ASN1_VISIBLESTRING_free(ASN1_VISIBLESTRING *a)
414{
415 ASN1_item_free((ASN1_VALUE *)a, &ASN1_VISIBLESTRING_it);
416}
105 417
106IMPLEMENT_ASN1_TYPE(ASN1_UNIVERSALSTRING) 418IMPLEMENT_ASN1_TYPE(ASN1_UNIVERSALSTRING)
107IMPLEMENT_ASN1_FUNCTIONS(ASN1_UNIVERSALSTRING) 419
420ASN1_UNIVERSALSTRING *
421d2i_ASN1_UNIVERSALSTRING(ASN1_UNIVERSALSTRING **a, const unsigned char **in, long len)
422{
423 return (ASN1_UNIVERSALSTRING *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
424 &ASN1_UNIVERSALSTRING_it);
425}
426
427int
428i2d_ASN1_UNIVERSALSTRING(ASN1_UNIVERSALSTRING *a, unsigned char **out)
429{
430 return ASN1_item_i2d((ASN1_VALUE *)a, out, &ASN1_UNIVERSALSTRING_it);
431}
432
433ASN1_UNIVERSALSTRING *
434ASN1_UNIVERSALSTRING_new(void)
435{
436 return (ASN1_UNIVERSALSTRING *)ASN1_item_new(&ASN1_UNIVERSALSTRING_it);
437}
438
439void
440ASN1_UNIVERSALSTRING_free(ASN1_UNIVERSALSTRING *a)
441{
442 ASN1_item_free((ASN1_VALUE *)a, &ASN1_UNIVERSALSTRING_it);
443}
108 444
109IMPLEMENT_ASN1_TYPE(ASN1_BMPSTRING) 445IMPLEMENT_ASN1_TYPE(ASN1_BMPSTRING)
110IMPLEMENT_ASN1_FUNCTIONS(ASN1_BMPSTRING) 446
447ASN1_BMPSTRING *
448d2i_ASN1_BMPSTRING(ASN1_BMPSTRING **a, const unsigned char **in, long len)
449{
450 return (ASN1_BMPSTRING *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
451 &ASN1_BMPSTRING_it);
452}
453
454int
455i2d_ASN1_BMPSTRING(ASN1_BMPSTRING *a, unsigned char **out)
456{
457 return ASN1_item_i2d((ASN1_VALUE *)a, out, &ASN1_BMPSTRING_it);
458}
459
460ASN1_BMPSTRING *
461ASN1_BMPSTRING_new(void)
462{
463 return (ASN1_BMPSTRING *)ASN1_item_new(&ASN1_BMPSTRING_it);
464}
465
466void
467ASN1_BMPSTRING_free(ASN1_BMPSTRING *a)
468{
469 ASN1_item_free((ASN1_VALUE *)a, &ASN1_BMPSTRING_it);
470}
111 471
112IMPLEMENT_ASN1_TYPE(ASN1_ANY) 472IMPLEMENT_ASN1_TYPE(ASN1_ANY)
113 473