summaryrefslogtreecommitdiffstats
path: root/lib/libcrypto/asn1/x_req.c
diff options
context:
space:
mode:
authorjsing <jsing@openbsd.org>2015-02-09 15:05:59 +0000
committerjsing <jsing@openbsd.org>2015-02-09 15:05:59 +0000
commit811ee5a365f28dbc469ccc0ea2344b685580912a (patch)
tree9b8d1da953595f6e31f701136d9d74d417dfacd4 /lib/libcrypto/asn1/x_req.c
parentuncast (diff)
downloadwireguard-openbsd-811ee5a365f28dbc469ccc0ea2344b685580912a.tar.xz
wireguard-openbsd-811ee5a365f28dbc469ccc0ea2344b685580912a.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 'lib/libcrypto/asn1/x_req.c')
-rw-r--r--lib/libcrypto/asn1/x_req.c54
1 files changed, 51 insertions, 3 deletions
diff --git a/lib/libcrypto/asn1/x_req.c b/lib/libcrypto/asn1/x_req.c
index c876edd7f00..89b2d88d156 100644
--- a/lib/libcrypto/asn1/x_req.c
+++ b/lib/libcrypto/asn1/x_req.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: x_req.c,v 1.10 2014/07/11 08:44:47 jsing Exp $ */
+/* $OpenBSD: x_req.c,v 1.11 2015/02/09 15:05:59 jsing Exp $ */
/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
* All rights reserved.
*
@@ -102,7 +102,31 @@ ASN1_SEQUENCE_enc(X509_REQ_INFO, enc, rinf_cb) = {
ASN1_IMP_SET_OF_OPT(X509_REQ_INFO, attributes, X509_ATTRIBUTE, 0)
} ASN1_SEQUENCE_END_enc(X509_REQ_INFO, X509_REQ_INFO)
-IMPLEMENT_ASN1_FUNCTIONS(X509_REQ_INFO)
+
+X509_REQ_INFO *
+d2i_X509_REQ_INFO(X509_REQ_INFO **a, const unsigned char **in, long len)
+{
+ return (X509_REQ_INFO *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
+ &X509_REQ_INFO_it);
+}
+
+int
+i2d_X509_REQ_INFO(X509_REQ_INFO *a, unsigned char **out)
+{
+ return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_REQ_INFO_it);
+}
+
+X509_REQ_INFO *
+X509_REQ_INFO_new(void)
+{
+ return (X509_REQ_INFO *)ASN1_item_new(&X509_REQ_INFO_it);
+}
+
+void
+X509_REQ_INFO_free(X509_REQ_INFO *a)
+{
+ ASN1_item_free((ASN1_VALUE *)a, &X509_REQ_INFO_it);
+}
ASN1_SEQUENCE_ref(X509_REQ, 0, CRYPTO_LOCK_X509_REQ) = {
ASN1_SIMPLE(X509_REQ, req_info, X509_REQ_INFO),
@@ -110,5 +134,29 @@ ASN1_SEQUENCE_ref(X509_REQ, 0, CRYPTO_LOCK_X509_REQ) = {
ASN1_SIMPLE(X509_REQ, signature, ASN1_BIT_STRING)
} ASN1_SEQUENCE_END_ref(X509_REQ, X509_REQ)
-IMPLEMENT_ASN1_FUNCTIONS(X509_REQ)
+
+X509_REQ *
+d2i_X509_REQ(X509_REQ **a, const unsigned char **in, long len)
+{
+ return (X509_REQ *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
+ &X509_REQ_it);
+}
+
+int
+i2d_X509_REQ(X509_REQ *a, unsigned char **out)
+{
+ return ASN1_item_i2d((ASN1_VALUE *)a, out, &X509_REQ_it);
+}
+
+X509_REQ *
+X509_REQ_new(void)
+{
+ return (X509_REQ *)ASN1_item_new(&X509_REQ_it);
+}
+
+void
+X509_REQ_free(X509_REQ *a)
+{
+ ASN1_item_free((ASN1_VALUE *)a, &X509_REQ_it);
+}
IMPLEMENT_ASN1_DUP_FUNCTION(X509_REQ)