diff options
author | shyouhei <shyouhei@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2011-06-26 08:58:06 +0000 |
---|---|---|
committer | shyouhei <shyouhei@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2011-06-26 08:58:06 +0000 |
commit | 488fcde070191ca5b455ebcb6aaf51575519b617 (patch) | |
tree | d9ce382a403b3491a0d62daa7287429bc8440665 /ext | |
parent | 46ae2d907e592e6f0cd14f309cf13181853bfb38 (diff) |
merge revision(s) 31346,31528:
* ext/openssl/extconf.rb: Should check SSLv2_*method.
openssl compiled with "no-ssl2" the extconf don't fail
when running `make' having this compilation errors.
Patched by Laurent Arnoud. fixes #4562, #4556
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8_7@32234 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ext')
-rw-r--r-- | ext/openssl/extconf.rb | 6 | ||||
-rw-r--r-- | ext/openssl/ossl_ssl.c | 3 |
2 files changed, 9 insertions, 0 deletions
diff --git a/ext/openssl/extconf.rb b/ext/openssl/extconf.rb index 6554eba653..3f9ef511f3 100644 --- a/ext/openssl/extconf.rb +++ b/ext/openssl/extconf.rb @@ -100,6 +100,12 @@ have_func("OPENSSL_cleanse") if try_compile("#define FOO(...) foo(__VA_ARGS__)\n int x(){FOO(1);FOO(1,2);FOO(1,2,3);}\n") $defs.push("-DHAVE_VA_ARGS_MACRO") end +have_func("SSLv2_method") +have_func("SSLv2_server_method") +have_func("SSLv2_client_method") +unless have_func("SSL_set_tlsext_host_name", ['openssl/ssl.h']) + have_macro("SSL_set_tlsext_host_name", ['openssl/ssl.h']) && $defs.push("-DHAVE_SSL_SET_TLSEXT_HOST_NAME") +end if have_header("openssl/engine.h") have_func("ENGINE_add") have_func("ENGINE_load_builtin_engines") diff --git a/ext/openssl/ossl_ssl.c b/ext/openssl/ossl_ssl.c index 1ee391c794..668408fd28 100644 --- a/ext/openssl/ossl_ssl.c +++ b/ext/openssl/ossl_ssl.c @@ -101,9 +101,12 @@ struct { OSSL_SSL_METHOD_ENTRY(TLSv1), OSSL_SSL_METHOD_ENTRY(TLSv1_server), OSSL_SSL_METHOD_ENTRY(TLSv1_client), +#if defined(HAVE_SSLV2_METHOD) && defined(HAVE_SSLV2_SERVER_METHOD) && \ + defined(HAVE_SSLV2_CLIENT_METHOD) OSSL_SSL_METHOD_ENTRY(SSLv2), OSSL_SSL_METHOD_ENTRY(SSLv2_server), OSSL_SSL_METHOD_ENTRY(SSLv2_client), +#endif OSSL_SSL_METHOD_ENTRY(SSLv3), OSSL_SSL_METHOD_ENTRY(SSLv3_server), OSSL_SSL_METHOD_ENTRY(SSLv3_client), |