summaryrefslogtreecommitdiff
path: root/src/lib/libcrypto/ts
diff options
context:
space:
mode:
authorjsing <>2015-02-10 04:01:26 +0000
committerjsing <>2015-02-10 04:01:26 +0000
commit0e4218e3e293b3085109f78bed8948a0bf9f1511 (patch)
tree86b03f16387ab89c274a564f80963cad767070f8 /src/lib/libcrypto/ts
parentef9e1f7eec0659c49a61db86c7a58ea19e13d6b1 (diff)
downloadopenbsd-0e4218e3e293b3085109f78bed8948a0bf9f1511.tar.gz
openbsd-0e4218e3e293b3085109f78bed8948a0bf9f1511.tar.bz2
openbsd-0e4218e3e293b3085109f78bed8948a0bf9f1511.zip
Expand the IMPLEMENT_ASN1_FUNCTIONS_{const,fname,name} macros 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/ts')
-rw-r--r--src/lib/libcrypto/ts/ts_asn1.c236
1 files changed, 226 insertions, 10 deletions
diff --git a/src/lib/libcrypto/ts/ts_asn1.c b/src/lib/libcrypto/ts/ts_asn1.c
index bb87aa1d88..3ef882cf05 100644
--- a/src/lib/libcrypto/ts/ts_asn1.c
+++ b/src/lib/libcrypto/ts/ts_asn1.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: ts_asn1.c,v 1.5 2014/07/10 22:45:58 jsing Exp $ */ 1/* $OpenBSD: ts_asn1.c,v 1.6 2015/02/10 04:01:26 jsing Exp $ */
2/* Written by Nils Larsch for the OpenSSL project 2004. 2/* Written by Nils Larsch for the OpenSSL project 2004.
3 */ 3 */
4/* ==================================================================== 4/* ====================================================================
@@ -66,7 +66,31 @@ ASN1_SEQUENCE(TS_MSG_IMPRINT) = {
66 ASN1_SIMPLE(TS_MSG_IMPRINT, hashed_msg, ASN1_OCTET_STRING) 66 ASN1_SIMPLE(TS_MSG_IMPRINT, hashed_msg, ASN1_OCTET_STRING)
67} ASN1_SEQUENCE_END(TS_MSG_IMPRINT) 67} ASN1_SEQUENCE_END(TS_MSG_IMPRINT)
68 68
69IMPLEMENT_ASN1_FUNCTIONS_const(TS_MSG_IMPRINT) 69
70TS_MSG_IMPRINT *
71d2i_TS_MSG_IMPRINT(TS_MSG_IMPRINT **a, const unsigned char **in, long len)
72{
73 return (TS_MSG_IMPRINT *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
74 &TS_MSG_IMPRINT_it);
75}
76
77int
78i2d_TS_MSG_IMPRINT(const TS_MSG_IMPRINT *a, unsigned char **out)
79{
80 return ASN1_item_i2d((ASN1_VALUE *)a, out, &TS_MSG_IMPRINT_it);
81}
82
83TS_MSG_IMPRINT *
84TS_MSG_IMPRINT_new(void)
85{
86 return (TS_MSG_IMPRINT *)ASN1_item_new(&TS_MSG_IMPRINT_it);
87}
88
89void
90TS_MSG_IMPRINT_free(TS_MSG_IMPRINT *a)
91{
92 ASN1_item_free((ASN1_VALUE *)a, &TS_MSG_IMPRINT_it);
93}
70IMPLEMENT_ASN1_DUP_FUNCTION(TS_MSG_IMPRINT) 94IMPLEMENT_ASN1_DUP_FUNCTION(TS_MSG_IMPRINT)
71 95
72#ifndef OPENSSL_NO_BIO 96#ifndef OPENSSL_NO_BIO
@@ -106,7 +130,31 @@ ASN1_SEQUENCE(TS_REQ) = {
106 ASN1_IMP_SEQUENCE_OF_OPT(TS_REQ, extensions, X509_EXTENSION, 0) 130 ASN1_IMP_SEQUENCE_OF_OPT(TS_REQ, extensions, X509_EXTENSION, 0)
107} ASN1_SEQUENCE_END(TS_REQ) 131} ASN1_SEQUENCE_END(TS_REQ)
108 132
109IMPLEMENT_ASN1_FUNCTIONS_const(TS_REQ) 133
134TS_REQ *
135d2i_TS_REQ(TS_REQ **a, const unsigned char **in, long len)
136{
137 return (TS_REQ *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
138 &TS_REQ_it);
139}
140
141int
142i2d_TS_REQ(const TS_REQ *a, unsigned char **out)
143{
144 return ASN1_item_i2d((ASN1_VALUE *)a, out, &TS_REQ_it);
145}
146
147TS_REQ *
148TS_REQ_new(void)
149{
150 return (TS_REQ *)ASN1_item_new(&TS_REQ_it);
151}
152
153void
154TS_REQ_free(TS_REQ *a)
155{
156 ASN1_item_free((ASN1_VALUE *)a, &TS_REQ_it);
157}
110IMPLEMENT_ASN1_DUP_FUNCTION(TS_REQ) 158IMPLEMENT_ASN1_DUP_FUNCTION(TS_REQ)
111 159
112#ifndef OPENSSL_NO_BIO 160#ifndef OPENSSL_NO_BIO
@@ -141,7 +189,31 @@ ASN1_SEQUENCE(TS_ACCURACY) = {
141 ASN1_IMP_OPT(TS_ACCURACY, micros, ASN1_INTEGER, 1) 189 ASN1_IMP_OPT(TS_ACCURACY, micros, ASN1_INTEGER, 1)
142} ASN1_SEQUENCE_END(TS_ACCURACY) 190} ASN1_SEQUENCE_END(TS_ACCURACY)
143 191
144IMPLEMENT_ASN1_FUNCTIONS_const(TS_ACCURACY) 192
193TS_ACCURACY *
194d2i_TS_ACCURACY(TS_ACCURACY **a, const unsigned char **in, long len)
195{
196 return (TS_ACCURACY *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
197 &TS_ACCURACY_it);
198}
199
200int
201i2d_TS_ACCURACY(const TS_ACCURACY *a, unsigned char **out)
202{
203 return ASN1_item_i2d((ASN1_VALUE *)a, out, &TS_ACCURACY_it);
204}
205
206TS_ACCURACY *
207TS_ACCURACY_new(void)
208{
209 return (TS_ACCURACY *)ASN1_item_new(&TS_ACCURACY_it);
210}
211
212void
213TS_ACCURACY_free(TS_ACCURACY *a)
214{
215 ASN1_item_free((ASN1_VALUE *)a, &TS_ACCURACY_it);
216}
145IMPLEMENT_ASN1_DUP_FUNCTION(TS_ACCURACY) 217IMPLEMENT_ASN1_DUP_FUNCTION(TS_ACCURACY)
146 218
147ASN1_SEQUENCE(TS_TST_INFO) = { 219ASN1_SEQUENCE(TS_TST_INFO) = {
@@ -157,7 +229,31 @@ ASN1_SEQUENCE(TS_TST_INFO) = {
157 ASN1_IMP_SEQUENCE_OF_OPT(TS_TST_INFO, extensions, X509_EXTENSION, 1) 229 ASN1_IMP_SEQUENCE_OF_OPT(TS_TST_INFO, extensions, X509_EXTENSION, 1)
158} ASN1_SEQUENCE_END(TS_TST_INFO) 230} ASN1_SEQUENCE_END(TS_TST_INFO)
159 231
160IMPLEMENT_ASN1_FUNCTIONS_const(TS_TST_INFO) 232
233TS_TST_INFO *
234d2i_TS_TST_INFO(TS_TST_INFO **a, const unsigned char **in, long len)
235{
236 return (TS_TST_INFO *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
237 &TS_TST_INFO_it);
238}
239
240int
241i2d_TS_TST_INFO(const TS_TST_INFO *a, unsigned char **out)
242{
243 return ASN1_item_i2d((ASN1_VALUE *)a, out, &TS_TST_INFO_it);
244}
245
246TS_TST_INFO *
247TS_TST_INFO_new(void)
248{
249 return (TS_TST_INFO *)ASN1_item_new(&TS_TST_INFO_it);
250}
251
252void
253TS_TST_INFO_free(TS_TST_INFO *a)
254{
255 ASN1_item_free((ASN1_VALUE *)a, &TS_TST_INFO_it);
256}
161IMPLEMENT_ASN1_DUP_FUNCTION(TS_TST_INFO) 257IMPLEMENT_ASN1_DUP_FUNCTION(TS_TST_INFO)
162 258
163#ifndef OPENSSL_NO_BIO 259#ifndef OPENSSL_NO_BIO
@@ -194,7 +290,31 @@ ASN1_SEQUENCE(TS_STATUS_INFO) = {
194 ASN1_OPT(TS_STATUS_INFO, failure_info, ASN1_BIT_STRING) 290 ASN1_OPT(TS_STATUS_INFO, failure_info, ASN1_BIT_STRING)
195} ASN1_SEQUENCE_END(TS_STATUS_INFO) 291} ASN1_SEQUENCE_END(TS_STATUS_INFO)
196 292
197IMPLEMENT_ASN1_FUNCTIONS_const(TS_STATUS_INFO) 293
294TS_STATUS_INFO *
295d2i_TS_STATUS_INFO(TS_STATUS_INFO **a, const unsigned char **in, long len)
296{
297 return (TS_STATUS_INFO *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
298 &TS_STATUS_INFO_it);
299}
300
301int
302i2d_TS_STATUS_INFO(const TS_STATUS_INFO *a, unsigned char **out)
303{
304 return ASN1_item_i2d((ASN1_VALUE *)a, out, &TS_STATUS_INFO_it);
305}
306
307TS_STATUS_INFO *
308TS_STATUS_INFO_new(void)
309{
310 return (TS_STATUS_INFO *)ASN1_item_new(&TS_STATUS_INFO_it);
311}
312
313void
314TS_STATUS_INFO_free(TS_STATUS_INFO *a)
315{
316 ASN1_item_free((ASN1_VALUE *)a, &TS_STATUS_INFO_it);
317}
198IMPLEMENT_ASN1_DUP_FUNCTION(TS_STATUS_INFO) 318IMPLEMENT_ASN1_DUP_FUNCTION(TS_STATUS_INFO)
199 319
200static int 320static int
@@ -247,7 +367,31 @@ ASN1_SEQUENCE_cb(TS_RESP, ts_resp_cb) = {
247 ASN1_OPT(TS_RESP, token, PKCS7), 367 ASN1_OPT(TS_RESP, token, PKCS7),
248} ASN1_SEQUENCE_END_cb(TS_RESP, TS_RESP) 368} ASN1_SEQUENCE_END_cb(TS_RESP, TS_RESP)
249 369
250IMPLEMENT_ASN1_FUNCTIONS_const(TS_RESP) 370
371TS_RESP *
372d2i_TS_RESP(TS_RESP **a, const unsigned char **in, long len)
373{
374 return (TS_RESP *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
375 &TS_RESP_it);
376}
377
378int
379i2d_TS_RESP(const TS_RESP *a, unsigned char **out)
380{
381 return ASN1_item_i2d((ASN1_VALUE *)a, out, &TS_RESP_it);
382}
383
384TS_RESP *
385TS_RESP_new(void)
386{
387 return (TS_RESP *)ASN1_item_new(&TS_RESP_it);
388}
389
390void
391TS_RESP_free(TS_RESP *a)
392{
393 ASN1_item_free((ASN1_VALUE *)a, &TS_RESP_it);
394}
251IMPLEMENT_ASN1_DUP_FUNCTION(TS_RESP) 395IMPLEMENT_ASN1_DUP_FUNCTION(TS_RESP)
252 396
253#ifndef OPENSSL_NO_BIO 397#ifndef OPENSSL_NO_BIO
@@ -281,7 +425,31 @@ ASN1_SEQUENCE(ESS_ISSUER_SERIAL) = {
281 ASN1_SIMPLE(ESS_ISSUER_SERIAL, serial, ASN1_INTEGER) 425 ASN1_SIMPLE(ESS_ISSUER_SERIAL, serial, ASN1_INTEGER)
282} ASN1_SEQUENCE_END(ESS_ISSUER_SERIAL) 426} ASN1_SEQUENCE_END(ESS_ISSUER_SERIAL)
283 427
284IMPLEMENT_ASN1_FUNCTIONS_const(ESS_ISSUER_SERIAL) 428
429ESS_ISSUER_SERIAL *
430d2i_ESS_ISSUER_SERIAL(ESS_ISSUER_SERIAL **a, const unsigned char **in, long len)
431{
432 return (ESS_ISSUER_SERIAL *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
433 &ESS_ISSUER_SERIAL_it);
434}
435
436int
437i2d_ESS_ISSUER_SERIAL(const ESS_ISSUER_SERIAL *a, unsigned char **out)
438{
439 return ASN1_item_i2d((ASN1_VALUE *)a, out, &ESS_ISSUER_SERIAL_it);
440}
441
442ESS_ISSUER_SERIAL *
443ESS_ISSUER_SERIAL_new(void)
444{
445 return (ESS_ISSUER_SERIAL *)ASN1_item_new(&ESS_ISSUER_SERIAL_it);
446}
447
448void
449ESS_ISSUER_SERIAL_free(ESS_ISSUER_SERIAL *a)
450{
451 ASN1_item_free((ASN1_VALUE *)a, &ESS_ISSUER_SERIAL_it);
452}
285IMPLEMENT_ASN1_DUP_FUNCTION(ESS_ISSUER_SERIAL) 453IMPLEMENT_ASN1_DUP_FUNCTION(ESS_ISSUER_SERIAL)
286 454
287ASN1_SEQUENCE(ESS_CERT_ID) = { 455ASN1_SEQUENCE(ESS_CERT_ID) = {
@@ -289,7 +457,31 @@ ASN1_SEQUENCE(ESS_CERT_ID) = {
289 ASN1_OPT(ESS_CERT_ID, issuer_serial, ESS_ISSUER_SERIAL) 457 ASN1_OPT(ESS_CERT_ID, issuer_serial, ESS_ISSUER_SERIAL)
290} ASN1_SEQUENCE_END(ESS_CERT_ID) 458} ASN1_SEQUENCE_END(ESS_CERT_ID)
291 459
292IMPLEMENT_ASN1_FUNCTIONS_const(ESS_CERT_ID) 460
461ESS_CERT_ID *
462d2i_ESS_CERT_ID(ESS_CERT_ID **a, const unsigned char **in, long len)
463{
464 return (ESS_CERT_ID *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
465 &ESS_CERT_ID_it);
466}
467
468int
469i2d_ESS_CERT_ID(const ESS_CERT_ID *a, unsigned char **out)
470{
471 return ASN1_item_i2d((ASN1_VALUE *)a, out, &ESS_CERT_ID_it);
472}
473
474ESS_CERT_ID *
475ESS_CERT_ID_new(void)
476{
477 return (ESS_CERT_ID *)ASN1_item_new(&ESS_CERT_ID_it);
478}
479
480void
481ESS_CERT_ID_free(ESS_CERT_ID *a)
482{
483 ASN1_item_free((ASN1_VALUE *)a, &ESS_CERT_ID_it);
484}
293IMPLEMENT_ASN1_DUP_FUNCTION(ESS_CERT_ID) 485IMPLEMENT_ASN1_DUP_FUNCTION(ESS_CERT_ID)
294 486
295ASN1_SEQUENCE(ESS_SIGNING_CERT) = { 487ASN1_SEQUENCE(ESS_SIGNING_CERT) = {
@@ -297,7 +489,31 @@ ASN1_SEQUENCE(ESS_SIGNING_CERT) = {
297 ASN1_SEQUENCE_OF_OPT(ESS_SIGNING_CERT, policy_info, POLICYINFO) 489 ASN1_SEQUENCE_OF_OPT(ESS_SIGNING_CERT, policy_info, POLICYINFO)
298} ASN1_SEQUENCE_END(ESS_SIGNING_CERT) 490} ASN1_SEQUENCE_END(ESS_SIGNING_CERT)
299 491
300IMPLEMENT_ASN1_FUNCTIONS_const(ESS_SIGNING_CERT) 492
493ESS_SIGNING_CERT *
494d2i_ESS_SIGNING_CERT(ESS_SIGNING_CERT **a, const unsigned char **in, long len)
495{
496 return (ESS_SIGNING_CERT *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
497 &ESS_SIGNING_CERT_it);
498}
499
500int
501i2d_ESS_SIGNING_CERT(const ESS_SIGNING_CERT *a, unsigned char **out)
502{
503 return ASN1_item_i2d((ASN1_VALUE *)a, out, &ESS_SIGNING_CERT_it);
504}
505
506ESS_SIGNING_CERT *
507ESS_SIGNING_CERT_new(void)
508{
509 return (ESS_SIGNING_CERT *)ASN1_item_new(&ESS_SIGNING_CERT_it);
510}
511
512void
513ESS_SIGNING_CERT_free(ESS_SIGNING_CERT *a)
514{
515 ASN1_item_free((ASN1_VALUE *)a, &ESS_SIGNING_CERT_it);
516}
301IMPLEMENT_ASN1_DUP_FUNCTION(ESS_SIGNING_CERT) 517IMPLEMENT_ASN1_DUP_FUNCTION(ESS_SIGNING_CERT)
302 518
303/* Getting encapsulated TS_TST_INFO object from PKCS7. */ 519/* Getting encapsulated TS_TST_INFO object from PKCS7. */