Bug #12381
closed
ext/openssl classes' dup/clone don't work well
Added by rhenium (Kazuki Yamaguchi) almost 8 years ago.
Updated over 7 years ago.
Description
They don't copy the underlying C level structures.
ssl_ctx = OpenSSL::SSL::SSLContext.new
ssl_ctx.ciphers = "aNULL"
p ssl_ctx.ciphers
# => [["ADH-AES256-GCM-SHA384", "TLSv1.2", 256, 256], .. aNULL cipher suites ..]
new_ctx = ssl_ctx.dup
p new_ctx.ciphers
# => [["ECDHE-ECDSA-AES256-GCM-SHA384", "TLSv1.2", 256, 256], .. the default cipher suites ..]
Files
- Status changed from Open to Closed
Applied in changeset r55454.
openssl: implement initialize_copy method for PKey classes
-
ext/openssl/ossl_pkey_dh.c, ext/openssl/ossl_pkey_dsa.c,
ext/openssl/ossl_pkey_ec.c, ext/openssl/ossl_pkey_rsa.c: Implement
initialize_copy method for OpenSSL::PKey::*.
[ruby-core:75504] [Bug #12381]
-
test/openssl/test_pkey_dh.rb, test/openssl/test_pkey_dsa.rb,
test/openssl/test_pkey_ec.rb, test/openssl/test_pkey_rsa.rb: Test they
actually copy the OpenSSL objects, and modifications to cloned object
don't affect the original object.
- Backport changed from 2.1: UNKNOWN, 2.2: UNKNOWN, 2.3: UNKNOWN to 2.1: WONTFIX, 2.2: REQUIRED, 2.3: REQUIRED
SSLContext#dup is not fixed yet?
$ RBENV_VERSION=2.4.0-dev ruby -v -ropenssl -e 'c = OpenSSL::SSL::SSLContext.new; c.ciphers = "aNULL"; p c.ciphers == c.dup.ciphers'
ruby 2.4.0dev (2016-08-03 trunk 55810) [x86_64-linux]
false
Also available in: Atom
PDF
Like0
Like0Like0Like0Like0