diff options
author | Dr. Stephen Henson <steve@openssl.org> | 2009-07-27 23:22:02 +0200 |
---|---|---|
committer | Dr. Stephen Henson <steve@openssl.org> | 2009-07-27 23:22:02 +0200 |
commit | 512d359e266516e15c6b4d41329f7de6c0d76066 (patch) | |
tree | 57bbf6ef9eed6f072ad1d4e269bcc451378c1b32 /crypto/asn1/a_set.c | |
parent | Update from 1.0.0-stable (diff) | |
download | openssl-512d359e266516e15c6b4d41329f7de6c0d76066.tar.xz openssl-512d359e266516e15c6b4d41329f7de6c0d76066.zip |
Update from 1.0.0-stable.
Diffstat (limited to 'crypto/asn1/a_set.c')
-rw-r--r-- | crypto/asn1/a_set.c | 37 |
1 files changed, 19 insertions, 18 deletions
diff --git a/crypto/asn1/a_set.c b/crypto/asn1/a_set.c index 2675476f18..d726c8d3a8 100644 --- a/crypto/asn1/a_set.c +++ b/crypto/asn1/a_set.c @@ -85,7 +85,7 @@ static int SetBlobCmp(const void *elem1, const void *elem2 ) } /* int is_set: if TRUE, then sort the contents (i.e. it isn't a SEQUENCE) */ -int i2d_ASN1_SET(STACK_OF(BLOCK) *a, unsigned char **pp, +int i2d_ASN1_SET(STACK_OF(OPENSSL_BLOCK) *a, unsigned char **pp, i2d_of_void *i2d, int ex_tag, int ex_class, int is_set) { @@ -97,8 +97,8 @@ int i2d_ASN1_SET(STACK_OF(BLOCK) *a, unsigned char **pp, int totSize; if (a == NULL) return(0); - for (i=sk_BLOCK_num(a)-1; i>=0; i--) - ret+=i2d(sk_BLOCK_value(a,i),NULL); + for (i=sk_OPENSSL_BLOCK_num(a)-1; i>=0; i--) + ret+=i2d(sk_OPENSSL_BLOCK_value(a,i),NULL); r=ASN1_object_size(1,ret,ex_tag); if (pp == NULL) return(r); @@ -109,10 +109,10 @@ int i2d_ASN1_SET(STACK_OF(BLOCK) *a, unsigned char **pp, /* And then again by Ben */ /* And again by Steve */ - if(!is_set || (sk_BLOCK_num(a) < 2)) + if(!is_set || (sk_OPENSSL_BLOCK_num(a) < 2)) { - for (i=0; i<sk_BLOCK_num(a); i++) - i2d(sk_BLOCK_value(a,i),&p); + for (i=0; i<sk_OPENSSL_BLOCK_num(a); i++) + i2d(sk_OPENSSL_BLOCK_value(a,i),&p); *pp=p; return(r); @@ -120,17 +120,17 @@ int i2d_ASN1_SET(STACK_OF(BLOCK) *a, unsigned char **pp, pStart = p; /* Catch the beg of Setblobs*/ /* In this array we will store the SET blobs */ - rgSetBlob = OPENSSL_malloc(sk_BLOCK_num(a) * sizeof(MYBLOB)); + rgSetBlob = OPENSSL_malloc(sk_OPENSSL_BLOCK_num(a) * sizeof(MYBLOB)); if (rgSetBlob == NULL) { ASN1err(ASN1_F_I2D_ASN1_SET,ERR_R_MALLOC_FAILURE); return(0); } - for (i=0; i<sk_BLOCK_num(a); i++) + for (i=0; i<sk_OPENSSL_BLOCK_num(a); i++) { rgSetBlob[i].pbData = p; /* catch each set encode blob */ - i2d(sk_BLOCK_value(a,i),&p); + i2d(sk_OPENSSL_BLOCK_value(a,i),&p); rgSetBlob[i].cbData = p - rgSetBlob[i].pbData; /* Length of this SetBlob */ @@ -140,7 +140,7 @@ SetBlob /* Now we have to sort the blobs. I am using a simple algo. *Sort ptrs *Copy to temp-mem *Copy from temp-mem to user-mem*/ - qsort( rgSetBlob, sk_BLOCK_num(a), sizeof(MYBLOB), SetBlobCmp); + qsort( rgSetBlob, sk_OPENSSL_BLOCK_num(a), sizeof(MYBLOB), SetBlobCmp); if (!(pTempMem = OPENSSL_malloc(totSize))) { ASN1err(ASN1_F_I2D_ASN1_SET,ERR_R_MALLOC_FAILURE); @@ -149,7 +149,7 @@ SetBlob /* Copy to temp mem */ p = pTempMem; - for(i=0; i<sk_BLOCK_num(a); ++i) + for(i=0; i<sk_OPENSSL_BLOCK_num(a); ++i) { memcpy(p, rgSetBlob[i].pbData, rgSetBlob[i].cbData); p += rgSetBlob[i].cbData; @@ -163,17 +163,18 @@ SetBlob return(r); } -STACK_OF(BLOCK) *d2i_ASN1_SET(STACK_OF(BLOCK) **a, const unsigned char **pp, +STACK_OF(OPENSSL_BLOCK) *d2i_ASN1_SET(STACK_OF(OPENSSL_BLOCK) **a, + const unsigned char **pp, long length, d2i_of_void *d2i, - void (*free_func)(BLOCK), int ex_tag, + void (*free_func)(OPENSSL_BLOCK), int ex_tag, int ex_class) { ASN1_const_CTX c; - STACK_OF(BLOCK) *ret=NULL; + STACK_OF(OPENSSL_BLOCK) *ret=NULL; if ((a == NULL) || ((*a) == NULL)) { - if ((ret=sk_BLOCK_new_null()) == NULL) + if ((ret=sk_OPENSSL_BLOCK_new_null()) == NULL) { ASN1err(ASN1_F_D2I_ASN1_SET,ERR_R_MALLOC_FAILURE); goto err; @@ -221,7 +222,7 @@ STACK_OF(BLOCK) *d2i_ASN1_SET(STACK_OF(BLOCK) **a, const unsigned char **pp, asn1_add_error(*pp,(int)(c.p- *pp)); goto err; } - if (!sk_BLOCK_push(ret,s)) goto err; + if (!sk_OPENSSL_BLOCK_push(ret,s)) goto err; } if (a != NULL) (*a)=ret; *pp=c.p; @@ -230,9 +231,9 @@ err: if ((ret != NULL) && ((a == NULL) || (*a != ret))) { if (free_func != NULL) - sk_BLOCK_pop_free(ret,free_func); + sk_OPENSSL_BLOCK_pop_free(ret,free_func); else - sk_BLOCK_free(ret); + sk_OPENSSL_BLOCK_free(ret); } return(NULL); } |