X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=crypto%2Fasn1%2Fx_bignum.c;h=da57e77a7aa829f0671c4c03fbb02a39e74a9aee;hb=fadfc8ecfd277af189600648fcf1d28f33fd76fe;hp=db6ce82e8ff4ce53ba9762fedfff4d5e35ac090e;hpb=2039c421b0e5b75ffcf6a88e39cc09089b4303dc;p=oweals%2Fopenssl.git diff --git a/crypto/asn1/x_bignum.c b/crypto/asn1/x_bignum.c index db6ce82e8f..da57e77a7a 100644 --- a/crypto/asn1/x_bignum.c +++ b/crypto/asn1/x_bignum.c @@ -31,6 +31,8 @@ static int bn_c2i(ASN1_VALUE **pval, const unsigned char *cont, int len, int utype, char *free_cont, const ASN1_ITEM *it); static int bn_secure_c2i(ASN1_VALUE **pval, const unsigned char *cont, int len, int utype, char *free_cont, const ASN1_ITEM *it); +static int bn_print(BIO *out, ASN1_VALUE **pval, const ASN1_ITEM *it, + int indent, const ASN1_PCTX *pctx); static ASN1_PRIMITIVE_FUNCS bignum_pf = { NULL, 0, @@ -38,7 +40,8 @@ static ASN1_PRIMITIVE_FUNCS bignum_pf = { bn_free, 0, bn_c2i, - bn_i2c + bn_i2c, + bn_print }; static ASN1_PRIMITIVE_FUNCS cbignum_pf = { @@ -47,7 +50,8 @@ static ASN1_PRIMITIVE_FUNCS cbignum_pf = { bn_free, 0, bn_secure_c2i, - bn_i2c + bn_i2c, + bn_print }; ASN1_ITEM_start(BIGNUM) @@ -130,3 +134,13 @@ static int bn_secure_c2i(ASN1_VALUE **pval, const unsigned char *cont, int len, bn_secure_new(pval, it); return bn_c2i(pval, cont, len, utype, free_cont, it); } + +static int bn_print(BIO *out, ASN1_VALUE **pval, const ASN1_ITEM *it, + int indent, const ASN1_PCTX *pctx) +{ + if (!BN_print(out, *(BIGNUM **)pval)) + return 0; + if (BIO_puts(out, "\n") <= 0) + return 0; + return 1; +}