Commit graph

5121 commits

Author SHA1 Message Date
akr
4c1ea85dd8 * test/dbm/test_dbm.rb (test_dbmfile_suffix): DBM::VERSION should
be Berkeley DB if foo.db is created by DBM.open.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34674 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-18 04:54:09 +00:00
akr
48a97f2c94 * test/dbm/test_dbm.rb (test_dbmfile_suffix): test dbm file suffix.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34673 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-18 04:41:15 +00:00
tenderlove
ace46301d8 * lib/fileutils.rb: refactored FileUtil methods to use the
`define_command` API.  Patch from 7rans <transfire@gmail.com>
* test/fileutils/test_dryrun.rb: corresponding test refactoring
* test/fileutils/test_nowrite.rb: ditto
* test/fileutils/test_verbose.rb: ditto

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34669 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-17 17:59:47 +00:00
naruse
0424e152c6 * Merge Onigmo-5.13.1. [ruby-dev:45057] [Feature #5820]
https://github.com/k-takata/Onigmo
  cp reg{comp,enc,error,exec,parse,syntax}.c reg{enc,int,parse}.h
  cp oniguruma.h
  cp tool/enc-unicode.rb
  cp -r enc/

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34663 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-17 07:42:23 +00:00
nobu
41e331cc36 * enum.c: move work variables to objects not to let called blocks
access stack area out of scope.  [Bug #5801]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34661 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-17 04:24:48 +00:00
akr
d698ea8991 * test/dbm/test_dbm.rb: fix skip condition for libgdbm 1.8.0 or prior.
reported by Bohuslav Kabrda.
  [ruby-core:42685] [Bug #6036]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34646 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-16 15:25:06 +00:00
nobu
fde3c421be * insns.def (splatarray): make new array if flag is set.
* compile.c (iseq_compile_each): make new array with
  splat. [ruby-core:21901][Feature #1125]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34633 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-15 20:41:38 +00:00
nagachika
2910f6736e * cont.c (rb_fiber_reset_root_local_storage): add a new function to
restore rb_thread_t::local_storage.

* cont.c (rb_obj_is_fiber): add a new function to tell finalizer to
  prevent fibers from destroy.

* gc.c (rb_objspace_call_finalizer): don't sweep fibers at finalizing
  objspace.

* internal.h (rb_fiber_reset_root_local_storage, rb_obj_is_fiber):
  add prototypes.

* vm.c (ruby_vm_destruct): reset main thread's local_storage before
  free main thread. rb_thread_t::local_storage is replaced by fiber's
  local storage when forked from fiber, and it should be already freed
  when the fiber was destroyed.

* test/ruby/test_fiber.rb (test_fork_from_fiber): add test for fork
  from fiber.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34629 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-15 14:00:11 +00:00
nobu
fa65df0d08 * ext/fiddle/closure.c (callback): same as r34506.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34626 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-15 10:52:31 +00:00
naruse
df5867a2a7 Add test for r34624.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34625 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-15 09:47:22 +00:00
naruse
1c923eb230 Set encoding as ASCII-8BIT. [Bug #6027]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34605 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-14 20:13:27 +00:00
knu
23473d1f9f * vm_method.c (rb_method_boundp):
obj.respond_to?(:a_protected_method) should return false because
  calling a protected method may cause NoMethodError if called
  from outside the class inheritance tree.  Kernel#respond_to? is
  mostly used to test if it is safe to call a method, so the false
  positive should be avoided. [ruby-dev:40461] [ruby-dev:41739]
  [ruby-dev:41837]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34582 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-13 14:02:26 +00:00
nobu
df77202b37 * io.c (io_setstrbuf): defer resizing buffer string until data is
read actually.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34580 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-13 09:30:40 +00:00
drbrain
691a3a2bdc * vm_eval.c (check_funcall): Call respond_to? with matching arity for
legacy single-argument implementations.  [ruby-trunk - Bug #6000]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34564 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-11 19:15:36 +00:00
nobu
cd339692ef * compile.c (defined_expr): guard the whole expression.
[ruby-dev:45021][Bug#5786]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34555 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-11 03:04:23 +00:00
drbrain
1516f8eb9f * ext/zlib/zlib.c (rb_inflate_add_dictionary): Added
Zlib::Inflate#add_dictionary to allow users to pre-specify
  for using during #inflate.  [ruby-trunk - Feature #5937]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34553 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-11 00:37:44 +00:00
drbrain
403dc5357d * ext/zlib/zlib.c (do_inflate): Inflate more data if buffered data
exists.  Allows Zlib::Inflate#set_dictionary to work.
  [ruby-trunk - Bug #5929]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34552 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-11 00:29:52 +00:00
tenderlove
59a1344808 * ext/psych/parser.c: removed external encoding setter, allow parser
to be reused.
* ext/psych/lib/psych/parser.rb: added external encoding setter.
* test/psych/test_parser.rb: test parser reuse

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34527 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-09 18:44:27 +00:00
nobu
5ee0135a2f * test/ruby/envutil.rb (assert_no_memory_leak): new assertion to
check memory leak by invoking child ruby process and watch its
  memory size.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34520 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-09 15:47:11 +00:00
nagachika
42144fc3bb * test/pathname/test_pathname.rb (test_binread): add assertion to
check encoding.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34516 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-09 14:44:10 +00:00
usa
71837f629e * test/ruby/memory_status.rb (Memory::Win32): 64bit support.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34508 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-09 07:11:23 +00:00
naruse
7bde0843a2 * test/pathname/test_pathname.rb: not read but binread.
patched by Benoit Daloze, [ruby-core:42440] [Bug #5984]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34499 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-08 19:13:14 +00:00
naruse
7fa3f1c5a9 FreeBSD needs multiple -o.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34497 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-08 18:29:52 +00:00
nobu
fc018c9b34 * test/-ext-/string/test_modify_expand.rb: test for r34492.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34493 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-08 13:35:27 +00:00
naruse
54b90b7be8 Fix condition.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34490 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-08 11:47:00 +00:00
naruse
f75a30776c "street" for X509 Name is not supported before 0.9.8m.
It is added openssl/crypto/objects/obj_mac.h 1.83.
http://cvs.openssl.org/rlog?f=openssl/crypto/objects/obj_mac.h

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34488 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-08 09:49:36 +00:00
nahi
3ff2f9f3a3 * ext/openssl/ossl_ssl.c: Add SSL constants and allow to unset SSL
option to prevent BEAST attack. See [Bug #5353].

  In OpenSSL, OP_DONT_INSERT_EMPTY_FRAGMENTS is used to prevent
  TLS-CBC-IV vulunerability described at
  http://www.openssl.org/~bodo/tls-cbc.txt
  It's known issue of TLSv1/SSLv3 but it attracts lots of attention
  these days as BEAST attack. (CVE-2011-3389)

  Until now ossl sets OP_ALL at SSLContext allocation and call
  SSL_CTX_set_options at connection.  SSL_CTX_set_options updates the
  value by using |= so bits set by OP_ALL cannot be unset afterwards.

  This commit changes to call SSL_CTX_set_options only 1 time for each
  SSLContext. It sets the specified value if SSLContext#options= are
  called and sets OP_ALL if not.

  To help users to unset bits in OP_ALL, this commit also adds several
  constant to SSL such as
  OpenSSL::SSL::OP_DONT_INSERT_EMPTY_FRAGMENTS.  These constants were
  not exposed in Ruby because there's no way to unset bits in OP_ALL
  before.

  Following is an example to enable 0/n split for BEAST prevention.

    ctx.options = OP_ALL & ~OP_DONT_INSERT_EMPTY_FRAGMENTS

* test/openssl/test_ssl.rb: Test above option exists.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34482 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-08 05:27:14 +00:00
emboss
45706e70c9 * ext/openssl/ossl_x509name.c: Use the numerical representation of
unrecognized OIDs instead of the sn "UNDEF".

* test/openssl/test_x509name.rb: Add tests for the fixed behavior.

  Patch provided by Paul Kehrer, thanḱ you!
  [ruby-core:41769] [Feature #5787]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34481 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-08 04:19:33 +00:00
nobu
cf1a22fdf9 * st.c (st_update): table can be unpacked in the callback.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34460 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-07 05:52:15 +00:00
nobu
97c3c98762 * st.c (st_foreach): should not yield same pair when checking
after unpacking.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34456 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-07 05:29:20 +00:00
naruse
b346d7a69c * encoding.c (rb_enc_compatible): return ASCII-8BIT even if 2nd string
is ascii only string. [ruby-core:42354] [Bug #5968]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34433 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-05 15:17:50 +00:00
kazu
ca0bb51887 * test/net/http/test_https_proxy.rb
(HTTPSProxyTest#test_https_proxy_authentication):
  add workaround to avoid to hang up without openssl.
  see #5786

* test/resolv/test_dns.rb (TestResolvDNS#test_query_ipv4_address):
  ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34421 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-02 15:55:07 +00:00
kou
92cecf79b4 * lib/rexml/parsers/baseparser.rb, test/rexml/test_namespace.rb:
fix the default xml namespace URI validation.
  Reported by Miho Hiramatsu. Thanks!!!


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34419 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-02 12:42:27 +00:00
naruse
2a6ccf6c13 * io.c (argf_next_argv): reset ARGF.next_p on ARGV.replace.
r34409 breaks replacing ARGV.
  [ruby-dev:45160] [Bug #5952]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34417 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-02 08:52:55 +00:00
usa
a267b9512a * test/net/http/test_http.rb (TestNetHTTPKeepAlive#*): remove debug
output.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34416 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-02 07:22:17 +00:00
nobu
dc82e7e749 * test/ruby/test_argf.rb (test_readlines_twice_tty): removed incomplete test committed accidentally.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34412 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-01 01:50:52 +00:00
nobu
0470ce53c5 * io.c (argf_close): skip stdin, which should be readable again.
[ruby-dev:45160] [Bug #5952]
* io.c (argf_readlines): reinitialize after all read to be
  readable again.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34409 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-01-31 21:39:00 +00:00
nobu
487cc8b5ce * test/ruby/test_thread.rb (TestThreadGroup#test_thread_timer_and_interrupt): suppress interrupt message.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34403 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-01-31 05:29:52 +00:00
nobu
8dd4353968 * test/ruby/envutil.rb (EnvUtil.invoke_ruby): yield also child pid
in block form.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34402 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-01-31 05:27:27 +00:00
nobu
72969cd348 * vm_eval.c (vm_call0): should pass block to enumerators. patched
by Kazuki Tsujimoto.  [ruby-dev:44961][Bug #5731]
* vm_eval.c (method_missing), vm_insnhelper.c (vm_call_method):
  ditto.  patched by satoshi shiba.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34399 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-01-30 10:08:23 +00:00
nobu
cba57022b0 * test/readline/test_readline.rb (test_completion_encoding): test on more locales.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34398 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-01-30 05:37:28 +00:00
usa
5625355c9b * test/irb/test_completion.rb: skip if cannot load irb/completion
(maybe readline does not exist).


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34395 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-01-30 01:39:52 +00:00
naruse
1971897890 Skip test if locale is not Japanese nor UTF-8.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34394 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-01-29 14:24:05 +00:00
nobu
f3dabacefb * ext/readline/readline.c (readline_attempted_completion_function):
respect encodings.  [Bug #5941]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34391 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-01-29 03:18:11 +00:00
shirosaki
bb65920642 * test/ruby/test_thread.rb
(TestThreadGroup#test_thread_timer_and_interrupt): skip exit status
  assertion because we cannot get signal status on Windows.

* win32/win32.c (CreateChild): create process group to receive the
  signal by GenerateConsoleCtrlEvent().

* win32/win32.c (kill): use CTRL_BREAK_EVENT instead of CTRL_C_EVENT
  if a process group is specified. CTRL_C_EVENT signal cannot be
  generated for process groups for the specification.
  [ruby-dev:45149] [Bug #5812]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34389 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-01-28 00:51:40 +00:00
shirosaki
11de7c034b * test/zlib/test_zlib.rb (TestZlibGzipReader#test_reader_wrap): set
binmode explicitly for fixing test error on Windows. This is consistent
  with r34243.
  [ruby-dev:45149] [Bug #5812]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34387 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-01-28 00:51:33 +00:00
nobu
ef72bdf2de * lib/irb/completion.rb (IRB::InputCompletor::CompletionProc):
ignore non-string name modules.  [ruby-core:42244][Bug #5938]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34384 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-01-27 20:53:37 +00:00
nobu
8335ce7065 * ext/io/console/console.c (io_getch): default delegating method
for StringIO.  https://github.com/nobu/io-console/issues/4
* ext/stringio/stringio.c: moved some methods to hidden modules.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34376 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-01-25 18:24:09 +00:00
nobu
97f0b0f558 * file.c (rb_file_s_basename): ignore non-ascii extension in
different encoding, which cannot match.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34375 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-01-25 04:27:45 +00:00
nobu
ed469831e4 * file.c (rb_enc_path_next, rb_enc_path_skip_prefix)
(rb_enc_path_last_separator, rb_enc_path_end)
  (ruby_enc_find_basename, ruby_enc_find_extname): encoding-aware
  path handling functions.
* file.c (rb_home_dir, file_expand_path, rb_realpath_internal)
  (rb_file_s_basename, rb_file_dirname, rb_file_s_extname)
  (rb_file_join): should respect the encodings of arguments than
  file system encoding.  [ruby-dev:45145] [Bug #5919]
* dir.c (check_dirname, ruby_glob0): ditto.
* ext/pathname/pathname.c (path_sub_ext): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34372 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-01-25 02:32:06 +00:00