summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjsing <>2015-02-10 04:21:50 +0000
committerjsing <>2015-02-10 04:21:50 +0000
commit9bd525742fa9bbaf8f56cda1167eb91c447404a5 (patch)
tree08b1f7d61accebd33520532c3d344995d3a51ea4
parent0e4218e3e293b3085109f78bed8948a0bf9f1511 (diff)
downloadopenbsd-9bd525742fa9bbaf8f56cda1167eb91c447404a5.tar.gz
openbsd-9bd525742fa9bbaf8f56cda1167eb91c447404a5.tar.bz2
openbsd-9bd525742fa9bbaf8f56cda1167eb91c447404a5.zip
Expand the IMPLEMENT_ASN1_DUP_FUNCTION 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@
-rw-r--r--src/lib/libcrypto/asn1/x_algor.c9
-rw-r--r--src/lib/libcrypto/asn1/x_attrib.c9
-rw-r--r--src/lib/libcrypto/asn1/x_crl.c9
-rw-r--r--src/lib/libcrypto/asn1/x_exten.c9
-rw-r--r--src/lib/libcrypto/asn1/x_name.c16
-rw-r--r--src/lib/libcrypto/asn1/x_req.c9
-rw-r--r--src/lib/libcrypto/asn1/x_x509.c9
-rw-r--r--src/lib/libcrypto/ocsp/ocsp_lib.c9
-rw-r--r--src/lib/libcrypto/pkcs7/pk7_asn1.c9
-rw-r--r--src/lib/libcrypto/ts/ts_asn1.c65
-rw-r--r--src/lib/libssl/src/crypto/asn1/x_algor.c9
-rw-r--r--src/lib/libssl/src/crypto/asn1/x_attrib.c9
-rw-r--r--src/lib/libssl/src/crypto/asn1/x_crl.c9
-rw-r--r--src/lib/libssl/src/crypto/asn1/x_exten.c9
-rw-r--r--src/lib/libssl/src/crypto/asn1/x_name.c16
-rw-r--r--src/lib/libssl/src/crypto/asn1/x_req.c9
-rw-r--r--src/lib/libssl/src/crypto/asn1/x_x509.c9
-rw-r--r--src/lib/libssl/src/crypto/ocsp/ocsp_lib.c9
-rw-r--r--src/lib/libssl/src/crypto/pkcs7/pk7_asn1.c9
-rw-r--r--src/lib/libssl/src/crypto/ts/ts_asn1.c65
20 files changed, 248 insertions, 58 deletions
diff --git a/src/lib/libcrypto/asn1/x_algor.c b/src/lib/libcrypto/asn1/x_algor.c
index 7d264f9fd3..63c4e028a6 100644
--- a/src/lib/libcrypto/asn1/x_algor.c
+++ b/src/lib/libcrypto/asn1/x_algor.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: x_algor.c,v 1.14 2015/02/09 15:05:59 jsing Exp $ */ 1/* $OpenBSD: x_algor.c,v 1.15 2015/02/10 04:21:50 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 */
@@ -96,7 +96,12 @@ X509_ALGOR_free(X509_ALGOR *a)
96 ASN1_item_free((ASN1_VALUE *)a, &X509_ALGOR_it); 96 ASN1_item_free((ASN1_VALUE *)a, &X509_ALGOR_it);
97} 97}
98IMPLEMENT_ASN1_ENCODE_FUNCTIONS_fname(X509_ALGORS, X509_ALGORS, X509_ALGORS) 98IMPLEMENT_ASN1_ENCODE_FUNCTIONS_fname(X509_ALGORS, X509_ALGORS, X509_ALGORS)
99IMPLEMENT_ASN1_DUP_FUNCTION(X509_ALGOR) 99
100X509_ALGOR *
101X509_ALGOR_dup(X509_ALGOR *x)
102{
103 return ASN1_item_dup(ASN1_ITEM_rptr(X509_ALGOR), x);
104}
100 105
101IMPLEMENT_STACK_OF(X509_ALGOR) 106IMPLEMENT_STACK_OF(X509_ALGOR)
102IMPLEMENT_ASN1_SET_OF(X509_ALGOR) 107IMPLEMENT_ASN1_SET_OF(X509_ALGOR)
diff --git a/src/lib/libcrypto/asn1/x_attrib.c b/src/lib/libcrypto/asn1/x_attrib.c
index aafd5dd485..4306bd6240 100644
--- a/src/lib/libcrypto/asn1/x_attrib.c
+++ b/src/lib/libcrypto/asn1/x_attrib.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: x_attrib.c,v 1.10 2015/02/09 15:05:59 jsing Exp $ */ 1/* $OpenBSD: x_attrib.c,v 1.11 2015/02/10 04:21:50 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 *
@@ -118,7 +118,12 @@ X509_ATTRIBUTE_free(X509_ATTRIBUTE *a)
118{ 118{
119 ASN1_item_free((ASN1_VALUE *)a, &X509_ATTRIBUTE_it); 119 ASN1_item_free((ASN1_VALUE *)a, &X509_ATTRIBUTE_it);
120} 120}
121IMPLEMENT_ASN1_DUP_FUNCTION(X509_ATTRIBUTE) 121
122X509_ATTRIBUTE *
123X509_ATTRIBUTE_dup(X509_ATTRIBUTE *x)
124{
125 return ASN1_item_dup(ASN1_ITEM_rptr(X509_ATTRIBUTE), x);
126}
122 127
123X509_ATTRIBUTE * 128X509_ATTRIBUTE *
124X509_ATTRIBUTE_create(int nid, int atrtype, void *value) 129X509_ATTRIBUTE_create(int nid, int atrtype, void *value)
diff --git a/src/lib/libcrypto/asn1/x_crl.c b/src/lib/libcrypto/asn1/x_crl.c
index 2539fd92c4..9919d576e4 100644
--- a/src/lib/libcrypto/asn1/x_crl.c
+++ b/src/lib/libcrypto/asn1/x_crl.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: x_crl.c,v 1.19 2015/02/09 15:05:59 jsing Exp $ */ 1/* $OpenBSD: x_crl.c,v 1.20 2015/02/10 04:21:50 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 *
@@ -412,7 +412,12 @@ X509_CRL_free(X509_CRL *a)
412{ 412{
413 ASN1_item_free((ASN1_VALUE *)a, &X509_CRL_it); 413 ASN1_item_free((ASN1_VALUE *)a, &X509_CRL_it);
414} 414}
415IMPLEMENT_ASN1_DUP_FUNCTION(X509_CRL) 415
416X509_CRL *
417X509_CRL_dup(X509_CRL *x)
418{
419 return ASN1_item_dup(ASN1_ITEM_rptr(X509_CRL), x);
420}
416 421
417static int 422static int
418X509_REVOKED_cmp(const X509_REVOKED * const *a, const X509_REVOKED * const *b) 423X509_REVOKED_cmp(const X509_REVOKED * const *a, const X509_REVOKED * const *b)
diff --git a/src/lib/libcrypto/asn1/x_exten.c b/src/lib/libcrypto/asn1/x_exten.c
index 40c521ec80..ad26a9e851 100644
--- a/src/lib/libcrypto/asn1/x_exten.c
+++ b/src/lib/libcrypto/asn1/x_exten.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: x_exten.c,v 1.10 2015/02/09 15:05:59 jsing Exp $ */ 1/* $OpenBSD: x_exten.c,v 1.11 2015/02/10 04:21:50 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 */
@@ -97,4 +97,9 @@ X509_EXTENSION_free(X509_EXTENSION *a)
97 ASN1_item_free((ASN1_VALUE *)a, &X509_EXTENSION_it); 97 ASN1_item_free((ASN1_VALUE *)a, &X509_EXTENSION_it);
98} 98}
99IMPLEMENT_ASN1_ENCODE_FUNCTIONS_fname(X509_EXTENSIONS, X509_EXTENSIONS, X509_EXTENSIONS) 99IMPLEMENT_ASN1_ENCODE_FUNCTIONS_fname(X509_EXTENSIONS, X509_EXTENSIONS, X509_EXTENSIONS)
100IMPLEMENT_ASN1_DUP_FUNCTION(X509_EXTENSION) 100
101X509_EXTENSION *
102X509_EXTENSION_dup(X509_EXTENSION *x)
103{
104 return ASN1_item_dup(ASN1_ITEM_rptr(X509_EXTENSION), x);
105}
diff --git a/src/lib/libcrypto/asn1/x_name.c b/src/lib/libcrypto/asn1/x_name.c
index a7f0e14d13..d77702e473 100644
--- a/src/lib/libcrypto/asn1/x_name.c
+++ b/src/lib/libcrypto/asn1/x_name.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: x_name.c,v 1.21 2015/02/09 15:05:59 jsing Exp $ */ 1/* $OpenBSD: x_name.c,v 1.22 2015/02/10 04:21:50 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 *
@@ -117,7 +117,12 @@ X509_NAME_ENTRY_free(X509_NAME_ENTRY *a)
117{ 117{
118 ASN1_item_free((ASN1_VALUE *)a, &X509_NAME_ENTRY_it); 118 ASN1_item_free((ASN1_VALUE *)a, &X509_NAME_ENTRY_it);
119} 119}
120IMPLEMENT_ASN1_DUP_FUNCTION(X509_NAME_ENTRY) 120
121X509_NAME_ENTRY *
122X509_NAME_ENTRY_dup(X509_NAME_ENTRY *x)
123{
124 return ASN1_item_dup(ASN1_ITEM_rptr(X509_NAME_ENTRY), x);
125}
121 126
122/* For the "Name" type we need a SEQUENCE OF { SET OF X509_NAME_ENTRY } 127/* For the "Name" type we need a SEQUENCE OF { SET OF X509_NAME_ENTRY }
123 * so declare two template wrappers for this 128 * so declare two template wrappers for this
@@ -174,7 +179,12 @@ X509_NAME_free(X509_NAME *a)
174{ 179{
175 ASN1_item_free((ASN1_VALUE *)a, &X509_NAME_it); 180 ASN1_item_free((ASN1_VALUE *)a, &X509_NAME_it);
176} 181}
177IMPLEMENT_ASN1_DUP_FUNCTION(X509_NAME) 182
183X509_NAME *
184X509_NAME_dup(X509_NAME *x)
185{
186 return ASN1_item_dup(ASN1_ITEM_rptr(X509_NAME), x);
187}
178 188
179static int 189static int
180x509_name_ex_new(ASN1_VALUE **val, const ASN1_ITEM *it) 190x509_name_ex_new(ASN1_VALUE **val, const ASN1_ITEM *it)
diff --git a/src/lib/libcrypto/asn1/x_req.c b/src/lib/libcrypto/asn1/x_req.c
index 89b2d88d15..42c7adb298 100644
--- a/src/lib/libcrypto/asn1/x_req.c
+++ b/src/lib/libcrypto/asn1/x_req.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: x_req.c,v 1.11 2015/02/09 15:05:59 jsing Exp $ */ 1/* $OpenBSD: x_req.c,v 1.12 2015/02/10 04:21:50 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 *
@@ -159,4 +159,9 @@ X509_REQ_free(X509_REQ *a)
159{ 159{
160 ASN1_item_free((ASN1_VALUE *)a, &X509_REQ_it); 160 ASN1_item_free((ASN1_VALUE *)a, &X509_REQ_it);
161} 161}
162IMPLEMENT_ASN1_DUP_FUNCTION(X509_REQ) 162
163X509_REQ *
164X509_REQ_dup(X509_REQ *x)
165{
166 return ASN1_item_dup(ASN1_ITEM_rptr(X509_REQ), x);
167}
diff --git a/src/lib/libcrypto/asn1/x_x509.c b/src/lib/libcrypto/asn1/x_x509.c
index 8fd2d7684b..a2778911cd 100644
--- a/src/lib/libcrypto/asn1/x_x509.c
+++ b/src/lib/libcrypto/asn1/x_x509.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: x_x509.c,v 1.18 2015/02/09 15:05:59 jsing Exp $ */ 1/* $OpenBSD: x_x509.c,v 1.19 2015/02/10 04:21:50 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 *
@@ -187,7 +187,12 @@ X509_free(X509 *a)
187{ 187{
188 ASN1_item_free((ASN1_VALUE *)a, &X509_it); 188 ASN1_item_free((ASN1_VALUE *)a, &X509_it);
189} 189}
190IMPLEMENT_ASN1_DUP_FUNCTION(X509) 190
191X509 *
192X509_dup(X509 *x)
193{
194 return ASN1_item_dup(ASN1_ITEM_rptr(X509), x);
195}
191 196
192int 197int
193X509_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new *new_func, 198X509_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new *new_func,
diff --git a/src/lib/libcrypto/ocsp/ocsp_lib.c b/src/lib/libcrypto/ocsp/ocsp_lib.c
index 618cc3b869..099cc26cd7 100644
--- a/src/lib/libcrypto/ocsp/ocsp_lib.c
+++ b/src/lib/libcrypto/ocsp/ocsp_lib.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: ocsp_lib.c,v 1.16 2014/10/18 17:20:40 jsing Exp $ */ 1/* $OpenBSD: ocsp_lib.c,v 1.17 2015/02/10 04:21:50 jsing Exp $ */
2/* Written by Tom Titchener <Tom_Titchener@groove.net> for the OpenSSL 2/* Written by Tom Titchener <Tom_Titchener@groove.net> for the OpenSSL
3 * project. */ 3 * project. */
4 4
@@ -274,4 +274,9 @@ err:
274 return 0; 274 return 0;
275} 275}
276 276
277IMPLEMENT_ASN1_DUP_FUNCTION(OCSP_CERTID) 277
278OCSP_CERTID *
279OCSP_CERTID_dup(OCSP_CERTID *x)
280{
281 return ASN1_item_dup(ASN1_ITEM_rptr(OCSP_CERTID), x);
282}
diff --git a/src/lib/libcrypto/pkcs7/pk7_asn1.c b/src/lib/libcrypto/pkcs7/pk7_asn1.c
index 2522a1ae6c..5e8d69413f 100644
--- a/src/lib/libcrypto/pkcs7/pk7_asn1.c
+++ b/src/lib/libcrypto/pkcs7/pk7_asn1.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: pk7_asn1.c,v 1.8 2015/02/09 16:04:46 jsing Exp $ */ 1/* $OpenBSD: pk7_asn1.c,v 1.9 2015/02/10 04:21:50 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 */
@@ -142,7 +142,12 @@ PKCS7_free(PKCS7 *a)
142 ASN1_item_free((ASN1_VALUE *)a, &PKCS7_it); 142 ASN1_item_free((ASN1_VALUE *)a, &PKCS7_it);
143} 143}
144IMPLEMENT_ASN1_NDEF_FUNCTION(PKCS7) 144IMPLEMENT_ASN1_NDEF_FUNCTION(PKCS7)
145IMPLEMENT_ASN1_DUP_FUNCTION(PKCS7) 145
146PKCS7 *
147PKCS7_dup(PKCS7 *x)
148{
149 return ASN1_item_dup(ASN1_ITEM_rptr(PKCS7), x);
150}
146 151
147ASN1_NDEF_SEQUENCE(PKCS7_SIGNED) = { 152ASN1_NDEF_SEQUENCE(PKCS7_SIGNED) = {
148 ASN1_SIMPLE(PKCS7_SIGNED, version, ASN1_INTEGER), 153 ASN1_SIMPLE(PKCS7_SIGNED, version, ASN1_INTEGER),
diff --git a/src/lib/libcrypto/ts/ts_asn1.c b/src/lib/libcrypto/ts/ts_asn1.c
index 3ef882cf05..888f8e3d98 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.6 2015/02/10 04:01:26 jsing Exp $ */ 1/* $OpenBSD: ts_asn1.c,v 1.7 2015/02/10 04:21:50 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/* ====================================================================
@@ -91,7 +91,12 @@ TS_MSG_IMPRINT_free(TS_MSG_IMPRINT *a)
91{ 91{
92 ASN1_item_free((ASN1_VALUE *)a, &TS_MSG_IMPRINT_it); 92 ASN1_item_free((ASN1_VALUE *)a, &TS_MSG_IMPRINT_it);
93} 93}
94IMPLEMENT_ASN1_DUP_FUNCTION(TS_MSG_IMPRINT) 94
95TS_MSG_IMPRINT *
96TS_MSG_IMPRINT_dup(TS_MSG_IMPRINT *x)
97{
98 return ASN1_item_dup(ASN1_ITEM_rptr(TS_MSG_IMPRINT), x);
99}
95 100
96#ifndef OPENSSL_NO_BIO 101#ifndef OPENSSL_NO_BIO
97TS_MSG_IMPRINT * 102TS_MSG_IMPRINT *
@@ -155,7 +160,12 @@ TS_REQ_free(TS_REQ *a)
155{ 160{
156 ASN1_item_free((ASN1_VALUE *)a, &TS_REQ_it); 161 ASN1_item_free((ASN1_VALUE *)a, &TS_REQ_it);
157} 162}
158IMPLEMENT_ASN1_DUP_FUNCTION(TS_REQ) 163
164TS_REQ *
165TS_REQ_dup(TS_REQ *x)
166{
167 return ASN1_item_dup(ASN1_ITEM_rptr(TS_REQ), x);
168}
159 169
160#ifndef OPENSSL_NO_BIO 170#ifndef OPENSSL_NO_BIO
161TS_REQ * 171TS_REQ *
@@ -214,7 +224,12 @@ TS_ACCURACY_free(TS_ACCURACY *a)
214{ 224{
215 ASN1_item_free((ASN1_VALUE *)a, &TS_ACCURACY_it); 225 ASN1_item_free((ASN1_VALUE *)a, &TS_ACCURACY_it);
216} 226}
217IMPLEMENT_ASN1_DUP_FUNCTION(TS_ACCURACY) 227
228TS_ACCURACY *
229TS_ACCURACY_dup(TS_ACCURACY *x)
230{
231 return ASN1_item_dup(ASN1_ITEM_rptr(TS_ACCURACY), x);
232}
218 233
219ASN1_SEQUENCE(TS_TST_INFO) = { 234ASN1_SEQUENCE(TS_TST_INFO) = {
220 ASN1_SIMPLE(TS_TST_INFO, version, ASN1_INTEGER), 235 ASN1_SIMPLE(TS_TST_INFO, version, ASN1_INTEGER),
@@ -254,7 +269,12 @@ TS_TST_INFO_free(TS_TST_INFO *a)
254{ 269{
255 ASN1_item_free((ASN1_VALUE *)a, &TS_TST_INFO_it); 270 ASN1_item_free((ASN1_VALUE *)a, &TS_TST_INFO_it);
256} 271}
257IMPLEMENT_ASN1_DUP_FUNCTION(TS_TST_INFO) 272
273TS_TST_INFO *
274TS_TST_INFO_dup(TS_TST_INFO *x)
275{
276 return ASN1_item_dup(ASN1_ITEM_rptr(TS_TST_INFO), x);
277}
258 278
259#ifndef OPENSSL_NO_BIO 279#ifndef OPENSSL_NO_BIO
260TS_TST_INFO * 280TS_TST_INFO *
@@ -315,7 +335,12 @@ TS_STATUS_INFO_free(TS_STATUS_INFO *a)
315{ 335{
316 ASN1_item_free((ASN1_VALUE *)a, &TS_STATUS_INFO_it); 336 ASN1_item_free((ASN1_VALUE *)a, &TS_STATUS_INFO_it);
317} 337}
318IMPLEMENT_ASN1_DUP_FUNCTION(TS_STATUS_INFO) 338
339TS_STATUS_INFO *
340TS_STATUS_INFO_dup(TS_STATUS_INFO *x)
341{
342 return ASN1_item_dup(ASN1_ITEM_rptr(TS_STATUS_INFO), x);
343}
319 344
320static int 345static int
321ts_resp_set_tst_info(TS_RESP *a) 346ts_resp_set_tst_info(TS_RESP *a)
@@ -392,7 +417,12 @@ TS_RESP_free(TS_RESP *a)
392{ 417{
393 ASN1_item_free((ASN1_VALUE *)a, &TS_RESP_it); 418 ASN1_item_free((ASN1_VALUE *)a, &TS_RESP_it);
394} 419}
395IMPLEMENT_ASN1_DUP_FUNCTION(TS_RESP) 420
421TS_RESP *
422TS_RESP_dup(TS_RESP *x)
423{
424 return ASN1_item_dup(ASN1_ITEM_rptr(TS_RESP), x);
425}
396 426
397#ifndef OPENSSL_NO_BIO 427#ifndef OPENSSL_NO_BIO
398TS_RESP * 428TS_RESP *
@@ -450,7 +480,12 @@ ESS_ISSUER_SERIAL_free(ESS_ISSUER_SERIAL *a)
450{ 480{
451 ASN1_item_free((ASN1_VALUE *)a, &ESS_ISSUER_SERIAL_it); 481 ASN1_item_free((ASN1_VALUE *)a, &ESS_ISSUER_SERIAL_it);
452} 482}
453IMPLEMENT_ASN1_DUP_FUNCTION(ESS_ISSUER_SERIAL) 483
484ESS_ISSUER_SERIAL *
485ESS_ISSUER_SERIAL_dup(ESS_ISSUER_SERIAL *x)
486{
487 return ASN1_item_dup(ASN1_ITEM_rptr(ESS_ISSUER_SERIAL), x);
488}
454 489
455ASN1_SEQUENCE(ESS_CERT_ID) = { 490ASN1_SEQUENCE(ESS_CERT_ID) = {
456 ASN1_SIMPLE(ESS_CERT_ID, hash, ASN1_OCTET_STRING), 491 ASN1_SIMPLE(ESS_CERT_ID, hash, ASN1_OCTET_STRING),
@@ -482,7 +517,12 @@ ESS_CERT_ID_free(ESS_CERT_ID *a)
482{ 517{
483 ASN1_item_free((ASN1_VALUE *)a, &ESS_CERT_ID_it); 518 ASN1_item_free((ASN1_VALUE *)a, &ESS_CERT_ID_it);
484} 519}
485IMPLEMENT_ASN1_DUP_FUNCTION(ESS_CERT_ID) 520
521ESS_CERT_ID *
522ESS_CERT_ID_dup(ESS_CERT_ID *x)
523{
524 return ASN1_item_dup(ASN1_ITEM_rptr(ESS_CERT_ID), x);
525}
486 526
487ASN1_SEQUENCE(ESS_SIGNING_CERT) = { 527ASN1_SEQUENCE(ESS_SIGNING_CERT) = {
488 ASN1_SEQUENCE_OF(ESS_SIGNING_CERT, cert_ids, ESS_CERT_ID), 528 ASN1_SEQUENCE_OF(ESS_SIGNING_CERT, cert_ids, ESS_CERT_ID),
@@ -514,7 +554,12 @@ ESS_SIGNING_CERT_free(ESS_SIGNING_CERT *a)
514{ 554{
515 ASN1_item_free((ASN1_VALUE *)a, &ESS_SIGNING_CERT_it); 555 ASN1_item_free((ASN1_VALUE *)a, &ESS_SIGNING_CERT_it);
516} 556}
517IMPLEMENT_ASN1_DUP_FUNCTION(ESS_SIGNING_CERT) 557
558ESS_SIGNING_CERT *
559ESS_SIGNING_CERT_dup(ESS_SIGNING_CERT *x)
560{
561 return ASN1_item_dup(ASN1_ITEM_rptr(ESS_SIGNING_CERT), x);
562}
518 563
519/* Getting encapsulated TS_TST_INFO object from PKCS7. */ 564/* Getting encapsulated TS_TST_INFO object from PKCS7. */
520TS_TST_INFO * 565TS_TST_INFO *
diff --git a/src/lib/libssl/src/crypto/asn1/x_algor.c b/src/lib/libssl/src/crypto/asn1/x_algor.c
index 7d264f9fd3..63c4e028a6 100644
--- a/src/lib/libssl/src/crypto/asn1/x_algor.c
+++ b/src/lib/libssl/src/crypto/asn1/x_algor.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: x_algor.c,v 1.14 2015/02/09 15:05:59 jsing Exp $ */ 1/* $OpenBSD: x_algor.c,v 1.15 2015/02/10 04:21:50 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 */
@@ -96,7 +96,12 @@ X509_ALGOR_free(X509_ALGOR *a)
96 ASN1_item_free((ASN1_VALUE *)a, &X509_ALGOR_it); 96 ASN1_item_free((ASN1_VALUE *)a, &X509_ALGOR_it);
97} 97}
98IMPLEMENT_ASN1_ENCODE_FUNCTIONS_fname(X509_ALGORS, X509_ALGORS, X509_ALGORS) 98IMPLEMENT_ASN1_ENCODE_FUNCTIONS_fname(X509_ALGORS, X509_ALGORS, X509_ALGORS)
99IMPLEMENT_ASN1_DUP_FUNCTION(X509_ALGOR) 99
100X509_ALGOR *
101X509_ALGOR_dup(X509_ALGOR *x)
102{
103 return ASN1_item_dup(ASN1_ITEM_rptr(X509_ALGOR), x);
104}
100 105
101IMPLEMENT_STACK_OF(X509_ALGOR) 106IMPLEMENT_STACK_OF(X509_ALGOR)
102IMPLEMENT_ASN1_SET_OF(X509_ALGOR) 107IMPLEMENT_ASN1_SET_OF(X509_ALGOR)
diff --git a/src/lib/libssl/src/crypto/asn1/x_attrib.c b/src/lib/libssl/src/crypto/asn1/x_attrib.c
index aafd5dd485..4306bd6240 100644
--- a/src/lib/libssl/src/crypto/asn1/x_attrib.c
+++ b/src/lib/libssl/src/crypto/asn1/x_attrib.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: x_attrib.c,v 1.10 2015/02/09 15:05:59 jsing Exp $ */ 1/* $OpenBSD: x_attrib.c,v 1.11 2015/02/10 04:21:50 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 *
@@ -118,7 +118,12 @@ X509_ATTRIBUTE_free(X509_ATTRIBUTE *a)
118{ 118{
119 ASN1_item_free((ASN1_VALUE *)a, &X509_ATTRIBUTE_it); 119 ASN1_item_free((ASN1_VALUE *)a, &X509_ATTRIBUTE_it);
120} 120}
121IMPLEMENT_ASN1_DUP_FUNCTION(X509_ATTRIBUTE) 121
122X509_ATTRIBUTE *
123X509_ATTRIBUTE_dup(X509_ATTRIBUTE *x)
124{
125 return ASN1_item_dup(ASN1_ITEM_rptr(X509_ATTRIBUTE), x);
126}
122 127
123X509_ATTRIBUTE * 128X509_ATTRIBUTE *
124X509_ATTRIBUTE_create(int nid, int atrtype, void *value) 129X509_ATTRIBUTE_create(int nid, int atrtype, void *value)
diff --git a/src/lib/libssl/src/crypto/asn1/x_crl.c b/src/lib/libssl/src/crypto/asn1/x_crl.c
index 2539fd92c4..9919d576e4 100644
--- a/src/lib/libssl/src/crypto/asn1/x_crl.c
+++ b/src/lib/libssl/src/crypto/asn1/x_crl.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: x_crl.c,v 1.19 2015/02/09 15:05:59 jsing Exp $ */ 1/* $OpenBSD: x_crl.c,v 1.20 2015/02/10 04:21:50 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 *
@@ -412,7 +412,12 @@ X509_CRL_free(X509_CRL *a)
412{ 412{
413 ASN1_item_free((ASN1_VALUE *)a, &X509_CRL_it); 413 ASN1_item_free((ASN1_VALUE *)a, &X509_CRL_it);
414} 414}
415IMPLEMENT_ASN1_DUP_FUNCTION(X509_CRL) 415
416X509_CRL *
417X509_CRL_dup(X509_CRL *x)
418{
419 return ASN1_item_dup(ASN1_ITEM_rptr(X509_CRL), x);
420}
416 421
417static int 422static int
418X509_REVOKED_cmp(const X509_REVOKED * const *a, const X509_REVOKED * const *b) 423X509_REVOKED_cmp(const X509_REVOKED * const *a, const X509_REVOKED * const *b)
diff --git a/src/lib/libssl/src/crypto/asn1/x_exten.c b/src/lib/libssl/src/crypto/asn1/x_exten.c
index 40c521ec80..ad26a9e851 100644
--- a/src/lib/libssl/src/crypto/asn1/x_exten.c
+++ b/src/lib/libssl/src/crypto/asn1/x_exten.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: x_exten.c,v 1.10 2015/02/09 15:05:59 jsing Exp $ */ 1/* $OpenBSD: x_exten.c,v 1.11 2015/02/10 04:21:50 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 */
@@ -97,4 +97,9 @@ X509_EXTENSION_free(X509_EXTENSION *a)
97 ASN1_item_free((ASN1_VALUE *)a, &X509_EXTENSION_it); 97 ASN1_item_free((ASN1_VALUE *)a, &X509_EXTENSION_it);
98} 98}
99IMPLEMENT_ASN1_ENCODE_FUNCTIONS_fname(X509_EXTENSIONS, X509_EXTENSIONS, X509_EXTENSIONS) 99IMPLEMENT_ASN1_ENCODE_FUNCTIONS_fname(X509_EXTENSIONS, X509_EXTENSIONS, X509_EXTENSIONS)
100IMPLEMENT_ASN1_DUP_FUNCTION(X509_EXTENSION) 100
101X509_EXTENSION *
102X509_EXTENSION_dup(X509_EXTENSION *x)
103{
104 return ASN1_item_dup(ASN1_ITEM_rptr(X509_EXTENSION), x);
105}
diff --git a/src/lib/libssl/src/crypto/asn1/x_name.c b/src/lib/libssl/src/crypto/asn1/x_name.c
index a7f0e14d13..d77702e473 100644
--- a/src/lib/libssl/src/crypto/asn1/x_name.c
+++ b/src/lib/libssl/src/crypto/asn1/x_name.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: x_name.c,v 1.21 2015/02/09 15:05:59 jsing Exp $ */ 1/* $OpenBSD: x_name.c,v 1.22 2015/02/10 04:21:50 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 *
@@ -117,7 +117,12 @@ X509_NAME_ENTRY_free(X509_NAME_ENTRY *a)
117{ 117{
118 ASN1_item_free((ASN1_VALUE *)a, &X509_NAME_ENTRY_it); 118 ASN1_item_free((ASN1_VALUE *)a, &X509_NAME_ENTRY_it);
119} 119}
120IMPLEMENT_ASN1_DUP_FUNCTION(X509_NAME_ENTRY) 120
121X509_NAME_ENTRY *
122X509_NAME_ENTRY_dup(X509_NAME_ENTRY *x)
123{
124 return ASN1_item_dup(ASN1_ITEM_rptr(X509_NAME_ENTRY), x);
125}
121 126
122/* For the "Name" type we need a SEQUENCE OF { SET OF X509_NAME_ENTRY } 127/* For the "Name" type we need a SEQUENCE OF { SET OF X509_NAME_ENTRY }
123 * so declare two template wrappers for this 128 * so declare two template wrappers for this
@@ -174,7 +179,12 @@ X509_NAME_free(X509_NAME *a)
174{ 179{
175 ASN1_item_free((ASN1_VALUE *)a, &X509_NAME_it); 180 ASN1_item_free((ASN1_VALUE *)a, &X509_NAME_it);
176} 181}
177IMPLEMENT_ASN1_DUP_FUNCTION(X509_NAME) 182
183X509_NAME *
184X509_NAME_dup(X509_NAME *x)
185{
186 return ASN1_item_dup(ASN1_ITEM_rptr(X509_NAME), x);
187}
178 188
179static int 189static int
180x509_name_ex_new(ASN1_VALUE **val, const ASN1_ITEM *it) 190x509_name_ex_new(ASN1_VALUE **val, const ASN1_ITEM *it)
diff --git a/src/lib/libssl/src/crypto/asn1/x_req.c b/src/lib/libssl/src/crypto/asn1/x_req.c
index 89b2d88d15..42c7adb298 100644
--- a/src/lib/libssl/src/crypto/asn1/x_req.c
+++ b/src/lib/libssl/src/crypto/asn1/x_req.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: x_req.c,v 1.11 2015/02/09 15:05:59 jsing Exp $ */ 1/* $OpenBSD: x_req.c,v 1.12 2015/02/10 04:21:50 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 *
@@ -159,4 +159,9 @@ X509_REQ_free(X509_REQ *a)
159{ 159{
160 ASN1_item_free((ASN1_VALUE *)a, &X509_REQ_it); 160 ASN1_item_free((ASN1_VALUE *)a, &X509_REQ_it);
161} 161}
162IMPLEMENT_ASN1_DUP_FUNCTION(X509_REQ) 162
163X509_REQ *
164X509_REQ_dup(X509_REQ *x)
165{
166 return ASN1_item_dup(ASN1_ITEM_rptr(X509_REQ), x);
167}
diff --git a/src/lib/libssl/src/crypto/asn1/x_x509.c b/src/lib/libssl/src/crypto/asn1/x_x509.c
index 8fd2d7684b..a2778911cd 100644
--- a/src/lib/libssl/src/crypto/asn1/x_x509.c
+++ b/src/lib/libssl/src/crypto/asn1/x_x509.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: x_x509.c,v 1.18 2015/02/09 15:05:59 jsing Exp $ */ 1/* $OpenBSD: x_x509.c,v 1.19 2015/02/10 04:21:50 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 *
@@ -187,7 +187,12 @@ X509_free(X509 *a)
187{ 187{
188 ASN1_item_free((ASN1_VALUE *)a, &X509_it); 188 ASN1_item_free((ASN1_VALUE *)a, &X509_it);
189} 189}
190IMPLEMENT_ASN1_DUP_FUNCTION(X509) 190
191X509 *
192X509_dup(X509 *x)
193{
194 return ASN1_item_dup(ASN1_ITEM_rptr(X509), x);
195}
191 196
192int 197int
193X509_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new *new_func, 198X509_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new *new_func,
diff --git a/src/lib/libssl/src/crypto/ocsp/ocsp_lib.c b/src/lib/libssl/src/crypto/ocsp/ocsp_lib.c
index 618cc3b869..099cc26cd7 100644
--- a/src/lib/libssl/src/crypto/ocsp/ocsp_lib.c
+++ b/src/lib/libssl/src/crypto/ocsp/ocsp_lib.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: ocsp_lib.c,v 1.16 2014/10/18 17:20:40 jsing Exp $ */ 1/* $OpenBSD: ocsp_lib.c,v 1.17 2015/02/10 04:21:50 jsing Exp $ */
2/* Written by Tom Titchener <Tom_Titchener@groove.net> for the OpenSSL 2/* Written by Tom Titchener <Tom_Titchener@groove.net> for the OpenSSL
3 * project. */ 3 * project. */
4 4
@@ -274,4 +274,9 @@ err:
274 return 0; 274 return 0;
275} 275}
276 276
277IMPLEMENT_ASN1_DUP_FUNCTION(OCSP_CERTID) 277
278OCSP_CERTID *
279OCSP_CERTID_dup(OCSP_CERTID *x)
280{
281 return ASN1_item_dup(ASN1_ITEM_rptr(OCSP_CERTID), x);
282}
diff --git a/src/lib/libssl/src/crypto/pkcs7/pk7_asn1.c b/src/lib/libssl/src/crypto/pkcs7/pk7_asn1.c
index 2522a1ae6c..5e8d69413f 100644
--- a/src/lib/libssl/src/crypto/pkcs7/pk7_asn1.c
+++ b/src/lib/libssl/src/crypto/pkcs7/pk7_asn1.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: pk7_asn1.c,v 1.8 2015/02/09 16:04:46 jsing Exp $ */ 1/* $OpenBSD: pk7_asn1.c,v 1.9 2015/02/10 04:21:50 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 */
@@ -142,7 +142,12 @@ PKCS7_free(PKCS7 *a)
142 ASN1_item_free((ASN1_VALUE *)a, &PKCS7_it); 142 ASN1_item_free((ASN1_VALUE *)a, &PKCS7_it);
143} 143}
144IMPLEMENT_ASN1_NDEF_FUNCTION(PKCS7) 144IMPLEMENT_ASN1_NDEF_FUNCTION(PKCS7)
145IMPLEMENT_ASN1_DUP_FUNCTION(PKCS7) 145
146PKCS7 *
147PKCS7_dup(PKCS7 *x)
148{
149 return ASN1_item_dup(ASN1_ITEM_rptr(PKCS7), x);
150}
146 151
147ASN1_NDEF_SEQUENCE(PKCS7_SIGNED) = { 152ASN1_NDEF_SEQUENCE(PKCS7_SIGNED) = {
148 ASN1_SIMPLE(PKCS7_SIGNED, version, ASN1_INTEGER), 153 ASN1_SIMPLE(PKCS7_SIGNED, version, ASN1_INTEGER),
diff --git a/src/lib/libssl/src/crypto/ts/ts_asn1.c b/src/lib/libssl/src/crypto/ts/ts_asn1.c
index 3ef882cf05..888f8e3d98 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.6 2015/02/10 04:01:26 jsing Exp $ */ 1/* $OpenBSD: ts_asn1.c,v 1.7 2015/02/10 04:21:50 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/* ====================================================================
@@ -91,7 +91,12 @@ TS_MSG_IMPRINT_free(TS_MSG_IMPRINT *a)
91{ 91{
92 ASN1_item_free((ASN1_VALUE *)a, &TS_MSG_IMPRINT_it); 92 ASN1_item_free((ASN1_VALUE *)a, &TS_MSG_IMPRINT_it);
93} 93}
94IMPLEMENT_ASN1_DUP_FUNCTION(TS_MSG_IMPRINT) 94
95TS_MSG_IMPRINT *
96TS_MSG_IMPRINT_dup(TS_MSG_IMPRINT *x)
97{
98 return ASN1_item_dup(ASN1_ITEM_rptr(TS_MSG_IMPRINT), x);
99}
95 100
96#ifndef OPENSSL_NO_BIO 101#ifndef OPENSSL_NO_BIO
97TS_MSG_IMPRINT * 102TS_MSG_IMPRINT *
@@ -155,7 +160,12 @@ TS_REQ_free(TS_REQ *a)
155{ 160{
156 ASN1_item_free((ASN1_VALUE *)a, &TS_REQ_it); 161 ASN1_item_free((ASN1_VALUE *)a, &TS_REQ_it);
157} 162}
158IMPLEMENT_ASN1_DUP_FUNCTION(TS_REQ) 163
164TS_REQ *
165TS_REQ_dup(TS_REQ *x)
166{
167 return ASN1_item_dup(ASN1_ITEM_rptr(TS_REQ), x);
168}
159 169
160#ifndef OPENSSL_NO_BIO 170#ifndef OPENSSL_NO_BIO
161TS_REQ * 171TS_REQ *
@@ -214,7 +224,12 @@ TS_ACCURACY_free(TS_ACCURACY *a)
214{ 224{
215 ASN1_item_free((ASN1_VALUE *)a, &TS_ACCURACY_it); 225 ASN1_item_free((ASN1_VALUE *)a, &TS_ACCURACY_it);
216} 226}
217IMPLEMENT_ASN1_DUP_FUNCTION(TS_ACCURACY) 227
228TS_ACCURACY *
229TS_ACCURACY_dup(TS_ACCURACY *x)
230{
231 return ASN1_item_dup(ASN1_ITEM_rptr(TS_ACCURACY), x);
232}
218 233
219ASN1_SEQUENCE(TS_TST_INFO) = { 234ASN1_SEQUENCE(TS_TST_INFO) = {
220 ASN1_SIMPLE(TS_TST_INFO, version, ASN1_INTEGER), 235 ASN1_SIMPLE(TS_TST_INFO, version, ASN1_INTEGER),
@@ -254,7 +269,12 @@ TS_TST_INFO_free(TS_TST_INFO *a)
254{ 269{
255 ASN1_item_free((ASN1_VALUE *)a, &TS_TST_INFO_it); 270 ASN1_item_free((ASN1_VALUE *)a, &TS_TST_INFO_it);
256} 271}
257IMPLEMENT_ASN1_DUP_FUNCTION(TS_TST_INFO) 272
273TS_TST_INFO *
274TS_TST_INFO_dup(TS_TST_INFO *x)
275{
276 return ASN1_item_dup(ASN1_ITEM_rptr(TS_TST_INFO), x);
277}
258 278
259#ifndef OPENSSL_NO_BIO 279#ifndef OPENSSL_NO_BIO
260TS_TST_INFO * 280TS_TST_INFO *
@@ -315,7 +335,12 @@ TS_STATUS_INFO_free(TS_STATUS_INFO *a)
315{ 335{
316 ASN1_item_free((ASN1_VALUE *)a, &TS_STATUS_INFO_it); 336 ASN1_item_free((ASN1_VALUE *)a, &TS_STATUS_INFO_it);
317} 337}
318IMPLEMENT_ASN1_DUP_FUNCTION(TS_STATUS_INFO) 338
339TS_STATUS_INFO *
340TS_STATUS_INFO_dup(TS_STATUS_INFO *x)
341{
342 return ASN1_item_dup(ASN1_ITEM_rptr(TS_STATUS_INFO), x);
343}
319 344
320static int 345static int
321ts_resp_set_tst_info(TS_RESP *a) 346ts_resp_set_tst_info(TS_RESP *a)
@@ -392,7 +417,12 @@ TS_RESP_free(TS_RESP *a)
392{ 417{
393 ASN1_item_free((ASN1_VALUE *)a, &TS_RESP_it); 418 ASN1_item_free((ASN1_VALUE *)a, &TS_RESP_it);
394} 419}
395IMPLEMENT_ASN1_DUP_FUNCTION(TS_RESP) 420
421TS_RESP *
422TS_RESP_dup(TS_RESP *x)
423{
424 return ASN1_item_dup(ASN1_ITEM_rptr(TS_RESP), x);
425}
396 426
397#ifndef OPENSSL_NO_BIO 427#ifndef OPENSSL_NO_BIO
398TS_RESP * 428TS_RESP *
@@ -450,7 +480,12 @@ ESS_ISSUER_SERIAL_free(ESS_ISSUER_SERIAL *a)
450{ 480{
451 ASN1_item_free((ASN1_VALUE *)a, &ESS_ISSUER_SERIAL_it); 481 ASN1_item_free((ASN1_VALUE *)a, &ESS_ISSUER_SERIAL_it);
452} 482}
453IMPLEMENT_ASN1_DUP_FUNCTION(ESS_ISSUER_SERIAL) 483
484ESS_ISSUER_SERIAL *
485ESS_ISSUER_SERIAL_dup(ESS_ISSUER_SERIAL *x)
486{
487 return ASN1_item_dup(ASN1_ITEM_rptr(ESS_ISSUER_SERIAL), x);
488}
454 489
455ASN1_SEQUENCE(ESS_CERT_ID) = { 490ASN1_SEQUENCE(ESS_CERT_ID) = {
456 ASN1_SIMPLE(ESS_CERT_ID, hash, ASN1_OCTET_STRING), 491 ASN1_SIMPLE(ESS_CERT_ID, hash, ASN1_OCTET_STRING),
@@ -482,7 +517,12 @@ ESS_CERT_ID_free(ESS_CERT_ID *a)
482{ 517{
483 ASN1_item_free((ASN1_VALUE *)a, &ESS_CERT_ID_it); 518 ASN1_item_free((ASN1_VALUE *)a, &ESS_CERT_ID_it);
484} 519}
485IMPLEMENT_ASN1_DUP_FUNCTION(ESS_CERT_ID) 520
521ESS_CERT_ID *
522ESS_CERT_ID_dup(ESS_CERT_ID *x)
523{
524 return ASN1_item_dup(ASN1_ITEM_rptr(ESS_CERT_ID), x);
525}
486 526
487ASN1_SEQUENCE(ESS_SIGNING_CERT) = { 527ASN1_SEQUENCE(ESS_SIGNING_CERT) = {
488 ASN1_SEQUENCE_OF(ESS_SIGNING_CERT, cert_ids, ESS_CERT_ID), 528 ASN1_SEQUENCE_OF(ESS_SIGNING_CERT, cert_ids, ESS_CERT_ID),
@@ -514,7 +554,12 @@ ESS_SIGNING_CERT_free(ESS_SIGNING_CERT *a)
514{ 554{
515 ASN1_item_free((ASN1_VALUE *)a, &ESS_SIGNING_CERT_it); 555 ASN1_item_free((ASN1_VALUE *)a, &ESS_SIGNING_CERT_it);
516} 556}
517IMPLEMENT_ASN1_DUP_FUNCTION(ESS_SIGNING_CERT) 557
558ESS_SIGNING_CERT *
559ESS_SIGNING_CERT_dup(ESS_SIGNING_CERT *x)
560{
561 return ASN1_item_dup(ASN1_ITEM_rptr(ESS_SIGNING_CERT), x);
562}
518 563
519/* Getting encapsulated TS_TST_INFO object from PKCS7. */ 564/* Getting encapsulated TS_TST_INFO object from PKCS7. */
520TS_TST_INFO * 565TS_TST_INFO *