aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* test/unit.rb: show signalnobu2015-07-271-0/+4
| | | | | | | * test/lib/test/unit.rb (Test::Unit::Parallel::Worker#died): show terminated signal when a worker died. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51411 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* symbol.h: memoize hashval for RSymbolnormal2015-07-275-1/+19
| | | | | | | | | | | | | | | | | | | | | | This speeds up the hash function for dynamic symbols. [ruby-core:70129] [Bug #11396], nearly up to Ruby 2.1 levels Power-of-two hash sizing [Feature #9425] speeds up cases where we have a good hash, but this means we can no longer hide behind weak hashes. Unfortunately, object IDs do not hash well, but we may use the extra space in the RSymbol struct to memoize the hash value. Further optimizations should be possible. For now, the st.c APIs force us to calculate rb_str_hash redundantly at dsym registration. * symbol.h (struct RSymbol): add hashval field * symbol.c (dsymbol_alloc): setup hashval field once * hash.c (rb_any_hash): return RSymbol->hashval directly * common.mk: hash.o depends on symbol.h Thanks to Bruno Escherl <bruno@escherl.net> for the bug report [ruby-core:70129] [Bug #11396] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51410 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/openssl/lib/openssl/ssl.rb (module OpenSSL): raise a moretenderlove2015-07-274-0/+41
| | | | | | | | | | 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 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51409 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * 2015-07-28svn2015-07-271-2/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51408 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* fix a typo [ci skip]kazu2015-07-271-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51407 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* fix typos [ci skip]kazu2015-07-271-2/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51406 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test/unit.rb: suppress warningsnobu2015-07-271-3/+4
| | | | | | | * test/lib/test/unit.rb (MiniTest::Unit::TestCase.test_order): get rid of warnings. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51405 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test/unit.rb: --test-order optionnobu2015-07-271-0/+12
| | | | | | | * test/lib/test/unit.rb (setup_options): add --test-order option to override the test order. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51404 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * template/id.h.tmpl (ID2ATTRSET): remove an unused macro.ko12015-07-272-2/+4
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51403 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* fiddle: clean dot dirnobu2015-07-271-1/+1
| | | | | | * ext/fiddle/depend (distclean-libffi): clean dot directory too. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51402 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* fiddle: unexpand LIBFFI_DIRnobu2015-07-271-3/+4
| | | | | | * ext/fiddle/extconf.rb: use LIBFFI_DIR instead of expanding it. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51401 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* common.mk: clean preludesnobu2015-07-271-2/+2
| | | | | | | * common.mk (distclean-local): clean preludes in the build diretory, not by realclean. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51400 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* common.mk: fix clean ordernobu2015-07-271-2/+2
| | | | | | | * common.mk (clean, distclean): clean local files before platform directory, some files may exist there. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51399 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* common.mk: clean-localnobu2015-07-271-3/+3
| | | | | | * common.mk (clean-local): remove added files and a directory. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51398 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* commit missusa2015-07-271-5/+13
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51397 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test/openssl/tset_ssl.rb: run tests on non-Unix platforms.usa2015-07-271-0/+4
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51396 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* io/console/extconf.rb: fix typonobu2015-07-271-2/+2
| | | | | | | * ext/io/console/extconf.rb: fix typo, $nmake is "m" for MS, not "n". check sys/ioctl.h iff necessary for tty. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51395 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * 2015-07-27svn2015-07-271-2/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51394 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Makefile.sub: fix clean-extnobu2015-07-271-6/+5
| | | | | | | * win32/Makefile.sub (clean-ext): fix usage of for /R, and adjust messages as other platforms. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51393 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ossl_ssl.c: fix conditionnobu2015-07-262-0/+7
| | | | | | | * ext/openssl/ossl_ssl.c (ossl_ssl_alpn_protocol): fix condition to compile, needs ALPN to be available. [Feature #9390] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51392 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* vm_insnhelper.c: suppress a warningnobu2015-07-261-1/+1
| | | | | | | * vm_insnhelper.c (vm_setivar): cast to long both side of a conditional expression to suppress a sign-compare warning. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51391 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* revert r31760 and r31761nobu2015-07-262-26/+3
| | | | | | | seems that rb_bug_errno() is called in sigpipe() intentionally. https://gist.github.com/sorah/831169 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51390 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* signal.c: discard SIGSYSnobu2015-07-262-0/+20
| | | | | | | * signal.c (default_handler, Init_signal): discard SIGSYS, ENOSYS should raise a SystemCallError always instead. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51389 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* load.c: use enumnobu2015-07-261-1/+1
| | | | | | | * load.c (rb_construct_expanded_load_path): use enum for the purpose. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51388 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/openssl/ossl_ssl.c (ossl_call_servername_cb): set the ssl contexttenderlove2015-07-263-0/+44
| | | | | | | | | | | object returned by the servername callback on to the socket as an instance variable. If the callback allocated a new context object and didn't keep a reference to it, it could be GC'd out from under the socket object. * test/openssl/test_ssl.rb (class OpenSSL): test for change. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51387 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test/openssl/test_ssl.rb (class OpenSSL): add test coverage aroundtenderlove2015-07-262-0/+134
| | | | | | OpenSSL::SSL::SSLContext#servername_cb git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51386 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * gems/bundled_gems: update latest version of bundled power-assert.hsbt2015-07-262-1/+5
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51385 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test/rubygems/test_gem_remote_fetcher.rb: backport rubygems upstreamhsbt2015-07-252-2/+7
| | | | | | | change for OpenSSL key length. see detail to https://github.com/rubygems/rubygems/pull/1290 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51384 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * properties.svn2015-07-250-0/+0
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51383 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/openssl/lib/openssl/pkey.rb: implement DEFAULT_512 andtenderlove2015-07-256-89/+77
| | | | | | | | | | | | | | | | | | DEFAULT_1024 constants in Ruby. * ext/openssl/lib/openssl/ssl.rb (module OpenSSL): Ask PKey for the default DH callback since it aleady must check whether openssl has been compiled with DH support. * ext/openssl/ossl_pkey_dh.c (OSSL_PKEY_BN): Remove C definitions of DEFAULT_512 and DEFAULT_1024 * ext/openssl/ossl_pkey_dh.c (Init_ossl_dh): ditto * test/openssl/test_pkey_dh.rb (class OpenSSL): add test to ensure the Ruby definitions are the same as the C definitions were. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51382 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/openssl/lib/openssl/ssl.rb (module OpenSSL): supporttenderlove2015-07-254-1/+39
| | | | | | | | | | specifically setting the tmp_dh_callback to nil. * ext/openssl/ossl_ssl.c (Init_ossl_ssl): ditto * test/openssl/test_pair.rb (module OpenSSL): add a test git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51381 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/openssl/lib/openssl/ssl.rb (module OpenSSL): move the defaulttenderlove2015-07-255-25/+40
| | | | | | | | | | | | | | | | | | | tmp_dh_callback Ruby code and set it as a default in `initialize`. * ext/openssl/ossl_pkey_dh.c (static unsigned char DEFAULT_DH_512_GEN): move this constant to Ruby. * ext/openssl/ossl_pkey_dh.c (static unsigned char DEFAULT_DH_1024_GEN): ditto * ext/openssl/ossl_pkey_dh.c (Init_ossl_dh): ditto * ext/openssl/ossl_ssl.c (ossl_tmp_dh_callback): ditto * ext/openssl/ossl_ssl.c (ossl_sslctx_setup): tmp_dh_callback should always be set, so we can remove this conditional git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51380 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test/openssl/test_pair.rb: add a test ensuring that the default DHtenderlove2015-07-252-0/+28
| | | | | | callback is used when no DH callback is specified. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51379 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/openssl/lib/openssl/ssl.rb (module OpenSSL): add missingtenderlove2015-07-252-0/+6
| | | | | | instance variables to squash warnings with alpn. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51378 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * remove trailing spaces.svn2015-07-251-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51377 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * 2015-07-26svn2015-07-251-2/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51376 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/openssl/lib/openssl/ssl.rb (module OpenSSL): movetenderlove2015-07-253-44/+29
| | | | | | | | | | OpenSSL::SSL::SSLContext#initialize implementation to pure Ruby. * ext/openssl/ossl_ssl.c (ossl_sslctx_initialize): ditto * ext/openssl/ossl_ssl.c (Init_ossl_ssl): ditto git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51375 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* random.c: get rid of blockingnobu2015-07-252-1/+13
| | | | | | | | * random.c (fill_random_bytes_syscall): get rid of blocking when no entropy is available. based on the patch by mame in [ruby-core:70114]. [Bug #11395] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51374 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* iseq.c: fix typenobu2015-07-251-5/+6
| | | | | | | * iseq.c (rb_iseq_disasm, iseq_data_to_ary): fix loop counter type for array length. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51373 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* string.c: fill the terminatornobu2015-07-253-5/+26
| | | | | | | * string.c (str_replace_shared_without_enc): fill the terminator of embedded strings in wide char encodings. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51372 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* string.c: remove redundant callnobu2015-07-251-1/+1
| | | | | | | * string.c (str_replace): remove redundant coderage copy as str_replace_shared already copys it. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51371 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* string.c: cmp ordersnobu2015-07-251-13/+14
| | | | | | | * string.c (fstring_cmp, rb_str_hash_cmp): compare lengths first, then encodings, and contents at last. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51370 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * vm_core.h: size should be unsigned.ko12015-07-2410-39/+68
| | | | | | | | | | | | | | | | | | | | | | * rb_call_info_t::index * rb_iseq_constant_body::stack_max * rb_iseq_constant_body::local_size * rb_iseq_constant_body::param::size * rb_iseq_constant_body::local_table_size * rb_iseq_constant_body::is_size * rb_iseq_constant_body::callinfo_size * iseq.h: same for iseq_catch_table::size. * compile.c: catch up these fix. * iseq.c: ditto. * proc.c: ditto. * vm.c: ditto. * vm_args.c: ditto. * vm_eval.c: ditto. * vm_insnhelper.c: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51369 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * vm_core.h: constify rb_iseq_constant_body::line_info_table.ko12015-07-243-4/+11
| | | | | | | | * iseq.c: catch up this fix. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51368 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * vm_core.h: constify rb_iseq_constant_body::param::opt_table andko12015-07-243-96/+116
| | | | | | | | | rb_iseq_constant_body::param::keyword. * compile.c: catch up this fix. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51367 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * 2015-07-25svn2015-07-241-2/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51366 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * vm_core.h: constify rb_iseq_constant_body::catch_table.ko12015-07-245-38/+51
| | | | | | | | | | * compile.c (iseq_set_exception_table): catch up this fix. * iseq.c: ditto. * vm.c (vm_exec): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51365 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* st.c: fix arguments order to comparenobu2015-07-242-5/+11
| | | | | | | | * st.c (EQUAL, st_delete_safe): fix arguments order to compare function, searching key is the first and stored key is the second always. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51364 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* string.c: fstring must not be a shared stringnobu2015-07-242-4/+12
| | | | | | | | * string.c (fstr_update_callback): fstring must not be a shared string, or the content without RSTRING_FSTR may be freed. [ruby-dev:49188] [Bug #11386] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51363 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test/rinda/test_rinda.rb (RingIPv6#prepare_ipv6): prevent to usengoto2015-07-242-3/+18
| | | | | | | | | | | | | | | | | IPv6 loopback interface for Rinda::TestRingFinger#test_make_socket_ipv6_multicast and Rinda::TestRingFinger#test_make_socket_ipv6_multicast_hops. The tests are skipped if there are no IPv6 devices other than the loopback device. [Bug #11394] [ruby-dev:49199] * test/rinda/test_rinda.rb (test_make_socket_ipv6_multicast): ditto for Rinda::TestRingServer#test_make_socket_ipv6_multicast. * test/rinda/test_rinda.rb (test_ring_server_ipv6_multicast): ditto for Rinda::TestRingServer#test_ring_server_ipv6_multicast. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51362 b2dd03c8-39d4-4d8f-98ff-823fe69b080e