From dd9d233e2aa493fa1398b527afbf6aa5cdb23f23 Mon Sep 17 00:00:00 2001 From: "Dr. Stephen Henson" Date: Sun, 23 Jan 2000 23:41:49 +0000 Subject: [PATCH] Tidy up CRYPTO_EX_DATA structures. --- CHANGES | 4 +++ crypto/Makefile.ssl | 20 +++++++---- crypto/asn1/Makefile.ssl | 3 +- crypto/asn1/x_x509.c | 14 ++++---- crypto/bio/Makefile.ssl | 48 +++++++++++++++----------- crypto/bio/bio.h | 10 +++--- crypto/bio/bio_lib.c | 14 ++++---- crypto/bn/Makefile.ssl | 70 ++++++++++++++++++++------------------ crypto/buffer/Makefile.ssl | 3 +- crypto/crypto.h | 45 +++++++++++++----------- crypto/des/Makefile.ssl | 11 +++--- crypto/dh/Makefile.ssl | 16 +++++---- crypto/dh/dh.h | 8 ++--- crypto/dh/dh_lib.c | 14 ++++---- crypto/dsa/Makefile.ssl | 11 +++--- crypto/dsa/dsa.h | 8 ++--- crypto/dsa/dsa_lib.c | 14 ++++---- crypto/err/Makefile.ssl | 8 ++--- crypto/ex_data.c | 40 +++++++++++----------- crypto/lhash/Makefile.ssl | 7 ++-- crypto/md2/Makefile.ssl | 4 +-- crypto/mdc2/Makefile.ssl | 4 +-- crypto/rand/Makefile.ssl | 4 +-- crypto/rsa/Makefile.ssl | 36 +++++++++++--------- crypto/rsa/rsa.h | 10 +++--- crypto/rsa/rsa_lib.c | 14 ++++---- crypto/stack/Makefile.ssl | 3 +- crypto/txt_db/Makefile.ssl | 5 +-- crypto/x509/x509.h | 8 ++--- crypto/x509/x509_lu.c | 8 ++--- crypto/x509/x509_vfy.c | 6 ++-- crypto/x509/x509_vfy.h | 4 +-- rsaref/Makefile.ssl | 5 +-- ssl/ssl.h | 12 +++---- ssl/ssl_cert.c | 3 +- ssl/ssl_lib.c | 16 ++++----- ssl/ssl_sess.c | 10 +++--- test/Makefile.ssl | 12 ++++--- util/libeay.num | 19 +++++++++++ 39 files changed, 306 insertions(+), 245 deletions(-) diff --git a/CHANGES b/CHANGES index a1bae7ee6d..df15b538ba 100644 --- a/CHANGES +++ b/CHANGES @@ -4,6 +4,10 @@ Changes between 0.9.4 and 0.9.5 [xx XXX 1999] + *) Clean up CRYPTO_EX_DATA functions, some of these didn't have prototypes + used (char *) instead of (void *) and had casts all over the place. + [Steve Henson] + *) Make BN_generate_prime() return NULL on error if ret!=NULL. [Ulf Möller] diff --git a/crypto/Makefile.ssl b/crypto/Makefile.ssl index ae4c45ee0c..1fb4112f1e 100644 --- a/crypto/Makefile.ssl +++ b/crypto/Makefile.ssl @@ -156,34 +156,40 @@ dclean: # DO NOT DELETE THIS LINE -- make depend depends on it. cpt_err.o: ../include/openssl/crypto.h ../include/openssl/err.h -cpt_err.o: ../include/openssl/opensslv.h ../include/openssl/stack.h +cpt_err.o: ../include/openssl/opensslv.h ../include/openssl/safestack.h +cpt_err.o: ../include/openssl/stack.h cryptlib.o: ../include/openssl/bio.h ../include/openssl/buffer.h cryptlib.o: ../include/openssl/crypto.h ../include/openssl/e_os.h cryptlib.o: ../include/openssl/e_os2.h ../include/openssl/err.h cryptlib.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h -cryptlib.o: ../include/openssl/stack.h cryptlib.h +cryptlib.o: ../include/openssl/safestack.h ../include/openssl/stack.h +cryptlib.o: cryptlib.h cversion.o: ../include/openssl/bio.h ../include/openssl/buffer.h cversion.o: ../include/openssl/crypto.h ../include/openssl/e_os.h cversion.o: ../include/openssl/e_os2.h ../include/openssl/err.h cversion.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h -cversion.o: ../include/openssl/stack.h buildinf.h cryptlib.h +cversion.o: ../include/openssl/safestack.h ../include/openssl/stack.h +cversion.o: buildinf.h cryptlib.h ex_data.o: ../include/openssl/bio.h ../include/openssl/buffer.h ex_data.o: ../include/openssl/crypto.h ../include/openssl/e_os.h ex_data.o: ../include/openssl/e_os2.h ../include/openssl/err.h ex_data.o: ../include/openssl/lhash.h ../include/openssl/opensslconf.h -ex_data.o: ../include/openssl/opensslv.h ../include/openssl/stack.h cryptlib.h +ex_data.o: ../include/openssl/opensslv.h ../include/openssl/safestack.h +ex_data.o: ../include/openssl/stack.h cryptlib.h mem.o: ../include/openssl/bio.h ../include/openssl/buffer.h mem.o: ../include/openssl/crypto.h ../include/openssl/e_os.h mem.o: ../include/openssl/e_os2.h ../include/openssl/err.h mem.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h -mem.o: ../include/openssl/stack.h cryptlib.h +mem.o: ../include/openssl/safestack.h ../include/openssl/stack.h cryptlib.h mem_dbg.o: ../include/openssl/bio.h ../include/openssl/buffer.h mem_dbg.o: ../include/openssl/crypto.h ../include/openssl/e_os.h mem_dbg.o: ../include/openssl/e_os2.h ../include/openssl/err.h mem_dbg.o: ../include/openssl/lhash.h ../include/openssl/opensslconf.h -mem_dbg.o: ../include/openssl/opensslv.h ../include/openssl/stack.h cryptlib.h +mem_dbg.o: ../include/openssl/opensslv.h ../include/openssl/safestack.h +mem_dbg.o: ../include/openssl/stack.h cryptlib.h tmdiff.o: ../include/openssl/bio.h ../include/openssl/buffer.h tmdiff.o: ../include/openssl/crypto.h ../include/openssl/e_os.h tmdiff.o: ../include/openssl/e_os2.h ../include/openssl/err.h tmdiff.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h -tmdiff.o: ../include/openssl/stack.h ../include/openssl/tmdiff.h cryptlib.h +tmdiff.o: ../include/openssl/safestack.h ../include/openssl/stack.h +tmdiff.o: ../include/openssl/tmdiff.h cryptlib.h diff --git a/crypto/asn1/Makefile.ssl b/crypto/asn1/Makefile.ssl index 74f057b5e3..b119a6aba3 100644 --- a/crypto/asn1/Makefile.ssl +++ b/crypto/asn1/Makefile.ssl @@ -853,7 +853,8 @@ t_pkey.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h t_pkey.o: ../../include/openssl/e_os.h ../../include/openssl/e_os2.h t_pkey.o: ../../include/openssl/err.h ../../include/openssl/opensslconf.h t_pkey.o: ../../include/openssl/opensslv.h ../../include/openssl/rsa.h -t_pkey.o: ../../include/openssl/stack.h ../cryptlib.h +t_pkey.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h +t_pkey.o: ../cryptlib.h t_req.o: ../../include/openssl/asn1.h ../../include/openssl/bio.h t_req.o: ../../include/openssl/blowfish.h ../../include/openssl/bn.h t_req.o: ../../include/openssl/buffer.h ../../include/openssl/cast.h diff --git a/crypto/asn1/x_x509.c b/crypto/asn1/x_x509.c index ee3213045e..ee74bc9a2d 100644 --- a/crypto/asn1/x_x509.c +++ b/crypto/asn1/x_x509.c @@ -63,7 +63,7 @@ #include static int x509_meth_num = 0; -static STACK *x509_meth = NULL; +static STACK_OF(CRYPTO_EX_DATA_FUNCS) *x509_meth = NULL; static ASN1_METHOD meth={ (int (*)()) i2d_X509, @@ -122,7 +122,7 @@ X509 *X509_new(void) M_ASN1_New(ret->cert_info,X509_CINF_new); M_ASN1_New(ret->sig_alg,X509_ALGOR_new); M_ASN1_New(ret->signature,M_ASN1_BIT_STRING_new); - CRYPTO_new_ex_data(x509_meth, (char *)ret, &ret->ex_data); + CRYPTO_new_ex_data(x509_meth, ret, &ret->ex_data); return(ret); M_ASN1_New_Error(ASN1_F_X509_NEW); } @@ -146,7 +146,7 @@ void X509_free(X509 *a) } #endif - CRYPTO_free_ex_data(x509_meth,(char *)a,&a->ex_data); + CRYPTO_free_ex_data(x509_meth,a,&a->ex_data); X509_CINF_free(a->cert_info); X509_ALGOR_free(a->sig_alg); M_ASN1_BIT_STRING_free(a->signature); @@ -156,20 +156,20 @@ void X509_free(X509 *a) Free((char *)a); } -int X509_get_ex_new_index(long argl, char *argp, int (*new_func)(), - int (*dup_func)(), void (*free_func)()) +int X509_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new *new_func, + CRYPTO_EX_dup *dup_func, CRYPTO_EX_free *free_func) { x509_meth_num++; return(CRYPTO_get_ex_new_index(x509_meth_num-1, &x509_meth,argl,argp,new_func,dup_func,free_func)); } -int X509_set_ex_data(X509 *r, int idx, char *arg) +int X509_set_ex_data(X509 *r, int idx, void *arg) { return(CRYPTO_set_ex_data(&r->ex_data,idx,arg)); } -char *X509_get_ex_data(X509 *r, int idx) +void *X509_get_ex_data(X509 *r, int idx) { return(CRYPTO_get_ex_data(&r->ex_data,idx)); } diff --git a/crypto/bio/Makefile.ssl b/crypto/bio/Makefile.ssl index f54c7ee1f0..b8ef2d9cae 100644 --- a/crypto/bio/Makefile.ssl +++ b/crypto/bio/Makefile.ssl @@ -90,17 +90,20 @@ b_dump.o: ../../include/openssl/bio.h ../../include/openssl/buffer.h b_dump.o: ../../include/openssl/crypto.h ../../include/openssl/e_os.h b_dump.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h b_dump.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h -b_dump.o: ../../include/openssl/stack.h ../cryptlib.h +b_dump.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h +b_dump.o: ../cryptlib.h b_print.o: ../../include/openssl/bio.h ../../include/openssl/buffer.h b_print.o: ../../include/openssl/crypto.h ../../include/openssl/e_os.h b_print.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h b_print.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h -b_print.o: ../../include/openssl/stack.h ../cryptlib.h +b_print.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h +b_print.o: ../cryptlib.h b_sock.o: ../../include/openssl/bio.h ../../include/openssl/buffer.h b_sock.o: ../../include/openssl/crypto.h ../../include/openssl/e_os.h b_sock.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h b_sock.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h -b_sock.o: ../../include/openssl/stack.h ../cryptlib.h +b_sock.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h +b_sock.o: ../cryptlib.h bf_buff.o: ../../include/openssl/asn1.h ../../include/openssl/bio.h bf_buff.o: ../../include/openssl/blowfish.h ../../include/openssl/bn.h bf_buff.o: ../../include/openssl/buffer.h ../../include/openssl/cast.h @@ -151,60 +154,65 @@ bio_cb.o: ../../include/openssl/bio.h ../../include/openssl/buffer.h bio_cb.o: ../../include/openssl/crypto.h ../../include/openssl/e_os.h bio_cb.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h bio_cb.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h -bio_cb.o: ../../include/openssl/stack.h ../cryptlib.h +bio_cb.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h +bio_cb.o: ../cryptlib.h bio_err.o: ../../include/openssl/bio.h ../../include/openssl/crypto.h bio_err.o: ../../include/openssl/err.h ../../include/openssl/opensslv.h -bio_err.o: ../../include/openssl/stack.h +bio_err.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h bio_lib.o: ../../include/openssl/bio.h ../../include/openssl/buffer.h bio_lib.o: ../../include/openssl/crypto.h ../../include/openssl/e_os.h bio_lib.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h bio_lib.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h -bio_lib.o: ../../include/openssl/stack.h ../cryptlib.h +bio_lib.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h +bio_lib.o: ../cryptlib.h bss_acpt.o: ../../include/openssl/bio.h ../../include/openssl/buffer.h bss_acpt.o: ../../include/openssl/crypto.h ../../include/openssl/e_os.h bss_acpt.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h bss_acpt.o: ../../include/openssl/opensslconf.h -bss_acpt.o: ../../include/openssl/opensslv.h ../../include/openssl/stack.h -bss_acpt.o: ../cryptlib.h +bss_acpt.o: ../../include/openssl/opensslv.h ../../include/openssl/safestack.h +bss_acpt.o: ../../include/openssl/stack.h ../cryptlib.h bss_bio.o: ../../include/openssl/bio.h ../../include/openssl/crypto.h bss_bio.o: ../../include/openssl/err.h ../../include/openssl/opensslv.h -bss_bio.o: ../../include/openssl/stack.h +bss_bio.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h bss_conn.o: ../../include/openssl/bio.h ../../include/openssl/buffer.h bss_conn.o: ../../include/openssl/crypto.h ../../include/openssl/e_os.h bss_conn.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h bss_conn.o: ../../include/openssl/opensslconf.h -bss_conn.o: ../../include/openssl/opensslv.h ../../include/openssl/stack.h -bss_conn.o: ../cryptlib.h +bss_conn.o: ../../include/openssl/opensslv.h ../../include/openssl/safestack.h +bss_conn.o: ../../include/openssl/stack.h ../cryptlib.h bss_fd.o: ../../include/openssl/bio.h ../../include/openssl/buffer.h bss_fd.o: ../../include/openssl/crypto.h ../../include/openssl/e_os.h bss_fd.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h bss_fd.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h -bss_fd.o: ../../include/openssl/stack.h ../cryptlib.h bss_sock.c +bss_fd.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h +bss_fd.o: ../cryptlib.h bss_sock.c bss_file.o: ../../include/openssl/bio.h ../../include/openssl/buffer.h bss_file.o: ../../include/openssl/crypto.h ../../include/openssl/e_os.h bss_file.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h bss_file.o: ../../include/openssl/opensslconf.h -bss_file.o: ../../include/openssl/opensslv.h ../../include/openssl/stack.h -bss_file.o: ../cryptlib.h +bss_file.o: ../../include/openssl/opensslv.h ../../include/openssl/safestack.h +bss_file.o: ../../include/openssl/stack.h ../cryptlib.h bss_log.o: ../../include/openssl/bio.h ../../include/openssl/buffer.h bss_log.o: ../../include/openssl/crypto.h ../../include/openssl/e_os.h bss_log.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h bss_log.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h -bss_log.o: ../../include/openssl/stack.h ../cryptlib.h +bss_log.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h +bss_log.o: ../cryptlib.h bss_mem.o: ../../include/openssl/bio.h ../../include/openssl/buffer.h bss_mem.o: ../../include/openssl/crypto.h ../../include/openssl/e_os.h bss_mem.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h bss_mem.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h -bss_mem.o: ../../include/openssl/stack.h ../cryptlib.h +bss_mem.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h +bss_mem.o: ../cryptlib.h bss_null.o: ../../include/openssl/bio.h ../../include/openssl/buffer.h bss_null.o: ../../include/openssl/crypto.h ../../include/openssl/e_os.h bss_null.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h bss_null.o: ../../include/openssl/opensslconf.h -bss_null.o: ../../include/openssl/opensslv.h ../../include/openssl/stack.h -bss_null.o: ../cryptlib.h +bss_null.o: ../../include/openssl/opensslv.h ../../include/openssl/safestack.h +bss_null.o: ../../include/openssl/stack.h ../cryptlib.h bss_sock.o: ../../include/openssl/bio.h ../../include/openssl/buffer.h bss_sock.o: ../../include/openssl/crypto.h ../../include/openssl/e_os.h bss_sock.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h bss_sock.o: ../../include/openssl/opensslconf.h -bss_sock.o: ../../include/openssl/opensslv.h ../../include/openssl/stack.h -bss_sock.o: ../cryptlib.h +bss_sock.o: ../../include/openssl/opensslv.h ../../include/openssl/safestack.h +bss_sock.o: ../../include/openssl/stack.h ../cryptlib.h diff --git a/crypto/bio/bio.h b/crypto/bio/bio.h index 31264598d3..c81b64a0f3 100644 --- a/crypto/bio/bio.h +++ b/crypto/bio/bio.h @@ -334,7 +334,7 @@ typedef struct bio_f_buffer_ctx_struct #define BIO_C_RESET_READ_REQUEST 147 -#define BIO_set_app_data(s,arg) BIO_set_ex_data(s,0,(char *)arg) +#define BIO_set_app_data(s,arg) BIO_set_ex_data(s,0,arg) #define BIO_get_app_data(s) BIO_get_ex_data(s,0) /* BIO_s_connect() and BIO_s_socks4a_connect() */ @@ -478,10 +478,10 @@ int BIO_ctrl_reset_read_request(BIO *b); /* These two aren't currently implemented */ /* int BIO_get_ex_num(BIO *bio); */ /* void BIO_set_ex_free_func(BIO *bio,int idx,void (*cb)()); */ -int BIO_set_ex_data(BIO *bio,int idx,char *data); -char *BIO_get_ex_data(BIO *bio,int idx); -int BIO_get_ex_new_index(long argl, char *argp, int (*new_func)(), - int (*dup_func)(), void (*free_func)()); +int BIO_set_ex_data(BIO *bio,int idx,void *data); +void *BIO_get_ex_data(BIO *bio,int idx); +int BIO_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new *new_func, + CRYPTO_EX_dup *dup_func, CRYPTO_EX_free *free_func); unsigned long BIO_number_read(BIO *bio); unsigned long BIO_number_written(BIO *bio); diff --git a/crypto/bio/bio_lib.c b/crypto/bio/bio_lib.c index ba374be13b..ae225da986 100644 --- a/crypto/bio/bio_lib.c +++ b/crypto/bio/bio_lib.c @@ -63,7 +63,7 @@ #include #include -static STACK *bio_meth=NULL; +static STACK_OF(CRYPTO_EX_DATA_FUNCS) *bio_meth=NULL; static int bio_meth_num=0; BIO *BIO_new(BIO_METHOD *method) @@ -100,7 +100,7 @@ int BIO_set(BIO *bio, BIO_METHOD *method) bio->references=1; bio->num_read=0L; bio->num_write=0L; - CRYPTO_new_ex_data(bio_meth,(char *)bio,&bio->ex_data); + CRYPTO_new_ex_data(bio_meth,bio,&bio->ex_data); if (method->create != NULL) if (!method->create(bio)) return(0); @@ -129,7 +129,7 @@ int BIO_free(BIO *a) ((i=(int)a->callback(a,BIO_CB_FREE,NULL,0,0L,1L)) <= 0)) return(i); - CRYPTO_free_ex_data(bio_meth,(char *)a,&a->ex_data); + CRYPTO_free_ex_data(bio_meth,a,&a->ex_data); if ((a->method == NULL) || (a->method->destroy == NULL)) return(1); ret=a->method->destroy(a); @@ -476,20 +476,20 @@ void BIO_copy_next_retry(BIO *b) b->retry_reason=b->next_bio->retry_reason; } -int BIO_get_ex_new_index(long argl, char *argp, int (*new_func)(), - int (*dup_func)(), void (*free_func)()) +int BIO_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new *new_func, + CRYPTO_EX_dup *dup_func, CRYPTO_EX_free *free_func) { bio_meth_num++; return(CRYPTO_get_ex_new_index(bio_meth_num-1,&bio_meth, argl,argp,new_func,dup_func,free_func)); } -int BIO_set_ex_data(BIO *bio, int idx, char *data) +int BIO_set_ex_data(BIO *bio, int idx, void *data) { return(CRYPTO_set_ex_data(&(bio->ex_data),idx,data)); } -char *BIO_get_ex_data(BIO *bio, int idx) +void *BIO_get_ex_data(BIO *bio, int idx) { return(CRYPTO_get_ex_data(&(bio->ex_data),idx)); } diff --git a/crypto/bn/Makefile.ssl b/crypto/bn/Makefile.ssl index 053b2f9b22..3427f9fa35 100644 --- a/crypto/bn/Makefile.ssl +++ b/crypto/bn/Makefile.ssl @@ -171,109 +171,111 @@ bn_add.o: ../../include/openssl/bio.h ../../include/openssl/bn.h bn_add.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h bn_add.o: ../../include/openssl/e_os.h ../../include/openssl/e_os2.h bn_add.o: ../../include/openssl/err.h ../../include/openssl/opensslconf.h -bn_add.o: ../../include/openssl/opensslv.h ../../include/openssl/stack.h -bn_add.o: ../cryptlib.h bn_lcl.h +bn_add.o: ../../include/openssl/opensslv.h ../../include/openssl/safestack.h +bn_add.o: ../../include/openssl/stack.h ../cryptlib.h bn_lcl.h bn_asm.o: ../../include/openssl/bio.h ../../include/openssl/bn.h bn_asm.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h bn_asm.o: ../../include/openssl/e_os.h ../../include/openssl/e_os2.h bn_asm.o: ../../include/openssl/err.h ../../include/openssl/opensslconf.h -bn_asm.o: ../../include/openssl/opensslv.h ../../include/openssl/stack.h -bn_asm.o: ../cryptlib.h bn_lcl.h +bn_asm.o: ../../include/openssl/opensslv.h ../../include/openssl/safestack.h +bn_asm.o: ../../include/openssl/stack.h ../cryptlib.h bn_lcl.h bn_blind.o: ../../include/openssl/bio.h ../../include/openssl/bn.h bn_blind.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h bn_blind.o: ../../include/openssl/e_os.h ../../include/openssl/e_os2.h bn_blind.o: ../../include/openssl/err.h ../../include/openssl/opensslconf.h -bn_blind.o: ../../include/openssl/opensslv.h ../../include/openssl/stack.h -bn_blind.o: ../cryptlib.h bn_lcl.h +bn_blind.o: ../../include/openssl/opensslv.h ../../include/openssl/safestack.h +bn_blind.o: ../../include/openssl/stack.h ../cryptlib.h bn_lcl.h bn_div.o: ../../include/openssl/bio.h ../../include/openssl/bn.h bn_div.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h bn_div.o: ../../include/openssl/e_os.h ../../include/openssl/e_os2.h bn_div.o: ../../include/openssl/err.h ../../include/openssl/opensslconf.h -bn_div.o: ../../include/openssl/opensslv.h ../../include/openssl/stack.h -bn_div.o: ../cryptlib.h bn_lcl.h +bn_div.o: ../../include/openssl/opensslv.h ../../include/openssl/safestack.h +bn_div.o: ../../include/openssl/stack.h ../cryptlib.h bn_lcl.h bn_err.o: ../../include/openssl/bn.h ../../include/openssl/err.h bn_err.o: ../../include/openssl/opensslconf.h bn_exp.o: ../../include/openssl/bio.h ../../include/openssl/bn.h bn_exp.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h bn_exp.o: ../../include/openssl/e_os.h ../../include/openssl/e_os2.h bn_exp.o: ../../include/openssl/err.h ../../include/openssl/opensslconf.h -bn_exp.o: ../../include/openssl/opensslv.h ../../include/openssl/stack.h -bn_exp.o: ../cryptlib.h bn_lcl.h +bn_exp.o: ../../include/openssl/opensslv.h ../../include/openssl/safestack.h +bn_exp.o: ../../include/openssl/stack.h ../cryptlib.h bn_lcl.h bn_exp2.o: ../../include/openssl/bio.h ../../include/openssl/bn.h bn_exp2.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h bn_exp2.o: ../../include/openssl/e_os.h ../../include/openssl/e_os2.h bn_exp2.o: ../../include/openssl/err.h ../../include/openssl/opensslconf.h -bn_exp2.o: ../../include/openssl/opensslv.h ../../include/openssl/stack.h -bn_exp2.o: ../cryptlib.h bn_lcl.h +bn_exp2.o: ../../include/openssl/opensslv.h ../../include/openssl/safestack.h +bn_exp2.o: ../../include/openssl/stack.h ../cryptlib.h bn_lcl.h bn_gcd.o: ../../include/openssl/bio.h ../../include/openssl/bn.h bn_gcd.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h bn_gcd.o: ../../include/openssl/e_os.h ../../include/openssl/e_os2.h bn_gcd.o: ../../include/openssl/err.h ../../include/openssl/opensslconf.h -bn_gcd.o: ../../include/openssl/opensslv.h ../../include/openssl/stack.h -bn_gcd.o: ../cryptlib.h bn_lcl.h +bn_gcd.o: ../../include/openssl/opensslv.h ../../include/openssl/safestack.h +bn_gcd.o: ../../include/openssl/stack.h ../cryptlib.h bn_lcl.h bn_lib.o: ../../include/openssl/bio.h ../../include/openssl/bn.h bn_lib.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h bn_lib.o: ../../include/openssl/e_os.h ../../include/openssl/e_os2.h bn_lib.o: ../../include/openssl/err.h ../../include/openssl/opensslconf.h -bn_lib.o: ../../include/openssl/opensslv.h ../../include/openssl/stack.h -bn_lib.o: ../cryptlib.h bn_lcl.h +bn_lib.o: ../../include/openssl/opensslv.h ../../include/openssl/safestack.h +bn_lib.o: ../../include/openssl/stack.h ../cryptlib.h bn_lcl.h bn_mont.o: ../../include/openssl/bio.h ../../include/openssl/bn.h bn_mont.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h bn_mont.o: ../../include/openssl/e_os.h ../../include/openssl/e_os2.h bn_mont.o: ../../include/openssl/err.h ../../include/openssl/opensslconf.h -bn_mont.o: ../../include/openssl/opensslv.h ../../include/openssl/stack.h -bn_mont.o: ../cryptlib.h bn_lcl.h +bn_mont.o: ../../include/openssl/opensslv.h ../../include/openssl/safestack.h +bn_mont.o: ../../include/openssl/stack.h ../cryptlib.h bn_lcl.h bn_mpi.o: ../../include/openssl/bio.h ../../include/openssl/bn.h bn_mpi.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h bn_mpi.o: ../../include/openssl/e_os.h ../../include/openssl/e_os2.h bn_mpi.o: ../../include/openssl/err.h ../../include/openssl/opensslconf.h -bn_mpi.o: ../../include/openssl/opensslv.h ../../include/openssl/stack.h -bn_mpi.o: ../cryptlib.h bn_lcl.h +bn_mpi.o: ../../include/openssl/opensslv.h ../../include/openssl/safestack.h +bn_mpi.o: ../../include/openssl/stack.h ../cryptlib.h bn_lcl.h bn_mul.o: ../../include/openssl/bio.h ../../include/openssl/bn.h bn_mul.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h bn_mul.o: ../../include/openssl/e_os.h ../../include/openssl/e_os2.h bn_mul.o: ../../include/openssl/err.h ../../include/openssl/opensslconf.h -bn_mul.o: ../../include/openssl/opensslv.h ../../include/openssl/stack.h -bn_mul.o: ../cryptlib.h bn_lcl.h +bn_mul.o: ../../include/openssl/opensslv.h ../../include/openssl/safestack.h +bn_mul.o: ../../include/openssl/stack.h ../cryptlib.h bn_lcl.h bn_prime.o: ../../include/openssl/bio.h ../../include/openssl/bn.h bn_prime.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h bn_prime.o: ../../include/openssl/e_os.h ../../include/openssl/e_os2.h bn_prime.o: ../../include/openssl/err.h ../../include/openssl/opensslconf.h bn_prime.o: ../../include/openssl/opensslv.h ../../include/openssl/rand.h -bn_prime.o: ../../include/openssl/stack.h ../cryptlib.h bn_lcl.h bn_prime.h +bn_prime.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h +bn_prime.o: ../cryptlib.h bn_lcl.h bn_prime.h bn_print.o: ../../include/openssl/bio.h ../../include/openssl/bn.h bn_print.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h bn_print.o: ../../include/openssl/e_os.h ../../include/openssl/e_os2.h bn_print.o: ../../include/openssl/err.h ../../include/openssl/opensslconf.h -bn_print.o: ../../include/openssl/opensslv.h ../../include/openssl/stack.h -bn_print.o: ../cryptlib.h bn_lcl.h +bn_print.o: ../../include/openssl/opensslv.h ../../include/openssl/safestack.h +bn_print.o: ../../include/openssl/stack.h ../cryptlib.h bn_lcl.h bn_rand.o: ../../include/openssl/bio.h ../../include/openssl/bn.h bn_rand.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h bn_rand.o: ../../include/openssl/e_os.h ../../include/openssl/e_os2.h bn_rand.o: ../../include/openssl/err.h ../../include/openssl/opensslconf.h bn_rand.o: ../../include/openssl/opensslv.h ../../include/openssl/rand.h -bn_rand.o: ../../include/openssl/stack.h ../cryptlib.h bn_lcl.h +bn_rand.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h +bn_rand.o: ../cryptlib.h bn_lcl.h bn_recp.o: ../../include/openssl/bio.h ../../include/openssl/bn.h bn_recp.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h bn_recp.o: ../../include/openssl/e_os.h ../../include/openssl/e_os2.h bn_recp.o: ../../include/openssl/err.h ../../include/openssl/opensslconf.h -bn_recp.o: ../../include/openssl/opensslv.h ../../include/openssl/stack.h -bn_recp.o: ../cryptlib.h bn_lcl.h +bn_recp.o: ../../include/openssl/opensslv.h ../../include/openssl/safestack.h +bn_recp.o: ../../include/openssl/stack.h ../cryptlib.h bn_lcl.h bn_shift.o: ../../include/openssl/bio.h ../../include/openssl/bn.h bn_shift.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h bn_shift.o: ../../include/openssl/e_os.h ../../include/openssl/e_os2.h bn_shift.o: ../../include/openssl/err.h ../../include/openssl/opensslconf.h -bn_shift.o: ../../include/openssl/opensslv.h ../../include/openssl/stack.h -bn_shift.o: ../cryptlib.h bn_lcl.h +bn_shift.o: ../../include/openssl/opensslv.h ../../include/openssl/safestack.h +bn_shift.o: ../../include/openssl/stack.h ../cryptlib.h bn_lcl.h bn_sqr.o: ../../include/openssl/bio.h ../../include/openssl/bn.h bn_sqr.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h bn_sqr.o: ../../include/openssl/e_os.h ../../include/openssl/e_os2.h bn_sqr.o: ../../include/openssl/err.h ../../include/openssl/opensslconf.h -bn_sqr.o: ../../include/openssl/opensslv.h ../../include/openssl/stack.h -bn_sqr.o: ../cryptlib.h bn_lcl.h +bn_sqr.o: ../../include/openssl/opensslv.h ../../include/openssl/safestack.h +bn_sqr.o: ../../include/openssl/stack.h ../cryptlib.h bn_lcl.h bn_word.o: ../../include/openssl/bio.h ../../include/openssl/bn.h bn_word.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h bn_word.o: ../../include/openssl/e_os.h ../../include/openssl/e_os2.h bn_word.o: ../../include/openssl/err.h ../../include/openssl/opensslconf.h -bn_word.o: ../../include/openssl/opensslv.h ../../include/openssl/stack.h -bn_word.o: ../cryptlib.h bn_lcl.h +bn_word.o: ../../include/openssl/opensslv.h ../../include/openssl/safestack.h +bn_word.o: ../../include/openssl/stack.h ../cryptlib.h bn_lcl.h diff --git a/crypto/buffer/Makefile.ssl b/crypto/buffer/Makefile.ssl index b615c4c12d..bbcba1f5d1 100644 --- a/crypto/buffer/Makefile.ssl +++ b/crypto/buffer/Makefile.ssl @@ -83,4 +83,5 @@ buffer.o: ../../include/openssl/bio.h ../../include/openssl/buffer.h buffer.o: ../../include/openssl/crypto.h ../../include/openssl/e_os.h buffer.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h buffer.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h -buffer.o: ../../include/openssl/stack.h ../cryptlib.h +buffer.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h +buffer.o: ../cryptlib.h diff --git a/crypto/crypto.h b/crypto/crypto.h index 9a7103112a..6334eab238 100644 --- a/crypto/crypto.h +++ b/crypto/crypto.h @@ -70,6 +70,7 @@ extern "C" { #endif #include +#include #include #ifdef CHARSET_EBCDIC @@ -165,31 +166,36 @@ extern "C" { /* predec of the BIO type */ typedef struct bio_st BIO_dummy; - typedef struct crypto_ex_data_st { STACK *sk; int dummy; /* gcc is screwing up this data structure :-( */ } CRYPTO_EX_DATA; +/* Called when a new object is created */ +typedef int CRYPTO_EX_new(void *parent, void *ptr, CRYPTO_EX_DATA *ad, + int idx, long argl, void *argp); +/* Called when an object is free()ed */ +typedef void CRYPTO_EX_free(void *parent, void *ptr, CRYPTO_EX_DATA *ad, + int idx, long argl, void *argp); +/* Called when we need to dup an object */ +typedef int CRYPTO_EX_dup(CRYPTO_EX_DATA *to, CRYPTO_EX_DATA *from, void *from_d, + int idx, long argl, void *argp); + /* This stuff is basically class callback functions * The current classes are SSL_CTX, SSL, SSL_SESION, and a few more */ + typedef struct crypto_ex_data_func_st { long argl; /* Arbitary long */ - char *argp; /* Arbitary char * */ - /* Called when a new object is created */ - int (*new_func)(/*char *obj, - char *item,int index,long argl,char *argp*/); - /* Called when this object is free()ed */ - void (*free_func)(/*char *obj, - char *item,int index,long argl,char *argp*/); - - /* Called when we need to dup this one */ - int (*dup_func)(/*char *obj_to,char *obj_from, - char **new,int index,long argl,char *argp*/); + void *argp; /* Arbitary void * */ + CRYPTO_EX_new *new_func; + CRYPTO_EX_free *free_func; + CRYPTO_EX_dup *dup_func; } CRYPTO_EX_DATA_FUNCS; +DECLARE_STACK_OF(CRYPTO_EX_DATA_FUNCS) + /* Per class, we have a STACK of CRYPTO_EX_DATA_FUNCS for each CRYPTO_EX_DATA * entry. */ @@ -259,13 +265,14 @@ int CRYPTO_is_mem_check_on(void); const char *SSLeay_version(int type); unsigned long SSLeay(void); -int CRYPTO_get_ex_new_index(int idx,STACK **sk,long argl,char *argp, - int (*new_func)(),int (*dup_func)(),void (*free_func)()); -int CRYPTO_set_ex_data(CRYPTO_EX_DATA *ad,int idx,char *val); -char *CRYPTO_get_ex_data(CRYPTO_EX_DATA *ad,int idx); -int CRYPTO_dup_ex_data(STACK *meth,CRYPTO_EX_DATA *from,CRYPTO_EX_DATA *to); -void CRYPTO_free_ex_data(STACK *meth,char *obj,CRYPTO_EX_DATA *ad); -void CRYPTO_new_ex_data(STACK *meth, char *obj, CRYPTO_EX_DATA *ad); +int CRYPTO_get_ex_new_index(int idx, STACK_OF(CRYPTO_EX_DATA_FUNCS) **skp, long argl, void *argp, + CRYPTO_EX_new *new_func, CRYPTO_EX_dup *dup_func, CRYPTO_EX_free *free_func); +int CRYPTO_set_ex_data(CRYPTO_EX_DATA *ad, int idx, void *val); +void *CRYPTO_get_ex_data(CRYPTO_EX_DATA *ad,int idx); +int CRYPTO_dup_ex_data(STACK_OF(CRYPTO_EX_DATA_FUNCS) *meth, CRYPTO_EX_DATA *to, + CRYPTO_EX_DATA *from); +void CRYPTO_free_ex_data(STACK_OF(CRYPTO_EX_DATA_FUNCS) *meth, void *obj, CRYPTO_EX_DATA *ad); +void CRYPTO_new_ex_data(STACK_OF(CRYPTO_EX_DATA_FUNCS) *meth, void *obj, CRYPTO_EX_DATA *ad); int CRYPTO_get_new_lockid(char *name); diff --git a/crypto/des/Makefile.ssl b/crypto/des/Makefile.ssl index 789063b3c1..16eeb940dd 100644 --- a/crypto/des/Makefile.ssl +++ b/crypto/des/Makefile.ssl @@ -163,14 +163,15 @@ enc_read.o: ../../include/openssl/bio.h ../../include/openssl/buffer.h enc_read.o: ../../include/openssl/crypto.h ../../include/openssl/des.h enc_read.o: ../../include/openssl/e_os.h ../../include/openssl/e_os2.h enc_read.o: ../../include/openssl/err.h ../../include/openssl/opensslconf.h -enc_read.o: ../../include/openssl/opensslv.h ../../include/openssl/stack.h -enc_read.o: ../cryptlib.h des_locl.h +enc_read.o: ../../include/openssl/opensslv.h ../../include/openssl/safestack.h +enc_read.o: ../../include/openssl/stack.h ../cryptlib.h des_locl.h enc_writ.o: ../../include/openssl/bio.h ../../include/openssl/buffer.h enc_writ.o: ../../include/openssl/crypto.h ../../include/openssl/des.h enc_writ.o: ../../include/openssl/e_os.h ../../include/openssl/e_os2.h enc_writ.o: ../../include/openssl/err.h ../../include/openssl/opensslconf.h enc_writ.o: ../../include/openssl/opensslv.h ../../include/openssl/rand.h -enc_writ.o: ../../include/openssl/stack.h ../cryptlib.h des_locl.h +enc_writ.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h +enc_writ.o: ../cryptlib.h des_locl.h fcrypt.o: ../../include/openssl/des.h ../../include/openssl/des.h fcrypt.o: ../../include/openssl/e_os2.h ../../include/openssl/e_os2.h fcrypt.o: ../../include/openssl/opensslconf.h @@ -195,8 +196,8 @@ read_pwd.o: ../../include/openssl/bio.h ../../include/openssl/buffer.h read_pwd.o: ../../include/openssl/crypto.h ../../include/openssl/des.h read_pwd.o: ../../include/openssl/e_os.h ../../include/openssl/e_os2.h read_pwd.o: ../../include/openssl/err.h ../../include/openssl/opensslconf.h -read_pwd.o: ../../include/openssl/opensslv.h ../../include/openssl/stack.h -read_pwd.o: ../cryptlib.h des_locl.h +read_pwd.o: ../../include/openssl/opensslv.h ../../include/openssl/safestack.h +read_pwd.o: ../../include/openssl/stack.h ../cryptlib.h des_locl.h rpc_enc.o: ../../include/openssl/des.h ../../include/openssl/e_os2.h rpc_enc.o: ../../include/openssl/opensslconf.h des_locl.h des_ver.h rpc_des.h set_key.o: ../../include/openssl/des.h ../../include/openssl/e_os2.h diff --git a/crypto/dh/Makefile.ssl b/crypto/dh/Makefile.ssl index cba2e1fcdb..4bc694e638 100644 --- a/crypto/dh/Makefile.ssl +++ b/crypto/dh/Makefile.ssl @@ -83,28 +83,30 @@ dh_check.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h dh_check.o: ../../include/openssl/dh.h ../../include/openssl/e_os.h dh_check.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h dh_check.o: ../../include/openssl/opensslconf.h -dh_check.o: ../../include/openssl/opensslv.h ../../include/openssl/stack.h -dh_check.o: ../cryptlib.h +dh_check.o: ../../include/openssl/opensslv.h ../../include/openssl/safestack.h +dh_check.o: ../../include/openssl/stack.h ../cryptlib.h dh_err.o: ../../include/openssl/bn.h ../../include/openssl/crypto.h dh_err.o: ../../include/openssl/dh.h ../../include/openssl/err.h dh_err.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h -dh_err.o: ../../include/openssl/stack.h +dh_err.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h dh_gen.o: ../../include/openssl/bio.h ../../include/openssl/bn.h dh_gen.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h dh_gen.o: ../../include/openssl/dh.h ../../include/openssl/e_os.h dh_gen.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h dh_gen.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h -dh_gen.o: ../../include/openssl/stack.h ../cryptlib.h +dh_gen.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h +dh_gen.o: ../cryptlib.h dh_key.o: ../../include/openssl/bio.h ../../include/openssl/bn.h dh_key.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h dh_key.o: ../../include/openssl/dh.h ../../include/openssl/e_os.h dh_key.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h dh_key.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h -dh_key.o: ../../include/openssl/rand.h ../../include/openssl/stack.h -dh_key.o: ../cryptlib.h +dh_key.o: ../../include/openssl/rand.h ../../include/openssl/safestack.h +dh_key.o: ../../include/openssl/stack.h ../cryptlib.h dh_lib.o: ../../include/openssl/bio.h ../../include/openssl/bn.h dh_lib.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h dh_lib.o: ../../include/openssl/dh.h ../../include/openssl/e_os.h dh_lib.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h dh_lib.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h -dh_lib.o: ../../include/openssl/stack.h ../cryptlib.h +dh_lib.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h +dh_lib.o: ../cryptlib.h diff --git a/crypto/dh/dh.h b/crypto/dh/dh.h index c96cdde968..c41ace5bea 100644 --- a/crypto/dh/dh.h +++ b/crypto/dh/dh.h @@ -155,10 +155,10 @@ DH *DH_new_method(DH_METHOD *meth); DH * DH_new(void); void DH_free(DH *dh); int DH_size(DH *dh); -int DH_get_ex_new_index(long argl, char *argp, int (*new_func)(), - int (*dup_func)(), void (*free_func)()); -int DH_set_ex_data(DH *d, int idx, char *arg); -char *DH_get_ex_data(DH *d, int idx); +int DH_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new *new_func, + CRYPTO_EX_dup *dup_func, CRYPTO_EX_free *free_func); +int DH_set_ex_data(DH *d, int idx, void *arg); +void *DH_get_ex_data(DH *d, int idx); DH * DH_generate_parameters(int prime_len,int generator, void (*callback)(int,int,void *),void *cb_arg); int DH_check(DH *dh,int *codes); diff --git a/crypto/dh/dh_lib.c b/crypto/dh/dh_lib.c index 48b9db2ac0..ebfbcb4347 100644 --- a/crypto/dh/dh_lib.c +++ b/crypto/dh/dh_lib.c @@ -65,7 +65,7 @@ const char *DH_version="Diffie-Hellman" OPENSSL_VERSION_PTEXT; static DH_METHOD *default_DH_method; static int dh_meth_num = 0; -static STACK *dh_meth = NULL; +static STACK_OF(CRYPTO_EX_DATA_FUNCS) *dh_meth = NULL; void DH_set_default_method(DH_METHOD *meth) { @@ -122,7 +122,7 @@ DH *DH_new_method(DH_METHOD *meth) ret=NULL; } else - CRYPTO_new_ex_data(dh_meth,(char *)ret,&ret->ex_data); + CRYPTO_new_ex_data(dh_meth,ret,&ret->ex_data); return(ret); } @@ -143,7 +143,7 @@ void DH_free(DH *r) } #endif - CRYPTO_free_ex_data(dh_meth, (char *)r, &r->ex_data); + CRYPTO_free_ex_data(dh_meth, r, &r->ex_data); if(r->meth->finish) r->meth->finish(r); @@ -154,20 +154,20 @@ void DH_free(DH *r) Free(r); } -int DH_get_ex_new_index(long argl, char *argp, int (*new_func)(), - int (*dup_func)(), void (*free_func)()) +int DH_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new *new_func, + CRYPTO_EX_dup *dup_func, CRYPTO_EX_free *free_func) { dh_meth_num++; return(CRYPTO_get_ex_new_index(dh_meth_num-1, &dh_meth,argl,argp,new_func,dup_func,free_func)); } -int DH_set_ex_data(DH *d, int idx, char *arg) +int DH_set_ex_data(DH *d, int idx, void *arg) { return(CRYPTO_set_ex_data(&d->ex_data,idx,arg)); } -char *DH_get_ex_data(DH *d, int idx) +void *DH_get_ex_data(DH *d, int idx) { return(CRYPTO_get_ex_data(&d->ex_data,idx)); } diff --git a/crypto/dsa/Makefile.ssl b/crypto/dsa/Makefile.ssl index 1a3ad69297..1890d143a0 100644 --- a/crypto/dsa/Makefile.ssl +++ b/crypto/dsa/Makefile.ssl @@ -91,23 +91,24 @@ dsa_asn1.o: ../../include/openssl/stack.h ../cryptlib.h dsa_err.o: ../../include/openssl/bn.h ../../include/openssl/crypto.h dsa_err.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h dsa_err.o: ../../include/openssl/err.h ../../include/openssl/opensslconf.h -dsa_err.o: ../../include/openssl/opensslv.h ../../include/openssl/stack.h +dsa_err.o: ../../include/openssl/opensslv.h ../../include/openssl/safestack.h +dsa_err.o: ../../include/openssl/stack.h dsa_gen.o: ../../include/openssl/bio.h ../../include/openssl/bn.h dsa_gen.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h dsa_gen.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h dsa_gen.o: ../../include/openssl/e_os.h ../../include/openssl/e_os2.h dsa_gen.o: ../../include/openssl/err.h ../../include/openssl/opensslconf.h dsa_gen.o: ../../include/openssl/opensslv.h ../../include/openssl/rand.h -dsa_gen.o: ../../include/openssl/sha.h ../../include/openssl/stack.h -dsa_gen.o: ../cryptlib.h +dsa_gen.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h +dsa_gen.o: ../../include/openssl/stack.h ../cryptlib.h dsa_key.o: ../../include/openssl/bio.h ../../include/openssl/bn.h dsa_key.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h dsa_key.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h dsa_key.o: ../../include/openssl/e_os.h ../../include/openssl/e_os2.h dsa_key.o: ../../include/openssl/err.h ../../include/openssl/opensslconf.h dsa_key.o: ../../include/openssl/opensslv.h ../../include/openssl/rand.h -dsa_key.o: ../../include/openssl/sha.h ../../include/openssl/stack.h -dsa_key.o: ../cryptlib.h +dsa_key.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h +dsa_key.o: ../../include/openssl/stack.h ../cryptlib.h dsa_lib.o: ../../include/openssl/asn1.h ../../include/openssl/bio.h dsa_lib.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h dsa_lib.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h diff --git a/crypto/dsa/dsa.h b/crypto/dsa/dsa.h index 9a6aee5449..a68d3f6681 100644 --- a/crypto/dsa/dsa.h +++ b/crypto/dsa/dsa.h @@ -170,10 +170,10 @@ int DSA_sign(int type,const unsigned char *dgst,int dlen, int DSA_verify(int type,const unsigned char *dgst,int dgst_len, unsigned char *sigbuf, int siglen, DSA *dsa); void DSA_free (DSA *r); -int DSA_get_ex_new_index(long argl, char *argp, int (*new_func)(), - int (*dup_func)(), void (*free_func)()); -int DSA_set_ex_data(DSA *d, int idx, char *arg); -char *DSA_get_ex_data(DSA *d, int idx); +int DSA_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new *new_func, + CRYPTO_EX_dup *dup_func, CRYPTO_EX_free *free_func); +int DSA_set_ex_data(DSA *d, int idx, void *arg); +void *DSA_get_ex_data(DSA *d, int idx); void ERR_load_DSA_strings(void ); diff --git a/crypto/dsa/dsa_lib.c b/crypto/dsa/dsa_lib.c index 5ce81fb856..224e412afc 100644 --- a/crypto/dsa/dsa_lib.c +++ b/crypto/dsa/dsa_lib.c @@ -68,7 +68,7 @@ const char *DSA_version="DSA" OPENSSL_VERSION_PTEXT; static DSA_METHOD *default_DSA_method; static int dsa_meth_num = 0; -static STACK *dsa_meth = NULL; +static STACK_OF(CRYPTO_EX_DATA_FUNCS) *dsa_meth = NULL; void DSA_set_default_method(DSA_METHOD *meth) { @@ -132,7 +132,7 @@ DSA *DSA_new_method(DSA_METHOD *meth) ret=NULL; } else - CRYPTO_new_ex_data(dsa_meth,(char *)ret,&ret->ex_data); + CRYPTO_new_ex_data(dsa_meth,ret,&ret->ex_data); return(ret); } @@ -156,7 +156,7 @@ void DSA_free(DSA *r) } #endif - CRYPTO_free_ex_data(dsa_meth, (char *)r, &r->ex_data); + CRYPTO_free_ex_data(dsa_meth, r, &r->ex_data); if(r->meth->finish) r->meth->finish(r); @@ -189,20 +189,20 @@ int DSA_size(DSA *r) return(ret); } -int DSA_get_ex_new_index(long argl, char *argp, int (*new_func)(), - int (*dup_func)(), void (*free_func)()) +int DSA_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new *new_func, + CRYPTO_EX_dup *dup_func, CRYPTO_EX_free *free_func) { dsa_meth_num++; return(CRYPTO_get_ex_new_index(dsa_meth_num-1, &dsa_meth,argl,argp,new_func,dup_func,free_func)); } -int DSA_set_ex_data(DSA *d, int idx, char *arg) +int DSA_set_ex_data(DSA *d, int idx, void *arg) { return(CRYPTO_set_ex_data(&d->ex_data,idx,arg)); } -char *DSA_get_ex_data(DSA *d, int idx) +void *DSA_get_ex_data(DSA *d, int idx) { return(CRYPTO_get_ex_data(&d->ex_data,idx)); } diff --git a/crypto/err/Makefile.ssl b/crypto/err/Makefile.ssl index cf54cdd445..e1bee09054 100644 --- a/crypto/err/Makefile.ssl +++ b/crypto/err/Makefile.ssl @@ -82,8 +82,8 @@ err.o: ../../include/openssl/bio.h ../../include/openssl/buffer.h err.o: ../../include/openssl/crypto.h ../../include/openssl/e_os.h err.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h err.o: ../../include/openssl/lhash.h ../../include/openssl/opensslconf.h -err.o: ../../include/openssl/opensslv.h ../../include/openssl/stack.h -err.o: ../cryptlib.h +err.o: ../../include/openssl/opensslv.h ../../include/openssl/safestack.h +err.o: ../../include/openssl/stack.h ../cryptlib.h err_all.o: ../../include/openssl/asn1.h ../../include/openssl/bio.h err_all.o: ../../include/openssl/blowfish.h ../../include/openssl/bn.h err_all.o: ../../include/openssl/buffer.h ../../include/openssl/cast.h @@ -107,5 +107,5 @@ err_prn.o: ../../include/openssl/bio.h ../../include/openssl/buffer.h err_prn.o: ../../include/openssl/crypto.h ../../include/openssl/e_os.h err_prn.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h err_prn.o: ../../include/openssl/lhash.h ../../include/openssl/opensslconf.h -err_prn.o: ../../include/openssl/opensslv.h ../../include/openssl/stack.h -err_prn.o: ../cryptlib.h +err_prn.o: ../../include/openssl/opensslv.h ../../include/openssl/safestack.h +err_prn.o: ../../include/openssl/stack.h ../cryptlib.h diff --git a/crypto/ex_data.c b/crypto/ex_data.c index 176574766b..a057dd3b68 100644 --- a/crypto/ex_data.c +++ b/crypto/ex_data.c @@ -63,15 +63,15 @@ #include #include "cryptlib.h" -int CRYPTO_get_ex_new_index(int idx, STACK **skp, long argl, char *argp, - int (*new_func)(), int (*dup_func)(), void (*free_func)()) +int CRYPTO_get_ex_new_index(int idx, STACK_OF(CRYPTO_EX_DATA_FUNCS) **skp, long argl, void *argp, + CRYPTO_EX_new *new_func, CRYPTO_EX_dup *dup_func, CRYPTO_EX_free *free_func) { int ret= -1; CRYPTO_EX_DATA_FUNCS *a; MemCheck_off(); if (*skp == NULL) - *skp=sk_new_null(); + *skp=sk_CRYPTO_EX_DATA_FUNCS_new_null(); if (*skp == NULL) { CRYPTOerr(CRYPTO_F_CRYPTO_GET_EX_NEW_INDEX,ERR_R_MALLOC_FAILURE); @@ -88,23 +88,23 @@ int CRYPTO_get_ex_new_index(int idx, STACK **skp, long argl, char *argp, a->new_func=new_func; a->dup_func=dup_func; a->free_func=free_func; - while (sk_num(*skp) <= idx) + while (sk_CRYPTO_EX_DATA_FUNCS_num(*skp) <= idx) { - if (!sk_push(*skp,NULL)) + if (!sk_CRYPTO_EX_DATA_FUNCS_push(*skp,NULL)) { CRYPTOerr(CRYPTO_F_CRYPTO_GET_EX_NEW_INDEX,ERR_R_MALLOC_FAILURE); Free(a); goto err; } } - sk_set(*skp,idx, (char *)a); + sk_CRYPTO_EX_DATA_FUNCS_set(*skp,idx, a); ret=idx; err: MemCheck_on(); return(idx); } -int CRYPTO_set_ex_data(CRYPTO_EX_DATA *ad, int idx, char *val) +int CRYPTO_set_ex_data(CRYPTO_EX_DATA *ad, int idx, void *val) { int i; @@ -131,7 +131,7 @@ int CRYPTO_set_ex_data(CRYPTO_EX_DATA *ad, int idx, char *val) return(1); } -char *CRYPTO_get_ex_data(CRYPTO_EX_DATA *ad, int idx) +void *CRYPTO_get_ex_data(CRYPTO_EX_DATA *ad, int idx) { if (ad->sk == NULL) return(0); @@ -145,7 +145,7 @@ char *CRYPTO_get_ex_data(CRYPTO_EX_DATA *ad, int idx) * being duplicated, a pointer to the * 'new' object to be inserted, the index, and the argi/argp */ -int CRYPTO_dup_ex_data(STACK *meth, CRYPTO_EX_DATA *to, +int CRYPTO_dup_ex_data(STACK_OF(CRYPTO_EX_DATA_FUNCS) *meth, CRYPTO_EX_DATA *to, CRYPTO_EX_DATA *from) { int i,j,m,r; @@ -154,14 +154,14 @@ int CRYPTO_dup_ex_data(STACK *meth, CRYPTO_EX_DATA *to, if (meth == NULL) return(1); if (from->sk == NULL) return(1); - m=sk_num(meth); + m=sk_CRYPTO_EX_DATA_FUNCS_num(meth); j=sk_num(from->sk); for (i=0; idup_func != NULL) r=mm->dup_func(to,from,(char **)&from_d,i, mm->argl,mm->argp); @@ -172,18 +172,18 @@ int CRYPTO_dup_ex_data(STACK *meth, CRYPTO_EX_DATA *to, } /* Call each free callback */ -void CRYPTO_free_ex_data(STACK *meth, char *obj, CRYPTO_EX_DATA *ad) +void CRYPTO_free_ex_data(STACK_OF(CRYPTO_EX_DATA_FUNCS) *meth, void *obj, CRYPTO_EX_DATA *ad) { CRYPTO_EX_DATA_FUNCS *m; - char *ptr; + void *ptr; int i,max; if (meth != NULL) { - max=sk_num(meth); + max=sk_CRYPTO_EX_DATA_FUNCS_num(meth); for (i=0; ifree_func != NULL)) { ptr=CRYPTO_get_ex_data(ad,i); @@ -198,19 +198,19 @@ void CRYPTO_free_ex_data(STACK *meth, char *obj, CRYPTO_EX_DATA *ad) } } -void CRYPTO_new_ex_data(STACK *meth, char *obj, CRYPTO_EX_DATA *ad) +void CRYPTO_new_ex_data(STACK_OF(CRYPTO_EX_DATA_FUNCS) *meth, void *obj, CRYPTO_EX_DATA *ad) { CRYPTO_EX_DATA_FUNCS *m; - char *ptr; + void *ptr; int i,max; ad->sk=NULL; if (meth != NULL) { - max=sk_num(meth); + max=sk_CRYPTO_EX_DATA_FUNCS_num(meth); for (i=0; inew_func != NULL)) { ptr=CRYPTO_get_ex_data(ad,i); @@ -220,4 +220,4 @@ void CRYPTO_new_ex_data(STACK *meth, char *obj, CRYPTO_EX_DATA *ad) } } - +IMPLEMENT_STACK_OF(CRYPTO_EX_DATA_FUNCS) diff --git a/crypto/lhash/Makefile.ssl b/crypto/lhash/Makefile.ssl index cc9ff46b04..836997d048 100644 --- a/crypto/lhash/Makefile.ssl +++ b/crypto/lhash/Makefile.ssl @@ -82,7 +82,8 @@ lh_stats.o: ../../include/openssl/bio.h ../../include/openssl/buffer.h lh_stats.o: ../../include/openssl/crypto.h ../../include/openssl/e_os.h lh_stats.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h lh_stats.o: ../../include/openssl/lhash.h ../../include/openssl/opensslconf.h -lh_stats.o: ../../include/openssl/opensslv.h ../../include/openssl/stack.h -lh_stats.o: ../cryptlib.h +lh_stats.o: ../../include/openssl/opensslv.h ../../include/openssl/safestack.h +lh_stats.o: ../../include/openssl/stack.h ../cryptlib.h lhash.o: ../../include/openssl/crypto.h ../../include/openssl/lhash.h -lhash.o: ../../include/openssl/opensslv.h ../../include/openssl/stack.h +lhash.o: ../../include/openssl/opensslv.h ../../include/openssl/safestack.h +lhash.o: ../../include/openssl/stack.h diff --git a/crypto/md2/Makefile.ssl b/crypto/md2/Makefile.ssl index 67ce450788..cf90965dd7 100644 --- a/crypto/md2/Makefile.ssl +++ b/crypto/md2/Makefile.ssl @@ -84,5 +84,5 @@ md2_one.o: ../../include/openssl/bio.h ../../include/openssl/buffer.h md2_one.o: ../../include/openssl/crypto.h ../../include/openssl/e_os.h md2_one.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h md2_one.o: ../../include/openssl/md2.h ../../include/openssl/opensslconf.h -md2_one.o: ../../include/openssl/opensslv.h ../../include/openssl/stack.h -md2_one.o: ../cryptlib.h +md2_one.o: ../../include/openssl/opensslv.h ../../include/openssl/safestack.h +md2_one.o: ../../include/openssl/stack.h ../cryptlib.h diff --git a/crypto/mdc2/Makefile.ssl b/crypto/mdc2/Makefile.ssl index 3a5ad990a6..4ed72c08aa 100644 --- a/crypto/mdc2/Makefile.ssl +++ b/crypto/mdc2/Makefile.ssl @@ -83,7 +83,7 @@ mdc2_one.o: ../../include/openssl/crypto.h ../../include/openssl/des.h mdc2_one.o: ../../include/openssl/e_os.h ../../include/openssl/e_os2.h mdc2_one.o: ../../include/openssl/err.h ../../include/openssl/mdc2.h mdc2_one.o: ../../include/openssl/opensslconf.h -mdc2_one.o: ../../include/openssl/opensslv.h ../../include/openssl/stack.h -mdc2_one.o: ../cryptlib.h +mdc2_one.o: ../../include/openssl/opensslv.h ../../include/openssl/safestack.h +mdc2_one.o: ../../include/openssl/stack.h ../cryptlib.h mdc2dgst.o: ../../include/openssl/des.h ../../include/openssl/e_os2.h mdc2dgst.o: ../../include/openssl/mdc2.h ../../include/openssl/opensslconf.h diff --git a/crypto/rand/Makefile.ssl b/crypto/rand/Makefile.ssl index 7ce3084e07..8195bf090b 100644 --- a/crypto/rand/Makefile.ssl +++ b/crypto/rand/Makefile.ssl @@ -81,8 +81,8 @@ clean: md_rand.o: ../../include/openssl/crypto.h ../../include/openssl/e_os.h md_rand.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h md_rand.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h -md_rand.o: ../../include/openssl/rand.h ../../include/openssl/sha.h -md_rand.o: ../../include/openssl/stack.h +md_rand.o: ../../include/openssl/rand.h ../../include/openssl/safestack.h +md_rand.o: ../../include/openssl/sha.h ../../include/openssl/stack.h rand_err.o: ../../include/openssl/err.h ../../include/openssl/rand.h rand_lib.o: ../../include/openssl/rand.h randfile.o: ../../include/openssl/e_os.h ../../include/openssl/e_os2.h diff --git a/crypto/rsa/Makefile.ssl b/crypto/rsa/Makefile.ssl index 010b02bdc6..6f56d928e0 100644 --- a/crypto/rsa/Makefile.ssl +++ b/crypto/rsa/Makefile.ssl @@ -83,59 +83,61 @@ clean: rsa_chk.o: ../../include/openssl/bn.h ../../include/openssl/crypto.h rsa_chk.o: ../../include/openssl/err.h ../../include/openssl/opensslconf.h rsa_chk.o: ../../include/openssl/opensslv.h ../../include/openssl/rsa.h -rsa_chk.o: ../../include/openssl/stack.h +rsa_chk.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h rsa_eay.o: ../../include/openssl/bio.h ../../include/openssl/bn.h rsa_eay.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h rsa_eay.o: ../../include/openssl/e_os.h ../../include/openssl/e_os2.h rsa_eay.o: ../../include/openssl/err.h ../../include/openssl/opensslconf.h rsa_eay.o: ../../include/openssl/opensslv.h ../../include/openssl/rand.h -rsa_eay.o: ../../include/openssl/rsa.h ../../include/openssl/stack.h -rsa_eay.o: ../cryptlib.h +rsa_eay.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h +rsa_eay.o: ../../include/openssl/stack.h ../cryptlib.h rsa_err.o: ../../include/openssl/bn.h ../../include/openssl/crypto.h rsa_err.o: ../../include/openssl/err.h ../../include/openssl/opensslconf.h rsa_err.o: ../../include/openssl/opensslv.h ../../include/openssl/rsa.h -rsa_err.o: ../../include/openssl/stack.h +rsa_err.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h rsa_gen.o: ../../include/openssl/bio.h ../../include/openssl/bn.h rsa_gen.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h rsa_gen.o: ../../include/openssl/e_os.h ../../include/openssl/e_os2.h rsa_gen.o: ../../include/openssl/err.h ../../include/openssl/opensslconf.h rsa_gen.o: ../../include/openssl/opensslv.h ../../include/openssl/rsa.h -rsa_gen.o: ../../include/openssl/stack.h ../cryptlib.h +rsa_gen.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h +rsa_gen.o: ../cryptlib.h rsa_lib.o: ../../include/openssl/bio.h ../../include/openssl/bn.h rsa_lib.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h rsa_lib.o: ../../include/openssl/e_os.h ../../include/openssl/e_os2.h rsa_lib.o: ../../include/openssl/err.h ../../include/openssl/lhash.h rsa_lib.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h -rsa_lib.o: ../../include/openssl/rsa.h ../../include/openssl/stack.h -rsa_lib.o: ../cryptlib.h +rsa_lib.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h +rsa_lib.o: ../../include/openssl/stack.h ../cryptlib.h rsa_none.o: ../../include/openssl/bio.h ../../include/openssl/bn.h rsa_none.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h rsa_none.o: ../../include/openssl/e_os.h ../../include/openssl/e_os2.h rsa_none.o: ../../include/openssl/err.h ../../include/openssl/opensslconf.h rsa_none.o: ../../include/openssl/opensslv.h ../../include/openssl/rand.h -rsa_none.o: ../../include/openssl/rsa.h ../../include/openssl/stack.h -rsa_none.o: ../cryptlib.h +rsa_none.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h +rsa_none.o: ../../include/openssl/stack.h ../cryptlib.h rsa_null.o: ../../include/openssl/bio.h ../../include/openssl/bn.h rsa_null.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h rsa_null.o: ../../include/openssl/e_os.h ../../include/openssl/e_os2.h rsa_null.o: ../../include/openssl/err.h ../../include/openssl/opensslconf.h rsa_null.o: ../../include/openssl/opensslv.h ../../include/openssl/rand.h -rsa_null.o: ../../include/openssl/rsa.h ../../include/openssl/stack.h -rsa_null.o: ../cryptlib.h +rsa_null.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h +rsa_null.o: ../../include/openssl/stack.h ../cryptlib.h rsa_oaep.o: ../../include/openssl/bio.h ../../include/openssl/bn.h rsa_oaep.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h rsa_oaep.o: ../../include/openssl/e_os.h ../../include/openssl/e_os2.h rsa_oaep.o: ../../include/openssl/err.h ../../include/openssl/opensslconf.h rsa_oaep.o: ../../include/openssl/opensslv.h ../../include/openssl/rand.h -rsa_oaep.o: ../../include/openssl/rsa.h ../../include/openssl/sha.h -rsa_oaep.o: ../../include/openssl/stack.h ../cryptlib.h +rsa_oaep.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h +rsa_oaep.o: ../../include/openssl/sha.h ../../include/openssl/stack.h +rsa_oaep.o: ../cryptlib.h rsa_pk1.o: ../../include/openssl/bio.h ../../include/openssl/bn.h rsa_pk1.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h rsa_pk1.o: ../../include/openssl/e_os.h ../../include/openssl/e_os2.h rsa_pk1.o: ../../include/openssl/err.h ../../include/openssl/opensslconf.h rsa_pk1.o: ../../include/openssl/opensslv.h ../../include/openssl/rand.h -rsa_pk1.o: ../../include/openssl/rsa.h ../../include/openssl/stack.h -rsa_pk1.o: ../cryptlib.h +rsa_pk1.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h +rsa_pk1.o: ../../include/openssl/stack.h ../cryptlib.h rsa_saos.o: ../../include/openssl/asn1.h ../../include/openssl/bio.h rsa_saos.o: ../../include/openssl/blowfish.h ../../include/openssl/bn.h rsa_saos.o: ../../include/openssl/buffer.h ../../include/openssl/cast.h @@ -175,5 +177,5 @@ rsa_ssl.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h rsa_ssl.o: ../../include/openssl/e_os.h ../../include/openssl/e_os2.h rsa_ssl.o: ../../include/openssl/err.h ../../include/openssl/opensslconf.h rsa_ssl.o: ../../include/openssl/opensslv.h ../../include/openssl/rand.h -rsa_ssl.o: ../../include/openssl/rsa.h ../../include/openssl/stack.h -rsa_ssl.o: ../cryptlib.h +rsa_ssl.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h +rsa_ssl.o: ../../include/openssl/stack.h ../cryptlib.h diff --git a/crypto/rsa/rsa.h b/crypto/rsa/rsa.h index 7fe1d23439..dc413a60f7 100644 --- a/crypto/rsa/rsa.h +++ b/crypto/rsa/rsa.h @@ -161,7 +161,7 @@ struct rsa_st #define RSA_NO_PADDING 3 #define RSA_PKCS1_OAEP_PADDING 4 -#define RSA_set_app_data(s,arg) RSA_set_ex_data(s,0,(char *)arg) +#define RSA_set_app_data(s,arg) RSA_set_ex_data(s,0,arg) #define RSA_get_app_data(s) RSA_get_ex_data(s,0) RSA * RSA_new(void); @@ -259,10 +259,10 @@ int RSA_padding_add_none(unsigned char *to,int tlen, int RSA_padding_check_none(unsigned char *to,int tlen, unsigned char *f,int fl,int rsa_len); -int RSA_get_ex_new_index(long argl, char *argp, int (*new_func)(), - int (*dup_func)(), void (*free_func)()); -int RSA_set_ex_data(RSA *r,int idx,char *arg); -char *RSA_get_ex_data(RSA *r, int idx); +int RSA_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new *new_func, + CRYPTO_EX_dup *dup_func, CRYPTO_EX_free *free_func); +int RSA_set_ex_data(RSA *r,int idx,void *arg); +void *RSA_get_ex_data(RSA *r, int idx); /* BEGIN ERROR CODES */ /* The following lines are auto generated by the script mkerr.pl. Any changes diff --git a/crypto/rsa/rsa_lib.c b/crypto/rsa/rsa_lib.c index 7997da280b..c6b1a5989d 100644 --- a/crypto/rsa/rsa_lib.c +++ b/crypto/rsa/rsa_lib.c @@ -67,7 +67,7 @@ const char *RSA_version="RSA" OPENSSL_VERSION_PTEXT; static RSA_METHOD *default_RSA_meth=NULL; static int rsa_meth_num=0; -static STACK *rsa_meth=NULL; +static STACK_OF(CRYPTO_EX_DATA_FUNCS) *rsa_meth=NULL; RSA *RSA_new(void) { @@ -150,7 +150,7 @@ RSA *RSA_new_method(RSA_METHOD *meth) ret=NULL; } else - CRYPTO_new_ex_data(rsa_meth,(char *)ret,&ret->ex_data); + CRYPTO_new_ex_data(rsa_meth,ret,&ret->ex_data); return(ret); } @@ -173,7 +173,7 @@ void RSA_free(RSA *r) } #endif - CRYPTO_free_ex_data(rsa_meth,(char *)r,&r->ex_data); + CRYPTO_free_ex_data(rsa_meth,r,&r->ex_data); if (r->meth->finish != NULL) r->meth->finish(r); @@ -191,20 +191,20 @@ void RSA_free(RSA *r) Free(r); } -int RSA_get_ex_new_index(long argl, char *argp, int (*new_func)(), - int (*dup_func)(), void (*free_func)()) +int RSA_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new *new_func, + CRYPTO_EX_dup *dup_func, CRYPTO_EX_free *free_func) { rsa_meth_num++; return(CRYPTO_get_ex_new_index(rsa_meth_num-1, &rsa_meth,argl,argp,new_func,dup_func,free_func)); } -int RSA_set_ex_data(RSA *r, int idx, char *arg) +int RSA_set_ex_data(RSA *r, int idx, void *arg) { return(CRYPTO_set_ex_data(&r->ex_data,idx,arg)); } -char *RSA_get_ex_data(RSA *r, int idx) +void *RSA_get_ex_data(RSA *r, int idx) { return(CRYPTO_get_ex_data(&r->ex_data,idx)); } diff --git a/crypto/stack/Makefile.ssl b/crypto/stack/Makefile.ssl index 82b36ca624..619965992c 100644 --- a/crypto/stack/Makefile.ssl +++ b/crypto/stack/Makefile.ssl @@ -82,4 +82,5 @@ stack.o: ../../include/openssl/bio.h ../../include/openssl/buffer.h stack.o: ../../include/openssl/crypto.h ../../include/openssl/e_os.h stack.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h stack.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h -stack.o: ../../include/openssl/stack.h ../cryptlib.h +stack.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h +stack.o: ../cryptlib.h diff --git a/crypto/txt_db/Makefile.ssl b/crypto/txt_db/Makefile.ssl index 552ea5580f..83ee50b706 100644 --- a/crypto/txt_db/Makefile.ssl +++ b/crypto/txt_db/Makefile.ssl @@ -82,5 +82,6 @@ txt_db.o: ../../include/openssl/bio.h ../../include/openssl/buffer.h txt_db.o: ../../include/openssl/crypto.h ../../include/openssl/e_os.h txt_db.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h txt_db.o: ../../include/openssl/lhash.h ../../include/openssl/opensslconf.h -txt_db.o: ../../include/openssl/opensslv.h ../../include/openssl/stack.h -txt_db.o: ../../include/openssl/txt_db.h ../cryptlib.h +txt_db.o: ../../include/openssl/opensslv.h ../../include/openssl/safestack.h +txt_db.o: ../../include/openssl/stack.h ../../include/openssl/txt_db.h +txt_db.o: ../cryptlib.h diff --git a/crypto/x509/x509.h b/crypto/x509/x509.h index 6b2c290bc5..32dd31d0ff 100644 --- a/crypto/x509/x509.h +++ b/crypto/x509/x509.h @@ -808,10 +808,10 @@ X509 * X509_new(void); void X509_free(X509 *a); int i2d_X509(X509 *a,unsigned char **pp); X509 * d2i_X509(X509 **a,unsigned char **pp,long length); -int X509_get_ex_new_index(long argl, char *argp, int (*new_func)(), - int (*dup_func)(), void (*free_func)()); -int X509_set_ex_data(X509 *r, int idx, char *arg); -char *X509_get_ex_data(X509 *r, int idx); +int X509_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new *new_func, + CRYPTO_EX_dup *dup_func, CRYPTO_EX_free *free_func); +int X509_set_ex_data(X509 *r, int idx, void *arg); +void *X509_get_ex_data(X509 *r, int idx); int i2d_X509_AUX(X509 *a,unsigned char **pp); X509 * d2i_X509_AUX(X509 **a,unsigned char **pp,long length); diff --git a/crypto/x509/x509_lu.c b/crypto/x509/x509_lu.c index 95ee24b958..b3a4ebdd46 100644 --- a/crypto/x509/x509_lu.c +++ b/crypto/x509/x509_lu.c @@ -61,8 +61,8 @@ #include #include -static STACK *x509_store_meth=NULL; -static STACK *x509_store_ctx_meth=NULL; +static STACK_OF(CRYPTO_EX_DATA_FUNCS) *x509_store_meth=NULL; +static STACK_OF(CRYPTO_EX_DATA_FUNCS) *x509_store_ctx_meth=NULL; X509_LOOKUP *X509_LOOKUP_new(X509_LOOKUP_METHOD *method) { @@ -244,7 +244,7 @@ void X509_STORE_free(X509_STORE *vfy) } sk_X509_LOOKUP_free(sk); - CRYPTO_free_ex_data(x509_store_meth,(char *)vfy,&vfy->ex_data); + CRYPTO_free_ex_data(x509_store_meth,vfy,&vfy->ex_data); lh_doall(vfy->certs,cleanup); lh_free(vfy->certs); Free(vfy); @@ -420,7 +420,7 @@ void X509_STORE_CTX_cleanup(X509_STORE_CTX *ctx) sk_X509_pop_free(ctx->chain,X509_free); ctx->chain=NULL; } - CRYPTO_free_ex_data(x509_store_ctx_meth,(char *)ctx,&(ctx->ex_data)); + CRYPTO_free_ex_data(x509_store_ctx_meth,ctx,&(ctx->ex_data)); memset(&ctx->ex_data,0,sizeof(CRYPTO_EX_DATA)); } diff --git a/crypto/x509/x509_vfy.c b/crypto/x509/x509_vfy.c index e45c0324a0..e5038fee12 100644 --- a/crypto/x509/x509_vfy.c +++ b/crypto/x509/x509_vfy.c @@ -76,7 +76,7 @@ static int check_trust(X509_STORE_CTX *ctx); static int internal_verify(X509_STORE_CTX *ctx); const char *X509_version="X.509" OPENSSL_VERSION_PTEXT; -static STACK *x509_store_ctx_method=NULL; +static STACK_OF(CRYPTO_EX_DATA_FUNCS) *x509_store_ctx_method=NULL; static int x509_store_ctx_num=0; #if 0 static int x509_store_num=1; @@ -673,8 +673,8 @@ int X509_STORE_add_crl(X509_STORE *ctx, X509_CRL *x) return(ret); } -int X509_STORE_CTX_get_ex_new_index(long argl, char *argp, int (*new_func)(), - int (*dup_func)(), void (*free_func)()) +int X509_STORE_CTX_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new *new_func, + CRYPTO_EX_dup *dup_func, CRYPTO_EX_free *free_func) { x509_store_ctx_num++; return(CRYPTO_get_ex_new_index(x509_store_ctx_num-1, diff --git a/crypto/x509/x509_vfy.h b/crypto/x509/x509_vfy.h index 7c7a9c2b80..7d064820f9 100644 --- a/crypto/x509/x509_vfy.h +++ b/crypto/x509/x509_vfy.h @@ -338,8 +338,8 @@ int X509_STORE_load_locations (X509_STORE *ctx, int X509_STORE_set_default_paths(X509_STORE *ctx); #endif -int X509_STORE_CTX_get_ex_new_index(long argl, char *argp, int (*new_func)(), - int (*dup_func)(), void (*free_func)()); +int X509_STORE_CTX_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new *new_func, + CRYPTO_EX_dup *dup_func, CRYPTO_EX_free *free_func); int X509_STORE_CTX_set_ex_data(X509_STORE_CTX *ctx,int idx,void *data); void * X509_STORE_CTX_get_ex_data(X509_STORE_CTX *ctx,int idx); int X509_STORE_CTX_get_error(X509_STORE_CTX *ctx); diff --git a/rsaref/Makefile.ssl b/rsaref/Makefile.ssl index 165b2b8036..f338427a02 100644 --- a/rsaref/Makefile.ssl +++ b/rsaref/Makefile.ssl @@ -88,11 +88,12 @@ clean: rsar_err.o: ../include/openssl/bn.h ../include/openssl/crypto.h rsar_err.o: ../include/openssl/err.h ../include/openssl/opensslconf.h rsar_err.o: ../include/openssl/opensslv.h ../include/openssl/rsa.h -rsar_err.o: ../include/openssl/rsaref.h ../include/openssl/stack.h +rsar_err.o: ../include/openssl/rsaref.h ../include/openssl/safestack.h +rsar_err.o: ../include/openssl/stack.h rsaref.o: ../crypto/cryptlib.h ../include/openssl/bio.h ../include/openssl/bn.h rsaref.o: ../include/openssl/buffer.h ../include/openssl/crypto.h rsaref.o: ../include/openssl/e_os.h ../include/openssl/e_os2.h rsaref.o: ../include/openssl/err.h ../include/openssl/opensslconf.h rsaref.o: ../include/openssl/opensslv.h ../include/openssl/rand.h rsaref.o: ../include/openssl/rsa.h ../include/openssl/rsaref.h -rsaref.o: ../include/openssl/stack.h +rsaref.o: ../include/openssl/safestack.h ../include/openssl/stack.h diff --git a/ssl/ssl.h b/ssl/ssl.h index 5f99b3313e..55f3ab4de8 100644 --- a/ssl/ssl.h +++ b/ssl/ssl.h @@ -1119,18 +1119,18 @@ long SSL_get_verify_result(SSL *ssl); int SSL_set_ex_data(SSL *ssl,int idx,void *data); void *SSL_get_ex_data(SSL *ssl,int idx); -int SSL_get_ex_new_index(long argl, char *argp, int (*new_func)(), - int (*dup_func)(), void (*free_func)()); +int SSL_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new *new_func, + CRYPTO_EX_dup *dup_func, CRYPTO_EX_free *free_func); int SSL_SESSION_set_ex_data(SSL_SESSION *ss,int idx,void *data); void *SSL_SESSION_get_ex_data(SSL_SESSION *ss,int idx); -int SSL_SESSION_get_ex_new_index(long argl, char *argp, int (*new_func)(), - int (*dup_func)(), void (*free_func)()); +int SSL_SESSION_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new *new_func, + CRYPTO_EX_dup *dup_func, CRYPTO_EX_free *free_func); int SSL_CTX_set_ex_data(SSL_CTX *ssl,int idx,void *data); void *SSL_CTX_get_ex_data(SSL_CTX *ssl,int idx); -int SSL_CTX_get_ex_new_index(long argl, char *argp, int (*new_func)(), - int (*dup_func)(), void (*free_func)()); +int SSL_CTX_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new *new_func, + CRYPTO_EX_dup *dup_func, CRYPTO_EX_free *free_func); int SSL_get_ex_data_X509_STORE_CTX_idx(void ); diff --git a/ssl/ssl_cert.c b/ssl/ssl_cert.c index 3eda14aea9..48f247ceac 100644 --- a/ssl/ssl_cert.c +++ b/ssl/ssl_cert.c @@ -431,8 +431,7 @@ int ssl_verify_cert_chain(SSL *s,STACK_OF(X509) *sk) X509_STORE_CTX_init(&ctx,s->ctx->cert_store,x,sk); if (SSL_get_verify_depth(s) >= 0) X509_STORE_CTX_set_depth(&ctx, SSL_get_verify_depth(s)); - X509_STORE_CTX_set_ex_data(&ctx,SSL_get_ex_data_X509_STORE_CTX_idx(), - (char *)s); + X509_STORE_CTX_set_ex_data(&ctx,SSL_get_ex_data_X509_STORE_CTX_idx(),s); /* We need to set the verify purpose. The purpose can be determined by * the context: if its a server it will verify SSL client certificates * or vice versa. diff --git a/ssl/ssl_lib.c b/ssl/ssl_lib.c index 4d74f6e45c..1c58dec45f 100644 --- a/ssl/ssl_lib.c +++ b/ssl/ssl_lib.c @@ -66,13 +66,13 @@ char *SSL_version_str=OPENSSL_VERSION_TEXT; -static STACK *ssl_meth=NULL; -static STACK *ssl_ctx_meth=NULL; +static STACK_OF(CRYPTO_EX_DATA_FUNCS) *ssl_meth=NULL; +static STACK_OF(CRYPTO_EX_DATA_FUNCS) *ssl_ctx_meth=NULL; static int ssl_meth_num=0; static int ssl_ctx_meth_num=0; OPENSSL_GLOBAL SSL3_ENC_METHOD ssl3_undef_enc_method={ - /* evil casts, but these functions are only called if there's a libraryr bug */ + /* evil casts, but these functions are only called if there's a library bug */ (int (*)(SSL *,int))ssl_undefined_function, (int (*)(SSL *, unsigned char *, int))ssl_undefined_function, ssl_undefined_function, @@ -234,7 +234,7 @@ SSL *SSL_new(SSL_CTX *ctx) s->mode=ctx->mode; SSL_clear(s); - CRYPTO_new_ex_data(ssl_meth,(char *)s,&s->ex_data); + CRYPTO_new_ex_data(ssl_meth,s,&s->ex_data); return(s); err: @@ -1919,8 +1919,8 @@ long SSL_get_verify_result(SSL *ssl) return(ssl->verify_result); } -int SSL_get_ex_new_index(long argl,char *argp,int (*new_func)(), - int (*dup_func)(),void (*free_func)()) +int SSL_get_ex_new_index(long argl,void *argp,CRYPTO_EX_new *new_func, + CRYPTO_EX_dup *dup_func,CRYPTO_EX_free *free_func) { ssl_meth_num++; return(CRYPTO_get_ex_new_index(ssl_meth_num-1, @@ -1937,8 +1937,8 @@ void *SSL_get_ex_data(SSL *s,int idx) return(CRYPTO_get_ex_data(&s->ex_data,idx)); } -int SSL_CTX_get_ex_new_index(long argl,char *argp,int (*new_func)(), - int (*dup_func)(),void (*free_func)()) +int SSL_CTX_get_ex_new_index(long argl,void *argp,CRYPTO_EX_new *new_func, + CRYPTO_EX_dup *dup_func,CRYPTO_EX_free *free_func) { ssl_ctx_meth_num++; return(CRYPTO_get_ex_new_index(ssl_ctx_meth_num-1, diff --git a/ssl/ssl_sess.c b/ssl/ssl_sess.c index 0573f2c836..849908141d 100644 --- a/ssl/ssl_sess.c +++ b/ssl/ssl_sess.c @@ -65,7 +65,7 @@ static void SSL_SESSION_list_remove(SSL_CTX *ctx, SSL_SESSION *s); static void SSL_SESSION_list_add(SSL_CTX *ctx,SSL_SESSION *s); static int remove_session_lock(SSL_CTX *ctx, SSL_SESSION *c, int lck); static int ssl_session_num=0; -static STACK *ssl_session_meth=NULL; +static STACK_OF(CRYPTO_EX_DATA_FUNCS) *ssl_session_meth=NULL; #if 1 /* traditional SSLeay behaviour */ SSL_SESSION *SSL_get_session(SSL *ssl) @@ -94,8 +94,8 @@ SSL_SESSION *SSL_get_session(SSL *ssl) } #endif -int SSL_SESSION_get_ex_new_index(long argl, char *argp, int (*new_func)(), - int (*dup_func)(), void (*free_func)()) +int SSL_SESSION_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new *new_func, + CRYPTO_EX_dup *dup_func, CRYPTO_EX_free *free_func) { ssl_session_num++; return(CRYPTO_get_ex_new_index(ssl_session_num-1, @@ -132,7 +132,7 @@ SSL_SESSION *SSL_SESSION_new(void) ss->prev=NULL; ss->next=NULL; ss->compress_meth=0; - CRYPTO_new_ex_data(ssl_session_meth,(char *)ss,&ss->ex_data); + CRYPTO_new_ex_data(ssl_session_meth,ss,&ss->ex_data); return(ss); } @@ -472,7 +472,7 @@ void SSL_SESSION_free(SSL_SESSION *ss) } #endif - CRYPTO_free_ex_data(ssl_session_meth,(char *)ss,&ss->ex_data); + CRYPTO_free_ex_data(ssl_session_meth,ss,&ss->ex_data); memset(ss->key_arg,0,SSL_MAX_KEY_ARG_LENGTH); memset(ss->master_key,0,SSL_MAX_MASTER_KEY_LENGTH); diff --git a/test/Makefile.ssl b/test/Makefile.ssl index cfa069a0f9..6507b2f6ff 100644 --- a/test/Makefile.ssl +++ b/test/Makefile.ssl @@ -330,16 +330,19 @@ destest.o: ../include/openssl/opensslconf.h dhtest.o: ../include/openssl/bio.h ../include/openssl/bn.h dhtest.o: ../include/openssl/crypto.h ../include/openssl/dh.h dhtest.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h -dhtest.o: ../include/openssl/rand.h ../include/openssl/stack.h +dhtest.o: ../include/openssl/rand.h ../include/openssl/safestack.h +dhtest.o: ../include/openssl/stack.h dsatest.o: ../include/openssl/bio.h ../include/openssl/bn.h dsatest.o: ../include/openssl/crypto.h ../include/openssl/dh.h dsatest.o: ../include/openssl/dsa.h ../include/openssl/err.h dsatest.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h -dsatest.o: ../include/openssl/rand.h ../include/openssl/stack.h +dsatest.o: ../include/openssl/rand.h ../include/openssl/safestack.h +dsatest.o: ../include/openssl/stack.h exptest.o: ../include/openssl/bio.h ../include/openssl/bn.h exptest.o: ../include/openssl/crypto.h ../include/openssl/err.h exptest.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h -exptest.o: ../include/openssl/rand.h ../include/openssl/stack.h +exptest.o: ../include/openssl/rand.h ../include/openssl/safestack.h +exptest.o: ../include/openssl/stack.h hmactest.o: ../include/openssl/asn1.h ../include/openssl/bio.h hmactest.o: ../include/openssl/blowfish.h ../include/openssl/bn.h hmactest.o: ../include/openssl/cast.h ../include/openssl/crypto.h @@ -368,7 +371,8 @@ rsa_test.o: ../include/openssl/bn.h ../include/openssl/crypto.h rsa_test.o: ../include/openssl/e_os.h ../include/openssl/e_os2.h rsa_test.o: ../include/openssl/err.h ../include/openssl/opensslconf.h rsa_test.o: ../include/openssl/opensslv.h ../include/openssl/rand.h -rsa_test.o: ../include/openssl/rsa.h ../include/openssl/stack.h +rsa_test.o: ../include/openssl/rsa.h ../include/openssl/safestack.h +rsa_test.o: ../include/openssl/stack.h sha1test.o: ../include/openssl/sha.h shatest.o: ../include/openssl/sha.h ssltest.o: ../include/openssl/asn1.h ../include/openssl/bio.h diff --git a/util/libeay.num b/util/libeay.num index 2fa6c513f7..8fe12da3bc 100755 --- a/util/libeay.num +++ b/util/libeay.num @@ -2192,3 +2192,22 @@ X509at_radd_attr_by_OBJ 2216 X509_REQ_radd_attr_by_txt 2217 X509_ATTRIBUTE_create_by_txt 2218 X509at_radd_attr_by_txt 2219 +sk_CRYPTO_EX_DATA_FUNCS_delete 2220 +sk_CRYPTO_EX_DATA_FUNCS_set 2221 +sk_CRYPTO_EX_DATA_FUNCS_unshift 2222 +sk_CRYPTO_EX_DATA_FUNCS_new_null 2223 +sk_CRYPTO_EX_DATA_FUNCS_set_cmp_func 2224 +sk_CRYPTO_EX_DATA_FUNCS_sort 2225 +sk_CRYPTO_EX_DATA_FUNCS_dup 2226 +sk_CRYPTO_EX_DATA_FUNCS_shift 2227 +sk_CRYPTO_EX_DATA_FUNCS_value 2228 +sk_CRYPTO_EX_DATA_FUNCS_pop 2229 +sk_CRYPTO_EX_DATA_FUNCS_push 2230 +sk_CRYPTO_EX_DATA_FUNCS_find 2231 +sk_CRYPTO_EX_DATA_FUNCS_new 2232 +sk_CRYPTO_EX_DATA_FUNCS_free 2233 +sk_CRYPTO_EX_DATA_FUNCS_delete_ptr 2234 +sk_CRYPTO_EX_DATA_FUNCS_num 2235 +sk_CRYPTO_EX_DATA_FUNCS_pop_free 2236 +sk_CRYPTO_EX_DATA_FUNCS_insert 2237 +sk_CRYPTO_EX_DATA_FUNCS_zero 2238 -- GitLab