Loading crypto/mem.c +0 −119 Original line number Diff line number Diff line Loading @@ -103,17 +103,6 @@ static void *(*malloc_secure_ex_func)(size_t, const char *file, int line) = default_malloc_secure_ex; static void (*free_secure_func)(void *) = free; static void *(*malloc_locked_func) (size_t) = malloc; static void *default_malloc_locked_ex(size_t num, const char *file, int line) { return malloc_locked_func(num); } static void *(*malloc_locked_ex_func) (size_t, const char *file, int line) = default_malloc_locked_ex; static void (*free_locked_func) (void *) = free; /* may be changed as long as 'allow_customize_debug' is set */ /* XXX use correct function pointer types */ #ifdef CRYPTO_MDEBUG Loading Loading @@ -159,9 +148,6 @@ int CRYPTO_set_mem_functions(void *(*m) (size_t), void *(*r) (void *, size_t), malloc_secure_func = m; malloc_secure_ex_func = default_malloc_secure_ex; free_secure_func = f; malloc_locked_func = m; malloc_locked_ex_func = default_malloc_locked_ex; free_locked_func = f; return 1; } Loading @@ -181,9 +167,6 @@ int CRYPTO_set_mem_ex_functions(void *(*m) (size_t, const char *, int), malloc_secure_func = 0; malloc_secure_ex_func = m; free_secure_func = f; malloc_locked_func = 0; malloc_locked_ex_func = m; free_locked_func = f; return 1; } Loading @@ -198,11 +181,6 @@ int CRYPTO_set_secure_mem_functions(void *(*m)(size_t), void (*f)(void *)) malloc_secure_func = m; malloc_secure_ex_func = default_malloc_secure_ex; free_secure_func = f; /* If user wants to intercept the locked functions, do it after * the secure functions. */ malloc_locked_func = m; malloc_locked_ex_func = default_malloc_secure_ex; free_locked_func = f; return 1; } Loading @@ -216,34 +194,6 @@ int CRYPTO_set_secure_mem_ex_functions(void *(*m)(size_t, const char *, int), malloc_secure_func = 0; malloc_secure_ex_func = m; free_secure_func = f; malloc_locked_func = 0; malloc_locked_ex_func = m; free_locked_func = f; return 1; } int CRYPTO_set_locked_mem_functions(void *(*m) (size_t), void (*f) (void *)) { if (!allow_customize) return 0; if ((m == NULL) || (f == NULL)) return 0; malloc_locked_func = m; malloc_locked_ex_func = default_malloc_locked_ex; free_locked_func = f; return 1; } int CRYPTO_set_locked_mem_ex_functions(void *(*m) (size_t, const char *, int), void (*f) (void *)) { if (!allow_customize) return 0; if ((m == NULL) || (f == NULL)) return 0; malloc_locked_func = 0; malloc_locked_ex_func = m; free_locked_func = f; return 1; } Loading Loading @@ -307,27 +257,6 @@ void CRYPTO_get_secure_mem_ex_functions(void *(**m)(size_t,const char *,int), *f=free_secure_func; } void CRYPTO_get_locked_mem_functions(void *(**m) (size_t), void (**f) (void *)) { if (m != NULL) *m = (malloc_locked_ex_func == default_malloc_locked_ex) ? malloc_locked_func : 0; if (f != NULL) *f = free_locked_func; } void CRYPTO_get_locked_mem_ex_functions(void *(**m) (size_t, const char *, int), void (**f) (void *)) { if (m != NULL) *m = (malloc_locked_ex_func != default_malloc_locked_ex) ? malloc_locked_ex_func : 0; if (f != NULL) *f = free_locked_func; } void CRYPTO_get_mem_debug_functions(void (**m) (void *, int, const char *, int, int), void (**r) (void *, void *, int, Loading @@ -347,54 +276,6 @@ void CRYPTO_get_mem_debug_functions(void (**m) *go = get_debug_options_func; } void *CRYPTO_malloc_locked(int num, const char *file, int line) { void *ret = NULL; if (num <= 0) return NULL; if (allow_customize) allow_customize = 0; if (malloc_debug_func != NULL) { if (allow_customize_debug) allow_customize_debug = 0; malloc_debug_func(NULL, num, file, line, 0); } ret = malloc_locked_ex_func(num, file, line); #ifdef LEVITTE_DEBUG_MEM fprintf(stderr, "LEVITTE_DEBUG_MEM: > 0x%p (%d)\n", ret, num); #endif if (malloc_debug_func != NULL) malloc_debug_func(ret, num, file, line, 1); #ifndef OPENSSL_CPUID_OBJ /* * Create a dependency on the value of 'cleanse_ctr' so our memory * sanitisation function can't be optimised out. NB: We only do this for * >2Kb so the overhead doesn't bother us. */ if (ret && (num > 2048)) { extern unsigned char cleanse_ctr; ((unsigned char *)ret)[0] = cleanse_ctr; } #endif return ret; } void CRYPTO_free_locked(void *str) { if (free_debug_func != NULL) free_debug_func(str, 0); #ifdef LEVITTE_DEBUG_MEM fprintf(stderr, "LEVITTE_DEBUG_MEM: < 0x%p\n", str); #endif free_locked_func(str); if (free_debug_func != NULL) free_debug_func(NULL, 1); } void *CRYPTO_malloc(int num, const char *file, int line) { void *ret = NULL; Loading crypto/rsa/rsa_lib.c +2 −2 Original line number Diff line number Diff line Loading @@ -231,7 +231,7 @@ void RSA_free(RSA *r) BN_clear_free(r->iqmp); BN_BLINDING_free(r->blinding); BN_BLINDING_free(r->mt_blinding); OPENSSL_free_locked(r->bignum_data); OPENSSL_free(r->bignum_data); OPENSSL_free(r); } Loading Loading @@ -287,7 +287,7 @@ int RSA_memory_lock(RSA *r) j = 1; for (i = 0; i < 6; i++) j += bn_get_top(*t[i]); if ((p = OPENSSL_malloc_locked((off + j) * sizeof(BN_ULONG))) == NULL) { if ((p = OPENSSL_malloc((off + j) * sizeof(BN_ULONG))) == NULL) { RSAerr(RSA_F_RSA_MEMORY_LOCK, ERR_R_MALLOC_FAILURE); return (0); } Loading include/openssl/crypto.h +0 −18 Original line number Diff line number Diff line Loading @@ -356,9 +356,6 @@ int CRYPTO_is_mem_check_on(void); # define OPENSSL_clear_free(addr, num) CRYPTO_clear_free(addr, num) # define OPENSSL_free(addr) CRYPTO_free(addr) # define OPENSSL_malloc_locked(num) \ CRYPTO_malloc_locked((int)num,__FILE__,__LINE__) # define OPENSSL_free_locked(addr) CRYPTO_free_locked(addr) # define OPENSSL_MALLOC_MAX_NELEMS(type) (((1U<<(sizeof(int)*8-1))-1)/sizeof(type)) const char *SSLeay_version(int type); Loading Loading @@ -456,19 +453,11 @@ void (*CRYPTO_get_dynlock_destroy_callback(void)) (struct CRYPTO_dynlock_value *l, const char *file, int line); /* * CRYPTO_set_mem_functions includes CRYPTO_set_locked_mem_functions -- call * the latter last if you need different functions */ int CRYPTO_set_mem_functions(void *(*m) (size_t), void *(*r) (void *, size_t), void (*f) (void *)); int CRYPTO_set_locked_mem_functions(void *(*m) (size_t), void (*f) (void *)); int CRYPTO_set_mem_ex_functions(void *(*m) (size_t, const char *, int), void *(*r) (void *, size_t, const char *, int), void (*f) (void *)); int CRYPTO_set_locked_mem_ex_functions(void *(*m) (size_t, const char *, int), void (*f) (void *)); int CRYPTO_set_mem_debug_functions(void (*m) (void *, int, const char *, int, int), void (*r) (void *, void *, int, Loading @@ -478,14 +467,9 @@ int CRYPTO_set_mem_debug_functions(void (*m) void CRYPTO_get_mem_functions(void *(**m) (size_t), void *(**r) (void *, size_t), void (**f) (void *)); void CRYPTO_get_locked_mem_functions(void *(**m) (size_t), void (**f) (void *)); void CRYPTO_get_mem_ex_functions(void *(**m) (size_t, const char *, int), void *(**r) (void *, size_t, const char *, int), void (**f) (void *)); void CRYPTO_get_locked_mem_ex_functions(void *(**m) (size_t, const char *, int), void (**f) (void *)); void CRYPTO_get_mem_debug_functions(void (**m) (void *, int, const char *, int, int), void (**r) (void *, void *, int, Loading @@ -493,8 +477,6 @@ void CRYPTO_get_mem_debug_functions(void (**m) void (**f) (void *, int), void (**so) (long), long (**go) (void)); void *CRYPTO_malloc_locked(int num, const char *file, int line); void CRYPTO_free_locked(void *ptr); void *CRYPTO_malloc(int num, const char *file, int line); char *CRYPTO_strdup(const char *str, const char *file, int line); void CRYPTO_free(void *ptr); Loading include/openssl/symhacks.h +0 −4 Original line number Diff line number Diff line Loading @@ -128,10 +128,6 @@ # define CRYPTO_get_dynlock_destroy_callback CRYPTO_get_dynlock_destroy_cb # undef CRYPTO_get_dynlock_create_callback # define CRYPTO_get_dynlock_create_callback CRYPTO_get_dynlock_create_cb # undef CRYPTO_set_locked_mem_ex_functions # define CRYPTO_set_locked_mem_ex_functions CRYPTO_set_locked_mem_ex_funcs # undef CRYPTO_get_locked_mem_ex_functions # define CRYPTO_get_locked_mem_ex_functions CRYPTO_get_locked_mem_ex_funcs /* Hack some long SSL/TLS names */ # undef SSL_CTX_set_default_verify_paths Loading util/libeay.num +6 −6 Original line number Diff line number Diff line Loading @@ -1371,8 +1371,8 @@ X509V3_string_free 1506 EXIST::FUNCTION: X509V3_section_free 1507 EXIST::FUNCTION: X509V3_set_ctx 1508 EXIST::FUNCTION: s2i_ASN1_INTEGER 1509 EXIST::FUNCTION: CRYPTO_set_locked_mem_functions 1510 EXIST::FUNCTION: CRYPTO_get_locked_mem_functions 1511 EXIST::FUNCTION: CRYPTO_set_locked_mem_functions 1510 NOEXIST::FUNCTION: CRYPTO_get_locked_mem_functions 1511 NOEXIST::FUNCTION: CRYPTO_malloc_locked 1512 EXIST::FUNCTION: CRYPTO_free_locked 1513 EXIST::FUNCTION: BN_mod_exp2_mont 1514 EXIST::FUNCTION: Loading Loading @@ -2237,8 +2237,8 @@ DIRECTORYSTRING_it 2767 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIA DIRECTORYSTRING_it 2767 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: d2i_OCSP_CRLID 2768 EXIST::FUNCTION: EC_POINT_is_on_curve 2769 EXIST::FUNCTION:EC CRYPTO_set_locked_mem_ex_functions 2770 EXIST:!VMS:FUNCTION: CRYPTO_set_locked_mem_ex_funcs 2770 EXIST:VMS:FUNCTION: CRYPTO_set_locked_mem_ex_funcs 2770 NOEXIST::FUNCTION: CRYPTO_set_locked_mem_ex_functions 2770 NOEXIST::FUNCTION: d2i_KRB5_CHECKSUM 2771 NOEXIST::FUNCTION: ASN1_item_dup 2772 EXIST::FUNCTION: X509_it 2773 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: Loading @@ -2252,8 +2252,8 @@ EC_POINT_get_Jprojective_coordinates_GFp 2779 EXIST:!VMS:FUNCTION:EC EC_POINT_get_Jproj_coords_GFp 2779 EXIST:VMS:FUNCTION:EC ZLONG_it 2780 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: ZLONG_it 2780 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: CRYPTO_get_locked_mem_ex_functions 2781 EXIST:!VMS:FUNCTION: CRYPTO_get_locked_mem_ex_funcs 2781 EXIST:VMS:FUNCTION: CRYPTO_get_locked_mem_ex_funcs 2781 NOEXIST::FUNCTION: CRYPTO_get_locked_mem_ex_functions 2781 NOEXIST::FUNCTION: ASN1_TIME_check 2782 EXIST::FUNCTION: UI_get0_user_data 2783 EXIST::FUNCTION: HMAC_CTX_cleanup 2784 EXIST::FUNCTION: Loading Loading
crypto/mem.c +0 −119 Original line number Diff line number Diff line Loading @@ -103,17 +103,6 @@ static void *(*malloc_secure_ex_func)(size_t, const char *file, int line) = default_malloc_secure_ex; static void (*free_secure_func)(void *) = free; static void *(*malloc_locked_func) (size_t) = malloc; static void *default_malloc_locked_ex(size_t num, const char *file, int line) { return malloc_locked_func(num); } static void *(*malloc_locked_ex_func) (size_t, const char *file, int line) = default_malloc_locked_ex; static void (*free_locked_func) (void *) = free; /* may be changed as long as 'allow_customize_debug' is set */ /* XXX use correct function pointer types */ #ifdef CRYPTO_MDEBUG Loading Loading @@ -159,9 +148,6 @@ int CRYPTO_set_mem_functions(void *(*m) (size_t), void *(*r) (void *, size_t), malloc_secure_func = m; malloc_secure_ex_func = default_malloc_secure_ex; free_secure_func = f; malloc_locked_func = m; malloc_locked_ex_func = default_malloc_locked_ex; free_locked_func = f; return 1; } Loading @@ -181,9 +167,6 @@ int CRYPTO_set_mem_ex_functions(void *(*m) (size_t, const char *, int), malloc_secure_func = 0; malloc_secure_ex_func = m; free_secure_func = f; malloc_locked_func = 0; malloc_locked_ex_func = m; free_locked_func = f; return 1; } Loading @@ -198,11 +181,6 @@ int CRYPTO_set_secure_mem_functions(void *(*m)(size_t), void (*f)(void *)) malloc_secure_func = m; malloc_secure_ex_func = default_malloc_secure_ex; free_secure_func = f; /* If user wants to intercept the locked functions, do it after * the secure functions. */ malloc_locked_func = m; malloc_locked_ex_func = default_malloc_secure_ex; free_locked_func = f; return 1; } Loading @@ -216,34 +194,6 @@ int CRYPTO_set_secure_mem_ex_functions(void *(*m)(size_t, const char *, int), malloc_secure_func = 0; malloc_secure_ex_func = m; free_secure_func = f; malloc_locked_func = 0; malloc_locked_ex_func = m; free_locked_func = f; return 1; } int CRYPTO_set_locked_mem_functions(void *(*m) (size_t), void (*f) (void *)) { if (!allow_customize) return 0; if ((m == NULL) || (f == NULL)) return 0; malloc_locked_func = m; malloc_locked_ex_func = default_malloc_locked_ex; free_locked_func = f; return 1; } int CRYPTO_set_locked_mem_ex_functions(void *(*m) (size_t, const char *, int), void (*f) (void *)) { if (!allow_customize) return 0; if ((m == NULL) || (f == NULL)) return 0; malloc_locked_func = 0; malloc_locked_ex_func = m; free_locked_func = f; return 1; } Loading Loading @@ -307,27 +257,6 @@ void CRYPTO_get_secure_mem_ex_functions(void *(**m)(size_t,const char *,int), *f=free_secure_func; } void CRYPTO_get_locked_mem_functions(void *(**m) (size_t), void (**f) (void *)) { if (m != NULL) *m = (malloc_locked_ex_func == default_malloc_locked_ex) ? malloc_locked_func : 0; if (f != NULL) *f = free_locked_func; } void CRYPTO_get_locked_mem_ex_functions(void *(**m) (size_t, const char *, int), void (**f) (void *)) { if (m != NULL) *m = (malloc_locked_ex_func != default_malloc_locked_ex) ? malloc_locked_ex_func : 0; if (f != NULL) *f = free_locked_func; } void CRYPTO_get_mem_debug_functions(void (**m) (void *, int, const char *, int, int), void (**r) (void *, void *, int, Loading @@ -347,54 +276,6 @@ void CRYPTO_get_mem_debug_functions(void (**m) *go = get_debug_options_func; } void *CRYPTO_malloc_locked(int num, const char *file, int line) { void *ret = NULL; if (num <= 0) return NULL; if (allow_customize) allow_customize = 0; if (malloc_debug_func != NULL) { if (allow_customize_debug) allow_customize_debug = 0; malloc_debug_func(NULL, num, file, line, 0); } ret = malloc_locked_ex_func(num, file, line); #ifdef LEVITTE_DEBUG_MEM fprintf(stderr, "LEVITTE_DEBUG_MEM: > 0x%p (%d)\n", ret, num); #endif if (malloc_debug_func != NULL) malloc_debug_func(ret, num, file, line, 1); #ifndef OPENSSL_CPUID_OBJ /* * Create a dependency on the value of 'cleanse_ctr' so our memory * sanitisation function can't be optimised out. NB: We only do this for * >2Kb so the overhead doesn't bother us. */ if (ret && (num > 2048)) { extern unsigned char cleanse_ctr; ((unsigned char *)ret)[0] = cleanse_ctr; } #endif return ret; } void CRYPTO_free_locked(void *str) { if (free_debug_func != NULL) free_debug_func(str, 0); #ifdef LEVITTE_DEBUG_MEM fprintf(stderr, "LEVITTE_DEBUG_MEM: < 0x%p\n", str); #endif free_locked_func(str); if (free_debug_func != NULL) free_debug_func(NULL, 1); } void *CRYPTO_malloc(int num, const char *file, int line) { void *ret = NULL; Loading
crypto/rsa/rsa_lib.c +2 −2 Original line number Diff line number Diff line Loading @@ -231,7 +231,7 @@ void RSA_free(RSA *r) BN_clear_free(r->iqmp); BN_BLINDING_free(r->blinding); BN_BLINDING_free(r->mt_blinding); OPENSSL_free_locked(r->bignum_data); OPENSSL_free(r->bignum_data); OPENSSL_free(r); } Loading Loading @@ -287,7 +287,7 @@ int RSA_memory_lock(RSA *r) j = 1; for (i = 0; i < 6; i++) j += bn_get_top(*t[i]); if ((p = OPENSSL_malloc_locked((off + j) * sizeof(BN_ULONG))) == NULL) { if ((p = OPENSSL_malloc((off + j) * sizeof(BN_ULONG))) == NULL) { RSAerr(RSA_F_RSA_MEMORY_LOCK, ERR_R_MALLOC_FAILURE); return (0); } Loading
include/openssl/crypto.h +0 −18 Original line number Diff line number Diff line Loading @@ -356,9 +356,6 @@ int CRYPTO_is_mem_check_on(void); # define OPENSSL_clear_free(addr, num) CRYPTO_clear_free(addr, num) # define OPENSSL_free(addr) CRYPTO_free(addr) # define OPENSSL_malloc_locked(num) \ CRYPTO_malloc_locked((int)num,__FILE__,__LINE__) # define OPENSSL_free_locked(addr) CRYPTO_free_locked(addr) # define OPENSSL_MALLOC_MAX_NELEMS(type) (((1U<<(sizeof(int)*8-1))-1)/sizeof(type)) const char *SSLeay_version(int type); Loading Loading @@ -456,19 +453,11 @@ void (*CRYPTO_get_dynlock_destroy_callback(void)) (struct CRYPTO_dynlock_value *l, const char *file, int line); /* * CRYPTO_set_mem_functions includes CRYPTO_set_locked_mem_functions -- call * the latter last if you need different functions */ int CRYPTO_set_mem_functions(void *(*m) (size_t), void *(*r) (void *, size_t), void (*f) (void *)); int CRYPTO_set_locked_mem_functions(void *(*m) (size_t), void (*f) (void *)); int CRYPTO_set_mem_ex_functions(void *(*m) (size_t, const char *, int), void *(*r) (void *, size_t, const char *, int), void (*f) (void *)); int CRYPTO_set_locked_mem_ex_functions(void *(*m) (size_t, const char *, int), void (*f) (void *)); int CRYPTO_set_mem_debug_functions(void (*m) (void *, int, const char *, int, int), void (*r) (void *, void *, int, Loading @@ -478,14 +467,9 @@ int CRYPTO_set_mem_debug_functions(void (*m) void CRYPTO_get_mem_functions(void *(**m) (size_t), void *(**r) (void *, size_t), void (**f) (void *)); void CRYPTO_get_locked_mem_functions(void *(**m) (size_t), void (**f) (void *)); void CRYPTO_get_mem_ex_functions(void *(**m) (size_t, const char *, int), void *(**r) (void *, size_t, const char *, int), void (**f) (void *)); void CRYPTO_get_locked_mem_ex_functions(void *(**m) (size_t, const char *, int), void (**f) (void *)); void CRYPTO_get_mem_debug_functions(void (**m) (void *, int, const char *, int, int), void (**r) (void *, void *, int, Loading @@ -493,8 +477,6 @@ void CRYPTO_get_mem_debug_functions(void (**m) void (**f) (void *, int), void (**so) (long), long (**go) (void)); void *CRYPTO_malloc_locked(int num, const char *file, int line); void CRYPTO_free_locked(void *ptr); void *CRYPTO_malloc(int num, const char *file, int line); char *CRYPTO_strdup(const char *str, const char *file, int line); void CRYPTO_free(void *ptr); Loading
include/openssl/symhacks.h +0 −4 Original line number Diff line number Diff line Loading @@ -128,10 +128,6 @@ # define CRYPTO_get_dynlock_destroy_callback CRYPTO_get_dynlock_destroy_cb # undef CRYPTO_get_dynlock_create_callback # define CRYPTO_get_dynlock_create_callback CRYPTO_get_dynlock_create_cb # undef CRYPTO_set_locked_mem_ex_functions # define CRYPTO_set_locked_mem_ex_functions CRYPTO_set_locked_mem_ex_funcs # undef CRYPTO_get_locked_mem_ex_functions # define CRYPTO_get_locked_mem_ex_functions CRYPTO_get_locked_mem_ex_funcs /* Hack some long SSL/TLS names */ # undef SSL_CTX_set_default_verify_paths Loading
util/libeay.num +6 −6 Original line number Diff line number Diff line Loading @@ -1371,8 +1371,8 @@ X509V3_string_free 1506 EXIST::FUNCTION: X509V3_section_free 1507 EXIST::FUNCTION: X509V3_set_ctx 1508 EXIST::FUNCTION: s2i_ASN1_INTEGER 1509 EXIST::FUNCTION: CRYPTO_set_locked_mem_functions 1510 EXIST::FUNCTION: CRYPTO_get_locked_mem_functions 1511 EXIST::FUNCTION: CRYPTO_set_locked_mem_functions 1510 NOEXIST::FUNCTION: CRYPTO_get_locked_mem_functions 1511 NOEXIST::FUNCTION: CRYPTO_malloc_locked 1512 EXIST::FUNCTION: CRYPTO_free_locked 1513 EXIST::FUNCTION: BN_mod_exp2_mont 1514 EXIST::FUNCTION: Loading Loading @@ -2237,8 +2237,8 @@ DIRECTORYSTRING_it 2767 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIA DIRECTORYSTRING_it 2767 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: d2i_OCSP_CRLID 2768 EXIST::FUNCTION: EC_POINT_is_on_curve 2769 EXIST::FUNCTION:EC CRYPTO_set_locked_mem_ex_functions 2770 EXIST:!VMS:FUNCTION: CRYPTO_set_locked_mem_ex_funcs 2770 EXIST:VMS:FUNCTION: CRYPTO_set_locked_mem_ex_funcs 2770 NOEXIST::FUNCTION: CRYPTO_set_locked_mem_ex_functions 2770 NOEXIST::FUNCTION: d2i_KRB5_CHECKSUM 2771 NOEXIST::FUNCTION: ASN1_item_dup 2772 EXIST::FUNCTION: X509_it 2773 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: Loading @@ -2252,8 +2252,8 @@ EC_POINT_get_Jprojective_coordinates_GFp 2779 EXIST:!VMS:FUNCTION:EC EC_POINT_get_Jproj_coords_GFp 2779 EXIST:VMS:FUNCTION:EC ZLONG_it 2780 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: ZLONG_it 2780 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: CRYPTO_get_locked_mem_ex_functions 2781 EXIST:!VMS:FUNCTION: CRYPTO_get_locked_mem_ex_funcs 2781 EXIST:VMS:FUNCTION: CRYPTO_get_locked_mem_ex_funcs 2781 NOEXIST::FUNCTION: CRYPTO_get_locked_mem_ex_functions 2781 NOEXIST::FUNCTION: ASN1_TIME_check 2782 EXIST::FUNCTION: UI_get0_user_data 2783 EXIST::FUNCTION: HMAC_CTX_cleanup 2784 EXIST::FUNCTION: Loading