Граф коммитов

60320 Коммитов

Автор SHA1 Сообщение Дата
Hiroshi SHIBATA 3e12b65861
Fallback to load version file in ruby core repository 2020-02-20 21:32:27 +09:00
Hiroshi SHIBATA a326b4b0b8
Move an entry of net-imap to the default gems section 2020-02-20 21:24:51 +09:00
Hiroshi SHIBATA e9d872a06e
Promote net-imap to the default gems 2020-02-20 21:24:19 +09:00
Nobuyoshi Nakada f5abcf767e [ruby/rdoc] Removed `RDoc::Context::Section#sequence`
It has been deprecated since 2011.

https://github.com/ruby/rdoc/commit/5c2aa0f77d
2020-02-20 18:06:19 +09:00
Nobuyoshi Nakada 56d33b3ea8
Fixed missing `return`
Get rid of double writing.
2020-02-20 13:39:27 +09:00
卜部昌平 7586355423 comma at the end of enum is a C++11ism
Comma at the end of enum is allowed in C since C99. We can use them
internally.  However when it comes to extension libraries, they could be
written in different C++ versions.  We cannot assume sometihng.  Public
headers shall keep compatibilities.
2020-02-20 11:46:54 +09:00
卜部昌平 49bb2e64cc avoid defining inline
Recent (since 2012 maybe?) MSVC ships a header named xkeycheck.h, which
(kindly!) aborts compilation on redefinition of C++ keywords.  Let's not
define this in case of C++.
2020-02-20 11:46:54 +09:00
卜部昌平 4e6bae47c8 ext/-test-/cxxanyargs: prevent have_devel check
The `cxx.try_compile` command in this file kicks `cxx.have_devel?`
internally, which recursively calls `cxx.try_link` with a different
source code.  We don't want that happen (the source code compiled in
this file must be the first one).  We need to fake the system.
2020-02-20 11:46:54 +09:00
卜部昌平 7aa3f1fe69 printf can be a macro
Namely glibc has this macro on -DFORTIFY_SOURCE.  We have to prevent
macro redefinition with different macro body.
2020-02-20 11:46:54 +09:00
卜部昌平 8920e2040a hide vm_ep_in_heap_p_
`make leaked-globals` points out that this function is leaked.  This has
not been detected in our CI because it is defined only when
VM_CHECK_MODE is nonzero.

