557 Commits
Author SHA1 Message Date
usa 289889a654 merge revision(s) 54258: [Backport #12182]
* ext/openssl/extconf.rb: check SSL_CTX_set_next_proto_select_cb
	  function rather than OPENSSL_NPN_NEGOTIATED macro. it exists
	  even if it is disabled by OpenSSL configuration.
	  [ruby-core:74384] [Bug #12182]

	* ext/openssl/ossl_ssl.c: update #ifdef(s) as above.

	* test/openssl/test_ssl.rb: skip NPN tests if NPN is disabled.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@54397 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-03-29 12:17:03 +00:00
usa 32299d987b merge revision(s) 54097: [Backport #12069]
* ext/openssl/ossl_ssl.c (ossl_sslctx_setup): document as MT-unsafe
	  [ruby-core:73803] [Bug #12069]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@54282 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-03-25 09:36:13 +00:00
usa d82440ff9c merge revision(s) 46108,46209,46223,46297,48223,48224: [Backport #12168]
* test/openssl: Join threads.

	* ext/openssl/ossl_ssl.c (ossl_ssl_close): Fix sync_close to work
	  when SSL is not started.
	  This fix the fd leak by test_https_proxy_authentication in
	  test/net/http/test_https_proxy.rb.

	* ext/openssl/lib/openssl/ssl.rb (SSLServer#accept): Close a socket
	  if any exception occur. 

	* test/ruby/envutil.rb (assert_join_threads): New assertion to
	  join multiple threads without exceptions.

	* test/openssl/utils.rb (start_server, server_loop): Use a
	  pipe to stop server instead of shutdown/close a listening socket.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@54272 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-03-25 09:06:16 +00:00
usa dacb9169c3 merge revision(s) 52556,52557: [Backport #10735]
* ext/openssl/ossl_pkey.c: Merge ruby/openssl@b9ea8ef [Bug #10735]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@52643 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-11-18 11:39:53 +00:00
usa 936a27758f merge revision(s) 51722,51724: [Backport #11376]
* ext/openssl/ossl_ssl.c (static const struct): Only add SSLv3 support
	  if the SSL library supports it.  Thanks Kurt Roeckx <kurt@roeckx.be>
	  [Bug #11376]

	* ext/openssl/extconf.rb: check for SSLv3 support in the SSL
	  implementation.

	* test/openssl/test_ssl.rb (class OpenSSL): Skip tests that need SSLv3
	  if there is no support.

	* ext/openssl/ossl_ssl.c (ossl_ssl_method_tab): Only add SSLv3 support


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@52642 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-11-18 11:34:19 +00:00
usa 9008fda66f merge revision(s) 52227,52228: [Backport #11369]
* ext/openssl/ossl_ssl.c (ssl_npn_select_cb): explicitly raise error
	  in ext/openssl instead of OpenSSL itself because LibreSSL
	  silently truncate the selected protocol name by casting the length
	  from int to unsigned char. [Bug #11369]
	  Patch by Jeremy Evans <merch-redmine@jeremyevans.net>


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@52356 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-10-29 14:07:59 +00:00
usa d3cd7b4813 merge revision(s) 51409,51453: [Backport #10910]
* ext/openssl/lib/openssl/ssl.rb (module OpenSSL): raise a more
	  helpful exception when verifying the peer connection and an
	  anonymous cipher has been selected. [ruby-core:68330] [Bug #10910]
	  Thanks to Chris Sinjakli <chris@sinjakli.co.uk> for the patch.

	* test/openssl/test_ssl.rb (class OpenSSL): test for change

	* .travis.yml: update libssl before running tests. 
	  Thanks to Chris Sinjakli <chris@sinjakli.co.uk> for figuring out the
	  travis settings!


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@51608 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-08-17 08:30:08 +00:00
usa 7d7ed2c231 merge revision(s) 50646: [Backport #11185]
* ext/openssl/ossl_asn1.c (ossl_asn1_traverse, ossl_asn1_decode,
	  ossl_asn1_decode_all): use RB_GC_GUARD instead of volatile
	  [ruby-core:69371] [Bug #11185]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@50808 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-06-09 07:28:56 +00:00
usa e3252606af merge revision(s) 50292: [Backport #9644]
* ext/openssl/lib/openssl/ssl.rb: stricter hostname verification
	  following RFC 6125. with the patch provided by Tony Arcieri and
	  Hiroshi Nakamura [ruby-core:61545] [Bug #9644]

	* test/openssl/test_ssl.rb: add tests for above.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@50296 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-04-13 13:20:40 +00:00
nagachika 2558571db1 merge revision(s) r48923: [Backport #10633]
* ext/openssl/ossl_cipher.c (ossl_cipher_update_long): update huge
	  data gradually not to exceed INT_MAX.  workaround of OpenSSL API
	  limitation.  [ruby-core:67043] [Bug #10633]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@49383 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-01-22 11:51:16 +00:00
nagachika c8137d676a merge revision(s) r45274,r45278,r45280,r48097: [Backport #9424] [Backport #9640]
* lib/openssl/ssl.rb: Explicitly whitelist the default
	  SSL/TLS ciphers. Forbid SSLv2 and SSLv3, disable
	  compression by default.
	  Reported by Jeff Hodges.
	  [ruby-core:59829] [Bug #9424]

	* test/openssl/test_ssl.rb: Reuse TLS default options from
	  OpenSSL::SSL::SSLContext::DEFAULT_PARAMS.

	* ext/openssl/lib/openssl/ssl.rb (DEFAULT_PARAMS): override
	  options even if OpenSSL::SSL::OP_NO_SSLv3 is not defined.
	  this is pointed out by Stephen Touset. [ruby-core:65711] [Bug #9424]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@48098 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-22 14:14:52 +00:00
nagachika 4c5d8bebe8 merge revision(s) r45863,r45871: [Backport #9750]
* ext/openssl/lib/openssl/ssl.rb (OpenSSL::SSL::SSLServer#accept):
	  Consider Socket#accept as well as TCPServer#accept.
	  Reported by Sam Stelfox.  [ruby-core:62064] [Bug #9750]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@46613 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-06-29 17:26:54 +00:00
nagachika 85a3ceafec merge revision(s) r45540: [Backport #9911]
ossl.c: OPENSSL_LIBRARY_VERSION

	* ext/openssl/ossl.c (Init_openssl): add constant OPENSSL_LIBRARY_VERSION
  which tells the version running OpenSSL.  [EXPERIMENTAL]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@46525 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-06-23 16:03:42 +00:00
nagachika b6fe6d591c merge revision(s) r45701: [Backport #9771]
* ext/openssl/ossl_asn1.c (ossl_asn1_initialize): SYMID on a value
	  other than Symbol is an undefined behavior.  fix up r31699.
	  [ruby-core:62142] [Bug #9771]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@46214 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-05-28 14:44:07 +00:00
nagachika 01cf2127bd merge revision(s) r45595: [Backport #9743] [Backport #9745]
* ext/openssl/ossl_pkey.c (ossl_pkey_verify): as EVP_VerifyFinal()
	  finalizes only a copy of the digest context, the context must be
	  cleaned up after initialization by EVP_MD_CTX_cleanup() or a
	  memory leak will occur.  [ruby-core:62038] [Bug #9743]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@45821 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-05-04 17:44:00 +00:00
nagachika 49fed34108 merge revision(s) r45271: [Backport #9592] [Backport #9671]
* ext/openssl/ossl.c (ossl_make_error): check NULL for unknown
	  error reasons with old OpenSSL, and insert a colon iff formatted
	  message is not empty.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@45778 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-05-01 15:23:08 +00:00
naruse 48ccb14404 merge revision(s) 44584,44587,44945: [Backport #9243]
* ext/openssl/ossl_pkey_dh.c: Fixed typo by Sandor Szテシcs [Bug #9243]

	* ext/openssl/ossl_pkey_dh.c: Fixed typo by Sandor Sz?cs [Bug #9243]

	* ext/openssl/ossl_pkey_dh.c: Fixed typo by Sandor Szuecs [Bug #9243]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@45113 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-02-22 05:56:02 +00:00
naruse 22ce47745b merge revision(s) 44579: [Backport #9500]
ext: use PRIsVALUE for rb_raise and rb_warn

	* ext/bigdecimal/bigdecimal.c (BigDecimal_new): use PRIsVALUE for
  rb_raise() and rb_warn().
	* ext/openssl/ossl_cipher.c (ossl_cipher_init): ditto.
	* ext/racc/cparse/cparse.c (extract_user_token): ditto.
	* ext/syslog/syslog.c (mSyslog_log): ditto.

	* ext/openssl/ossl.h (OSSL_Check_Kind, OSSL_Check_Instance): now
  ossl_raise() also accepts PRIsVALUE.
	* ext/openssl/ossl_asn1.c (ossl_asn1_default_tag):

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@44904 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-02-10 13:35:07 +00:00
naruse 565d568a45 merge revision(s) 44572,44578,44591,44592: [Backport #9490]
ext: use rb_sprintf() and rb_vsprintf() with PRIsVALUE

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@44903 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-02-10 11:45:14 +00:00
naruse 2b4becd6bc merge revision(s) 44402: [Backport #9301]
* ext/openssl/ossl_ssl.c (Init_ossl_ssl): Declare a constant
	  `OP_MSIE_SSLV2_RSA_PADDING` only if the macro is defined.  The
	  `SSL_OP_MSIE_SSLV2_RSA_PADDING` has been removed from latest
	  snapshot of OpenSSL 1.0.1.  [Fixes GH-488]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@44710 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-01-27 07:47:11 +00:00
a_matsuda 8920ac2972 * doc/contributing.rdoc: [DOC] Fix typo in comments by @dvsuresh [Fixes GH-475]
* ext/openssl/ossl_ssl.c: ditto.
* test/ruby/test_m17n.rb:  ditto.

https://github.com/ruby/ruby/pull/475
[ci-skip]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44148 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-12-12 07:21:19 +00:00
a_matsuda e1db3605fd * ext/win32ole/sample/olegen.rb: Fix typo
* ext/openssl/ossl_asn1.c:  [DOC] Fix typo
* lib/webrick/accesslog.rb:  ditto
* template/yarvarch.ja:  ditto

s/recieve/receive/

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44134 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-12-11 03:58:07 +00:00
nobu d5526f3fe5 openssl/digest.rb: check by lambda
* ext/openssl/lib/openssl/digest.rb (initialize): check argument
  size by lambda.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44116 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-12-10 07:16:03 +00:00
nobu 0ede9926f7 openssl/digest.rb: get rid of deprecated class
* ext/openssl/lib/openssl/digest.rb (digest, hexdigest): create
  new instance and call on it directly, to get rid of deprecated
  class OpenSSL::Digest::Digest.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44115 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-12-10 07:16:01 +00:00
zzak 99e04c1345 * ext/openssl/lib/openssl/digest.rb: Deprecate OpenSSL::Digest::Digest
[Fixes GH-446] https://github.com/ruby/ruby/pull/446


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44101 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-12-09 19:56:45 +00:00
drbrain e45f56d5db * ext/openssl/lib/openssl/buffering.rb: Return ASCII-8BIT strings from
SSLSocket methods.  [ruby-trunk - Bug #9028]
* test/openssl/test_ssl.rb:  Test for the above.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43964 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-12-03 01:44:41 +00:00
zzak c4487ee06b * ext/openssl/lib/openssl/buffering.rb: Fix warning in copyright
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43940 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-12-01 02:58:50 +00:00
nobu 7566c49068 ruby/ruby.h: RB_BLOCK_CALL_FUNC_ARGLIST
* include/ruby/ruby.h (RB_BLOCK_CALL_FUNC_ARGLIST): for declaration
  argument list of rb_block_call_func.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43910 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-11-29 07:59:14 +00:00
nobu e71bb2c54e openssl/buffering.rb: call super
* ext/openssl/lib/openssl/buffering.rb (OpenSSL::Buffering#initialize):
  initialize of a module should pass arguments to super.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43774 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-11-22 03:17:16 +00:00
zzak f0dfcefa48 * ext/openssl/lib/openssl/buffering.rb: [DOC] Fix HEREDOC comment for
OpenSSL::Buffering which breaks overview because of RDoc bug


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43750 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-11-21 06:37:20 +00:00
zzak 1d8d8ff57f * ext/openssl/ossl_engine.c: [DOC] Documentation for OpenSSL::Engine
This patch is based off work by @vbatts in GH-436 completing the
  documentation for this class and its methods.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43742 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-11-21 04:37:14 +00:00
zzak 0c873e97da * ext/openssl/lib/openssl/buffering.rb: Remove unused arguments from
OpenSSL::Buffering.new [Fixes GH-445]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43740 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-11-21 01:46:48 +00:00
nagachika 18358ad8cd Squashed commit of the following:
commit 6895f38bfc3c0ad6bd212b8f9acc3c71384dfcb7
Author: Chikanaga Tomoyuki <nagachika00@gmail.com>
Date:   Thu Nov 14 00:14:00 2013 +0900

    * ChangeLog: fix a typo at r43666

    * ext/openssl/ossl_asn1.c: ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43670 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-11-13 15:14:59 +00:00
zzak 1dd8260dfa * ext/openssl/ossl_config.c: [DOC] Document the following:
- OpenSSL::ConfigError
  - OpenSSL::Config::DEFAULT_CONFIG_FILE

  Patched by @vbatts via GH-436
  https://github.com/ruby/ruby/pull/436


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43667 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-11-13 09:34:08 +00:00
zzak 49a9845405 * ext/openssl/ossl_asn1.c: [DOC] Document parts of
OpenSSL::ASN1::ObjectId included a fix for the class overview, which
  previously showed the documentation for Constructive due to missing
  ObjectId overview. This patch also includes a note for Primative.

  Based on a patch by @vbatts via GH-436
  https://github.com/ruby/ruby/pull/436


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43666 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-11-13 09:06:17 +00:00
zzak 75cef5054b * ext/openssl/lib/openssl/config.rb: In #parse use +string+ for +str+
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43665 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-11-13 08:21:36 +00:00
zzak 33b63fcf93 * ext/openssl/lib/openssl/*.rb: [DOC] Document the following:
- Integer#to_bn
  - OpenSSL::Buffering module
  - Document deprecated OpenSSL::Digest::Digest compatibility class
  - OpenSSL::Config

  These changes were based on a patch by @vbatts via GH-436
  https://github.com/ruby/ruby/pull/436


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43663 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-11-13 08:15:48 +00:00
nobu 8f675f0b89 openssl: work around of dependency
* ext/openssl/depend (ossl.o): work around of dependency of
  thread_native.h, which depends on headers by THREAD_MODEL.
  [ruby-dev:47777]
* ext/openssl/extconf.rb: need THREAD_MODEL.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43451 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-28 06:32:24 +00:00
akr 674f14a0bc * common.mk, ext/objspace/depend, ext/coverage/depend,
ext/-test-/debug/depend, ext/date/depend: Update dependencies.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43445 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-28 03:43:17 +00:00
zzak 12fdf4bc92 * ext/openssl/ossl.c: [DOC] typo in example by @zoranzaric
[Fixes GH-401] https://github.com/ruby/ruby/pull/401


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43054 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-09-26 13:01:54 +00:00
zzak 0f448061de * ext/openssl/lib/openssl/ssl.rb: [DOC] Document OpenSSL::SSLServer
Based on a patch by Rafal Lisowski [Bug #7348]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42995 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-09-20 15:24:03 +00:00
drbrain 00aff4d8bc * ext/openssl/ossl_ssl.c (ossl_ssl_read): Replace duplicate
wait_writable with wait_readable.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42711 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-08-27 19:54:53 +00:00
tenderlove 988ca60565 * io.c (io_read_nonblock): support non-blocking reads without raising
exceptions. As in: `io.read_nonblock(size, exception: false)`
  [ruby-core:38666] [Feature #5138]
* ext/openssl/ossl_ssl.c (ossl_ssl_read_internal): ditto
* ext/stringio/stringio.c (strio_sysread): ditto
* io.c (rb_io_write_nonblock): support non-blocking writes without
  raising an exception.
* ext/openssl/ossl_ssl.c (ossl_ssl_write_internal): ditto
* test/openssl/test_pair.rb (class OpenSSL): tests
* test/ruby/test_io.rb (class TestIO): ditto
* test/socket/test_nonblock.rb (class TestSocketNonblock): ditto
* test/stringio/test_stringio.rb (class TestStringIO): ditto

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42695 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-08-26 22:41:44 +00:00
zzak aecd5b67d5 * ext/openssl/ossl_hmac.c: [DOC] Documentation for OpenSSL::HMAC
based on a patch by @repah documenting-ruby/ruby#14
  https://github.com/documenting-ruby/ruby/pull/14


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42416 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-08-06 23:32:42 +00:00
ko1 dda113e3ff * ext/openssl/ossl.c: support additional three thread synchronization
functions. [ruby-trunk - Bug #8386]



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42159 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-07-25 03:39:50 +00:00
nobu 9240eb3dfe ossl.c: suppress warning
* ext/openssl/ossl.c (Init_ossl_locks): to suppress shorten-64-to-32
  warning, re-apply part of r41879.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42149 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-07-24 06:27:49 +00:00
naruse 4c4347e698 * ext/openssl/extconf.rb (CRYPTO_THREADID): check exist or not.
* ext/openssl/ossl.c (ossl_thread_id): use rb_nativethread_self()
  implemented at r42137 to allow threads which doesn't associated with
  Ruby thread to use openssl functions.

* ext/openssl/ossl.c (Init_ossl_locks): If CRYPTO_THREADID is defined
  (OpenSSL 1.0.0 or later has it) use CRYPTO_THREADID_set_callback()
  instead of CRYPTO_set_id_callback() because its argument is
  unsigned long; it may cause id collision on mswin64
  whose sizeof(unsigned long) < sizeof(void*).
  http://www.openssl.org/docs/crypto/threads.html

* ext/openssl/ossl.c (ossl_threadid_func): defined for above.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42141 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-07-23 14:19:51 +00:00
ko1 55201cac9e * ext/openssl/ossl.c: use system native (system provided)
thread locking APIs added by last commit.
  This patch fixes [Bug #8386].
  "rb_mutex_*" APIs control only "Ruby" threads.
  Not for native threads.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42135 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-07-23 09:59:28 +00:00
drbrain bdbef403a1 * ext/openssl/ossl_asn1.c (asn1time_to_time): Implement YYMMDDhhmmZ
format for ASN.1 UTCTime.  [ruby-trunk - Bug #8664]
* test/openssl/test_asn1.rb:  Test for the above.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42126 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-07-22 23:44:53 +00:00
nobu 84c08bc3b8 ossl.c: fix argument type
* ext/openssl/ossl.c (ossl_lock_callback): fix argument type, and
  remove redundant casts.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41882 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-07-10 02:19:54 +00:00