diff options
author | Technorama team <oss-ruby@technorama.net> | 2004-06-27 06:07:47 +0000 |
---|---|---|
committer | Technorama team <oss-ruby@technorama.net> | 2004-06-27 06:07:47 +0000 |
commit | 9a7b2e4fa68cb0ab70390210d2c07491bb294fe1 (patch) | |
tree | 9bfc5b5fb4ecf3bcb66fe3d729c717fd787599c7 | |
parent | 2b0a3d528f5623f28d8f4ecb7682836920e6c391 (diff) | |
download | ruby-openssl-history-9a7b2e4fa68cb0ab70390210d2c07491bb294fe1.tar.gz |
add support for older openssl versions
-rw-r--r-- | extconf.rb | 32 | ||||
-rw-r--r-- | openssl_missing.h | 18 |
2 files changed, 36 insertions, 14 deletions
@@ -67,29 +67,33 @@ if !result end message "=== Checking for OpenSSL features... ===\n" -have_func("HMAC_CTX_copy") -have_func("X509_STORE_get_ex_data") -have_func("X509_STORE_set_ex_data") +have_func("BN_mod_add") +have_func("BN_mod_sqr") +have_func("BN_mod_sub") +have_func("BN_pseudo_rand_range") +have_func("BN_rand_range") +have_func("CONF_get1_default_config_file") +have_func("EVP_CIPHER_CTX_copy") +have_func("EVP_CIPHER_CTX_set_padding") +have_func("EVP_CipherInit_ex") +have_func("EVP_CipherFinal_ex") have_func("EVP_MD_CTX_create") -have_func("EVP_MD_CTX_cleanup") have_func("EVP_MD_CTX_destroy") -have_func("EVP_CIPHER_CTX_copy") -have_func("PEM_def_callback") have_func("EVP_MD_CTX_init") +have_func("EVP_MD_CTX_cleanup") +have_func("EVP_DigestInit_ex") +have_func("EVP_DigestFinal_ex") have_func("HMAC_CTX_init") +have_func("HMAC_CTX_copy") have_func("HMAC_CTX_cleanup") -have_func("EVP_CIPHER_CTX_set_padding") +have_func("HMAC_Init_ex") +have_func("PEM_def_callback") +have_func("X509_STORE_get_ex_data") +have_func("X509_STORE_set_ex_data") have_func("X509_CRL_set_version") have_func("X509_CRL_set_issuer_name") have_func("X509_CRL_sort") have_func("X509_CRL_add0_revoked") -have_func("CONF_get1_default_config_file") -have_func("BN_mod_sqr") -have_func("BN_mod_add") -have_func("BN_mod_sub") -have_func("BN_rand_range") -have_func("BN_pseudo_rand_range") -have_func("CONF_get1_default_config_file") if try_cpp("#define FOO(a, ...) foo(a, ##__VA_ARGS__)\n int x(){FOO(1,2);}\n") $defs.push("-DHAVE_VA_ARGS_MACRO") end diff --git a/openssl_missing.h b/openssl_missing.h index b77c02d..4ad301d 100644 --- a/openssl_missing.h +++ b/openssl_missing.h @@ -63,6 +63,20 @@ EVP_MD_CTX *EVP_MD_CTX_create(void); int EVP_MD_CTX_cleanup(EVP_MD_CTX *ctx); void EVP_MD_CTX_destroy(EVP_MD_CTX *ctx); +#if !defined(HAVE_EVP_DIGESTINIT_EX) +# define EVP_DigestInit_ex(ctx, md, engine) EVP_DigestInit(ctx, md) +#endif +#if !defined(HAVE_EVP_DIGESTFINAL_EX) +# define EVP_DigestFinal_ex(ctx, buf, len) EVP_DigestFinal(ctx, buf, len) +#endif + +#if !defined(HAVE_EVP_CIPHERINIT_EX) +# define EVP_CipherInit_ex(ctx, type, impl, key, iv, enc) EVP_CipherInit(ctx, type, key, iv, enc) +#endif +#if !defined(HAVE_EVP_CIPHERFINAL_EX) +# define EVP_CipherFinal_ex(ctx, outm, outl) EVP_CipherFinal(ctx, outm, outl) +#endif + #if !defined(EVP_CIPHER_name) # define EVP_CIPHER_name(e) OBJ_nid2sn(EVP_CIPHER_nid(e)) #endif @@ -75,6 +89,10 @@ void EVP_MD_CTX_destroy(EVP_MD_CTX *ctx); # define EVP_MD_name(e) OBJ_nid2sn(EVP_MD_type(e)) #endif +#if !defined(HAVE_EVP_HMAC_INIT_EX) +# define HMAC_Init_ex(ctx, key, len, digest, engine) HMAC_Init(ctx, key, len, digest) +#endif + void EVP_MD_CTX_init(EVP_MD_CTX *ctx); void HMAC_CTX_init(HMAC_CTX *ctx); void HMAC_CTX_cleanup(HMAC_CTX *ctx); |