diff --git a/CHANGES b/CHANGES index 1786aefd9a686ec116218c7fd8090c8a460c1ed2..83e4ee49f84a3614a4d84f4f4ea2579ea5e19c13 100644 --- a/CHANGES +++ b/CHANGES @@ -5,6 +5,9 @@ Changes between 0.9.3a and 0.9.4 + *) Make callbacks for key generation use void * instead of char *. + [Ben Laurie] + *) Make S/MIME samples compile (not yet tested). [Ben Laurie] diff --git a/apps/gendh.c b/apps/gendh.c index b3c19581d350370dc6df0a80ece47dec90ab6d08..e5cb646bfb039e733263ea0dfc997e488a085994 100644 --- a/apps/gendh.c +++ b/apps/gendh.c @@ -74,7 +74,7 @@ #undef PROG #define PROG gendh_main -static void MS_CALLBACK dh_cb(int p, int n, char *arg); +static void MS_CALLBACK dh_cb(int p, int n, void *arg); static long dh_load_rand(char *names); int MAIN(int argc, char **argv) { @@ -164,7 +164,7 @@ bad: BIO_printf(bio_err,"Generating DH parameters, %d bit long strong prime, generator of %d\n",num,g); BIO_printf(bio_err,"This is going to take a long time\n"); - dh=DH_generate_parameters(num,g,dh_cb,(char *)bio_err); + dh=DH_generate_parameters(num,g,dh_cb,bio_err); if (dh == NULL) goto end; @@ -184,7 +184,7 @@ end: EXIT(ret); } -static void MS_CALLBACK dh_cb(int p, int n, char *arg) +static void MS_CALLBACK dh_cb(int p, int n, void *arg) { char c='*'; diff --git a/apps/genrsa.c b/apps/genrsa.c index 1cba9f59256c396fc52e14a741443d16e6dafbd3..9dfeb751447be417cd6b38fe18389a14149c66c3 100644 --- a/apps/genrsa.c +++ b/apps/genrsa.c @@ -75,7 +75,7 @@ #undef PROG #define PROG genrsa_main -static void MS_CALLBACK genrsa_cb(int p, int n, char *arg); +static void MS_CALLBACK genrsa_cb(int p, int n, void *arg); static long gr_load_rand(char *names); int MAIN(int argc, char **argv) { @@ -194,7 +194,7 @@ bad: BIO_printf(bio_err,"Generating RSA private key, %d bit long modulus\n", num); - rsa=RSA_generate_key(num,f4,genrsa_cb,(char *)bio_err); + rsa=RSA_generate_key(num,f4,genrsa_cb,bio_err); if (randfile == NULL) BIO_printf(bio_err,"unable to write 'random state'\n"); @@ -227,7 +227,7 @@ err: EXIT(ret); } -static void MS_CALLBACK genrsa_cb(int p, int n, char *arg) +static void MS_CALLBACK genrsa_cb(int p, int n, void *arg) { char c='*'; diff --git a/apps/req.c b/apps/req.c index 052cae9804d901c9cea3596f41ecba7baead0b7b..dff16a6b92d96527a6b4a6dcc356d8316b7c782d 100644 --- a/apps/req.c +++ b/apps/req.c @@ -113,7 +113,7 @@ static int add_attribute_object(STACK_OF(X509_ATTRIBUTE) *n, char *text, int max); static int add_DN_object(X509_NAME *n, char *text, char *def, char *value, int nid,int min,int max); -static void MS_CALLBACK req_cb(int p,int n,char *arg); +static void MS_CALLBACK req_cb(int p,int n,void *arg); static int req_fix_data(int nid,int *type,int len,int min,int max); static int check_end(char *str, char *end); static int add_oid_section(LHASH *conf); @@ -513,7 +513,7 @@ bad: { if (!EVP_PKEY_assign_RSA(pkey, RSA_generate_key(newkey,0x10001, - req_cb,(char *)bio_err))) + req_cb,bio_err))) goto end; } else @@ -1111,7 +1111,7 @@ err: return(0); } -static void MS_CALLBACK req_cb(int p, int n, char *arg) +static void MS_CALLBACK req_cb(int p, int n, void *arg) { char c='*'; diff --git a/crypto/bn/bn.h b/crypto/bn/bn.h index 230a591e422dde4e31393749cc9e00d33f2aaa45..4acd0174f65b36deb436bcdcfcd926318b1ba6e0 100644 --- a/crypto/bn/bn.h +++ b/crypto/bn/bn.h @@ -381,9 +381,9 @@ int BN_dec2bn(BIGNUM **a,char *str); int BN_gcd(BIGNUM *r,BIGNUM *in_a,BIGNUM *in_b,BN_CTX *ctx); BIGNUM *BN_mod_inverse(BIGNUM *ret,BIGNUM *a, BIGNUM *n,BN_CTX *ctx); BIGNUM *BN_generate_prime(BIGNUM *ret,int bits,int strong,BIGNUM *add, - BIGNUM *rem,void (*callback)(int,int,char *),char *cb_arg); -int BN_is_prime(BIGNUM *p,int nchecks,void (*callback)(int,int,char *), - BN_CTX *ctx,char *cb_arg); + BIGNUM *rem,void (*callback)(int,int,void *),void *cb_arg); +int BN_is_prime(BIGNUM *p,int nchecks,void (*callback)(int,int,void *), + BN_CTX *ctx,void *cb_arg); void ERR_load_BN_strings(void ); BN_ULONG bn_mul_add_words(BN_ULONG *rp, BN_ULONG *ap, int num, BN_ULONG w); diff --git a/crypto/bn/bn_prime.c b/crypto/bn/bn_prime.c index 118eb35159bb6256ffded4de14d6a8933cf4a9cf..6fa0f9be1ee32b4767e8ed154832b88923601119 100644 --- a/crypto/bn/bn_prime.c +++ b/crypto/bn/bn_prime.c @@ -76,7 +76,7 @@ static int probable_prime_dh(BIGNUM *rnd, int bits, static int probable_prime_dh_strong(BIGNUM *rnd, int bits, BIGNUM *add, BIGNUM *rem, BN_CTX *ctx); BIGNUM *BN_generate_prime(BIGNUM *ret, int bits, int strong, BIGNUM *add, - BIGNUM *rem, void (*callback)(int,int,char *), char *cb_arg) + BIGNUM *rem, void (*callback)(int,int,void *), void *cb_arg) { BIGNUM *rnd=NULL; BIGNUM t; @@ -151,8 +151,8 @@ err: return(ret); } -int BN_is_prime(BIGNUM *a, int checks, void (*callback)(int,int,char *), - BN_CTX *ctx_passed, char *cb_arg) +int BN_is_prime(BIGNUM *a, int checks, void (*callback)(int,int,void *), + BN_CTX *ctx_passed, void *cb_arg) { int i,j,c2=0,ret= -1; BIGNUM *check; diff --git a/crypto/dh/dh.h b/crypto/dh/dh.h index 6a0a186fe346a9032c2dd1b8a8a28a2ef6efc5e9..affafd256bb1d206a26a5df33dfbf95e167ae6ac 100644 --- a/crypto/dh/dh.h +++ b/crypto/dh/dh.h @@ -112,7 +112,7 @@ DH * DH_new(void); void DH_free(DH *dh); int DH_size(DH *dh); DH * DH_generate_parameters(int prime_len,int generator, - void (*callback)(int,int,char *),char *cb_arg); + void (*callback)(int,int,void *),void *cb_arg); int DH_check(DH *dh,int *codes); int DH_generate_key(DH *dh); int DH_compute_key(unsigned char *key,BIGNUM *pub_key,DH *dh); diff --git a/crypto/dh/dh_gen.c b/crypto/dh/dh_gen.c index 4d4aa69029b9a1e776c16b2d6489407036507097..7534ec40a016d5aca077127a50312b4e510988eb 100644 --- a/crypto/dh/dh_gen.c +++ b/crypto/dh/dh_gen.c @@ -84,7 +84,7 @@ */ DH *DH_generate_parameters(int prime_len, int generator, - void (*callback)(int,int,char *), char *cb_arg) + void (*callback)(int,int,void *), void *cb_arg) { BIGNUM *p=NULL,*t1,*t2; DH *ret=NULL; diff --git a/crypto/dh/dhtest.c b/crypto/dh/dhtest.c index 370784b9642cb9193c269363a7ae3e5cd1a7ad2d..a3f4692eca9d76079ec821579d66ef5c59d7a4db 100644 --- a/crypto/dh/dhtest.c +++ b/crypto/dh/dhtest.c @@ -81,7 +81,7 @@ int main(int argc, char *argv[]) #define MS_CALLBACK #endif -static void MS_CALLBACK cb(int p, int n, char *arg); +static void MS_CALLBACK cb(int p, int n, void *arg); #ifdef NO_STDIO #define APPS_WIN16 #include "bss_file.c" @@ -104,7 +104,7 @@ int main(int argc, char *argv[]) if (out == NULL) exit(1); BIO_set_fp(out,stdout,BIO_NOCLOSE); - a=DH_generate_parameters(64,DH_GENERATOR_5,cb,(char *)out); + a=DH_generate_parameters(64,DH_GENERATOR_5,cb,out); if (a == NULL) goto err; BIO_puts(out,"\np ="); @@ -171,7 +171,7 @@ err: return(ret); } -static void MS_CALLBACK cb(int p, int n, char *arg) +static void MS_CALLBACK cb(int p, int n, void *arg) { char c='*'; diff --git a/crypto/rsa/rsa.h b/crypto/rsa/rsa.h index 2f53ff04b9e065352d5755da613d7c5ad8ec5608..d38d7f92fe6f858eca0ffec7be61c9a88064d665 100644 --- a/crypto/rsa/rsa.h +++ b/crypto/rsa/rsa.h @@ -145,7 +145,7 @@ RSA * RSA_new(void); RSA * RSA_new_method(RSA_METHOD *method); int RSA_size(RSA *); RSA * RSA_generate_key(int bits, unsigned long e,void - (*callback)(int,int,char *),char *cb_arg); + (*callback)(int,int,void *),void *cb_arg); /* next 4 return -1 on error */ int RSA_public_encrypt(int flen, unsigned char *from, unsigned char *to, RSA *rsa,int padding); diff --git a/crypto/rsa/rsa_gen.c b/crypto/rsa/rsa_gen.c index 8f3279eee1d73c6b3ca3b15f963dfa38317909ae..89e2f2e2e2d527c594695d425dba3c0f7eebec47 100644 --- a/crypto/rsa/rsa_gen.c +++ b/crypto/rsa/rsa_gen.c @@ -63,7 +63,7 @@ #include RSA *RSA_generate_key(int bits, unsigned long e_value, - void (*callback)(int,int,char *), char *cb_arg) + void (*callback)(int,int,void *), void *cb_arg) { RSA *rsa=NULL; BIGNUM *r0=NULL,*r1=NULL,*r2=NULL,*r3=NULL,*tmp;