diff options
author | jsing <> | 2015-02-10 04:01:26 +0000 |
---|---|---|
committer | jsing <> | 2015-02-10 04:01:26 +0000 |
commit | 0e4218e3e293b3085109f78bed8948a0bf9f1511 (patch) | |
tree | 86b03f16387ab89c274a564f80963cad767070f8 /src | |
parent | ef9e1f7eec0659c49a61db86c7a58ea19e13d6b1 (diff) | |
download | openbsd-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')
-rw-r--r-- | src/lib/libcrypto/asn1/n_pkey.c | 54 | ||||
-rw-r--r-- | src/lib/libcrypto/asn1/tasn_typ.c | 106 | ||||
-rw-r--r-- | src/lib/libcrypto/ec/ec_asn1.c | 54 | ||||
-rw-r--r-- | src/lib/libcrypto/ecdsa/ecs_asn1.c | 28 | ||||
-rw-r--r-- | src/lib/libcrypto/ts/ts_asn1.c | 236 | ||||
-rw-r--r-- | src/lib/libssl/src/crypto/asn1/n_pkey.c | 54 | ||||
-rw-r--r-- | src/lib/libssl/src/crypto/asn1/tasn_typ.c | 106 | ||||
-rw-r--r-- | src/lib/libssl/src/crypto/ec/ec_asn1.c | 54 | ||||
-rw-r--r-- | src/lib/libssl/src/crypto/ecdsa/ecs_asn1.c | 28 | ||||
-rw-r--r-- | src/lib/libssl/src/crypto/ts/ts_asn1.c | 236 |
10 files changed, 910 insertions, 46 deletions
diff --git a/src/lib/libcrypto/asn1/n_pkey.c b/src/lib/libcrypto/asn1/n_pkey.c index 42431b6e24..198ca97c09 100644 --- a/src/lib/libcrypto/asn1/n_pkey.c +++ b/src/lib/libcrypto/asn1/n_pkey.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: n_pkey.c,v 1.22 2014/07/12 22:26:01 miod Exp $ */ | 1 | /* $OpenBSD: n_pkey.c,v 1.23 2015/02/10 04:01:26 jsing Exp $ */ |
2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) |
3 | * All rights reserved. | 3 | * All rights reserved. |
4 | * | 4 | * |
@@ -94,7 +94,31 @@ ASN1_BROKEN_SEQUENCE(NETSCAPE_ENCRYPTED_PKEY) = { | |||
94 | 94 | ||
95 | DECLARE_ASN1_FUNCTIONS_const(NETSCAPE_ENCRYPTED_PKEY) | 95 | DECLARE_ASN1_FUNCTIONS_const(NETSCAPE_ENCRYPTED_PKEY) |
96 | DECLARE_ASN1_ENCODE_FUNCTIONS_const(NETSCAPE_ENCRYPTED_PKEY, NETSCAPE_ENCRYPTED_PKEY) | 96 | DECLARE_ASN1_ENCODE_FUNCTIONS_const(NETSCAPE_ENCRYPTED_PKEY, NETSCAPE_ENCRYPTED_PKEY) |
97 | IMPLEMENT_ASN1_FUNCTIONS_const(NETSCAPE_ENCRYPTED_PKEY) | 97 | |
98 | NETSCAPE_ENCRYPTED_PKEY * | ||
99 | d2i_NETSCAPE_ENCRYPTED_PKEY(NETSCAPE_ENCRYPTED_PKEY **a, const unsigned char **in, long len) | ||
100 | { | ||
101 | return (NETSCAPE_ENCRYPTED_PKEY *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
102 | &NETSCAPE_ENCRYPTED_PKEY_it); | ||
103 | } | ||
104 | |||
105 | int | ||
106 | i2d_NETSCAPE_ENCRYPTED_PKEY(const NETSCAPE_ENCRYPTED_PKEY *a, unsigned char **out) | ||
107 | { | ||
108 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &NETSCAPE_ENCRYPTED_PKEY_it); | ||
109 | } | ||
110 | |||
111 | NETSCAPE_ENCRYPTED_PKEY * | ||
112 | NETSCAPE_ENCRYPTED_PKEY_new(void) | ||
113 | { | ||
114 | return (NETSCAPE_ENCRYPTED_PKEY *)ASN1_item_new(&NETSCAPE_ENCRYPTED_PKEY_it); | ||
115 | } | ||
116 | |||
117 | void | ||
118 | NETSCAPE_ENCRYPTED_PKEY_free(NETSCAPE_ENCRYPTED_PKEY *a) | ||
119 | { | ||
120 | ASN1_item_free((ASN1_VALUE *)a, &NETSCAPE_ENCRYPTED_PKEY_it); | ||
121 | } | ||
98 | 122 | ||
99 | ASN1_SEQUENCE(NETSCAPE_PKEY) = { | 123 | ASN1_SEQUENCE(NETSCAPE_PKEY) = { |
100 | ASN1_SIMPLE(NETSCAPE_PKEY, version, LONG), | 124 | ASN1_SIMPLE(NETSCAPE_PKEY, version, LONG), |
@@ -104,7 +128,31 @@ ASN1_SEQUENCE(NETSCAPE_PKEY) = { | |||
104 | 128 | ||
105 | DECLARE_ASN1_FUNCTIONS_const(NETSCAPE_PKEY) | 129 | DECLARE_ASN1_FUNCTIONS_const(NETSCAPE_PKEY) |
106 | DECLARE_ASN1_ENCODE_FUNCTIONS_const(NETSCAPE_PKEY, NETSCAPE_PKEY) | 130 | DECLARE_ASN1_ENCODE_FUNCTIONS_const(NETSCAPE_PKEY, NETSCAPE_PKEY) |
107 | IMPLEMENT_ASN1_FUNCTIONS_const(NETSCAPE_PKEY) | 131 | |
132 | NETSCAPE_PKEY * | ||
133 | d2i_NETSCAPE_PKEY(NETSCAPE_PKEY **a, const unsigned char **in, long len) | ||
134 | { | ||
135 | return (NETSCAPE_PKEY *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
136 | &NETSCAPE_PKEY_it); | ||
137 | } | ||
138 | |||
139 | int | ||
140 | i2d_NETSCAPE_PKEY(const NETSCAPE_PKEY *a, unsigned char **out) | ||
141 | { | ||
142 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &NETSCAPE_PKEY_it); | ||
143 | } | ||
144 | |||
145 | NETSCAPE_PKEY * | ||
146 | NETSCAPE_PKEY_new(void) | ||
147 | { | ||
148 | return (NETSCAPE_PKEY *)ASN1_item_new(&NETSCAPE_PKEY_it); | ||
149 | } | ||
150 | |||
151 | void | ||
152 | NETSCAPE_PKEY_free(NETSCAPE_PKEY *a) | ||
153 | { | ||
154 | ASN1_item_free((ASN1_VALUE *)a, &NETSCAPE_PKEY_it); | ||
155 | } | ||
108 | 156 | ||
109 | static RSA *d2i_RSA_NET_2(RSA **a, ASN1_OCTET_STRING *os, | 157 | static RSA *d2i_RSA_NET_2(RSA **a, ASN1_OCTET_STRING *os, |
110 | int (*cb)(char *buf, int len, const char *prompt, int verify), int sgckey); | 158 | int (*cb)(char *buf, int len, const char *prompt, int verify), int sgckey); |
diff --git a/src/lib/libcrypto/asn1/tasn_typ.c b/src/lib/libcrypto/asn1/tasn_typ.c index 2f44b4229b..6e4650c089 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.7 2015/02/09 15:05:59 jsing Exp $ */ | 1 | /* $OpenBSD: tasn_typ.c,v 1.8 2015/02/10 04:01:26 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 | */ |
@@ -474,18 +474,114 @@ IMPLEMENT_ASN1_TYPE(ASN1_ANY) | |||
474 | /* Just swallow an ASN1_SEQUENCE in an ASN1_STRING */ | 474 | /* Just swallow an ASN1_SEQUENCE in an ASN1_STRING */ |
475 | IMPLEMENT_ASN1_TYPE(ASN1_SEQUENCE) | 475 | IMPLEMENT_ASN1_TYPE(ASN1_SEQUENCE) |
476 | 476 | ||
477 | IMPLEMENT_ASN1_FUNCTIONS_fname(ASN1_TYPE, ASN1_ANY, ASN1_TYPE) | 477 | |
478 | ASN1_TYPE * | ||
479 | d2i_ASN1_TYPE(ASN1_TYPE **a, const unsigned char **in, long len) | ||
480 | { | ||
481 | return (ASN1_TYPE *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
482 | &ASN1_ANY_it); | ||
483 | } | ||
484 | |||
485 | int | ||
486 | i2d_ASN1_TYPE(ASN1_TYPE *a, unsigned char **out) | ||
487 | { | ||
488 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &ASN1_ANY_it); | ||
489 | } | ||
490 | |||
491 | ASN1_TYPE * | ||
492 | ASN1_TYPE_new(void) | ||
493 | { | ||
494 | return (ASN1_TYPE *)ASN1_item_new(&ASN1_ANY_it); | ||
495 | } | ||
496 | |||
497 | void | ||
498 | ASN1_TYPE_free(ASN1_TYPE *a) | ||
499 | { | ||
500 | ASN1_item_free((ASN1_VALUE *)a, &ASN1_ANY_it); | ||
501 | } | ||
478 | 502 | ||
479 | /* Multistring types */ | 503 | /* Multistring types */ |
480 | 504 | ||
481 | IMPLEMENT_ASN1_MSTRING(ASN1_PRINTABLE, B_ASN1_PRINTABLE) | 505 | IMPLEMENT_ASN1_MSTRING(ASN1_PRINTABLE, B_ASN1_PRINTABLE) |
482 | IMPLEMENT_ASN1_FUNCTIONS_name(ASN1_STRING, ASN1_PRINTABLE) | 506 | |
507 | ASN1_STRING * | ||
508 | d2i_ASN1_PRINTABLE(ASN1_STRING **a, const unsigned char **in, long len) | ||
509 | { | ||
510 | return (ASN1_STRING *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
511 | &ASN1_PRINTABLE_it); | ||
512 | } | ||
513 | |||
514 | int | ||
515 | i2d_ASN1_PRINTABLE(ASN1_STRING *a, unsigned char **out) | ||
516 | { | ||
517 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &ASN1_PRINTABLE_it); | ||
518 | } | ||
519 | |||
520 | ASN1_STRING * | ||
521 | ASN1_PRINTABLE_new(void) | ||
522 | { | ||
523 | return (ASN1_STRING *)ASN1_item_new(&ASN1_PRINTABLE_it); | ||
524 | } | ||
525 | |||
526 | void | ||
527 | ASN1_PRINTABLE_free(ASN1_STRING *a) | ||
528 | { | ||
529 | ASN1_item_free((ASN1_VALUE *)a, &ASN1_PRINTABLE_it); | ||
530 | } | ||
483 | 531 | ||
484 | IMPLEMENT_ASN1_MSTRING(DISPLAYTEXT, B_ASN1_DISPLAYTEXT) | 532 | IMPLEMENT_ASN1_MSTRING(DISPLAYTEXT, B_ASN1_DISPLAYTEXT) |
485 | IMPLEMENT_ASN1_FUNCTIONS_name(ASN1_STRING, DISPLAYTEXT) | 533 | |
534 | ASN1_STRING * | ||
535 | d2i_DISPLAYTEXT(ASN1_STRING **a, const unsigned char **in, long len) | ||
536 | { | ||
537 | return (ASN1_STRING *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
538 | &DISPLAYTEXT_it); | ||
539 | } | ||
540 | |||
541 | int | ||
542 | i2d_DISPLAYTEXT(ASN1_STRING *a, unsigned char **out) | ||
543 | { | ||
544 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &DISPLAYTEXT_it); | ||
545 | } | ||
546 | |||
547 | ASN1_STRING * | ||
548 | DISPLAYTEXT_new(void) | ||
549 | { | ||
550 | return (ASN1_STRING *)ASN1_item_new(&DISPLAYTEXT_it); | ||
551 | } | ||
552 | |||
553 | void | ||
554 | DISPLAYTEXT_free(ASN1_STRING *a) | ||
555 | { | ||
556 | ASN1_item_free((ASN1_VALUE *)a, &DISPLAYTEXT_it); | ||
557 | } | ||
486 | 558 | ||
487 | IMPLEMENT_ASN1_MSTRING(DIRECTORYSTRING, B_ASN1_DIRECTORYSTRING) | 559 | IMPLEMENT_ASN1_MSTRING(DIRECTORYSTRING, B_ASN1_DIRECTORYSTRING) |
488 | IMPLEMENT_ASN1_FUNCTIONS_name(ASN1_STRING, DIRECTORYSTRING) | 560 | |
561 | ASN1_STRING * | ||
562 | d2i_DIRECTORYSTRING(ASN1_STRING **a, const unsigned char **in, long len) | ||
563 | { | ||
564 | return (ASN1_STRING *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
565 | &DIRECTORYSTRING_it); | ||
566 | } | ||
567 | |||
568 | int | ||
569 | i2d_DIRECTORYSTRING(ASN1_STRING *a, unsigned char **out) | ||
570 | { | ||
571 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &DIRECTORYSTRING_it); | ||
572 | } | ||
573 | |||
574 | ASN1_STRING * | ||
575 | DIRECTORYSTRING_new(void) | ||
576 | { | ||
577 | return (ASN1_STRING *)ASN1_item_new(&DIRECTORYSTRING_it); | ||
578 | } | ||
579 | |||
580 | void | ||
581 | DIRECTORYSTRING_free(ASN1_STRING *a) | ||
582 | { | ||
583 | ASN1_item_free((ASN1_VALUE *)a, &DIRECTORYSTRING_it); | ||
584 | } | ||
489 | 585 | ||
490 | /* Three separate BOOLEAN type: normal, DEFAULT TRUE and DEFAULT FALSE */ | 586 | /* Three separate BOOLEAN type: normal, DEFAULT TRUE and DEFAULT FALSE */ |
491 | IMPLEMENT_ASN1_TYPE_ex(ASN1_BOOLEAN, ASN1_BOOLEAN, -1) | 587 | IMPLEMENT_ASN1_TYPE_ex(ASN1_BOOLEAN, ASN1_BOOLEAN, -1) |
diff --git a/src/lib/libcrypto/ec/ec_asn1.c b/src/lib/libcrypto/ec/ec_asn1.c index c54f6593d5..11d924d30f 100644 --- a/src/lib/libcrypto/ec/ec_asn1.c +++ b/src/lib/libcrypto/ec/ec_asn1.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: ec_asn1.c,v 1.10 2014/07/12 16:03:37 miod Exp $ */ | 1 | /* $OpenBSD: ec_asn1.c,v 1.11 2015/02/10 04:01:26 jsing Exp $ */ |
2 | /* | 2 | /* |
3 | * Written by Nils Larsch for the OpenSSL project. | 3 | * Written by Nils Larsch for the OpenSSL project. |
4 | */ | 4 | */ |
@@ -258,7 +258,31 @@ ASN1_CHOICE(ECPKPARAMETERS) = { | |||
258 | } ASN1_CHOICE_END(ECPKPARAMETERS) | 258 | } ASN1_CHOICE_END(ECPKPARAMETERS) |
259 | DECLARE_ASN1_FUNCTIONS_const(ECPKPARAMETERS) | 259 | DECLARE_ASN1_FUNCTIONS_const(ECPKPARAMETERS) |
260 | DECLARE_ASN1_ENCODE_FUNCTIONS_const(ECPKPARAMETERS, ECPKPARAMETERS) | 260 | DECLARE_ASN1_ENCODE_FUNCTIONS_const(ECPKPARAMETERS, ECPKPARAMETERS) |
261 | IMPLEMENT_ASN1_FUNCTIONS_const(ECPKPARAMETERS) | 261 | |
262 | ECPKPARAMETERS * | ||
263 | d2i_ECPKPARAMETERS(ECPKPARAMETERS **a, const unsigned char **in, long len) | ||
264 | { | ||
265 | return (ECPKPARAMETERS *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
266 | &ECPKPARAMETERS_it); | ||
267 | } | ||
268 | |||
269 | int | ||
270 | i2d_ECPKPARAMETERS(const ECPKPARAMETERS *a, unsigned char **out) | ||
271 | { | ||
272 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &ECPKPARAMETERS_it); | ||
273 | } | ||
274 | |||
275 | ECPKPARAMETERS * | ||
276 | ECPKPARAMETERS_new(void) | ||
277 | { | ||
278 | return (ECPKPARAMETERS *)ASN1_item_new(&ECPKPARAMETERS_it); | ||
279 | } | ||
280 | |||
281 | void | ||
282 | ECPKPARAMETERS_free(ECPKPARAMETERS *a) | ||
283 | { | ||
284 | ASN1_item_free((ASN1_VALUE *)a, &ECPKPARAMETERS_it); | ||
285 | } | ||
262 | 286 | ||
263 | ASN1_SEQUENCE(EC_PRIVATEKEY) = { | 287 | ASN1_SEQUENCE(EC_PRIVATEKEY) = { |
264 | ASN1_SIMPLE(EC_PRIVATEKEY, version, LONG), | 288 | ASN1_SIMPLE(EC_PRIVATEKEY, version, LONG), |
@@ -268,7 +292,31 @@ ASN1_SEQUENCE(EC_PRIVATEKEY) = { | |||
268 | } ASN1_SEQUENCE_END(EC_PRIVATEKEY) | 292 | } ASN1_SEQUENCE_END(EC_PRIVATEKEY) |
269 | DECLARE_ASN1_FUNCTIONS_const(EC_PRIVATEKEY) | 293 | DECLARE_ASN1_FUNCTIONS_const(EC_PRIVATEKEY) |
270 | DECLARE_ASN1_ENCODE_FUNCTIONS_const(EC_PRIVATEKEY, EC_PRIVATEKEY) | 294 | DECLARE_ASN1_ENCODE_FUNCTIONS_const(EC_PRIVATEKEY, EC_PRIVATEKEY) |
271 | IMPLEMENT_ASN1_FUNCTIONS_const(EC_PRIVATEKEY) | 295 | |
296 | EC_PRIVATEKEY * | ||
297 | d2i_EC_PRIVATEKEY(EC_PRIVATEKEY **a, const unsigned char **in, long len) | ||
298 | { | ||
299 | return (EC_PRIVATEKEY *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
300 | &EC_PRIVATEKEY_it); | ||
301 | } | ||
302 | |||
303 | int | ||
304 | i2d_EC_PRIVATEKEY(const EC_PRIVATEKEY *a, unsigned char **out) | ||
305 | { | ||
306 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &EC_PRIVATEKEY_it); | ||
307 | } | ||
308 | |||
309 | EC_PRIVATEKEY * | ||
310 | EC_PRIVATEKEY_new(void) | ||
311 | { | ||
312 | return (EC_PRIVATEKEY *)ASN1_item_new(&EC_PRIVATEKEY_it); | ||
313 | } | ||
314 | |||
315 | void | ||
316 | EC_PRIVATEKEY_free(EC_PRIVATEKEY *a) | ||
317 | { | ||
318 | ASN1_item_free((ASN1_VALUE *)a, &EC_PRIVATEKEY_it); | ||
319 | } | ||
272 | /* some declarations of internal function */ | 320 | /* some declarations of internal function */ |
273 | 321 | ||
274 | /* ec_asn1_group2field() sets the values in a X9_62_FIELDID object */ | 322 | /* ec_asn1_group2field() sets the values in a X9_62_FIELDID object */ |
diff --git a/src/lib/libcrypto/ecdsa/ecs_asn1.c b/src/lib/libcrypto/ecdsa/ecs_asn1.c index f62df3a817..4cd5c1bd21 100644 --- a/src/lib/libcrypto/ecdsa/ecs_asn1.c +++ b/src/lib/libcrypto/ecdsa/ecs_asn1.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: ecs_asn1.c,v 1.3 2015/02/08 13:35:07 jsing Exp $ */ | 1 | /* $OpenBSD: ecs_asn1.c,v 1.4 2015/02/10 04:01:26 jsing Exp $ */ |
2 | /* ==================================================================== | 2 | /* ==================================================================== |
3 | * Copyright (c) 2000-2002 The OpenSSL Project. All rights reserved. | 3 | * Copyright (c) 2000-2002 The OpenSSL Project. All rights reserved. |
4 | * | 4 | * |
@@ -64,4 +64,28 @@ ASN1_SEQUENCE(ECDSA_SIG) = { | |||
64 | 64 | ||
65 | DECLARE_ASN1_FUNCTIONS_const(ECDSA_SIG) | 65 | DECLARE_ASN1_FUNCTIONS_const(ECDSA_SIG) |
66 | DECLARE_ASN1_ENCODE_FUNCTIONS_const(ECDSA_SIG, ECDSA_SIG) | 66 | DECLARE_ASN1_ENCODE_FUNCTIONS_const(ECDSA_SIG, ECDSA_SIG) |
67 | IMPLEMENT_ASN1_FUNCTIONS_const(ECDSA_SIG) | 67 | |
68 | ECDSA_SIG * | ||
69 | d2i_ECDSA_SIG(ECDSA_SIG **a, const unsigned char **in, long len) | ||
70 | { | ||
71 | return (ECDSA_SIG *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
72 | &ECDSA_SIG_it); | ||
73 | } | ||
74 | |||
75 | int | ||
76 | i2d_ECDSA_SIG(const ECDSA_SIG *a, unsigned char **out) | ||
77 | { | ||
78 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &ECDSA_SIG_it); | ||
79 | } | ||
80 | |||
81 | ECDSA_SIG * | ||
82 | ECDSA_SIG_new(void) | ||
83 | { | ||
84 | return (ECDSA_SIG *)ASN1_item_new(&ECDSA_SIG_it); | ||
85 | } | ||
86 | |||
87 | void | ||
88 | ECDSA_SIG_free(ECDSA_SIG *a) | ||
89 | { | ||
90 | ASN1_item_free((ASN1_VALUE *)a, &ECDSA_SIG_it); | ||
91 | } | ||
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 | ||
69 | IMPLEMENT_ASN1_FUNCTIONS_const(TS_MSG_IMPRINT) | 69 | |
70 | TS_MSG_IMPRINT * | ||
71 | d2i_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 | |||
77 | int | ||
78 | i2d_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 | |||
83 | TS_MSG_IMPRINT * | ||
84 | TS_MSG_IMPRINT_new(void) | ||
85 | { | ||
86 | return (TS_MSG_IMPRINT *)ASN1_item_new(&TS_MSG_IMPRINT_it); | ||
87 | } | ||
88 | |||
89 | void | ||
90 | TS_MSG_IMPRINT_free(TS_MSG_IMPRINT *a) | ||
91 | { | ||
92 | ASN1_item_free((ASN1_VALUE *)a, &TS_MSG_IMPRINT_it); | ||
93 | } | ||
70 | IMPLEMENT_ASN1_DUP_FUNCTION(TS_MSG_IMPRINT) | 94 | IMPLEMENT_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 | ||
109 | IMPLEMENT_ASN1_FUNCTIONS_const(TS_REQ) | 133 | |
134 | TS_REQ * | ||
135 | d2i_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 | |||
141 | int | ||
142 | i2d_TS_REQ(const TS_REQ *a, unsigned char **out) | ||
143 | { | ||
144 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &TS_REQ_it); | ||
145 | } | ||
146 | |||
147 | TS_REQ * | ||
148 | TS_REQ_new(void) | ||
149 | { | ||
150 | return (TS_REQ *)ASN1_item_new(&TS_REQ_it); | ||
151 | } | ||
152 | |||
153 | void | ||
154 | TS_REQ_free(TS_REQ *a) | ||
155 | { | ||
156 | ASN1_item_free((ASN1_VALUE *)a, &TS_REQ_it); | ||
157 | } | ||
110 | IMPLEMENT_ASN1_DUP_FUNCTION(TS_REQ) | 158 | IMPLEMENT_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 | ||
144 | IMPLEMENT_ASN1_FUNCTIONS_const(TS_ACCURACY) | 192 | |
193 | TS_ACCURACY * | ||
194 | d2i_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 | |||
200 | int | ||
201 | i2d_TS_ACCURACY(const TS_ACCURACY *a, unsigned char **out) | ||
202 | { | ||
203 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &TS_ACCURACY_it); | ||
204 | } | ||
205 | |||
206 | TS_ACCURACY * | ||
207 | TS_ACCURACY_new(void) | ||
208 | { | ||
209 | return (TS_ACCURACY *)ASN1_item_new(&TS_ACCURACY_it); | ||
210 | } | ||
211 | |||
212 | void | ||
213 | TS_ACCURACY_free(TS_ACCURACY *a) | ||
214 | { | ||
215 | ASN1_item_free((ASN1_VALUE *)a, &TS_ACCURACY_it); | ||
216 | } | ||
145 | IMPLEMENT_ASN1_DUP_FUNCTION(TS_ACCURACY) | 217 | IMPLEMENT_ASN1_DUP_FUNCTION(TS_ACCURACY) |
146 | 218 | ||
147 | ASN1_SEQUENCE(TS_TST_INFO) = { | 219 | ASN1_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 | ||
160 | IMPLEMENT_ASN1_FUNCTIONS_const(TS_TST_INFO) | 232 | |
233 | TS_TST_INFO * | ||
234 | d2i_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 | |||
240 | int | ||
241 | i2d_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 | |||
246 | TS_TST_INFO * | ||
247 | TS_TST_INFO_new(void) | ||
248 | { | ||
249 | return (TS_TST_INFO *)ASN1_item_new(&TS_TST_INFO_it); | ||
250 | } | ||
251 | |||
252 | void | ||
253 | TS_TST_INFO_free(TS_TST_INFO *a) | ||
254 | { | ||
255 | ASN1_item_free((ASN1_VALUE *)a, &TS_TST_INFO_it); | ||
256 | } | ||
161 | IMPLEMENT_ASN1_DUP_FUNCTION(TS_TST_INFO) | 257 | IMPLEMENT_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 | ||
197 | IMPLEMENT_ASN1_FUNCTIONS_const(TS_STATUS_INFO) | 293 | |
294 | TS_STATUS_INFO * | ||
295 | d2i_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 | |||
301 | int | ||
302 | i2d_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 | |||
307 | TS_STATUS_INFO * | ||
308 | TS_STATUS_INFO_new(void) | ||
309 | { | ||
310 | return (TS_STATUS_INFO *)ASN1_item_new(&TS_STATUS_INFO_it); | ||
311 | } | ||
312 | |||
313 | void | ||
314 | TS_STATUS_INFO_free(TS_STATUS_INFO *a) | ||
315 | { | ||
316 | ASN1_item_free((ASN1_VALUE *)a, &TS_STATUS_INFO_it); | ||
317 | } | ||
198 | IMPLEMENT_ASN1_DUP_FUNCTION(TS_STATUS_INFO) | 318 | IMPLEMENT_ASN1_DUP_FUNCTION(TS_STATUS_INFO) |
199 | 319 | ||
200 | static int | 320 | static 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 | ||
250 | IMPLEMENT_ASN1_FUNCTIONS_const(TS_RESP) | 370 | |
371 | TS_RESP * | ||
372 | d2i_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 | |||
378 | int | ||
379 | i2d_TS_RESP(const TS_RESP *a, unsigned char **out) | ||
380 | { | ||
381 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &TS_RESP_it); | ||
382 | } | ||
383 | |||
384 | TS_RESP * | ||
385 | TS_RESP_new(void) | ||
386 | { | ||
387 | return (TS_RESP *)ASN1_item_new(&TS_RESP_it); | ||
388 | } | ||
389 | |||
390 | void | ||
391 | TS_RESP_free(TS_RESP *a) | ||
392 | { | ||
393 | ASN1_item_free((ASN1_VALUE *)a, &TS_RESP_it); | ||
394 | } | ||
251 | IMPLEMENT_ASN1_DUP_FUNCTION(TS_RESP) | 395 | IMPLEMENT_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 | ||
284 | IMPLEMENT_ASN1_FUNCTIONS_const(ESS_ISSUER_SERIAL) | 428 | |
429 | ESS_ISSUER_SERIAL * | ||
430 | d2i_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 | |||
436 | int | ||
437 | i2d_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 | |||
442 | ESS_ISSUER_SERIAL * | ||
443 | ESS_ISSUER_SERIAL_new(void) | ||
444 | { | ||
445 | return (ESS_ISSUER_SERIAL *)ASN1_item_new(&ESS_ISSUER_SERIAL_it); | ||
446 | } | ||
447 | |||
448 | void | ||
449 | ESS_ISSUER_SERIAL_free(ESS_ISSUER_SERIAL *a) | ||
450 | { | ||
451 | ASN1_item_free((ASN1_VALUE *)a, &ESS_ISSUER_SERIAL_it); | ||
452 | } | ||
285 | IMPLEMENT_ASN1_DUP_FUNCTION(ESS_ISSUER_SERIAL) | 453 | IMPLEMENT_ASN1_DUP_FUNCTION(ESS_ISSUER_SERIAL) |
286 | 454 | ||
287 | ASN1_SEQUENCE(ESS_CERT_ID) = { | 455 | ASN1_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 | ||
292 | IMPLEMENT_ASN1_FUNCTIONS_const(ESS_CERT_ID) | 460 | |
461 | ESS_CERT_ID * | ||
462 | d2i_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 | |||
468 | int | ||
469 | i2d_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 | |||
474 | ESS_CERT_ID * | ||
475 | ESS_CERT_ID_new(void) | ||
476 | { | ||
477 | return (ESS_CERT_ID *)ASN1_item_new(&ESS_CERT_ID_it); | ||
478 | } | ||
479 | |||
480 | void | ||
481 | ESS_CERT_ID_free(ESS_CERT_ID *a) | ||
482 | { | ||
483 | ASN1_item_free((ASN1_VALUE *)a, &ESS_CERT_ID_it); | ||
484 | } | ||
293 | IMPLEMENT_ASN1_DUP_FUNCTION(ESS_CERT_ID) | 485 | IMPLEMENT_ASN1_DUP_FUNCTION(ESS_CERT_ID) |
294 | 486 | ||
295 | ASN1_SEQUENCE(ESS_SIGNING_CERT) = { | 487 | ASN1_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 | ||
300 | IMPLEMENT_ASN1_FUNCTIONS_const(ESS_SIGNING_CERT) | 492 | |
493 | ESS_SIGNING_CERT * | ||
494 | d2i_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 | |||
500 | int | ||
501 | i2d_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 | |||
506 | ESS_SIGNING_CERT * | ||
507 | ESS_SIGNING_CERT_new(void) | ||
508 | { | ||
509 | return (ESS_SIGNING_CERT *)ASN1_item_new(&ESS_SIGNING_CERT_it); | ||
510 | } | ||
511 | |||
512 | void | ||
513 | ESS_SIGNING_CERT_free(ESS_SIGNING_CERT *a) | ||
514 | { | ||
515 | ASN1_item_free((ASN1_VALUE *)a, &ESS_SIGNING_CERT_it); | ||
516 | } | ||
301 | IMPLEMENT_ASN1_DUP_FUNCTION(ESS_SIGNING_CERT) | 517 | IMPLEMENT_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. */ |
diff --git a/src/lib/libssl/src/crypto/asn1/n_pkey.c b/src/lib/libssl/src/crypto/asn1/n_pkey.c index 42431b6e24..198ca97c09 100644 --- a/src/lib/libssl/src/crypto/asn1/n_pkey.c +++ b/src/lib/libssl/src/crypto/asn1/n_pkey.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: n_pkey.c,v 1.22 2014/07/12 22:26:01 miod Exp $ */ | 1 | /* $OpenBSD: n_pkey.c,v 1.23 2015/02/10 04:01:26 jsing Exp $ */ |
2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) |
3 | * All rights reserved. | 3 | * All rights reserved. |
4 | * | 4 | * |
@@ -94,7 +94,31 @@ ASN1_BROKEN_SEQUENCE(NETSCAPE_ENCRYPTED_PKEY) = { | |||
94 | 94 | ||
95 | DECLARE_ASN1_FUNCTIONS_const(NETSCAPE_ENCRYPTED_PKEY) | 95 | DECLARE_ASN1_FUNCTIONS_const(NETSCAPE_ENCRYPTED_PKEY) |
96 | DECLARE_ASN1_ENCODE_FUNCTIONS_const(NETSCAPE_ENCRYPTED_PKEY, NETSCAPE_ENCRYPTED_PKEY) | 96 | DECLARE_ASN1_ENCODE_FUNCTIONS_const(NETSCAPE_ENCRYPTED_PKEY, NETSCAPE_ENCRYPTED_PKEY) |
97 | IMPLEMENT_ASN1_FUNCTIONS_const(NETSCAPE_ENCRYPTED_PKEY) | 97 | |
98 | NETSCAPE_ENCRYPTED_PKEY * | ||
99 | d2i_NETSCAPE_ENCRYPTED_PKEY(NETSCAPE_ENCRYPTED_PKEY **a, const unsigned char **in, long len) | ||
100 | { | ||
101 | return (NETSCAPE_ENCRYPTED_PKEY *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
102 | &NETSCAPE_ENCRYPTED_PKEY_it); | ||
103 | } | ||
104 | |||
105 | int | ||
106 | i2d_NETSCAPE_ENCRYPTED_PKEY(const NETSCAPE_ENCRYPTED_PKEY *a, unsigned char **out) | ||
107 | { | ||
108 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &NETSCAPE_ENCRYPTED_PKEY_it); | ||
109 | } | ||
110 | |||
111 | NETSCAPE_ENCRYPTED_PKEY * | ||
112 | NETSCAPE_ENCRYPTED_PKEY_new(void) | ||
113 | { | ||
114 | return (NETSCAPE_ENCRYPTED_PKEY *)ASN1_item_new(&NETSCAPE_ENCRYPTED_PKEY_it); | ||
115 | } | ||
116 | |||
117 | void | ||
118 | NETSCAPE_ENCRYPTED_PKEY_free(NETSCAPE_ENCRYPTED_PKEY *a) | ||
119 | { | ||
120 | ASN1_item_free((ASN1_VALUE *)a, &NETSCAPE_ENCRYPTED_PKEY_it); | ||
121 | } | ||
98 | 122 | ||
99 | ASN1_SEQUENCE(NETSCAPE_PKEY) = { | 123 | ASN1_SEQUENCE(NETSCAPE_PKEY) = { |
100 | ASN1_SIMPLE(NETSCAPE_PKEY, version, LONG), | 124 | ASN1_SIMPLE(NETSCAPE_PKEY, version, LONG), |
@@ -104,7 +128,31 @@ ASN1_SEQUENCE(NETSCAPE_PKEY) = { | |||
104 | 128 | ||
105 | DECLARE_ASN1_FUNCTIONS_const(NETSCAPE_PKEY) | 129 | DECLARE_ASN1_FUNCTIONS_const(NETSCAPE_PKEY) |
106 | DECLARE_ASN1_ENCODE_FUNCTIONS_const(NETSCAPE_PKEY, NETSCAPE_PKEY) | 130 | DECLARE_ASN1_ENCODE_FUNCTIONS_const(NETSCAPE_PKEY, NETSCAPE_PKEY) |
107 | IMPLEMENT_ASN1_FUNCTIONS_const(NETSCAPE_PKEY) | 131 | |
132 | NETSCAPE_PKEY * | ||
133 | d2i_NETSCAPE_PKEY(NETSCAPE_PKEY **a, const unsigned char **in, long len) | ||
134 | { | ||
135 | return (NETSCAPE_PKEY *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
136 | &NETSCAPE_PKEY_it); | ||
137 | } | ||
138 | |||
139 | int | ||
140 | i2d_NETSCAPE_PKEY(const NETSCAPE_PKEY *a, unsigned char **out) | ||
141 | { | ||
142 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &NETSCAPE_PKEY_it); | ||
143 | } | ||
144 | |||
145 | NETSCAPE_PKEY * | ||
146 | NETSCAPE_PKEY_new(void) | ||
147 | { | ||
148 | return (NETSCAPE_PKEY *)ASN1_item_new(&NETSCAPE_PKEY_it); | ||
149 | } | ||
150 | |||
151 | void | ||
152 | NETSCAPE_PKEY_free(NETSCAPE_PKEY *a) | ||
153 | { | ||
154 | ASN1_item_free((ASN1_VALUE *)a, &NETSCAPE_PKEY_it); | ||
155 | } | ||
108 | 156 | ||
109 | static RSA *d2i_RSA_NET_2(RSA **a, ASN1_OCTET_STRING *os, | 157 | static RSA *d2i_RSA_NET_2(RSA **a, ASN1_OCTET_STRING *os, |
110 | int (*cb)(char *buf, int len, const char *prompt, int verify), int sgckey); | 158 | int (*cb)(char *buf, int len, const char *prompt, int verify), int sgckey); |
diff --git a/src/lib/libssl/src/crypto/asn1/tasn_typ.c b/src/lib/libssl/src/crypto/asn1/tasn_typ.c index 2f44b4229b..6e4650c089 100644 --- a/src/lib/libssl/src/crypto/asn1/tasn_typ.c +++ b/src/lib/libssl/src/crypto/asn1/tasn_typ.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: tasn_typ.c,v 1.7 2015/02/09 15:05:59 jsing Exp $ */ | 1 | /* $OpenBSD: tasn_typ.c,v 1.8 2015/02/10 04:01:26 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 | */ |
@@ -474,18 +474,114 @@ IMPLEMENT_ASN1_TYPE(ASN1_ANY) | |||
474 | /* Just swallow an ASN1_SEQUENCE in an ASN1_STRING */ | 474 | /* Just swallow an ASN1_SEQUENCE in an ASN1_STRING */ |
475 | IMPLEMENT_ASN1_TYPE(ASN1_SEQUENCE) | 475 | IMPLEMENT_ASN1_TYPE(ASN1_SEQUENCE) |
476 | 476 | ||
477 | IMPLEMENT_ASN1_FUNCTIONS_fname(ASN1_TYPE, ASN1_ANY, ASN1_TYPE) | 477 | |
478 | ASN1_TYPE * | ||
479 | d2i_ASN1_TYPE(ASN1_TYPE **a, const unsigned char **in, long len) | ||
480 | { | ||
481 | return (ASN1_TYPE *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
482 | &ASN1_ANY_it); | ||
483 | } | ||
484 | |||
485 | int | ||
486 | i2d_ASN1_TYPE(ASN1_TYPE *a, unsigned char **out) | ||
487 | { | ||
488 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &ASN1_ANY_it); | ||
489 | } | ||
490 | |||
491 | ASN1_TYPE * | ||
492 | ASN1_TYPE_new(void) | ||
493 | { | ||
494 | return (ASN1_TYPE *)ASN1_item_new(&ASN1_ANY_it); | ||
495 | } | ||
496 | |||
497 | void | ||
498 | ASN1_TYPE_free(ASN1_TYPE *a) | ||
499 | { | ||
500 | ASN1_item_free((ASN1_VALUE *)a, &ASN1_ANY_it); | ||
501 | } | ||
478 | 502 | ||
479 | /* Multistring types */ | 503 | /* Multistring types */ |
480 | 504 | ||
481 | IMPLEMENT_ASN1_MSTRING(ASN1_PRINTABLE, B_ASN1_PRINTABLE) | 505 | IMPLEMENT_ASN1_MSTRING(ASN1_PRINTABLE, B_ASN1_PRINTABLE) |
482 | IMPLEMENT_ASN1_FUNCTIONS_name(ASN1_STRING, ASN1_PRINTABLE) | 506 | |
507 | ASN1_STRING * | ||
508 | d2i_ASN1_PRINTABLE(ASN1_STRING **a, const unsigned char **in, long len) | ||
509 | { | ||
510 | return (ASN1_STRING *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
511 | &ASN1_PRINTABLE_it); | ||
512 | } | ||
513 | |||
514 | int | ||
515 | i2d_ASN1_PRINTABLE(ASN1_STRING *a, unsigned char **out) | ||
516 | { | ||
517 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &ASN1_PRINTABLE_it); | ||
518 | } | ||
519 | |||
520 | ASN1_STRING * | ||
521 | ASN1_PRINTABLE_new(void) | ||
522 | { | ||
523 | return (ASN1_STRING *)ASN1_item_new(&ASN1_PRINTABLE_it); | ||
524 | } | ||
525 | |||
526 | void | ||
527 | ASN1_PRINTABLE_free(ASN1_STRING *a) | ||
528 | { | ||
529 | ASN1_item_free((ASN1_VALUE *)a, &ASN1_PRINTABLE_it); | ||
530 | } | ||
483 | 531 | ||
484 | IMPLEMENT_ASN1_MSTRING(DISPLAYTEXT, B_ASN1_DISPLAYTEXT) | 532 | IMPLEMENT_ASN1_MSTRING(DISPLAYTEXT, B_ASN1_DISPLAYTEXT) |
485 | IMPLEMENT_ASN1_FUNCTIONS_name(ASN1_STRING, DISPLAYTEXT) | 533 | |
534 | ASN1_STRING * | ||
535 | d2i_DISPLAYTEXT(ASN1_STRING **a, const unsigned char **in, long len) | ||
536 | { | ||
537 | return (ASN1_STRING *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
538 | &DISPLAYTEXT_it); | ||
539 | } | ||
540 | |||
541 | int | ||
542 | i2d_DISPLAYTEXT(ASN1_STRING *a, unsigned char **out) | ||
543 | { | ||
544 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &DISPLAYTEXT_it); | ||
545 | } | ||
546 | |||
547 | ASN1_STRING * | ||
548 | DISPLAYTEXT_new(void) | ||
549 | { | ||
550 | return (ASN1_STRING *)ASN1_item_new(&DISPLAYTEXT_it); | ||
551 | } | ||
552 | |||
553 | void | ||
554 | DISPLAYTEXT_free(ASN1_STRING *a) | ||
555 | { | ||
556 | ASN1_item_free((ASN1_VALUE *)a, &DISPLAYTEXT_it); | ||
557 | } | ||
486 | 558 | ||
487 | IMPLEMENT_ASN1_MSTRING(DIRECTORYSTRING, B_ASN1_DIRECTORYSTRING) | 559 | IMPLEMENT_ASN1_MSTRING(DIRECTORYSTRING, B_ASN1_DIRECTORYSTRING) |
488 | IMPLEMENT_ASN1_FUNCTIONS_name(ASN1_STRING, DIRECTORYSTRING) | 560 | |
561 | ASN1_STRING * | ||
562 | d2i_DIRECTORYSTRING(ASN1_STRING **a, const unsigned char **in, long len) | ||
563 | { | ||
564 | return (ASN1_STRING *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
565 | &DIRECTORYSTRING_it); | ||
566 | } | ||
567 | |||
568 | int | ||
569 | i2d_DIRECTORYSTRING(ASN1_STRING *a, unsigned char **out) | ||
570 | { | ||
571 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &DIRECTORYSTRING_it); | ||
572 | } | ||
573 | |||
574 | ASN1_STRING * | ||
575 | DIRECTORYSTRING_new(void) | ||
576 | { | ||
577 | return (ASN1_STRING *)ASN1_item_new(&DIRECTORYSTRING_it); | ||
578 | } | ||
579 | |||
580 | void | ||
581 | DIRECTORYSTRING_free(ASN1_STRING *a) | ||
582 | { | ||
583 | ASN1_item_free((ASN1_VALUE *)a, &DIRECTORYSTRING_it); | ||
584 | } | ||
489 | 585 | ||
490 | /* Three separate BOOLEAN type: normal, DEFAULT TRUE and DEFAULT FALSE */ | 586 | /* Three separate BOOLEAN type: normal, DEFAULT TRUE and DEFAULT FALSE */ |
491 | IMPLEMENT_ASN1_TYPE_ex(ASN1_BOOLEAN, ASN1_BOOLEAN, -1) | 587 | IMPLEMENT_ASN1_TYPE_ex(ASN1_BOOLEAN, ASN1_BOOLEAN, -1) |
diff --git a/src/lib/libssl/src/crypto/ec/ec_asn1.c b/src/lib/libssl/src/crypto/ec/ec_asn1.c index c54f6593d5..11d924d30f 100644 --- a/src/lib/libssl/src/crypto/ec/ec_asn1.c +++ b/src/lib/libssl/src/crypto/ec/ec_asn1.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: ec_asn1.c,v 1.10 2014/07/12 16:03:37 miod Exp $ */ | 1 | /* $OpenBSD: ec_asn1.c,v 1.11 2015/02/10 04:01:26 jsing Exp $ */ |
2 | /* | 2 | /* |
3 | * Written by Nils Larsch for the OpenSSL project. | 3 | * Written by Nils Larsch for the OpenSSL project. |
4 | */ | 4 | */ |
@@ -258,7 +258,31 @@ ASN1_CHOICE(ECPKPARAMETERS) = { | |||
258 | } ASN1_CHOICE_END(ECPKPARAMETERS) | 258 | } ASN1_CHOICE_END(ECPKPARAMETERS) |
259 | DECLARE_ASN1_FUNCTIONS_const(ECPKPARAMETERS) | 259 | DECLARE_ASN1_FUNCTIONS_const(ECPKPARAMETERS) |
260 | DECLARE_ASN1_ENCODE_FUNCTIONS_const(ECPKPARAMETERS, ECPKPARAMETERS) | 260 | DECLARE_ASN1_ENCODE_FUNCTIONS_const(ECPKPARAMETERS, ECPKPARAMETERS) |
261 | IMPLEMENT_ASN1_FUNCTIONS_const(ECPKPARAMETERS) | 261 | |
262 | ECPKPARAMETERS * | ||
263 | d2i_ECPKPARAMETERS(ECPKPARAMETERS **a, const unsigned char **in, long len) | ||
264 | { | ||
265 | return (ECPKPARAMETERS *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
266 | &ECPKPARAMETERS_it); | ||
267 | } | ||
268 | |||
269 | int | ||
270 | i2d_ECPKPARAMETERS(const ECPKPARAMETERS *a, unsigned char **out) | ||
271 | { | ||
272 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &ECPKPARAMETERS_it); | ||
273 | } | ||
274 | |||
275 | ECPKPARAMETERS * | ||
276 | ECPKPARAMETERS_new(void) | ||
277 | { | ||
278 | return (ECPKPARAMETERS *)ASN1_item_new(&ECPKPARAMETERS_it); | ||
279 | } | ||
280 | |||
281 | void | ||
282 | ECPKPARAMETERS_free(ECPKPARAMETERS *a) | ||
283 | { | ||
284 | ASN1_item_free((ASN1_VALUE *)a, &ECPKPARAMETERS_it); | ||
285 | } | ||
262 | 286 | ||
263 | ASN1_SEQUENCE(EC_PRIVATEKEY) = { | 287 | ASN1_SEQUENCE(EC_PRIVATEKEY) = { |
264 | ASN1_SIMPLE(EC_PRIVATEKEY, version, LONG), | 288 | ASN1_SIMPLE(EC_PRIVATEKEY, version, LONG), |
@@ -268,7 +292,31 @@ ASN1_SEQUENCE(EC_PRIVATEKEY) = { | |||
268 | } ASN1_SEQUENCE_END(EC_PRIVATEKEY) | 292 | } ASN1_SEQUENCE_END(EC_PRIVATEKEY) |
269 | DECLARE_ASN1_FUNCTIONS_const(EC_PRIVATEKEY) | 293 | DECLARE_ASN1_FUNCTIONS_const(EC_PRIVATEKEY) |
270 | DECLARE_ASN1_ENCODE_FUNCTIONS_const(EC_PRIVATEKEY, EC_PRIVATEKEY) | 294 | DECLARE_ASN1_ENCODE_FUNCTIONS_const(EC_PRIVATEKEY, EC_PRIVATEKEY) |
271 | IMPLEMENT_ASN1_FUNCTIONS_const(EC_PRIVATEKEY) | 295 | |
296 | EC_PRIVATEKEY * | ||
297 | d2i_EC_PRIVATEKEY(EC_PRIVATEKEY **a, const unsigned char **in, long len) | ||
298 | { | ||
299 | return (EC_PRIVATEKEY *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
300 | &EC_PRIVATEKEY_it); | ||
301 | } | ||
302 | |||
303 | int | ||
304 | i2d_EC_PRIVATEKEY(const EC_PRIVATEKEY *a, unsigned char **out) | ||
305 | { | ||
306 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &EC_PRIVATEKEY_it); | ||
307 | } | ||
308 | |||
309 | EC_PRIVATEKEY * | ||
310 | EC_PRIVATEKEY_new(void) | ||
311 | { | ||
312 | return (EC_PRIVATEKEY *)ASN1_item_new(&EC_PRIVATEKEY_it); | ||
313 | } | ||
314 | |||
315 | void | ||
316 | EC_PRIVATEKEY_free(EC_PRIVATEKEY *a) | ||
317 | { | ||
318 | ASN1_item_free((ASN1_VALUE *)a, &EC_PRIVATEKEY_it); | ||
319 | } | ||
272 | /* some declarations of internal function */ | 320 | /* some declarations of internal function */ |
273 | 321 | ||
274 | /* ec_asn1_group2field() sets the values in a X9_62_FIELDID object */ | 322 | /* ec_asn1_group2field() sets the values in a X9_62_FIELDID object */ |
diff --git a/src/lib/libssl/src/crypto/ecdsa/ecs_asn1.c b/src/lib/libssl/src/crypto/ecdsa/ecs_asn1.c index f62df3a817..4cd5c1bd21 100644 --- a/src/lib/libssl/src/crypto/ecdsa/ecs_asn1.c +++ b/src/lib/libssl/src/crypto/ecdsa/ecs_asn1.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: ecs_asn1.c,v 1.3 2015/02/08 13:35:07 jsing Exp $ */ | 1 | /* $OpenBSD: ecs_asn1.c,v 1.4 2015/02/10 04:01:26 jsing Exp $ */ |
2 | /* ==================================================================== | 2 | /* ==================================================================== |
3 | * Copyright (c) 2000-2002 The OpenSSL Project. All rights reserved. | 3 | * Copyright (c) 2000-2002 The OpenSSL Project. All rights reserved. |
4 | * | 4 | * |
@@ -64,4 +64,28 @@ ASN1_SEQUENCE(ECDSA_SIG) = { | |||
64 | 64 | ||
65 | DECLARE_ASN1_FUNCTIONS_const(ECDSA_SIG) | 65 | DECLARE_ASN1_FUNCTIONS_const(ECDSA_SIG) |
66 | DECLARE_ASN1_ENCODE_FUNCTIONS_const(ECDSA_SIG, ECDSA_SIG) | 66 | DECLARE_ASN1_ENCODE_FUNCTIONS_const(ECDSA_SIG, ECDSA_SIG) |
67 | IMPLEMENT_ASN1_FUNCTIONS_const(ECDSA_SIG) | 67 | |
68 | ECDSA_SIG * | ||
69 | d2i_ECDSA_SIG(ECDSA_SIG **a, const unsigned char **in, long len) | ||
70 | { | ||
71 | return (ECDSA_SIG *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
72 | &ECDSA_SIG_it); | ||
73 | } | ||
74 | |||
75 | int | ||
76 | i2d_ECDSA_SIG(const ECDSA_SIG *a, unsigned char **out) | ||
77 | { | ||
78 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &ECDSA_SIG_it); | ||
79 | } | ||
80 | |||
81 | ECDSA_SIG * | ||
82 | ECDSA_SIG_new(void) | ||
83 | { | ||
84 | return (ECDSA_SIG *)ASN1_item_new(&ECDSA_SIG_it); | ||
85 | } | ||
86 | |||
87 | void | ||
88 | ECDSA_SIG_free(ECDSA_SIG *a) | ||
89 | { | ||
90 | ASN1_item_free((ASN1_VALUE *)a, &ECDSA_SIG_it); | ||
91 | } | ||
diff --git a/src/lib/libssl/src/crypto/ts/ts_asn1.c b/src/lib/libssl/src/crypto/ts/ts_asn1.c index bb87aa1d88..3ef882cf05 100644 --- a/src/lib/libssl/src/crypto/ts/ts_asn1.c +++ b/src/lib/libssl/src/crypto/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 | ||
69 | IMPLEMENT_ASN1_FUNCTIONS_const(TS_MSG_IMPRINT) | 69 | |
70 | TS_MSG_IMPRINT * | ||
71 | d2i_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 | |||
77 | int | ||
78 | i2d_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 | |||
83 | TS_MSG_IMPRINT * | ||
84 | TS_MSG_IMPRINT_new(void) | ||
85 | { | ||
86 | return (TS_MSG_IMPRINT *)ASN1_item_new(&TS_MSG_IMPRINT_it); | ||
87 | } | ||
88 | |||
89 | void | ||
90 | TS_MSG_IMPRINT_free(TS_MSG_IMPRINT *a) | ||
91 | { | ||
92 | ASN1_item_free((ASN1_VALUE *)a, &TS_MSG_IMPRINT_it); | ||
93 | } | ||
70 | IMPLEMENT_ASN1_DUP_FUNCTION(TS_MSG_IMPRINT) | 94 | IMPLEMENT_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 | ||
109 | IMPLEMENT_ASN1_FUNCTIONS_const(TS_REQ) | 133 | |
134 | TS_REQ * | ||
135 | d2i_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 | |||
141 | int | ||
142 | i2d_TS_REQ(const TS_REQ *a, unsigned char **out) | ||
143 | { | ||
144 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &TS_REQ_it); | ||
145 | } | ||
146 | |||
147 | TS_REQ * | ||
148 | TS_REQ_new(void) | ||
149 | { | ||
150 | return (TS_REQ *)ASN1_item_new(&TS_REQ_it); | ||
151 | } | ||
152 | |||
153 | void | ||
154 | TS_REQ_free(TS_REQ *a) | ||
155 | { | ||
156 | ASN1_item_free((ASN1_VALUE *)a, &TS_REQ_it); | ||
157 | } | ||
110 | IMPLEMENT_ASN1_DUP_FUNCTION(TS_REQ) | 158 | IMPLEMENT_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 | ||
144 | IMPLEMENT_ASN1_FUNCTIONS_const(TS_ACCURACY) | 192 | |
193 | TS_ACCURACY * | ||
194 | d2i_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 | |||
200 | int | ||
201 | i2d_TS_ACCURACY(const TS_ACCURACY *a, unsigned char **out) | ||
202 | { | ||
203 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &TS_ACCURACY_it); | ||
204 | } | ||
205 | |||
206 | TS_ACCURACY * | ||
207 | TS_ACCURACY_new(void) | ||
208 | { | ||
209 | return (TS_ACCURACY *)ASN1_item_new(&TS_ACCURACY_it); | ||
210 | } | ||
211 | |||
212 | void | ||
213 | TS_ACCURACY_free(TS_ACCURACY *a) | ||
214 | { | ||
215 | ASN1_item_free((ASN1_VALUE *)a, &TS_ACCURACY_it); | ||
216 | } | ||
145 | IMPLEMENT_ASN1_DUP_FUNCTION(TS_ACCURACY) | 217 | IMPLEMENT_ASN1_DUP_FUNCTION(TS_ACCURACY) |
146 | 218 | ||
147 | ASN1_SEQUENCE(TS_TST_INFO) = { | 219 | ASN1_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 | ||
160 | IMPLEMENT_ASN1_FUNCTIONS_const(TS_TST_INFO) | 232 | |
233 | TS_TST_INFO * | ||
234 | d2i_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 | |||
240 | int | ||
241 | i2d_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 | |||
246 | TS_TST_INFO * | ||
247 | TS_TST_INFO_new(void) | ||
248 | { | ||
249 | return (TS_TST_INFO *)ASN1_item_new(&TS_TST_INFO_it); | ||
250 | } | ||
251 | |||
252 | void | ||
253 | TS_TST_INFO_free(TS_TST_INFO *a) | ||
254 | { | ||
255 | ASN1_item_free((ASN1_VALUE *)a, &TS_TST_INFO_it); | ||
256 | } | ||
161 | IMPLEMENT_ASN1_DUP_FUNCTION(TS_TST_INFO) | 257 | IMPLEMENT_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 | ||
197 | IMPLEMENT_ASN1_FUNCTIONS_const(TS_STATUS_INFO) | 293 | |
294 | TS_STATUS_INFO * | ||
295 | d2i_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 | |||
301 | int | ||
302 | i2d_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 | |||
307 | TS_STATUS_INFO * | ||
308 | TS_STATUS_INFO_new(void) | ||
309 | { | ||
310 | return (TS_STATUS_INFO *)ASN1_item_new(&TS_STATUS_INFO_it); | ||
311 | } | ||
312 | |||
313 | void | ||
314 | TS_STATUS_INFO_free(TS_STATUS_INFO *a) | ||
315 | { | ||
316 | ASN1_item_free((ASN1_VALUE *)a, &TS_STATUS_INFO_it); | ||
317 | } | ||
198 | IMPLEMENT_ASN1_DUP_FUNCTION(TS_STATUS_INFO) | 318 | IMPLEMENT_ASN1_DUP_FUNCTION(TS_STATUS_INFO) |
199 | 319 | ||
200 | static int | 320 | static 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 | ||
250 | IMPLEMENT_ASN1_FUNCTIONS_const(TS_RESP) | 370 | |
371 | TS_RESP * | ||
372 | d2i_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 | |||
378 | int | ||
379 | i2d_TS_RESP(const TS_RESP *a, unsigned char **out) | ||
380 | { | ||
381 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &TS_RESP_it); | ||
382 | } | ||
383 | |||
384 | TS_RESP * | ||
385 | TS_RESP_new(void) | ||
386 | { | ||
387 | return (TS_RESP *)ASN1_item_new(&TS_RESP_it); | ||
388 | } | ||
389 | |||
390 | void | ||
391 | TS_RESP_free(TS_RESP *a) | ||
392 | { | ||
393 | ASN1_item_free((ASN1_VALUE *)a, &TS_RESP_it); | ||
394 | } | ||
251 | IMPLEMENT_ASN1_DUP_FUNCTION(TS_RESP) | 395 | IMPLEMENT_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 | ||
284 | IMPLEMENT_ASN1_FUNCTIONS_const(ESS_ISSUER_SERIAL) | 428 | |
429 | ESS_ISSUER_SERIAL * | ||
430 | d2i_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 | |||
436 | int | ||
437 | i2d_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 | |||
442 | ESS_ISSUER_SERIAL * | ||
443 | ESS_ISSUER_SERIAL_new(void) | ||
444 | { | ||
445 | return (ESS_ISSUER_SERIAL *)ASN1_item_new(&ESS_ISSUER_SERIAL_it); | ||
446 | } | ||
447 | |||
448 | void | ||
449 | ESS_ISSUER_SERIAL_free(ESS_ISSUER_SERIAL *a) | ||
450 | { | ||
451 | ASN1_item_free((ASN1_VALUE *)a, &ESS_ISSUER_SERIAL_it); | ||
452 | } | ||
285 | IMPLEMENT_ASN1_DUP_FUNCTION(ESS_ISSUER_SERIAL) | 453 | IMPLEMENT_ASN1_DUP_FUNCTION(ESS_ISSUER_SERIAL) |
286 | 454 | ||
287 | ASN1_SEQUENCE(ESS_CERT_ID) = { | 455 | ASN1_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 | ||
292 | IMPLEMENT_ASN1_FUNCTIONS_const(ESS_CERT_ID) | 460 | |
461 | ESS_CERT_ID * | ||
462 | d2i_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 | |||
468 | int | ||
469 | i2d_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 | |||
474 | ESS_CERT_ID * | ||
475 | ESS_CERT_ID_new(void) | ||
476 | { | ||
477 | return (ESS_CERT_ID *)ASN1_item_new(&ESS_CERT_ID_it); | ||
478 | } | ||
479 | |||
480 | void | ||
481 | ESS_CERT_ID_free(ESS_CERT_ID *a) | ||
482 | { | ||
483 | ASN1_item_free((ASN1_VALUE *)a, &ESS_CERT_ID_it); | ||
484 | } | ||
293 | IMPLEMENT_ASN1_DUP_FUNCTION(ESS_CERT_ID) | 485 | IMPLEMENT_ASN1_DUP_FUNCTION(ESS_CERT_ID) |
294 | 486 | ||
295 | ASN1_SEQUENCE(ESS_SIGNING_CERT) = { | 487 | ASN1_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 | ||
300 | IMPLEMENT_ASN1_FUNCTIONS_const(ESS_SIGNING_CERT) | 492 | |
493 | ESS_SIGNING_CERT * | ||
494 | d2i_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 | |||
500 | int | ||
501 | i2d_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 | |||
506 | ESS_SIGNING_CERT * | ||
507 | ESS_SIGNING_CERT_new(void) | ||
508 | { | ||
509 | return (ESS_SIGNING_CERT *)ASN1_item_new(&ESS_SIGNING_CERT_it); | ||
510 | } | ||
511 | |||
512 | void | ||
513 | ESS_SIGNING_CERT_free(ESS_SIGNING_CERT *a) | ||
514 | { | ||
515 | ASN1_item_free((ASN1_VALUE *)a, &ESS_SIGNING_CERT_it); | ||
516 | } | ||
301 | IMPLEMENT_ASN1_DUP_FUNCTION(ESS_SIGNING_CERT) | 517 | IMPLEMENT_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. */ |