Created
April 19, 2017 17:48
-
-
Save Dawnthorn/d2804c6cd7bac3e4400f85785ecc826a to your computer and use it in GitHub Desktop.
Patch for ruby-1.8.7-p374 on Ubuntu 16.04 around 4/19/2017
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
diff --git a/ChangeLog b/ChangeLog | |
index 6a36633..614eb99 100644 | |
--- a/ChangeLog | |
+++ b/ChangeLog | |
@@ -1,3 +1,16 @@ | |
+Sat Jul 6 07:37:43 2013 Martin Bosslet <[email protected]> | |
+ | |
+ * ext/openssl/ossl_pkey_ec.c: Ensure compatibility to builds of | |
+ OpenSSL with OPENSSL_NO_EC2M defined, but OPENSSL_NO_EC not | |
+ defined. | |
+ * test/openssl/test_pkey_ec.rb: Iterate over built-in curves | |
+ (and assert their non-emptiness!) instead of hard-coding them, as | |
+ this may cause problems with respect to the different availability | |
+ of individual curves in individual OpenSSL builds. | |
+ [ruby-core:54881] [Bug #8384] | |
+ | |
+ Thanks to Vit Ondruch for providing the patch! | |
+ | |
Thu Jun 27 20:55:23 2013 URABE Shyouhei <[email protected]> | |
* test/openssl/test_ssl.rb: Oops, sorry! | |
diff --git a/ext/openssl/ossl_pkey_ec.c b/ext/openssl/ossl_pkey_ec.c | |
index cbdad3f..d517b58 100644 | |
--- a/ext/openssl/ossl_pkey_ec.c | |
+++ b/ext/openssl/ossl_pkey_ec.c | |
@@ -757,8 +757,10 @@ static VALUE ossl_ec_group_initialize(int argc, VALUE *argv, VALUE self) | |
method = EC_GFp_mont_method(); | |
} else if (id == s_GFp_nist) { | |
method = EC_GFp_nist_method(); | |
+#if !defined(OPENSSL_NO_EC2M) | |
} else if (id == s_GF2m_simple) { | |
method = EC_GF2m_simple_method(); | |
+#endif | |
} | |
if (method) { | |
@@ -811,8 +813,10 @@ static VALUE ossl_ec_group_initialize(int argc, VALUE *argv, VALUE self) | |
if (id == s_GFp) { | |
new_curve = EC_GROUP_new_curve_GFp; | |
+#if !defined(OPENSSL_NO_EC2M) | |
} else if (id == s_GF2m) { | |
new_curve = EC_GROUP_new_curve_GF2m; | |
+#endif | |
} else { | |
rb_raise(rb_eArgError, "unknown symbol, must be :GFp or :GF2m"); | |
}--- ext/openssl/ossl_x509name.c.orig 2017-04-19 10:35:48.341152824 -0700 | |
--- a/ext/openssl/ossl_x509name.c 2017-04-19 10:36:14.589509243 -0700 | |
+++ b/ext/openssl/ossl_x509name.c 2017-04-19 10:36:14.589509243 -0700 | |
@@ -135,7 +135,7 @@ | |
rb_block_call(tmp, rb_intern("each"), 0, 0, ossl_x509name_init_i, args); | |
} | |
else{ | |
- unsigned char *p; | |
+ const unsigned char *p; | |
VALUE str = ossl_to_der_if_possible(arg); | |
X509_NAME *x; | |
StringValue(str); | |
diff --git a/ext/openssl/extconf.rb b/ext/openssl/extconf.rb | |
index 8c04cb5..132d803 100644 | |
--- a/ext/openssl/extconf.rb | |
+++ b/ext/openssl/extconf.rb | |
@@ -104,6 +104,9 @@ | |
have_func("SSLv2_method") | |
have_func("SSLv2_server_method") | |
have_func("SSLv2_client_method") | |
+have_func("SSLv3_method") | |
+have_func("SSLv3_server_method") | |
+have_func("SSLv3_client_method") | |
have_func("TLSv1_1_method") | |
have_func("TLSv1_1_server_method") | |
have_func("TLSv1_1_client_method") | |
diff --git a/ext/openssl/ossl_ssl.c b/ext/openssl/ossl_ssl.c | |
index f7cb7f0..47111f6 100644 | |
--- a/ext/openssl/ossl_ssl.c | |
+++ b/ext/openssl/ossl_ssl.c | |
@@ -109,9 +109,12 @@ static const struct { | |
OSSL_SSL_METHOD_ENTRY(SSLv2_server), | |
OSSL_SSL_METHOD_ENTRY(SSLv2_client), | |
#endif | |
+#if defined(HAVE_SSLV3_METHOD) && defined(HAVE_SSLV3_SERVER_METHOD) && \ | |
+ defined(HAVE_SSLV3_CLIENT_METHOD) | |
OSSL_SSL_METHOD_ENTRY(SSLv3), | |
OSSL_SSL_METHOD_ENTRY(SSLv3_server), | |
OSSL_SSL_METHOD_ENTRY(SSLv3_client), | |
+#endif | |
OSSL_SSL_METHOD_ENTRY(SSLv23), | |
OSSL_SSL_METHOD_ENTRY(SSLv23_server), | |
OSSL_SSL_METHOD_ENTRY(SSLv23_client), |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment