summaryrefslogtreecommitdiff
path: root/ext
Commit message (Collapse)AuthorAgeFilesLines
* * ext/nkf/nkf-utf8/nkf.c (mime_putc): fix typo.naruse2016-04-051-1/+1
| | | | | | [Bug #12202] [ruby-core:74802] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54489 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* openssl: Access to ephemeral TLS session keynobu2016-04-042-0/+23
| | | | | | | | | * ext/openssl/ossl_ssl.c (ossl_ssl_tmp_key): Access to ephemeral TLS session key in case of forward secrecy cipher. Only available since OpenSSL 1.0.2. [Fix GH-1318] * ext/openssl/extconf.rb: Check for SSL_get_server_tmp_key. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54485 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* at_exit listnobu2016-04-042-0/+45
| | | | | | | | | * vm_core.h (rb_vm_struct): make at_exit a single linked list but not RArray, not to mark the registered functions by the write barrier. based on the patches by Evan Phoenix. [ruby-core:73908] [Bug #12095] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54484 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* openssl: accept moving write buffer for write_nonblocknormal2016-03-311-1/+2
| | | | | | | | | | | | | | | | | | | By setting the SSL_MODE_ACCEPT_MOVING_WRITE_BUFFER flag. This flag was introduced at the same time as SSL_MODE_ENABLE_PARTIAL_WRITE in OpenSSL 0.9.4 and makes usage with non-blocking sockets much easier. Before this, a Rubyist would need to remember the exact object which failed to write and reuse it later when the socket became writable again. This causes problems when the buffer is given by another layer of the application (e.g. a buffer is given by a Rack middleware or application to a Rack web server). * ext/openssl/ossl_ssl.c (ossl_sslctx_s_alloc): enable SSL_MODE_ACCEPT_MOVING_WRITE_BUFFER by default [Bug #12126] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54466 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * thread.c (update_coverage): Do not track coverage in loaded fileseregon2016-03-311-0/+1
| | | | | | | after Coverage.result. Avoids out-of-bounds access. [Bug #12237] * ext/coverage/coverage.c (coverage_clear_result_i): document. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54465 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* date_core.c: fix indentnobu2016-03-311-48/+48
| | | | | | | * ext/date/date_core.c (d_lite_strftime, dt_lite_strftime): [DOC] fix indent not to be a big sole verbatim. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54445 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* date_core.c: fix DateTime rdocnobu2016-03-311-61/+61
| | | | | | | * ext/date/date_core.c (Init_date_core): [DOC] fix misplaced doc of DateTime. [ruby-core:74729] [Bug #12233] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54444 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/nkf/nkf-utf8/nkf.c: Merge upstream 69f7e74dde.naruse2016-03-301-3/+3
| | | | | | fix indent. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54440 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/nkf/nkf-utf8/nkf.c: Merge upstream 4f3edf80a0.naruse2016-03-291-4/+4
| | | | | | patched by Anton Sivakov [Bug #12201] [Bug #12202] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54423 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* openssl: fix build when NPN is disabled by OpenSSLnobu2016-03-252-20/+21
| | | | | | | | | | | * 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/trunk@54258 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* date_core.c: unused variablenobu2016-03-241-5/+2
| | | | | | | * ext/date/date_core.c (dt_lite_jisx0301): remove no longer used variable. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54244 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* date_core.c: append stringsnobu2016-03-241-2/+2
| | | | | | | * ext/date/date_core.c (dt_lite_iso8601): strftimev() always returns a String, so append them directly. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54243 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* date_core.c: fix jisx0301 and iso8601nobu2016-03-242-57/+61
| | | | | | | | * ext/date/date_core.c (d_lite_jisx0301, iso8601_timediv), (dt_lite_jisx0301): format by the format string in local buffer to prevent intermediate strings from GC. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54242 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* date_core.c: fix inspectnobu2016-03-241-51/+27
| | | | | | | * ext/date/date_core.c (mk_inspect_raw, mk_inspect): inspect by "%+"PRIsVALUE, to prevent intermediate strings from GC. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54241 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * numeric.c (int_to_f, fix_to_f): rename fix_to_f to int_to_f, and addmrkn2016-03-183-0/+35
| | | | | | | | | | | | | | | | | | | treatment for subclasses which don't have definitions of to_f method. * numeric.c (Integer#to_f, Fixnum#to_f): move to_f method from Fixnum to Integer. * ext/-test-/integer/my_integer.rb: define helper class for testing to_f method for a subclass of Integer. * ext/-test-/integer/extconf.rb: ditto. * ext/-test-/integer/init.c: ditto. * test/-ext-/integer/test_my_integer.rb: examine to_f method for a subclass of Integer. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54179 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/date/date_core.c (datetime_to_time): preserve timezone infosonots2016-03-181-4/+7
| | | | | | [Bug #12189] [Fix GH-1295] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54169 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* socket/option.c: accurate conditionnobu2016-03-171-1/+6
| | | | | | | | * ext/socket/option.c (inspect_tcpi_msec): more accurate condition for TCPI msec member inspection function. [ruby-core:74388] [Bug #12185] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54139 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* document OpenSSL::SSL::SSLContext#setup as MT-unsafenormal2016-03-141-2/+2
| | | | | | | | | | | On a cursory inspection, using rb_block_call for extra_chain_cert is thread-unsafe. There may be other instances of thread-unsafe behavior in this method, but one is enough. * 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/trunk@54097 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/tk/lib/tkextlib/tcllib/tablelist_tile.rb: fix method name typo.nagachika2016-03-071-1/+1
| | | | | | [ruby-core:72513] [Bug #11893] The patch provided by Akira Matsuda. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54022 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/tk/lib/tkextlib/tcllib/toolbar.rb: fix method name typo.nagachika2016-03-071-1/+1
| | | | | | [ruby-core:72511] [Bug #11891] The patch provided by Akira Matsuda. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54021 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/tk/lib/tkextlib/blt/tree.rb: fix method name typo.nagachika2016-03-071-1/+1
| | | | | | [ruby-core:72510] [Bug #11890] The patch provided by Akira Matsuda. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54020 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/tk/lib/tk/menubar.rb: fix a typo in font name. [ruby-core:72505]nagachika2016-03-074-5/+5
| | | | | | | | [Bug #11886] The patch provided by Akira Matsuda. * ext/tk/sample/*.rb: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54018 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* win32ole_event.c: use rb_write_error_strnobu2016-03-071-1/+3
| | | | | | | | | * ext/win32ole/win32ole_event.c (rescue_callback): use rb_write_error_str instead of rb_write_error, to respect the encoding and prevent the message from GC. * internal.h (rb_write_error_str): export. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54013 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* cgi/escape: Optimize CGI.unescapenobu2016-02-211-0/+79
| | | | | | | * cgi/escape/escape.c: Optimize CGI.unescape performance by C ext for ASCII-compatible encodings. [Fix GH-1250] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53885 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* cgi/escape: Optimize CGI.unescapeHTMLnobu2016-02-211-0/+129
| | | | | | | * cgi/escape/escape.c: Optimize CGI.unescapeHTML performance by C ext for ASCII-compatible encodings. [Fix GH-1242] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53884 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* extmk.rb: cygwin casenobu2016-02-191-1/+4
| | | | | | | * ext/extmk.rb: add cygwin case, nothing excluded. [ruby-core:73806] [Bug#12071] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53868 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* win32/resolv.rb: invert the conditionnobu2016-02-151-3/+4
| | | | | | | * ext/win32/lib/win32/resolv.rb: invert the condition to return immediately in the future. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53830 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* win32/resolv.rb: check pointer sizenobu2016-02-151-5/+7
| | | | | | | * ext/win32/lib/win32/resolv.rb: check pointer size first, NT if it is larger than 4 as Windows 9X are 32-bit mode only. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53829 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* avoid ruby-mode.el bugnobu2016-02-152-2/+2
| | | | | | | * ext/win32/lib/win32/{resolv,resolv9x}.rb: get rid of ruby-mode.el of Emacs 24. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53828 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* split win32/resolv9x.rbnobu2016-02-152-257/+259
| | | | | | | * ext/win32/lib/win32/resolv9x.rb: split code for Windows 9x from resolv.rb. now it is rarely used. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53826 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/zlib/zlib.c: Document mtime header behavior with patch by @schneemszzak2016-02-091-1/+14
| | | | | | | Fixes [GH-1129]: https://github.com/ruby/ruby/pull/1129 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53785 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* mask upper nibblenobu2016-02-041-5/+5
| | | | | | | | * ext/cgi/escape/escape.c (optimized_escape): move c and use it instead of cstr[i]. mask upper nibble for the platforms where CHAR_BIT > 8. [Fix GH-1238] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53733 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* initialize dest to 0nobu2016-02-041-10/+8
| | | | | | | | | | * ext/cgi/escape/escape.c (optimized_escape_html): initialize dest to 0 and tell the result to be modified, instead of a separate flag. * ext/cgi/escape/escape.c (optimized_escape): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53732 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* cgi/escape: Optimize CGI.escapenobu2016-02-041-0/+87
| | | | | | | * cgi/escape/escape.c: Optimize CGI.escape performance by C ext for ASCII-compatible encodings. [Fix GH-1238] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53731 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * string.c (str_new_frozen): if the given string is embeddedablenaruse2016-02-031-2/+42
| | | | | | but not embedded, embed a new copied string. [Bug #11946] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53724 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Fix typo on OpenSSL::PKey doc [ci skip]nobu2016-02-021-1/+1
| | | | | | | * ext/openssl/ossl_pkey.c (Init_ossl_pkey): [DOC] Fix typo "encrypted" to "decrypted". [Fix GH-1235] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53723 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Fix Ripper.lex error in dedenting squiggly heredocnobu2016-02-021-1/+1
| | | | | | | | * ext/ripper/lib/ripper/lexer.rb (on_heredoc_dedent): Fix Ripper.lex error in dedenting squiggly heredoc. heredoc tree is also an array of Elem in the outer tree. [Fix GH-1234] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53722 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * re.c: Introduce RREGEXP_PTR.naruse2016-02-021-4/+4
| | | | | | | | | | | | | | | | | patch by dbussink. partially merge https://github.com/ruby/ruby/pull/497 * include/ruby/ruby.h: ditto. * gc.c: ditto. * ext/strscan/strscan.c: ditto. * parse.y: ditto. * string.c: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53715 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* socket.c: unlimited size hostnamenobu2016-01-281-6/+20
| | | | | | | * ext/socket/socket.c (sock_gethostname): support unlimited size hostname. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53677 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* depend: add capacity.onobu2016-01-271-0/+14
| | | | | | * ext/-test-/string/depend (capacity.o): add dependencies. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53676 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Add tests about String's internal capacitynaruse2016-01-271-0/+17
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53671 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* wait readable/writablenobu2016-01-241-3/+74
| | | | | | | | * ext/io/wait/wait.c (io_wait_readwrite): [EXPERIMENTAL] allow to wait for multiple modes, readable and writable, at once. the arguments may change in the future. [Feature #12013] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53642 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* common.mk: source dependency for nmakenobu2016-01-221-1/+1
| | | | | | | | * common.mk (ext/rbconfig/sizeof/sizes.c): separate the dependency with VPATH and the command, get rid of weird VPATH behavior of nmake. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53618 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* vm_core.h: use RUBY_ASSERTnobu2016-01-222-0/+2
| | | | | | * vm_core.h (VM_ASSERT): use RUBY_ASSERT instead of rb_bug. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53616 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ripper: clean timestampnobu2016-01-191-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53593 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* option.c: single byte booleannobu2016-01-171-2/+7
| | | | | | | | * ext/socket/option.c (sockopt_bool): relax boolean size to be one too not only sizeof(int). Winsock getsockopt() returns a single byte as a boolean socket option. [ruby-core:72730] [Bug #11958] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53561 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* option.c: make error messages consistentnobu2016-01-171-13/+10
| | | | | | | | | * ext/socket/option.c (check_size): extract a macro to check binary data size, with a consistent message. * ext/socket/option.c (sockopt_byte): fix error message, sizeof(int) differs from sizeof(unsigned char) in general. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53557 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/openssl/lib/openssl/pkey.rb: Added 2048 bit DH parameter.hsbt2016-01-161-0/+12
| | | | | | * test/openssl/test_pkey_dh.rb: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53553 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * Remove 512-bit DH group. It's affected by LogJam Attack.hsbt2016-01-141-8/+0
| | | | | | | https://weakdh.org/ [fix GH-1196][Bug #11968][ruby-core:72766] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53531 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ext/-test-: reduce feature namesnobu2016-01-1012-12/+12
| | | | | | | * ext/-test-/**/extconf.rb: bring up extension libraries which have same name as the parent directory to reduce feature names. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53494 b2dd03c8-39d4-4d8f-98ff-823fe69b080e