Commit graph

4385 commits

Author SHA1 Message Date
drbrain
1884f1c0ab * ext/zlib/zlib.c (zstream_run_func): Fix bug that caused early exit
of GVL-free loop.  [Feature #6615]
* ext/zlib/zlib.c:  Fix style to match existing functions.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36283 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-07-03 05:52:22 +00:00
usa
1f23350194 * ext/dl/cfunc.c (rb_dlcfunc_call): also needed the workaround for VC8
for x64.  [ruby-dev:45875] [Bug #6676]
  reported by aves_ramphastos (Seigo Ishigane)


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36281 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-07-03 03:10:02 +00:00
drbrain
1138756967 * ext/zlib/zlib.c (zstream_detach_buffer): Refactored tainting of
output string, moving it from the callee to zstream_detach_buffer.
* ext/zlib/zlib.c (rb_zstream_finish):  ditto
* ext/zlib/zlib.c (rb_zstream_flush_next_out):  ditto
* ext/zlib/zlib.c (rb_deflate_deflate):  ditto
* ext/zlib/zlib.c (rb_deflate_flush):  ditto
* ext/zlib/zlib.c (rb_inflate_inflate):  ditto


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36280 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-07-03 03:09:30 +00:00
drbrain
cda2bf5568 * ext/zlib/zlib.c: Restored the comment explaining the choice of
buffer expansion size.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36273 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-07-02 21:15:47 +00:00
drbrain
802c468fc6 * ext/zlib/zlib.c (zstream_run): Process zlib streams without GVL.
[Feature #6615]
* NEWS:  ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36270 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-07-02 21:03:15 +00:00
tadf
bd52bed97b * ext/date/date_core.c: [ruby-core:46058].
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36265 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-07-01 20:56:50 +00:00
tadf
c8cde4e2be * ext/date/date_core.c (d_lite_marshal_load): accepts old dump.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36264 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-07-01 20:37:38 +00:00
ktsj
fb3c4a2d18 * ext/zlib/zlib.c: cosmetic changes.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36261 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-07-01 13:32:32 +00:00
nobu
28cb8f5d20 fix null m_tbl
* ext/objspace/objspace.c (memsize_of): m_tbl in prepended
  class/module is NULL.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36235 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-06-27 11:36:15 +00:00
akr
3eafc1660f * process.c: use the name "eargp" for struct rb_execarg variables
consistently except for saving process attributes. 

* io.c: ditto.

* ext/pty/pty.c: ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36189 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-06-22 23:09:16 +00:00
akr
d73d3a743b * process.c (rb_execarg_fixup): take a VALUE argument instead of
struct rb_execarg.

* internal.h (rb_execarg_fixup): follow the definition change.

* io.c (pipe_open): follow rb_execarg_fixup change.

* ext/pty/pty.c (establishShell): ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36157 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-06-20 21:25:20 +00:00
akr
b60713de73 * internal.h (struct rb_execarg) moved and renamed from
struct rb_exec_arg in intern.h.

* include/ruby/intern.h (struct rb_exec_arg): refer Data object which
  contains struct rb_execarg.

* process.c: use struct rb_execarg instead of struct rb_exec_arg
  except functions declared in intern.h.
  (rb_exec_arg_addopt): extract a pointer to struct rb_execarg from
  struct rb_exec_arg.
  (rb_exec_arg_init): ditto.
  (rb_exec_arg_fixup): ditto.
  (rb_run_exec_options_err): ditto.
  (rb_run_exec_options): ditto.
  (rb_exec_err): ditto.
  (rb_exec): ditto.

* io.c: use struct rb_execarg instead of struct rb_exec_arg.

* ext/pty/pty.c: ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36153 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-06-20 11:46:50 +00:00
akr
826f98e688 * internal.h (rb_execarg_new): declared.
(rb_execarg_get): ditto.

* process.c (mark_exec_arg): new function.
  (free_exec_arg): ditto.
  (memsize_exec_arg): ditto.
  (exec_arg_data_type): defined.
  (rb_execarg_new): new function.
  (rb_execarg_get): ditto.
  (rb_f_exec): use rb_execarg_new.
  (rb_spawn_internal): ditto.
  (rb_f_spawn): ditto.

* io.c (pipe_open_v): use rb_execarg_new.
  (pipe_open_s): ditto.

* ext/pty/pty.c (establishShell): use rb_execarg_new.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36152 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-06-20 10:31:02 +00:00
nobu
ab9560c953 ext/readline/extconf.rb: no global names
* ext/readline/extconf.rb (readline): get rid of polluting global
  namespace.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36136 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-06-19 09:21:58 +00:00
naruse
5f88399018 * ext/readline/readline.c (Init_readline): don't set 0 to
rl_catch_signals and rl_catch_sigwinch. [Bug #5423]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36130 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-06-19 03:00:46 +00:00
naruse
e47c4e38a8 * ext/readline/readline.c (readline_s_get_special_prefixes): suppress
warning: unitinialized instance variable.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36128 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-06-19 02:58:43 +00:00
naruse
d998ba1c3c * ext/readline/readline.c (readline_getc): fix editline compatibility
broken by r36123. [Bug #6601]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36127 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-06-19 02:58:40 +00:00
nobu
bcc4c40853 unreachable
* ext/-test-/exception/enc_raise.c (enc_raise): unreachable.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36125 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-06-18 09:13:31 +00:00
nobu
e2ad92a075 ext/readline/readline.c: [Bug #6601]
* ext/readline/readline.c (readline_getc): deal with ESC just followed
  by ASCII as meta prefix in incremental search mode.  based on the
  patch from rctay (Tay Ray Chuan) at [ruby-core:45682].  [Bug #6601]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36123 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-06-18 01:43:00 +00:00
tadf
7cc92034be * ext/date/date_core.c: define date_sg_t.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36115 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-06-16 10:25:30 +00:00
tadf
f5b033cd4e * ext/date/date_tmx.h: offset in struct tmx_funcs is now int.
* ext/date/date_strftime.c: ditto.
	* ext/date/date_core.c: ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36114 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-06-16 09:49:17 +00:00
tenderlove
eac2646327 * ext/psych/lib/psych.rb: bumping psych to 1.3.3
* ext/psych/psych.gemspec: ditto

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36103 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-06-15 16:29:55 +00:00
akr
37a1355bf8 * include/ruby/intern.h (rb_exec_arg_init): deprecated.
(rb_exec_arg_addopt): ditto.
  (rb_exec_arg_fixup): ditto.
  (rb_run_exec_options): ditto.
  (rb_run_exec_options_err): ditto.

* internal.h (rb_execarg_init): declared.
  (rb_execarg_addopt): ditto.
  (rb_execarg_fixup): ditto.
  (rb_execarg_run_options): ditto.

* process.c: call rb_execarg_addopt, rb_execarg_fixup,
  rb_execarg_run_options, rb_execarg_init.
  (rb_execarg_addopt): renamed from rb_exec_arg_addopt.
  (rb_exec_arg_addopt): stub to call rb_execarg_addopt.
  (rb_execarg_init): renamed from rb_exec_arg_init.
  (rb_exec_arg_init): stub to call rb_execarg_init.
  (rb_execarg_fixup): renamed from rb_exec_arg_fixup.
  (rb_exec_arg_fixup): stub to call rb_execarg_fixup.
  (rb_execarg_run_options): renamed from rb_run_exec_options_err.
  (rb_run_exec_options_err): stub to call rb_execarg_run_options.
  (rb_run_exec_options): call rb_execarg_run_options.

* io.c: call rb_execarg_addopt, rb_execarg_fixup,
  rb_execarg_run_options, rb_execarg_init.

* ext/pty/pty.c (establishShell): call rb_execarg_init and
  rb_execarg_fixup.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36039 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-06-12 11:34:51 +00:00
emboss
3ffd8a918f * ext/openssl/ossl_pkey_ec.c
test/openssl/test_pkey_ec.rb: Add support for EC_POINT_mul.
  Patch provided by Sambasiva Suda. Thanks!
  [ruby-core:44408][ruby-trunk - Feature #6310]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36006 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-06-10 02:38:40 +00:00
emboss
43759fc1ed * lib/openssl/ssl.rb: Use a simple random number to generate the
session id. MD5, as was used before, causes problems when
  using a FIPS version of OpenSSL. Issue was found by Jared
  Jennings, thank you!
  [ruby-trunk - Bug #6137]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36005 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-06-10 01:53:20 +00:00
akr
18088467e7 * process.c (rb_exec_async_signal_safe): exported.
* ext/pty/extconf.rb: modify $INCFLAGS to include internal.h

* ext/pty/pty.c: include internal.h.
  (chfunc): don't call rb_thread_atfork_before_exec.  use
  rb_exec_async_signal_safe instead of rb_f_exec.
  (establishShell): set up earg.  use rb_fork_async_signal_safe
  instead of rb_fork_err.

* internal.h (rb_exec_async_signal_safe): declared.
  (rb_fork_async_signal_safe): declared.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36002 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-06-10 01:29:58 +00:00
emboss
5bd7899b98 * ext/openssl/ossl.c
ext/openssl/ossl_pkey_rsa.c
  ext/openssl/ossl_pkey_dsa.c
  ext/openssl/ossl_pkey_ec.c: Forbid export passwords that are less
  than four characters long, as OpenSSL itself does not allow this.
  Issue found by Eric Hodel.
* ext/openssl/ossl_pkey_ec.c: Add export as an alias of to_pem,
  following the PKey interface contract.
* test/openssl/test_pkey_dsa.rb
  test/openssl/test_pkey_rsa.rb
  test/openssl/test_pkey_ec.rb: Add tests that assert correct
  behaviour when dealing with passwords that are less than four
  characters long.
  [ruby-core: 42281][ruby-trunk - Bug #5951]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36001 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-06-10 01:23:21 +00:00
emboss
21f1af2ec2 * ext/openssl/ossl.c: Fix error in example. Patch by David Albert.
Add/extend existing documentation. Examples now also cover RSA 
  signatures and PBKDF2.
  [ruby-core: 45154][ruby-trunk - Bug #6475]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35996 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-06-09 18:16:18 +00:00
emboss
14ba7fab58 * ext/openssl/ossl_ssl.c: Introduce SSLContext#renegotiation_cb and
remove SSLContext#disable_client_renegotiation and related
  functionality introduced in r35797. The new callback approach
  gives clients maximum flexibility to decide on their own what to
  do on renegotiation attempts.
  Add documentation for SSL module and SSLError. 
* test/openssl/test_ssl.rb: Add a test for
  SSLContext#renegotiation_cb.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35994 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-06-09 16:44:12 +00:00
nobu
182dc9d40d process.c, ext/pty/pty.c: status on errors
* process.c (rb_fork_err): determine status on errors.
* ext/pty/pty.c (establishShell): reraise exception if something
  raised during sleep.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35959 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-06-08 02:26:39 +00:00
nobu
bc81a19e99 ext/pty/pty.c: status to protect
* ext/pty/pty.c (establishShell): now needs status to protect from
  exceptions in rb_fork_err().


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35958 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-06-08 02:25:55 +00:00
naruse
efebb5b157 Suppress warnings.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35902 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-06-04 05:02:27 +00:00
nobu
81a0c608eb compatible loader
* marshal.c (r_object0): also load TYPE_USRMARSHAL, TYPE_DATA using
  compatible loader.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35898 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-06-04 02:40:30 +00:00
tadf
1ddb6f7059 * ext/date/date_core.c: checks whether the object is frozen or not.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35878 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-06-03 05:14:47 +00:00
naruse
d054eb9631 Add a test for r35863.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35867 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-06-02 13:44:02 +00:00
drbrain
fe962cde15 * ext/dl/lib/dl/struct.rb (DL::CStructEntity#set_ctypes): Refactored
#set_ctypes using newer ruby features to simplify its implementation.
* test/dl/test_c_struct_entry.rb (class DL):  Test to verify
  refactoring.

Reviewed by Aaron Patterson.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35857 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-05-31 22:07:09 +00:00
drbrain
40cf3e0cca * ext/dl/lib/dl/struct.rb (DL::CStructEntity::size): Refactored ::size
to remove unused variables and simplify using newer ruby features.
* test/dl/test_c_struct_entry.rb:  Test to validate refactoring

Reviewed by Aaron Patterson


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35850 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-05-31 00:27:34 +00:00
drbrain
0381ab0769 * ext/dl/lib/dl/struct.rb (DL::CUnionEntity#set_ctypes): Refactored
#set_types to reuse DL::CUnionEntity::size
* test/dl/test_c_union_entity.rb:  Added test

Reviewed by Aaron Paterson


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35849 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-05-30 23:41:07 +00:00
drbrain
f1cb6ea08f * ext/dl/lib/dl/struct.rb (DL::CUnionEntity::size): Fixed ::size to
return the size of the union.
* test/dl/test_c_union_entity.rb:  Test for DL::CUnionEntity::size

Reviewed by Aaron Patterson


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35848 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-05-30 23:20:29 +00:00
drbrain
2e87e2150e * ext/dl: Added documentation. Patch by Vincent Batts.
[ruby-trunk - Bug #6496]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35846 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-05-30 22:48:42 +00:00
mrkn
d3a349bbc3 * ext/bigdecimal/lib/bigdecimal/jacobian.rb,
ext/bigdecimal/lib/bigdecimal/newton.rb:
  fix documentation comments.
  Patch by alperakgun from github.com/shyouhei/ruby/pull/8

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35844 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-05-30 07:30:46 +00:00
mrkn
ecb6bd90c0 * ext/bigdecimal/lib/bigdecimal/jacobian.rb (Jacobian#dfdxi):
fix jacobian to get stuck in an infinite loop when a solution is not
  found due to forget to increment nRetry counter.
  Patch by alperakgun from github.com/shyouhei/ruby/pull/8

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35843 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-05-30 07:26:51 +00:00
tadf
83d8d057c2 * ext/date/date_strftime.c: allows %Ok and %Ol.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35815 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-05-27 01:04:41 +00:00
tadf
6ba96bbe4e * ext/date/date_core.c: modified doc.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35814 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-05-27 00:30:33 +00:00
tadf
76547ea75f * ext/date/date_core.c: added description.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35811 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-05-26 10:05:25 +00:00
tadf
43e8bf0c27 re-modified
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35810 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-05-26 09:21:21 +00:00
tadf
2199c85dd6 * ext/date/date_strftime.c: reduced the code.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35809 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-05-26 09:16:26 +00:00
tadf
0976f31200 * time.c: modified doc.
* ext/date/date_core.c: ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35808 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-05-26 09:10:42 +00:00
emboss
50ba64ab87 * ext/openssl/ossl_ssl.c: Allow disabling client-side renegotiation.
* test/openssl/test_ssl.rb: Simple tests for this.

  Client-side renegotiation is still considered problematic, even
  when used in the context of secure renegotiation (RI, RFC 5746).
  The changes allow users to either completely disable client
  renegotiation on the server, or to specify a maximum number of
  handshakes allowed in total. The number of total handshakes is
  counted in a callback set as SSL_set_info_callback. If the
  maximum number of handshakes is exceeded an error will be raised
  We do not support renegotiation in the OpenSSL extension, therefore
  this feature can only be tested externally.
  The feature is opt-in, the default setting will be to allow
  unlimited client renegotiation, as was the case before.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35797 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-05-26 00:56:33 +00:00
emboss
913827b6af * ext/openssl/ossl_ssl.c: Revert r35583
* test/openssl/test_ssl.rb: Handle ECONNRESET in code instead to avoid
the test failing in Ruby CI [1]
	
[1] 20120507T190102Z.log.html.gz#test-all


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35795 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-05-25 13:24:47 +00:00