diff options
author | Ralf S. Engelschall <rse@openssl.org> | 1999-05-04 08:56:51 +0000 |
---|---|---|
committer | Ralf S. Engelschall <rse@openssl.org> | 1999-05-04 08:56:51 +0000 |
commit | 20b85fdd7644aa940e50a158a1b2c8010bb36443 (patch) | |
tree | 7ac94407e4e58de9fadc718886fbc62ca0972800 /crypto/pem | |
parent | 0f3e6045898e9aa5d0249e61c874b1f153ae54fa (diff) | |
download | openssl-new-20b85fdd7644aa940e50a158a1b2c8010bb36443.tar.gz |
Convert casted X509_INFO stacks to type-safe STACK_OF(X509_INFO).
PS: Feel free to move the IMPLEMENT_STACK_OF(X509_INFO) from
crypto/asn1/x_info.c to any other place where you think it fits better.
X509_INFO is a structure slightly spreaded over ASN.1, X509 and PEM code,
so I found no definitive location for IMPLEMENT_STACK_OF(X509_INFO). In
crypto/asn1/x_info.c it's at least now bundled with X509_INFO_new() and
friends.
Diffstat (limited to 'crypto/pem')
-rw-r--r-- | crypto/pem/pem.h | 4 | ||||
-rw-r--r-- | crypto/pem/pem_info.c | 26 |
2 files changed, 15 insertions, 15 deletions
diff --git a/crypto/pem/pem.h b/crypto/pem/pem.h index 6f0f09fcbe..effa9545a4 100644 --- a/crypto/pem/pem.h +++ b/crypto/pem/pem.h @@ -331,7 +331,7 @@ char * PEM_ASN1_read_bio(char *(*d2i)(),const char *name,BIO *bp,char **x, int PEM_ASN1_write_bio(int (*i2d)(),const char *name,BIO *bp,char *x, const EVP_CIPHER *enc,unsigned char *kstr,int klen, int (*callback)()); -STACK * PEM_X509_INFO_read_bio(BIO *bp, STACK *sk, int (*cb)()); +STACK_OF(X509_INFO) * PEM_X509_INFO_read_bio(BIO *bp, STACK_OF(X509_INFO) *sk, int (*cb)()); int PEM_X509_INFO_write_bio(BIO *bp,X509_INFO *xi, EVP_CIPHER *enc, unsigned char *kstr, int klen, int (*cb)()); #endif @@ -345,7 +345,7 @@ char * PEM_ASN1_read(char *(*d2i)(),const char *name,FILE *fp,char **x, int PEM_ASN1_write(int (*i2d)(),const char *name,FILE *fp,char *x, const EVP_CIPHER *enc,unsigned char *kstr,int klen, int (*callback)()); -STACK * PEM_X509_INFO_read(FILE *fp, STACK *sk, int (*cb)()); +STACK_OF(X509_INFO) * PEM_X509_INFO_read(FILE *fp, STACK_OF(X509_INFO) *sk, int (*cb)()); #endif int PEM_SealInit(PEM_ENCODE_SEAL_CTX *ctx, EVP_CIPHER *type, diff --git a/crypto/pem/pem_info.c b/crypto/pem/pem_info.c index 83bdcf492f..7f74bac351 100644 --- a/crypto/pem/pem_info.c +++ b/crypto/pem/pem_info.c @@ -65,10 +65,10 @@ #include <openssl/pem.h> #ifndef NO_FP_API -STACK *PEM_X509_INFO_read(FILE *fp, STACK *sk, int (*cb)()) +STACK_OF(X509_INFO) *PEM_X509_INFO_read(FILE *fp, STACK_OF(X509_INFO) *sk, int (*cb)()) { BIO *b; - STACK *ret; + STACK_OF(X509_INFO) *ret; if ((b=BIO_new(BIO_s_file())) == NULL) { @@ -82,20 +82,20 @@ STACK *PEM_X509_INFO_read(FILE *fp, STACK *sk, int (*cb)()) } #endif -STACK *PEM_X509_INFO_read_bio(BIO *bp, STACK *sk, int (*cb)()) +STACK_OF(X509_INFO) *PEM_X509_INFO_read_bio(BIO *bp, STACK_OF(X509_INFO) *sk, int (*cb)()) { X509_INFO *xi=NULL; char *name=NULL,*header=NULL,**pp; unsigned char *data=NULL,*p; long len,error=0; int ok=0; - STACK *ret=NULL; + STACK_OF(X509_INFO) *ret=NULL; unsigned int i,raw; char *(*d2i)(); if (sk == NULL) { - if ((ret=sk_new_null()) == NULL) + if ((ret=sk_X509_INFO_new_null()) == NULL) { PEMerr(PEM_F_PEM_X509_INFO_READ_BIO,ERR_R_MALLOC_FAILURE); goto err; @@ -126,7 +126,7 @@ start: d2i=(char *(*)())d2i_X509; if (xi->x509 != NULL) { - if (!sk_push(ret,(char *)xi)) goto err; + if (!sk_X509_INFO_push(ret,xi)) goto err; if ((xi=X509_INFO_new()) == NULL) goto err; goto start; } @@ -137,7 +137,7 @@ start: d2i=(char *(*)())d2i_X509_CRL; if (xi->crl != NULL) { - if (!sk_push(ret,(char *)xi)) goto err; + if (!sk_X509_INFO_push(ret,xi)) goto err; if ((xi=X509_INFO_new()) == NULL) goto err; goto start; } @@ -150,7 +150,7 @@ start: d2i=(char *(*)())d2i_RSAPrivateKey; if (xi->x_pkey != NULL) { - if (!sk_push(ret,(char *)xi)) goto err; + if (!sk_X509_INFO_push(ret,xi)) goto err; if ((xi=X509_INFO_new()) == NULL) goto err; goto start; } @@ -174,7 +174,7 @@ start: d2i=(char *(*)())d2i_DSAPrivateKey; if (xi->x_pkey != NULL) { - if (!sk_push(ret,(char *)xi)) goto err; + if (!sk_X509_INFO_push(ret,xi)) goto err; if ((xi=X509_INFO_new()) == NULL) goto err; goto start; } @@ -240,7 +240,7 @@ start: if ((xi->x509 != NULL) || (xi->crl != NULL) || (xi->x_pkey != NULL) || (xi->enc_data != NULL)) { - if (!sk_push(ret,(char *)xi)) goto err; + if (!sk_X509_INFO_push(ret,xi)) goto err; xi=NULL; } ok=1; @@ -248,12 +248,12 @@ err: if (xi != NULL) X509_INFO_free(xi); if (!ok) { - for (i=0; ((int)i)<sk_num(ret); i++) + for (i=0; ((int)i)<sk_X509_INFO_num(ret); i++) { - xi=(X509_INFO *)sk_value(ret,i); + xi=sk_X509_INFO_value(ret,i); X509_INFO_free(xi); } - if (ret != sk) sk_free(ret); + if (ret != sk) sk_X509_INFO_free(ret); ret=NULL; } |