From 1f8672c818cfdd9f4dd34f5ab1bdc1bbf575321d 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/dh/dh.h | 12 +++++------- src/lib/libcrypto/dh/dh_asn1.c | 26 +++++++++++++++++++++++++- 2 files changed, 30 insertions(+), 8 deletions(-) (limited to 'src/lib/libcrypto/dh') diff --git a/src/lib/libcrypto/dh/dh.h b/src/lib/libcrypto/dh/dh.h index 631cd5c685..920af3b92d 100644 --- a/src/lib/libcrypto/dh/dh.h +++ b/src/lib/libcrypto/dh/dh.h @@ -1,4 +1,4 @@ -/* $OpenBSD: dh.h,v 1.17 2016/06/30 02:02:06 bcook Exp $ */ +/* $OpenBSD: dh.h,v 1.18 2016/11/04 18:35:30 jsing Exp $ */ /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) * All rights reserved. * @@ -165,12 +165,10 @@ struct dh_st this for backward compatibility: */ #define DH_CHECK_P_NOT_STRONG_PRIME DH_CHECK_P_NOT_SAFE_PRIME -#define d2i_DHparams_fp(fp,x) (DH *)ASN1_d2i_fp((char *(*)())DH_new, \ - (char *(*)())d2i_DHparams,(fp),(unsigned char **)(x)) -#define i2d_DHparams_fp(fp,x) ASN1_i2d_fp(i2d_DHparams,(fp), \ - (unsigned char *)(x)) -#define d2i_DHparams_bio(bp,x) ASN1_d2i_bio_of(DH,DH_new,d2i_DHparams,bp,x) -#define i2d_DHparams_bio(bp,x) ASN1_i2d_bio_of_const(DH,i2d_DHparams,bp,x) +DH *d2i_DHparams_bio(BIO *bp, DH **a); +int i2d_DHparams_bio(BIO *bp, DH *a); +DH *d2i_DHparams_fp(FILE *fp, DH **a); +int i2d_DHparams_fp(FILE *fp, DH *a); DH *DHparams_dup(DH *); diff --git a/src/lib/libcrypto/dh/dh_asn1.c b/src/lib/libcrypto/dh/dh_asn1.c index 7060130ed8..d7fd4f7d88 100644 --- a/src/lib/libcrypto/dh/dh_asn1.c +++ b/src/lib/libcrypto/dh/dh_asn1.c @@ -1,4 +1,4 @@ -/* $OpenBSD: dh_asn1.c,v 1.8 2015/02/14 15:06:55 jsing Exp $ */ +/* $OpenBSD: dh_asn1.c,v 1.9 2016/11/04 18:35:30 jsing Exp $ */ /* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL * project 2000. */ @@ -136,6 +136,30 @@ i2d_DHparams(const DH *a, unsigned char **out) return ASN1_item_i2d((ASN1_VALUE *)a, out, &DHparams_it); } +DH * +d2i_DHparams_bio(BIO *bp, DH **a) +{ + return ASN1_item_d2i_bio(&DHparams_it, bp, a); +} + +int +i2d_DHparams_bio(BIO *bp, DH *a) +{ + return ASN1_item_i2d_bio(&DHparams_it, bp, a); +} + +DH * +d2i_DHparams_fp(FILE *fp, DH **a) +{ + return ASN1_item_d2i_fp(&DHparams_it, fp, a); +} + +int +i2d_DHparams_fp(FILE *fp, DH *a) +{ + return ASN1_item_i2d_fp(&DHparams_it, fp, a); +} + DH * DHparams_dup(DH *dh) { -- cgit v1.2.3-55-g6feb