[ruby-cvs:62446] rhe:r55283 (trunk): openssl: support OpenSSL 1.1.0's new multi-threading API

rhe at ruby-lang.org rhe at ruby-lang.org
Sun Jun 5 21:46:05 JST 2016


rhe	2016-06-05 21:46:05 +0900 (Sun, 05 Jun 2016)

  New Revision: 55283

  https://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=revision&revision=55283

  Log:
    openssl: support OpenSSL 1.1.0's new multi-threading API
    
    * ext/openssl/extconf.rb: Check absence of CRYPTO_lock() to see if the
      OpenSSL has the new threading API. In OpenSSL <= 1.0.2, an application
      had to set locking callbacks to use OpenSSL in a multi-threaded
      environment. OpenSSL 1.1.0 now finds pthreads or Windows threads so we
      don't need to do something special.
      [ruby-core:75225] [Feature #12324]
    
      Also check existence of *_up_ref(). Some structures in OpenSSL have
      a reference counter. We used to increment it with CRYPTO_add() which
      is a part of the old API.
    
    * ext/openssl/openssl_missing.h: Implement *_up_ref() if missing.
    
    * ext/openssl/ossl.c: Don't set locking callbacks if unneeded.
    
    * ext/openssl/ossl_pkey.c, ext/openssl/ossl_ssl.c,
      ext/openssl/ossl_x509cert.c, ext/openssl/ossl_x509crl.c,
      ext/openssl/ossl_x509store.c: Use *_up_ref() instead of CRYPTO_add().

  Modified files:
    trunk/ChangeLog
    trunk/ext/openssl/extconf.rb
    trunk/ext/openssl/openssl_missing.h
    trunk/ext/openssl/ossl.c
    trunk/ext/openssl/ossl_pkey.c
    trunk/ext/openssl/ossl_ssl.c
    trunk/ext/openssl/ossl_x509cert.c
    trunk/ext/openssl/ossl_x509crl.c
    trunk/ext/openssl/ossl_x509store.c


More information about the ruby-cvs mailing list