From f1bfac5c0c9b216325ace4860e9de46713ed5a5c Mon Sep 17 00:00:00 2001 From: jsing <> Date: Fri, 4 Nov 2016 18:35:30 +0000 Subject: Kill a bunch of OLD_ASN1 usage by replacing ASN1_{d2i,i2d}_* with ASN1_item_{d2i,i2d}_* equivalents. ok guenther@ miod@ --- src/lib/libcrypto/dsa/dsa.h | 13 +++++-------- src/lib/libcrypto/dsa/dsa_asn1.c | 26 +++++++++++++++++++++++++- 2 files changed, 30 insertions(+), 9 deletions(-) (limited to 'src/lib/libcrypto/dsa') diff --git a/src/lib/libcrypto/dsa/dsa.h b/src/lib/libcrypto/dsa/dsa.h index b4d7c1ff0f..6ddd4c35d5 100644 --- a/src/lib/libcrypto/dsa/dsa.h +++ b/src/lib/libcrypto/dsa/dsa.h @@ -1,4 +1,4 @@ -/* $OpenBSD: dsa.h,v 1.21 2016/06/30 02:02:06 bcook Exp $ */ +/* $OpenBSD: dsa.h,v 1.22 2016/11/04 18:35:30 jsing Exp $ */ /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) * All rights reserved. * @@ -173,13 +173,10 @@ struct dsa_st ENGINE *engine; }; -#define d2i_DSAparams_fp(fp,x) (DSA *)ASN1_d2i_fp((char *(*)())DSA_new, \ - (char *(*)())d2i_DSAparams,(fp),(unsigned char **)(x)) -#define i2d_DSAparams_fp(fp,x) ASN1_i2d_fp(i2d_DSAparams,(fp), \ - (unsigned char *)(x)) -#define d2i_DSAparams_bio(bp,x) ASN1_d2i_bio_of(DSA,DSA_new,d2i_DSAparams,bp,x) -#define i2d_DSAparams_bio(bp,x) ASN1_i2d_bio_of_const(DSA,i2d_DSAparams,bp,x) - +DSA *d2i_DSAparams_bio(BIO *bp, DSA **a); +int i2d_DSAparams_bio(BIO *bp, DSA *a); +DSA *d2i_DSAparams_fp(FILE *fp, DSA **a); +int i2d_DSAparams_fp(FILE *fp, DSA *a); DSA *DSAparams_dup(DSA *x); DSA_SIG * DSA_SIG_new(void); diff --git a/src/lib/libcrypto/dsa/dsa_asn1.c b/src/lib/libcrypto/dsa/dsa_asn1.c index 8c5d93105c..6366acdd79 100644 --- a/src/lib/libcrypto/dsa/dsa_asn1.c +++ b/src/lib/libcrypto/dsa/dsa_asn1.c @@ -1,4 +1,4 @@ -/* $OpenBSD: dsa_asn1.c,v 1.16 2015/02/14 15:06:55 jsing Exp $ */ +/* $OpenBSD: dsa_asn1.c,v 1.17 2016/11/04 18:35:30 jsing Exp $ */ /* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL * project 2000. */ @@ -283,6 +283,30 @@ i2d_DSAparams(const DSA *a, unsigned char **out) return ASN1_item_i2d((ASN1_VALUE *)a, out, &DSAparams_it); } +DSA * +d2i_DSAparams_bio(BIO *bp, DSA **a) +{ + return ASN1_item_d2i_bio(&DSAparams_it, bp, a); +} + +int +i2d_DSAparams_bio(BIO *bp, DSA *a) +{ + return ASN1_item_i2d_bio(&DSAparams_it, bp, a); +} + +DSA * +d2i_DSAparams_fp(FILE *fp, DSA **a) +{ + return ASN1_item_d2i_fp(&DSAparams_it, fp, a); +} + +int +i2d_DSAparams_fp(FILE *fp, DSA *a) +{ + return ASN1_item_i2d_fp(&DSAparams_it, fp, a); +} + /* * DSA public key is a bit trickier... its effectively a CHOICE type * decided by a field called write_params which can either write out -- cgit v1.2.3-55-g6feb