summaryrefslogtreecommitdiff
path: root/src/lib/libcrypto/asn1/x_x509.c
diff options
context:
space:
mode:
authorjsing <>2015-02-09 15:05:59 +0000
committerjsing <>2015-02-09 15:05:59 +0000
commit714f82ff1b6302b27dcbcff8136087833e23251d (patch)
tree80e095d0af9796de5fe6127773c94c044f1f68bd /src/lib/libcrypto/asn1/x_x509.c
parent9e99e3c7210b10eacf8cf3b559238c15b31f6438 (diff)
downloadopenbsd-714f82ff1b6302b27dcbcff8136087833e23251d.tar.gz
openbsd-714f82ff1b6302b27dcbcff8136087833e23251d.tar.bz2
openbsd-714f82ff1b6302b27dcbcff8136087833e23251d.zip
Expand the IMPLEMENT_ASN1_FUNCTIONS macro so that the code is visible and
functions can be readily located. Change has been scripted and the generated assembly only differs by changes to line numbers. Discussed with beck@ miod@ tedu@
Diffstat (limited to 'src/lib/libcrypto/asn1/x_x509.c')
-rw-r--r--src/lib/libcrypto/asn1/x_x509.c54
1 files changed, 51 insertions, 3 deletions
diff --git a/src/lib/libcrypto/asn1/x_x509.c b/src/lib/libcrypto/asn1/x_x509.c
index 0236a0faa2..8fd2d7684b 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.17 2014/07/11 08:44:47 jsing Exp $ */ 1/* $OpenBSD: x_x509.c,v 1.18 2015/02/09 15:05:59 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 *
@@ -78,7 +78,31 @@ ASN1_SEQUENCE_enc(X509_CINF, enc, 0) = {
78 ASN1_EXP_SEQUENCE_OF_OPT(X509_CINF, extensions, X509_EXTENSION, 3) 78 ASN1_EXP_SEQUENCE_OF_OPT(X509_CINF, extensions, X509_EXTENSION, 3)
79} ASN1_SEQUENCE_END_enc(X509_CINF, X509_CINF) 79} ASN1_SEQUENCE_END_enc(X509_CINF, X509_CINF)
80 80
81IMPLEMENT_ASN1_FUNCTIONS(X509_CINF) 81
82X509_CINF *
83d2i_X509_CINF(X509_CINF **a, const unsigned char **in, long len)
84{
85 return (X509_CINF *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
86 &X509_CINF_it);
87}
88
89int
90i2d_X509_CINF(X509_CINF *a, unsigned char **out)
91{
92 return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_CINF_it);
93}
94
95X509_CINF *
96X509_CINF_new(void)
97{
98 return (X509_CINF *)ASN1_item_new(&X509_CINF_it);
99}
100
101void
102X509_CINF_free(X509_CINF *a)
103{
104 ASN1_item_free((ASN1_VALUE *)a, &X509_CINF_it);
105}
82/* X509 top level structure needs a bit of customisation */ 106/* X509 top level structure needs a bit of customisation */
83 107
84extern void policy_cache_free(X509_POLICY_CACHE *cache); 108extern void policy_cache_free(X509_POLICY_CACHE *cache);
@@ -138,7 +162,31 @@ ASN1_SEQUENCE_ref(X509, x509_cb, CRYPTO_LOCK_X509) = {
138 ASN1_SIMPLE(X509, signature, ASN1_BIT_STRING) 162 ASN1_SIMPLE(X509, signature, ASN1_BIT_STRING)
139} ASN1_SEQUENCE_END_ref(X509, X509) 163} ASN1_SEQUENCE_END_ref(X509, X509)
140 164
141IMPLEMENT_ASN1_FUNCTIONS(X509) 165
166X509 *
167d2i_X509(X509 **a, const unsigned char **in, long len)
168{
169 return (X509 *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
170 &X509_it);
171}
172
173int
174i2d_X509(X509 *a, unsigned char **out)
175{
176 return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_it);
177}
178
179X509 *
180X509_new(void)
181{
182 return (X509 *)ASN1_item_new(&X509_it);
183}
184
185void
186X509_free(X509 *a)
187{
188 ASN1_item_free((ASN1_VALUE *)a, &X509_it);
189}
142IMPLEMENT_ASN1_DUP_FUNCTION(X509) 190IMPLEMENT_ASN1_DUP_FUNCTION(X509)
143 191
144int 192int