From ebcdd0c43ec6715f80715e1eb8f4aceb74d4618d Mon Sep 17 00:00:00 2001 From: Richard Levitte Date: Sun, 17 Sep 2000 15:56:27 +0000 Subject: [PATCH] Merge from the main trunk and a 'make update'. --- CHANGES | 3 +++ INSTALL.VMS | 19 ++++++++++++------- STATUS | 4 +++- crypto/bio/bio.h | 2 +- crypto/dso/dso_vms.c | 27 +++++++++++++++++---------- crypto/stack/stack.c | 2 +- crypto/symhacks.h | 4 ++++ doc/crypto/BIO_s_bio.pod | 6 +++--- util/libeay.num | 6 ++++-- util/mkdef.pl | 3 +++ 10 files changed, 51 insertions(+), 25 deletions(-) diff --git a/CHANGES b/CHANGES index d47658a203..67b0f565d1 100644 --- a/CHANGES +++ b/CHANGES @@ -4,6 +4,9 @@ Changes between 0.9.5a and 0.9.6 [xx XXX 2000] + *) New BIO_shutdown_wr macro, which invokes the BIO_C_SHUTDOWN_WR + BIO_ctrl (for BIO pairs). + *) Add DSO method for VMS. [Richard Levitte] diff --git a/INSTALL.VMS b/INSTALL.VMS index 0a25324033..1fe78a41bb 100644 --- a/INSTALL.VMS +++ b/INSTALL.VMS @@ -82,12 +82,17 @@ directory. The syntax is trhe following: RSAREF compile using the RSAREF Library NORSAREF compile without using RSAREF -Note 1: The RSAREF libraries are NOT INCLUDED and you have to - download it from "ftp://ftp.rsa.com/rsaref". You have to - get the ".tar-Z" file as the ".zip" file doesn't have the - directory structure stored. You have to extract the file - into the [.RSAREF] directory as that is where the scripts - will look for the files. +Note 0: The RASREF library IS NO LONGER NEEDED. The RSA patent + expires September 20, 2000, and RSA Security chose to make + the algorithm public domain two weeks before that. + +Note 1: If you still want to use RSAREF, the library is NOT INCLUDED + and you have to download it. RSA Security doesn't carry it + any more, but there are a number of places where you can find + it. You have to get the ".tar-Z" file as the ".zip" file + doesn't have the directory structure stored. You have to + extract the file into the [.RSAREF] directory as that is where + the scripts will look for the files. Note 2: I have never done this, so I've no idea if it works or not. @@ -129,7 +134,7 @@ Currently, the logical names supported are: used. This is good to try if something doesn't work. OPENSSL_NO_'alg' with value YES, the corresponding crypto algorithm will not be implemented. Supported algorithms to - do this with are: RSA, DSA, DH, MD2, MD5, RIPEMD, + do this with are: RSA, DSA, DH, MD2, MD4, MD5, RIPEMD, SHA, DES, MDC2, CR2, RC4, RC5, IDEA, BF, CAST, HMAC, SSL2. So, for example, having the logical name OPENSSL_NO_RSA with the value YES means that the diff --git a/STATUS b/STATUS index 4424d86508..bc5708f3e1 100644 --- a/STATUS +++ b/STATUS @@ -1,6 +1,6 @@ OpenSSL STATUS Last modified at - ______________ $Date: 2000/09/13 21:20:43 $ + ______________ $Date: 2000/09/17 15:56:27 $ DEVELOPMENT STATE @@ -35,6 +35,8 @@ MingW32 - failed thelp32.h aix-gcc (AIX 4.3.2) - passed + VMS/Alpha - failed + Some things were missing [FIXED] o OpenSSL 0.9.5a: Released on April 1st, 2000 o OpenSSL 0.9.5: Released on February 28th, 2000 o OpenSSL 0.9.4: Released on August 09th, 1999 diff --git a/crypto/bio/bio.h b/crypto/bio/bio.h index 137fd0de48..b7ab206777 100644 --- a/crypto/bio/bio.h +++ b/crypto/bio/bio.h @@ -474,7 +474,7 @@ size_t BIO_ctrl_wpending(BIO *b); #define BIO_get_write_buf_size(b,size) (size_t)BIO_ctrl(b,BIO_C_GET_WRITE_BUF_SIZE,size,NULL) #define BIO_make_bio_pair(b1,b2) (int)BIO_ctrl(b1,BIO_C_MAKE_BIO_PAIR,0,b2) #define BIO_destroy_bio_pair(b) (int)BIO_ctrl(b,BIO_C_DESTROY_BIO_PAIR,0,NULL) -#define BIO_set_shutdown_wr(b) (int)BIO_ctrl(b, BIO_C_SHUTDOWN_WR, 0, NULL) +#define BIO_shutdown_wr(b) (int)BIO_ctrl(b, BIO_C_SHUTDOWN_WR, 0, NULL) /* macros with inappropriate type -- but ...pending macros use int too: */ #define BIO_get_write_guarantee(b) (int)BIO_ctrl(b,BIO_C_GET_WRITE_GUARANTEE,0,NULL) #define BIO_get_read_request(b) (int)BIO_ctrl(b,BIO_C_GET_READ_REQUEST,0,NULL) diff --git a/crypto/dso/dso_vms.c b/crypto/dso/dso_vms.c index 58b9027397..d2c06ddafa 100644 --- a/crypto/dso/dso_vms.c +++ b/crypto/dso/dso_vms.c @@ -60,6 +60,7 @@ #include #include #ifdef VMS +#pragma message disable DOLLARID #include #include #include @@ -255,13 +256,13 @@ static int do_find_symbol(DSO_VMS_INTERNAL *ptr, 0, flags); } -static void *vms_bind_sym(DSO *dso, const char *symname) +void vms_bind_sym(DSO *dso, const char *symname, void **sym) { DSO_VMS_INTERNAL *ptr; - void *sym = 0; int status; int flags = LIB$M_FIS_MIXEDCASE; struct dsc$descriptor_s symname_dsc; + *sym = NULL; symname_dsc.dsc$w_length = strlen(symname); symname_dsc.dsc$b_dtype = DSC$K_DTYPE_T; @@ -271,24 +272,24 @@ static void *vms_bind_sym(DSO *dso, const char *symname) if((dso == NULL) || (symname == NULL)) { DSOerr(DSO_F_VMS_BIND_VAR,ERR_R_PASSED_NULL_PARAMETER); - return(NULL); + return; } if(sk_num(dso->meth_data) < 1) { DSOerr(DSO_F_VMS_BIND_VAR,DSO_R_STACK_ERROR); - return(NULL); + return; } ptr = (DSO_VMS_INTERNAL *)sk_value(dso->meth_data, sk_num(dso->meth_data) - 1); if(ptr == NULL) { DSOerr(DSO_F_VMS_BIND_VAR,DSO_R_NULL_HANDLE); - return(NULL); + return; } if(dso->flags & DSO_FLAG_UPCASE_SYMBOL) flags = 0; - status = do_find_symbol(ptr, &symname_dsc, &sym, flags); + status = do_find_symbol(ptr, &symname_dsc, sym, flags); if(!$VMS_STATUS_SUCCESS(status)) { @@ -301,6 +302,8 @@ static void *vms_bind_sym(DSO *dso, const char *symname) errstring_dsc.dsc$b_class = DSC$K_CLASS_S; errstring_dsc.dsc$a_pointer = errstring; + *sym = NULL; + status = sys$getmsg(status, &length, &errstring_dsc, 1, 0); if (!$VMS_STATUS_SUCCESS(status)) @@ -322,19 +325,23 @@ static void *vms_bind_sym(DSO *dso, const char *symname) " in ", ptr->filename, ": ", errstring); } - return(NULL); + return; } - return(sym); + return; } static void *vms_bind_var(DSO *dso, const char *symname) { - return vms_bind_sym(dso, symname); + void *sym = 0; + vms_bind_sym(dso, symname, &sym); + return sym; } static DSO_FUNC_TYPE vms_bind_func(DSO *dso, const char *symname) { - return (DSO_FUNC_TYPE)vms_bind_sym(dso, symname); + DSO_FUNC_TYPE sym = 0; + vms_bind_sym(dso, symname, &sym); + return sym; } static long vms_ctrl(DSO *dso, int cmd, long larg, void *parg) diff --git a/crypto/stack/stack.c b/crypto/stack/stack.c index 2eb531fd0d..02857f0446 100644 --- a/crypto/stack/stack.c +++ b/crypto/stack/stack.c @@ -111,7 +111,7 @@ err: STACK *sk_new_null(void) { - return sk_new((int (*)(const char * const *, const char * const *))NULL); + return sk_new((int (*)(const char * const *, const char * const *))0); } STACK *sk_new(int (*c)(const char * const *, const char * const *)) diff --git a/crypto/symhacks.h b/crypto/symhacks.h index 5b66d0f1ba..6b472b2f4c 100644 --- a/crypto/symhacks.h +++ b/crypto/symhacks.h @@ -137,6 +137,10 @@ #define SSL_CTX_set_cert_verify_callback SSL_CTX_set_cert_verify_cb #define SSL_CTX_set_default_passwd_cb_userdata SSL_CTX_set_def_passwd_cb_ud +/* Hack some long ENGINE names */ +#define ENGINE_get_default_BN_mod_exp_crt ENGINE_get_def_BN_mod_exp_crt +#define ENGINE_set_default_BN_mod_exp_crt ENGINE_set_def_BN_mod_exp_crt + #endif /* defined VMS */ diff --git a/doc/crypto/BIO_s_bio.pod b/doc/crypto/BIO_s_bio.pod index cf357c669d..95ae802e47 100644 --- a/doc/crypto/BIO_s_bio.pod +++ b/doc/crypto/BIO_s_bio.pod @@ -2,7 +2,7 @@ =head1 NAME -BIO_s_bio, BIO_make_bio_pair, BIO_destroy_bio_pair, BIO_set_shutdown_wr, +BIO_s_bio, BIO_make_bio_pair, BIO_destroy_bio_pair, BIO_shutdown_wr, BIO_set_write_buf_size, BIO_get_write_buf_size, BIO_new_bio_pair, BIO_get_write_guarantee, BIO_ctrl_get_write_guarantee, BIO_get_read_request, BIO_ctrl_get_read_request, BIO_ctrl_reset_read_request - BIO pair BIO @@ -16,7 +16,7 @@ BIO_ctrl_get_read_request, BIO_ctrl_reset_read_request - BIO pair BIO #define BIO_make_bio_pair(b1,b2) (int)BIO_ctrl(b1,BIO_C_MAKE_BIO_PAIR,0,b2) #define BIO_destroy_bio_pair(b) (int)BIO_ctrl(b,BIO_C_DESTROY_BIO_PAIR,0,NULL) - #define BIO_set_shutdown_wr(b) (int)BIO_ctrl(b, BIO_C_SHUTDOWN_WR, 0, NULL) + #define BIO_shutdown_wr(b) (int)BIO_ctrl(b, BIO_C_SHUTDOWN_WR, 0, NULL) #define BIO_set_write_buf_size(b,size) (int)BIO_ctrl(b,BIO_C_SET_WRITE_BUF_SIZE,size,NULL) #define BIO_get_write_buf_size(b,size) (size_t)BIO_ctrl(b,BIO_C_GET_WRITE_BUF_SIZE,size,NULL) @@ -62,7 +62,7 @@ BIO_make_bio_pair() joins two separate BIOs into a connected pair. BIO_destroy_pair() destroys the association between two connected BIOs. Freeing up any half of the pair will automatically destroy the association. -BIO_set_shutdown_wr() is used to close down a BIO B. After this call no further +BIO_shutdown_wr() is used to close down a BIO B. After this call no further writes on BIO B are allowed (they will return an error). Reads on the other half of the pair will return any pending data or EOF when all pending data has been read. diff --git a/util/libeay.num b/util/libeay.num index 8186525c47..e9ce9941b0 100755 --- a/util/libeay.num +++ b/util/libeay.num @@ -1876,7 +1876,8 @@ ENGINE_get_default_RSA 2466 EXIST::FUNCTION: ENGINE_get_BN_mod_exp 2467 EXIST::FUNCTION: DSA_get_default_openssl_method 2468 EXIST::FUNCTION:DSA ENGINE_set_DH 2469 EXIST::FUNCTION: -ENGINE_set_default_BN_mod_exp_crt 2470 EXIST::FUNCTION: +ENGINE_set_default_BN_mod_exp_crt 2470 EXIST:!VMS:FUNCTION: +ENGINE_set_def_BN_mod_exp_crt 2470 EXIST:VMS:FUNCTION: ENGINE_init 2471 EXIST::FUNCTION: DH_get_default_openssl_method 2472 EXIST::FUNCTION:DH RSA_set_default_openssl_method 2473 EXIST::FUNCTION:RSA @@ -1897,7 +1898,8 @@ ENGINE_get_RAND 2487 EXIST::FUNCTION: ENGINE_get_first 2488 EXIST::FUNCTION: ENGINE_by_id 2489 EXIST::FUNCTION: ENGINE_set_finish_function 2490 EXIST::FUNCTION: -ENGINE_get_default_BN_mod_exp_crt 2491 EXIST::FUNCTION: +ENGINE_get_default_BN_mod_exp_crt 2491 EXIST:!VMS:FUNCTION: +ENGINE_get_def_BN_mod_exp_crt 2491 EXIST:VMS:FUNCTION: RSA_get_default_openssl_method 2492 EXIST::FUNCTION:RSA ENGINE_set_RSA 2493 EXIST::FUNCTION: ENGINE_load_private_key 2494 EXIST::FUNCTION: diff --git a/util/mkdef.pl b/util/mkdef.pl index 4809db4405..318d3a8aed 100755 --- a/util/mkdef.pl +++ b/util/mkdef.pl @@ -623,6 +623,9 @@ sub maybe_add_info { } if ($new_info) { print STDERR "$new_info old symbols got an info update\n"; + if (!$do_rewrite) { + print STDERR "You should do a rewrite to fix this.\n"; + } } else { print STDERR "No old symbols needed info update\n"; } -- 2.25.1