X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=crypto%2Fasn1%2Fasn_pack.c;h=e8b671b7b51b1b567b72c0b0de1aef6a1b13a7be;hb=d137b56a5bed5557a04b54040f17dd9a41fd8274;hp=e3535bc435e053916062f9a2421e6cc43d08dfa5;hpb=41a15c4f0f2535591ba9f258cf76119f86477c43;p=oweals%2Fopenssl.git diff --git a/crypto/asn1/asn_pack.c b/crypto/asn1/asn_pack.c index e3535bc435..e8b671b7b5 100644 --- a/crypto/asn1/asn_pack.c +++ b/crypto/asn1/asn_pack.c @@ -67,8 +67,7 @@ /* Turn an ASN1 encoded SEQUENCE OF into a STACK of structures */ STACK *ASN1_seq_unpack(const unsigned char *buf, int len, - char *(*d2i)(void **,const unsigned char **,long), - void (*free_func)(void *)) + d2i_of_void *d2i,void (*free_func)(void *)) { STACK *sk; const unsigned char *pbuf; @@ -83,7 +82,7 @@ STACK *ASN1_seq_unpack(const unsigned char *buf, int len, * OPENSSL_malloc'ed buffer */ -unsigned char *ASN1_seq_pack(STACK *safes, int (*i2d)(void *,unsigned char **), +unsigned char *ASN1_seq_pack(STACK *safes, i2d_of_void *i2d, unsigned char **buf, int *len) { int safelen; @@ -107,8 +106,7 @@ unsigned char *ASN1_seq_pack(STACK *safes, int (*i2d)(void *,unsigned char **), /* Extract an ASN1 object from an ASN1_STRING */ -void *ASN1_unpack_string (ASN1_STRING *oct, - void *(*d2i)(void *,const unsigned char **,long)) +void *ASN1_unpack_string(ASN1_STRING *oct, d2i_of_void *d2i) { const unsigned char *p; char *ret; @@ -121,8 +119,7 @@ void *ASN1_unpack_string (ASN1_STRING *oct, /* Pack an ASN1 object into an ASN1_STRING */ -ASN1_STRING *ASN1_pack_string(void *obj, int (*i2d)(void *,unsigned char **), - ASN1_STRING **oct) +ASN1_STRING *ASN1_pack_string(void *obj, i2d_of_void *i2d, ASN1_STRING **oct) { unsigned char *p; ASN1_STRING *octmp; @@ -158,7 +155,7 @@ ASN1_STRING *ASN1_item_pack(void *obj, const ASN1_ITEM *it, ASN1_STRING **oct) if (!oct || !*oct) { if (!(octmp = ASN1_STRING_new ())) { - ASN1err(ASN1_F_ASN1_PACK_STRING,ERR_R_MALLOC_FAILURE); + ASN1err(ASN1_F_ASN1_ITEM_PACK,ERR_R_MALLOC_FAILURE); return NULL; } if (oct) *oct = octmp; @@ -170,11 +167,11 @@ ASN1_STRING *ASN1_item_pack(void *obj, const ASN1_ITEM *it, ASN1_STRING **oct) } if (!(octmp->length = ASN1_item_i2d(obj, &octmp->data, it))) { - ASN1err(ASN1_F_ASN1_PACK_STRING,ASN1_R_ENCODE_ERROR); + ASN1err(ASN1_F_ASN1_ITEM_PACK,ASN1_R_ENCODE_ERROR); return NULL; } if (!octmp->data) { - ASN1err(ASN1_F_ASN1_PACK_STRING,ERR_R_MALLOC_FAILURE); + ASN1err(ASN1_F_ASN1_ITEM_PACK,ERR_R_MALLOC_FAILURE); return NULL; } return octmp; @@ -189,6 +186,6 @@ void *ASN1_item_unpack(ASN1_STRING *oct, const ASN1_ITEM *it) p = oct->data; if(!(ret = ASN1_item_d2i(NULL, &p, oct->length, it))) - ASN1err(ASN1_F_ASN1_UNPACK_STRING,ASN1_R_DECODE_ERROR); + ASN1err(ASN1_F_ASN1_ITEM_UNPACK,ASN1_R_DECODE_ERROR); return ret; }