summaryrefslogtreecommitdiff
path: root/ext
AgeCommit message (Collapse)Author
2012-02-09* backport r34482 from trunkemboss
* 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/branches/ruby_1_9_2@34525 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-08-11merges r32288 and r32292 from trunk into ruby_1_9_2.yugui
-- * ext/openssl/ossl.h (OPENSSL_SYS_WIN32): support for mingw(msys). -- * ext/openssl/ossl.h (OPENSSL_SYS_WIN32): define only if not defined. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_2@32918 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-08-07merges 32211 from trunk into ruby_1_9_2.yugui
-- * ext/openssl/ossl_ssl_session.c (ossl_ssl_session_set_time): Check argument type with NUM2LONG if the arg is not a Time object. See #4919. * ext/openssl/ossl_ssl_session.c (ossl_ssl_session_set_timeout): Check type with NUM2LONG. Time as an arg is not allowed. See #4919. * test/openssl/test_ssl.rb (test_session_time, test_session_timeout): Test it. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_2@32880 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-07-09* ext/tk/extconf.rb: I gave up to fix the build issue of ext/tk with Windowsyugui
installer (mingw32). Ported whole ext/tk/extconf.rb from trunk. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_2@32477 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-07-03* ext/tk/extconf.rb (find_tcl): fixed a TypeError on --with-opt-dir.yugui
reported by luislavena and ksmakoto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_2@32390 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-07-03* ext/zlib/zlib.c: added a prototype to get rid of SEGV on x86_64yugui
darwin. Reported by kosaki and nagachika. Patch by nagachika. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_2@32388 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-07-03* ext/socket/extconf.rb (have_type("PADDRINFO")): new check.yugui
* ext/socket/addrinfo.h: fixed a compilation problem with VC++ 2010. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_2@32387 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-07-03merges a part of r31742, r31947, r31894, r3202 and r32287 from trunkyugui
into ruby_1_9_2. -- * ex/tk/extconf.rb: support for the latest ActiveTcl with mingw. -- * ext/tk/extconf.rb: fails on Mac OS X [Ruby 1.9 - Bug #4853] -- * ext/tk/extconf.rb: fix for uninitialized global variables. [Ruby 1.9 - Bug #4811] -- * ext/tk/extconf.rb: use $defs not $CPPFLAGS to get rid of command line escape issues on Windows. fixed #4835. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_2@32386 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-07-03merges r32067 from trunk into ruby_1_9_2.yugui
-- * parse.y (parser_parse_string): flush delayed token. based on a patch by Masaya Tarui in [ruby-dev:43762]. Bug #4544 * parse.y (yylex): revert r24557. delayed token at the end of string should be flushed already by the above change. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_2@32384 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-07-03merges r32062 from trunk into ruby_1_9_2.yugui
-- * ext/socket/unixsocket.c (unix_send_io): race condition fixed. (unix_recv_io): ditto. fixed by Eric Wong. [ruby-core:35574] * test/socket/test_unix.rb: test added for above problem. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_2@32383 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-07-03merges r31528 from trunk into ruby_1_9_2. fixes #4861.yugui
-- * ext/openssl/ossl_ssl.c: By trunk@31346, function check of SSLv2 is executed. However, the problem is not revised in this. This adds the control of using function of SSLv2 in made macro by function check. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_2@32382 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-07-03merges r31930 from trunk into ruby_1_9_2.yugui
-- * ext/psych/parser.c (parse): release event objects to plug memory leak. Thanks Mark J. Titorenko! git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_2@32376 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-06-06merges a part of r31717 from trunk into ruby_1_9_2.yugui
-- * ext/tk/lib/tk/extconf.rb: search directories for 64bit library (e.g. * /usr/lib64), and bug fix. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_2@31932 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-06-05merges a part of r31717 and a part of r31742.yugui
Fixes a problem in Tk.mainloop. -- * ext/tk/lib/tk.rb: hang-up at exit before calling Tk.mainloop. -- * ext/tk/lib/tk.rb: fail to start Tk.mainloop (exit immediately) on some environment (reported on [ruby-talk:381444]). git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_2@31928 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-05-31merges r30629 and r30630 from trunk into ruby_1_9_2.yugui
-- * ext/psych/lib/psych/visitors/to_ruby.rb: merge keys are actually part of YAML 1.1, so they should be supported. Remove warning and merge keys to parent. [ruby-core:34679] * test/psych/test_merge_keys.rb: test for merge keys -- * ext/psych/lib/psych/visitors/to_ruby.rb: fixing merge key support when multiple merge keys are specified. * test/psych/test_merge_keys.rb: tests for multi-merge key support git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_2@31856 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-05-31Imported ext/-test-/string from trunk to ruby_1_9_2. Fixes #4540.yugui
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_2@31847 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-05-31merges r31441,r31442 and r31443 from trunk into ruby_1_9_2.yugui
-- YAML.load time correctly parse usecs smaller than 1 fixes #4571 Signed-off-by: URABE, Shyouhei <shyouhei@ruby-lang.org> -- ChangeLog for it -- * ext/syck/rubyext.c (mktime_do): avoid buffer overrun, by silently ignoring lesser significant digits. Required buffer length can be computable so you might at first think of allocating enough memory space on the fly using alloca(). That is a wrong idea because when using alloca there is always risk of integer overflow. A function that accepts outer-process resources like this should not blindly trust its inputs. In this particular case we just want to generate miliseconds resolution by strtod() so the string in question needs no more length than what we originally have. Ignoring lesser significant digits should suffice I believe. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_2@31831 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-05-31merges r31405 from trunk into ruby_1_9_2.yugui
-- * ext/socket/init.c (rsock_connect): add to care EINTR. based on a patch from Eric Wong at [ruby-core:35621][Bug #4555] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_2@31829 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-05-30merges r31346 from trunk into ruby_1_9_2.yugui
-- * ext/openssl/extconf.rb: Should check SSLv2_*method. openssl compiled with "no-ssl2" the extconf don't fail when running `make' having this compilation errors. Patched by Laurent Arnoud. fixes #4562, #4556 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_2@31816 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-05-30merges r31317 from trunk into ruby_1_9_2.yugui
-- * ext/psych/parser.c (parse): strings from psych have proper taint markings. * test/psych/test_tainted.rb: test for string taint git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_2@31812 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-05-29merges r31248 from trunk into ruby_1_9_2.yugui
-- * ext/stringio/stringio.c (strio_getline): check whether str is a string when str and lim are given. https://twitter.com/watson1978/status/56225052152168449 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_2@31797 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-05-29merges r31244 from trunk into ruby_1_9_2.yugui
-- * ext/openssl/ossl_pkey_dh.c (ossl_dh_initialize): pop pushed error after each try of reading. fixes #4550 * ext/openssl/ossl_pkey_dsa.c (ossl_dsa_initialize): ditto. * ext/openssl/ossl_pkey_ec.c (ossl_ec_initialize): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_2@31796 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-05-29merges r31242 from trunk into ruby_1_9_2.yugui
-- * ext/openssl/ossl_pkey_rsa.c (ossl_rsa_initialize): pop pushed error after each try of reading. fixes #4550 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_2@31795 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-05-29merges r31164 from trunk into ruby_1_9_2.yugui
-- * ext/openssl/ossl_x509name.c: id_aref's type is ID. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_2@31792 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-05-29merges r31162 from trunk into ruby_1_9_2.yugui
-- * ext/openssl/ossl_ocsp.c (ossl_ocspreq_verify): flags is VALUE, so it should use NUM2INT. * ext/openssl/ossl_ocsp.c (ossl_ocspbres_verify): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_2@31791 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-05-28merges r31113 from trunk into ruby_1_9_2.yugui
-- * ext/openssl/lib/openssl/buffering.rb (module OpenSSL): #flush should not change sync mode on exception. * test/openssl/test_buffering.rb: added git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_2@31777 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-05-28merges r30957 from trunk into ruby_1_9_2.yugui
-- * ext/psych/lib/psych/scalar_scanner.rb: fix parsing timezone's whose whose format is (+/-)hhmm. Thanks Gonçalo Silva! * test/psych/test_scalar_scanner.rb: test for bug. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_2@31769 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-05-28merges a part of r30931 from trunk into ruby_1_9_2.yugui
-- * ext/psych/lib/psych/json/stream.rb: do not emit custom tags in maps or sequences when emitting JSON. * ext/psych/lib/psych/json/tree_builder.rb: do not emit custom tags in sequences when emitting JSON. * test/psych/json/test_stream.rb: tests for custom stream emits. * test/psych/test_json_tree.rb: tests for JSON emits. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_2@31767 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-05-11merges r30791 and r30792 from trunk into ruby_1_9_2.yugui
-- * ext/json/parser/parser.h (GET_PARSER): check if initialized. [ruby-core:35079] * ext/json/parser/parser.rl (cParser_initialize): ditto. -- * ext/json/parser/parser.h (GET_PARSER): raise TypeError. * ext/json/parser/parser.rl (cParser_initialize): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_2@31508 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-03-28merges r30772,r30773 and r30776 from trunk into ruby_1_9_2.yugui
-- * ext/zlib/zlib.c (gzfile_reader_get_unused): use rb_str_new_shared because gz->z.input is hidden string. [ruby-core:35057] -- e ext/zlib/zlib.c (gzfile_reader_get_unused): use rb_str_resurrect -- * ext/zlib/zlib.c (gzfile_reader_get_unused): no need to dup before rb_str_resurrect. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_2@31204 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-03-28merges r30763 from trunk into ruby_1_9_2.yugui
-- * ext/psych/lib/psych/visitors/to_ruby.rb: ARG_ENCODING_NONE regular expressions can round trip. [ruby-core:34969] * test/psych/test_yaml.rb: test for ARG_ENCODING_NONE regex * ext/sych/lib/syck/rubytypes.rb: ARG_ENCODING_NONE regular expressions can round trip. * test/syck/test_yaml.rb: test for ARG_ENCODING_NONE regex git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_2@31203 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-01-28merges r30648 from trunk into ruby_1_9_2.yugui
-- * string.c (rb_string_value_cstr): rb_str_modify can change RSTRING_PTR. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_2@30694 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-01-28merges r30628 from trunk into ruby_1_9_2.yugui
-- * ext/psych/parser.c (parse): fixing off-by-one error on line numbers in parse exceptions. [ruby-core:34690] * test/psych/test_parser.rb: test for error git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_2@30691 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-01-28merges r30587 from trunk into ruby_1_9_2.yugui
-- * ext/psych/lib/psych/visitors/json_tree.rb (visit_String): JSON strings should be dumped with double quotes. [ruby-core:34186] * test/psych/test_json_tree.rb: test for double quotes git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_2@30687 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-01-16merges r30540 and r30541 from trunk into ruby_1_9_2.yugui
-- * ext/zlib/zlib.c (gzfile_check_footer): ISIZE (Input SIZE) in gzip's header is the size of uncompressed input data modulo 2^32. [ruby-core:34481] http://www.ietf.org/rfc/rfc1952.txt -- The cast must use uint32_t. [ruby-core:34481] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_2@30575 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-01-16merges r30496 and r30519 from trunk into ruby_1_9_2.yugui
-- * ext/readline/readline.c: apply a patch from Nobuyoshi Nakada. fixed #3616 [ruby-core:31484] IRB + readline incorrectly counts non-printing characters in prompt -- * ext/readline/extconf.rb: new checks for RL_PROMPT_START_IGNORE and RL_PROMPT_END_IGNORE. [ruby-core:34331] * ext/readline/readline.c: enables USE_INSERT_IGNORE_ESCAPE only if RL_PROMPT_{START,END}_IGNORE are available to get rid of compilation error with libedit. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_2@30569 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-01-16merges r30475 from trunk into ruby_1_9_2.yugui
-- * ext/psych/lib/psych/json/tree_builder.rb (start_mapping): tags should not be included in JSON mapping git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_2@30566 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-01-16merges r30467 from trunk into ruby_1_9_2.yugui
-- * ext/stringio/stringio.c (get_strio, strio_set_string) (strio_reopen): check if frozen. [ruby-core:33648] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_2@30565 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-01-16merges r30407 and r30450 from trunk into ruby_1_9_2.yugui
-- * ext/fiddle/extconf.rb: check for windows.h while building fiddle. Thanks Jon Forums! [ruby-core:33923] -- * Use _WIN32 rather than checking for windows.h. Thanks Jon Forums! [ruby-core:33977] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_2@30559 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-01-16merges r30377 from trunk into ruby_1_9_2.yugui
-- * ext/dl/win32/registry.rb: Corrected RegCreateKeyExA signature. Patch by Rafal Michalski [ruby-core:33874] [Ruby 1.9-Bug#4203] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_2@30557 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-01-16merges r30330 from trunk into ruby_1_9_2.yugui
-- update doc. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_2@30554 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-12-25merges r30350 from trunk into ruby_1_9_2.yugui
-- * ext/pty/pty.c (chfunc): Added rb_thread_atfork_before_exec(). We must reinitialize GVL when new process creation. Otherwise we may meet an insane deadlock. [Bug #4121][ruby-dev:42686] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_2@30362 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-12-24merges r29197 from trunk into ruby_1_9_2.yugui
-- * ext/openssl/ossl_ssl.c (ssl_get_error): Thread context switch was blocked on Windows while blocking call for SSLSocket. Need to convert errno for letting rb_io_wait_readable detect EWOULDBLOCK. Patch by arton. ref #3794. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_2@30334 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-12-23merges r30213 from trunk into ruby_1_9_2.yugui
-- * ext/openssl/ossl_x509ext.c (ossl_x509extfactory_set_config): fix compile error when !HAVE_X509V3_SET_NCONF. Thanks Chikanaga-san. [ruby-dev:42761] [Ruby 1.9-Bug#4158] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_2@30320 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-12-23merges r30169 and r30170 from trunk into ruby_1_9_2.yugui
-- * ext/tk/lib/multi-tk.rb: infinite loop on method_missing at loading. [ruby-dev:42716] [Ruby 1.9-Bug#4129] * ext/tk/lib/multi-tk.rb: when no eventloop is running, ruby freezes at exit. -- add an entry. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_2@30319 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-12-23merges r30112 from trunk into ruby_1_9_2.yugui
-- * ext/nkf/lib/kconv.rb (String#kconv): fix typo and update rdoc. patched by Kouhei Yanagita [ruby-dev:42696] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_2@30315 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-12-23merges r30063 from trunk into ruby_1_9_2.yugui
-- * ext/stringio/stringio.c (strio_getline): round upto next char boundary. [ruby-dev:42674] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_2@30308 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-12-08merges r29784,r29787 and r29788 from trunk into ruby_1_9_2.yugui
-- * etc/openssl/ossl_ssl.c (ossl_ssl_get_cert): raise exception if pointer is invalid. Thanks Ippei Obayashi! [ruby-dev:42573] -- STDIN is not valid when ruby doesn't have tty. -- making ssl test a little better git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_2@30138 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-12-08merges r29691 from trunk into ruby_1_9_2.yugui
-- * ext/fiddle/extconf.rb: fixing ffi library location on windows. Thanks Usa! [ruby-core:32930] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_2@30133 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-12-02merges r29517 from trunk into ruby_1_9_2.yugui
-- * ext/win32ole/win32ole.c (ole_encoding2cp): set codepage 20936 according to GB2312. [Bug #3937] [ruby-core:32758] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_2@30048 b2dd03c8-39d4-4d8f-98ff-823fe69b080e