Just make it static and everytihng goes well.
2020-02-20 11:46:54 +09:00
卜部昌平 c7e6dbd5ab fix arity mismatch
This is a ruby method with arity zero.  Which means, this function takes
one argument (that is self).
2020-02-20 11:46:54 +09:00
卜部昌平 984e0233fe TestTime#test_memsize: skip when on GC_DEBUG
GC_DEBUG=1 makes this test fail because it changes the size of struct
RVALUE.  I don't think the test is useful then.  Let's just skip.
2020-02-20 11:46:54 +09:00
卜部昌平 6788c375b1 suppress clang warnings
Starting clang 11, casts between pointer and (narrower-than-pointer) int
are now warned.  However all such thing in our repository are guaranteed
safe.  Let's suppress the warnings.
2020-02-20 11:46:54 +09:00
Nobuyoshi Nakada 036a68ae2c
[DOC] Fixed `ENV.rassoc` result order [ci skip] 2020-02-20 08:43:26 +09:00
Marcus Stollsteimer eed7235e33 hash.c: [DOC] fix typos 2020-02-19 20:59:21 +01:00
Marcus Stollsteimer 97e8212a76 doc/make_cheatsheet.md: fix typos 2020-02-19 20:57:38 +01:00
git 4bc16244be * 2020-02-20 [ci skip] 2020-02-20 00:14:24 +09:00
Kazuhiro NISHIYAMA 57c26231dd
Use `brew upgrade` instead of `brew update` 2020-02-20 00:13:44 +09:00
Takashi Kokubun c4794ed73a
Avoid jumping to a wrong destination
when the next insn is already compiled by former branches.
2020-02-18 23:19:06 -08:00
Nobuyoshi Nakada f0b815dc67
`Proc` made by `Symbol#to_proc` should be a lambda [Bug #16260] 2020-02-19 15:46:26 +09:00
git 90d082e374 * 2020-02-19 [ci skip] 2020-02-19 13:47:56 +09:00
S-H-GAMELINKS 5fd5666dcc support multi-run test for test_readline.rb 2020-02-19 13:47:33 +09:00
Nobuyoshi Nakada 041c2932e3
Pass keyword arguments to IOs properly [Bug #16639] 2020-02-18 14:35:46 +09:00
git 38070ccdeb * 2020-02-18 [ci skip] 2020-02-18 11:35:00 +09:00
Nobuyoshi Nakada 2115a3937d
[ruby/io-console] bump up to 0.5.6 2020-02-18 11:34:38 +09:00
Nobuyoshi Nakada 5ef383552d
[ruby/io-console] Just ignore the extension on other than CRuby
https://github.com/ruby/io-console/commit/41b6f09574
2020-02-18 11:33:06 +09:00
aycabta dcb05179a9 [ruby/irb] Version 1.2.3
https://github.com/ruby/irb/commit/dd56e06df5
2020-02-17 23:31:59 +09:00
git 9239226e39 * append newline at EOF. [ci skip] 2020-02-17 22:16:32 +09:00
Hiroshi SHIBATA c42c6a5950
Move the entry of net-protocol on docs 2020-02-17 22:16:13 +09:00
Hiroshi SHIBATA 0ae9780352
Promote net-protocol to default gems 2020-02-17 22:15:20 +09:00
Yusuke Endoh 2032432dad Partially revert "test/openssl/test_ssl.rb: skip OpenSSL::TestSSL#test_fallback_scsv"
A skip guard for test_fallback_scsv has been added in upstream
repository.
2020-02-17 20:53:19 +09:00
Kazuki Yamaguchi 8f91dc712a [ruby/openssl] test/openssl/test_ssl: skip test_fallback_scsv if necessary
Run the test case only when the OpenSSL supports both TLS 1.1 and TLS
1.2. Note that the fallback SCSV mechanism is for TLS 1.2 or older and
not for 1.3.

Fixes: https://github.com/ruby/openssl/issues/336

https://github.com/ruby/openssl/commit/6f2e6d7cf7
2020-02-17 20:51:27 +09:00
Kazuki Yamaguchi 99b191d83f [ruby/openssl] ts: simplify OpenSSL::Timestamp::Request#algorithm
Stop the special treatment of invalid hashAlgorithm of the message
imprint. Those invalid values can only appear after the object is
instantiated, before the user sets an actual message digest algorithm.

OpenSSL::Timestamp::TokenInfo#algorithm already does the same.

Also, remove the test case "test_create_request" since it does not make
much sense. Those fields are to be set by the user after creation of
the object and checking the initial value is pointless.

Fixes: https://github.com/ruby/openssl/issues/335

https://github.com/ruby/openssl/commit/890a6476fa
2020-02-17 20:50:47 +09:00
Yusuke Endoh 3fbcdac3e4 test/openssl/test_ssl.rb: skip OpenSSL::TestSSL#test_fallback_scsv
on OpenSSL 1.1.1d or later.

https://github.com/ruby/openssl/issues/336
2020-02-17 13:20:51 +09:00
Nobuyoshi Nakada dec802d8b5 [ruby/io-console] [DOC] Improved about `intr:`
https://github.com/ruby/io-console/commit/82b630cd79
2020-02-17 12:05:09 +09:00
git 21ab483614 * 2020-02-17 [ci skip] 2020-02-17 05:06:59 +09:00
Marcus Stollsteimer a9e10d3b8e NEWS.md: add missing ticket links 2020-02-16 21:00:49 +01:00
Marcus Stollsteimer 6ca0a62d21 NEWS.md: improve language; markup as list item 2020-02-16 21:00:41 +01:00
Marcus Stollsteimer 1126f58c62 NEWS.md: remove leading whitespace 2020-02-16 21:00:34 +01:00
Marcus Stollsteimer 3281f70d7c NEWS.md: fix method references; remove surplus brackets 2020-02-16 21:00:27 +01:00
Yusuke Endoh 331755c5e9 Revert "test/openssl/test_ts.rb: tentatively skip a failing test on CentOS 6.9"
This reverts commit a6d007c70b.

Unfortunately, the test fails on armv7l
https://rubyci.org/logs/rubyci.s3.amazonaws.com/scw-9d6766/ruby-master/log/20200216T091708Z.fail.html.gz
2020-02-16 22:16:22 +09:00
Yusuke Endoh a6d007c70b test/openssl/test_ts.rb: tentatively skip a failing test on CentOS 6.9
CentOS 6.9 will be EOL at Nov.  Ruby 3.0 (or 2.8) release version will
not support CentOS 6.9, so I'll remove the environment after it become
green.
2020-02-16 21:20:09 +09:00
Yusuke Endoh e37e0bfa98 test/openssl/test_ssl.rb: skip a test on OpenSSL 1.1.d or later
It fails due to "error:140AB18F:SSL routines:SSL_CTX_use_certificate:ee
key too small".  This is a tentative measurement to avoid the failure.

https://rubyci.org/logs/rubyci.s3.amazonaws.com/debian/ruby-master/log/20200216T093010Z.fail.html.gz

test/openssl/fixture/chain/server.key should be longer.
It should be documented how to create the files.
BTW, it would be a good idea to dynamically create a key during test
instead of fixed files.
2020-02-16 20:48:40 +09:00
Yusuke Endoh 01138f5853 Make OpenSSL::OSSL#test_memcmp_timing robust
The test was too fragile.  Actually, it fails on one of our CIs
immediately after it was merged to ruby/ruby.

https://gist.github.com/ko1/7ea4a5826641f79e2f9e041d83e45dba#file-brlog-trunk_clang_40-20200216-101730-L532-L535
https://gist.github.com/ko1/1c657746092b871359d8bf9e0ad28921#file-brlog-trunk-test4-20200216-104518-L473-L476

* Two measurements, a-b and a-c, must be interative instead of
  sequential; the execution time will be easily affected by disturbance
  (say, cron job or some external process invoked during measurement)

* The comparison of the two results must be relative instead of
  absolute; slow machine may take several tens of seconds for each
  execution, and one delta second is too small.  The test cases of a, b,
  and c are very extreme, so if the target method has a bug, the two
  execution times would be very different.  So I think it is enough to
  check if the difference is less than 10 times.

This change is the same as https://github.com/ruby/openssl/pull/332
2020-02-16 19:55:19 +09:00
Yusuke Endoh 0b55f8a14f ext/openssl/extconf.rb: avoid -Werror=deprecated-declarations
It fails to build on Solaris:

https://rubyci.org/logs/rubyci.s3.amazonaws.com/solaris11-gcc/ruby-master/log/20200216T090008Z.log.html.gz
```
ossl_cipher.c: 関数 ‘ossl_cipher_init’ 内:
ossl_cipher.c:228:2: エラー: ‘EVP_md5’ is deprecated [-Werror=deprecated-declarations]
  228 |  EVP_BytesToKey(EVP_CIPHER_CTX_cipher(ctx), EVP_md5(), iv,
      |  ^~~~~~~~~~~~~~
In file included from /usr/include/openssl/x509.h:73,
                 from /usr/include/openssl/x509v3.h:63,
                 from ossl.h:23,
                 from ossl_cipher.c:10:
/usr/include/openssl/evp.h:732:26: 備考: ここで宣言されています
  732 | DEPRECATED const EVP_MD *EVP_md5(void);
      |                          ^~~~~~~
```
2020-02-16 19:14:23 +09:00
Hiroshi SHIBATA 3014574800
Guard for OpenSSL::PKey::EC::Group::Error with unsupported platforms 2020-02-16 16:08:43 +09:00
Hiroshi SHIBATA b99775b163
Import openssl-2.2.0 (#2693)
Import the master branch of ruby/openssl for preparing to release openssl-2.2.0
2020-02-16 15:21:29 +09:00
Nobuyoshi Nakada 0bfa479c52
Split the optimizable range item conditions 2020-02-16 13:47:18 +09:00
git 07179c5c0f * 2020-02-16 [ci skip] 2020-02-16 02:37:34 +09:00
Masataka Pocke Kuwabara 5278294230 Reduce begin-less/end-less range allocation
```
$ cat test.yaml
prelude: |
    def endless
      1..
    end

    def beginless
      ..1
    end

    def endless_substr(str)
      str[1..]
    end

benchmark:
    endless: endless
    beginless: beginless
    endless_substr: "endless_substr('foo')"

$ RBENV_VERSION=trunk ruby -v
ruby 2.8.0dev (2020-02-15T12:52:03Z master 961630126b) [x86_64-linux]
$ RBENV_VERSION=patched ruby -v
ruby 2.8.0dev (2020-02-15T12:52:03Z origin/master 961630126b) [x86_64-linux]

$ benchmark-driver test.yaml --rbenv 'patched;trunk'
Warming up --------------------------------------
             endless    45.948M i/s -     46.076M times in 1.002782s (21.76ns/i, 26clocks/i)
           beginless    49.986M i/s -     50.237M times in 1.005037s (20.01ns/i, 24clocks/i)
      endless_substr     8.067M i/s -      8.187M times in 1.014936s (123.96ns/i, 148clocks/i)
Calculating -------------------------------------
                        patched       trunk
             endless   115.679M     21.500M i/s -    137.843M times in 1.191597s 6.411398s
           beginless   112.599M     22.060M i/s -    149.957M times in 1.331778s 6.797768s
      endless_substr     8.888M      6.760M i/s -     24.201M times in 2.722995s 3.580038s

Comparison:
                          endless
             patched: 115679391.9 i/s
               trunk:  21499711.2 i/s - 5.38x  slower

                        beginless
             patched: 112598731.5 i/s
               trunk:  22059673.0 i/s - 5.10x  slower

                   endless_substr
             patched:   8887513.1 i/s
               trunk:   6759886.2 i/s - 1.31x  slower
```
2020-02-16 02:37:12 +09:00