From 4fb19543f9f5f3b5e26820a0dfdffa75a332314d Mon Sep 17 00:00:00 2001 From: jsing <> Date: Mon, 9 Feb 2015 16:04:46 +0000 Subject: Expand the IMPLEMENT_ASN1_FUNCTIONS macro so that the code is visible and functions can be readily located. Change has been scripted and there is no change to the generated assembly. Discussed with beck@ miod@ tedu@ --- src/lib/libcrypto/pkcs12/p12_asn.c | 106 +++++++++++++++++++++++++++++++++++-- 1 file changed, 101 insertions(+), 5 deletions(-) (limited to 'src/lib/libcrypto/pkcs12') diff --git a/src/lib/libcrypto/pkcs12/p12_asn.c b/src/lib/libcrypto/pkcs12/p12_asn.c index 5b3285ebe2..8e6ee29cb7 100644 --- a/src/lib/libcrypto/pkcs12/p12_asn.c +++ b/src/lib/libcrypto/pkcs12/p12_asn.c @@ -1,4 +1,4 @@ -/* $OpenBSD: p12_asn.c,v 1.6 2014/07/11 08:44:49 jsing Exp $ */ +/* $OpenBSD: p12_asn.c,v 1.7 2015/02/09 16:04:46 jsing Exp $ */ /* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL * project 1999. */ @@ -69,7 +69,31 @@ ASN1_SEQUENCE(PKCS12) = { ASN1_OPT(PKCS12, mac, PKCS12_MAC_DATA) } ASN1_SEQUENCE_END(PKCS12) -IMPLEMENT_ASN1_FUNCTIONS(PKCS12) + +PKCS12 * +d2i_PKCS12(PKCS12 **a, const unsigned char **in, long len) +{ + return (PKCS12 *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, + &PKCS12_it); +} + +int +i2d_PKCS12(PKCS12 *a, unsigned char **out) +{ + return ASN1_item_i2d((ASN1_VALUE *)a, out, &PKCS12_it); +} + +PKCS12 * +PKCS12_new(void) +{ + return (PKCS12 *)ASN1_item_new(&PKCS12_it); +} + +void +PKCS12_free(PKCS12 *a) +{ + ASN1_item_free((ASN1_VALUE *)a, &PKCS12_it); +} ASN1_SEQUENCE(PKCS12_MAC_DATA) = { ASN1_SIMPLE(PKCS12_MAC_DATA, dinfo, X509_SIG), @@ -77,7 +101,31 @@ ASN1_SEQUENCE(PKCS12_MAC_DATA) = { ASN1_OPT(PKCS12_MAC_DATA, iter, ASN1_INTEGER) } ASN1_SEQUENCE_END(PKCS12_MAC_DATA) -IMPLEMENT_ASN1_FUNCTIONS(PKCS12_MAC_DATA) + +PKCS12_MAC_DATA * +d2i_PKCS12_MAC_DATA(PKCS12_MAC_DATA **a, const unsigned char **in, long len) +{ + return (PKCS12_MAC_DATA *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, + &PKCS12_MAC_DATA_it); +} + +int +i2d_PKCS12_MAC_DATA(PKCS12_MAC_DATA *a, unsigned char **out) +{ + return ASN1_item_i2d((ASN1_VALUE *)a, out, &PKCS12_MAC_DATA_it); +} + +PKCS12_MAC_DATA * +PKCS12_MAC_DATA_new(void) +{ + return (PKCS12_MAC_DATA *)ASN1_item_new(&PKCS12_MAC_DATA_it); +} + +void +PKCS12_MAC_DATA_free(PKCS12_MAC_DATA *a) +{ + ASN1_item_free((ASN1_VALUE *)a, &PKCS12_MAC_DATA_it); +} ASN1_ADB_TEMPLATE(bag_default) = ASN1_EXP(PKCS12_BAGS, value.other, ASN1_ANY, 0); @@ -96,7 +144,31 @@ ASN1_SEQUENCE(PKCS12_BAGS) = { ASN1_ADB_OBJECT(PKCS12_BAGS), } ASN1_SEQUENCE_END(PKCS12_BAGS) -IMPLEMENT_ASN1_FUNCTIONS(PKCS12_BAGS) + +PKCS12_BAGS * +d2i_PKCS12_BAGS(PKCS12_BAGS **a, const unsigned char **in, long len) +{ + return (PKCS12_BAGS *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, + &PKCS12_BAGS_it); +} + +int +i2d_PKCS12_BAGS(PKCS12_BAGS *a, unsigned char **out) +{ + return ASN1_item_i2d((ASN1_VALUE *)a, out, &PKCS12_BAGS_it); +} + +PKCS12_BAGS * +PKCS12_BAGS_new(void) +{ + return (PKCS12_BAGS *)ASN1_item_new(&PKCS12_BAGS_it); +} + +void +PKCS12_BAGS_free(PKCS12_BAGS *a) +{ + ASN1_item_free((ASN1_VALUE *)a, &PKCS12_BAGS_it); +} ASN1_ADB_TEMPLATE(safebag_default) = ASN1_EXP(PKCS12_SAFEBAG, value.other, ASN1_ANY, 0); @@ -122,7 +194,31 @@ ASN1_SEQUENCE(PKCS12_SAFEBAG) = { ASN1_SET_OF_OPT(PKCS12_SAFEBAG, attrib, X509_ATTRIBUTE) } ASN1_SEQUENCE_END(PKCS12_SAFEBAG) -IMPLEMENT_ASN1_FUNCTIONS(PKCS12_SAFEBAG) + +PKCS12_SAFEBAG * +d2i_PKCS12_SAFEBAG(PKCS12_SAFEBAG **a, const unsigned char **in, long len) +{ + return (PKCS12_SAFEBAG *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, + &PKCS12_SAFEBAG_it); +} + +int +i2d_PKCS12_SAFEBAG(PKCS12_SAFEBAG *a, unsigned char **out) +{ + return ASN1_item_i2d((ASN1_VALUE *)a, out, &PKCS12_SAFEBAG_it); +} + +PKCS12_SAFEBAG * +PKCS12_SAFEBAG_new(void) +{ + return (PKCS12_SAFEBAG *)ASN1_item_new(&PKCS12_SAFEBAG_it); +} + +void +PKCS12_SAFEBAG_free(PKCS12_SAFEBAG *a) +{ + ASN1_item_free((ASN1_VALUE *)a, &PKCS12_SAFEBAG_it); +} /* SEQUENCE OF SafeBag */ ASN1_ITEM_TEMPLATE(PKCS12_SAFEBAGS) = -- cgit v1.2.3-55-g6feb