69650 Commits

Author SHA1 Message Date
Nobuyoshi Nakada
1ea5325360
Reduce YJIT runs on Ubuntu [ci skip] 2021-10-24 19:35:29 +09:00
Nobuyoshi Nakada
fe77a03392
Use ${{}} for if statement 2021-10-24 19:35:28 +09:00
Nobuyoshi Nakada
408605aae7 EWOULDBLOCK is always defined since 74ba9c248890 2021-10-24 19:24:50 +09:00
Nobuyoshi Nakada
3d7c92df08 Extract io_again_p to check if EAGAIN or EWOULDBLOCK 2021-10-24 19:24:50 +09:00
Nobuyoshi Nakada
9822ebee5b suppress warnings by parenthesizing unclear expressions 2021-10-24 19:24:50 +09:00
Nobuyoshi Nakada
7459a32af3 suppress warnings for probable NULL dererefences 2021-10-24 19:24:50 +09:00
Nobuyoshi Nakada
e5c2bf55d0 Suppress sign-compare warning 2021-10-24 19:24:50 +09:00
Nobuyoshi Nakada
b69c38e62e Refactor associated pointer 2021-10-24 17:50:35 +09:00
Nobuyoshi Nakada
8d6e9b6658
Suppress false warning for freed pointer 2021-10-24 16:20:34 +09:00
Hiroshi SHIBATA
1be2875e1d
[flori/json] Bump version to v2.6.1
https://github.com/flori/json/commit/2db5894cfa
2021-10-24 09:25:20 +09:00
Josef Šimánek
4cbce79438
[flori/json] Bump JSON::VERSION to 2.6.0.
https://github.com/flori/json/commit/da94d9f059
2021-10-24 09:25:01 +09:00
David Rodríguez
d04d6bbc6c [ruby/psych] Prefer require_relative for internal requires
https://github.com/ruby/psych/commit/a0f55ee85a
2021-10-24 08:49:14 +09:00
Josef Šimánek
48cd633094 [ruby/psych] Add stringio as a dependency.
https://github.com/ruby/psych/commit/86e3049579
2021-10-24 08:48:40 +09:00
git
bd65757f39 * 2021-10-24 [ci skip] 2021-10-24 05:58:05 +09:00
Sutou Kouhei
53dcb3541b NEWS: StringScanner 3.0.1 is released 2021-10-24 05:57:48 +09:00
Sutou Kouhei
c0c43276a1 [ruby/strscan] Bump version
If we use the same version as the default strscan gem in Ruby, "gem
install" doesn't extract .gem. It fails "gem install" because "gem
install" can't find ext/strscan/ to be built.

https://github.com/ruby/strscan/commit/3ceafa6cdc
2021-10-24 05:57:48 +09:00
Sutou Kouhei
76e277a081 NEWS: CSV 3.2.1 is released 2021-10-24 05:57:33 +09:00
rm155
ee948fc1b4 [ruby/csv] Add support for Ractor (https://github.com/ruby/csv/pull/218)
https://github.com/ruby/csv/commit/a802690e11
2021-10-24 05:57:33 +09:00
Sutou Kouhei
274882be62 [ruby/csv] Use test-unit gem instead of test-framework of ruby repo
https://github.com/ruby/csv/commit/9c4add0d31
2021-10-24 05:57:33 +09:00
Anthony Hernandez
8fde54a3b5 [ruby/csv] CSV(): Add support for Ruby 3 (https://github.com/ruby/csv/pull/215)
The implementation of the `CSV` shortcut method is broken in Ruby 3
for calls that look like this:

```ruby
CSV(write_stream, col_sep: "|", headers: headers, write_headers: true) do |csv|
  ...
end
```

The above will result in the following error when the `CSV` method attempts to pass
on arguments to `CSV#instance`:

```
ArgumentError: wrong number of arguments (given 2, expected 0..1)
```

The issue is due to the changes in Ruby 3 relating to positional & keyword arguments.

This commit updates the `CSV()` shortcut implementation to work with Ruby 3, and also
updates the documentation for the shortcut method.

https://github.com/ruby/csv/commit/310dee45fa
2021-10-24 05:57:33 +09:00
Kenta Murata
1073975013 [ruby/csv] CI: Stop coverage mesurement
https://github.com/ruby/csv/commit/5ff3b95018
2021-10-24 05:57:33 +09:00
Sutou Kouhei
8ba98f83b0 [ruby/csv] Use "\n" for the default row separator on Ruby 3.0 or later
https://github.com/ruby/csv/commit/1f9cbc170e
2021-10-24 05:57:33 +09:00
Joakim Antman
7f3dd601c8 [ruby/csv] Changed line ending handling to consider the combination \r\n as a single entry when row is faulty (https://github.com/ruby/csv/pull/220)
https://github.com/ruby/csv/commit/29cef9ea9d
2021-10-24 05:57:33 +09:00
Sutou Kouhei
39ecdabe67 [ruby/csv] Resolve CSV::Converters and HeaderConverters lazy
It's for Ractor. If you want to use the built-in converters, you
should call Ractor.make_shareable(CSV::Converters) and/or
Ractor.make_shareable(CSV::HeaderConverters).

https://github.com/ruby/csv/commit/b0b1325d6b
2021-10-24 05:57:33 +09:00
Vince
8aaa1c279f [ruby/csv] doc: Match text to the struct name (https://github.com/ruby/csv/pull/217)
https://github.com/ruby/csv/commit/744e41130c
2021-10-24 05:57:33 +09:00
Sutou Kouhei
e40baca33d [ruby/csv] Bump version
https://github.com/ruby/csv/commit/3025070cea
2021-10-24 05:57:33 +09:00
Nobuyoshi Nakada
185c573821
Add INSTRUBY_OPTS to INSTRUBY_ARGS [ci skip]
For extra options from the `make` command line.
Also add explicit `--install` option to install-nodoc.
2021-10-23 22:19:04 +09:00
Kazuki Yamaguchi
cda8bc3657 [ruby/openssl] test/openssl/test_ssl: use assert_raise in test_bad_socket
The Ruby tree disallows assert_raises.

https://github.com/ruby/openssl/commit/9b4f761e74
2021-10-23 13:38:40 +09:00
Aaron Patterson
35b9d8d393 [ruby/openssl] Raise an exception if the IO object passed to SSLSocket isn't a file
SSLSocket#connect eventually calls `GetOpenFile` in order to get the
underlying file descriptor for the IO object passed in on
initialization.  `GetOpenFile` assumes that the Ruby object passed in is
a T_FILE object and just casts it to a T_FILE without any checks.  If
you pass an object that *isn't* a T_FILE to that function, the program
will segv.

Since we assume the IO object is a file in the `connect` method, this
commit adds a `CheckType` in the initialize method to ensure that the IO
object is actually a T_FILE.  If the object *isn't* a T_FILE, this class
will segv on `connect`, so I think this is a backwards compatible
change.

https://github.com/ruby/openssl/commit/919fa44ec2
2021-10-23 13:38:40 +09:00
Kazuki Yamaguchi
47975ece40 [ruby/openssl] test/openssl/test_pkey_rsa: disable test_no_private_exp on OpenSSL 3.0
OpenSSL::PKey::RSA#set_key does not exist when built with OpenSSL 3.0,
so it is not possible to create an RSA object with incomplete state.

https://github.com/ruby/openssl/commit/ca03c9c070
2021-10-23 13:38:39 +09:00
Kazuki Yamaguchi
95044fa13b [ruby/openssl] test/openssl/test_pkey: use EC keys for PKey.generate_parameters tests
OpenSSL 3.0 refuses to generate DSA parameters shorter than 2048 bits,
but generating 2048 bits parameters takes very long time. Let's use EC
in these test cases instead.

https://github.com/ruby/openssl/commit/c732387ee5
2021-10-23 13:38:39 +09:00
Kazuki Yamaguchi
d67fe1e9de [ruby/openssl] test/openssl/test_ssl: fix illegal SAN extension
A certificate can only have one SubjectAltName extension. OpenSSL 3.0
performs a stricter validation and certificates containing multiple SANs
will be rejected.

https://github.com/ruby/openssl/commit/558cfbe5f5
2021-10-23 13:38:38 +09:00
Kazuki Yamaguchi
79d5abd01b [ruby/openssl] test/openssl/test_pkcs12: fix test failures with OpenSSL 3.0
OpenSSL's PKCS12_create() by default uses pbewithSHAAnd40BitRC2-CBC for
encryption of the certificates. However, in OpenSSL 3.0, the algorithm
is part of the legacy provider and is not enabled by default.

Specify another algorithm that is still in the default provider for
these test cases.

https://github.com/ruby/openssl/commit/998406d18f
2021-10-23 13:38:38 +09:00
Kazuki Yamaguchi
d26e64e0eb [ruby/openssl] test/openssl/test_ssl: relax regex to match OpenSSL's error message
OpenSSL 3.0 slightly changed the error message for a certificate
verification failure when an untrusted self-signed certificate is found
in the chain.

https://github.com/ruby/openssl/commit/b5a0a19850
2021-10-23 13:38:38 +09:00
Kazuki Yamaguchi
54047b6d06 [ruby/openssl] test/openssl/test_digest: do not test constants for legacy algorithms
Remove availability test for MD4 and RIPEMD160 as they are considered
legacy and may be missing depending on the compile-time options of
OpenSSL. OpenSSL 3.0 by default disables them.

https://github.com/ruby/openssl/commit/a3e59f4c2e
2021-10-23 13:38:37 +09:00
Kazuki Yamaguchi
5a8e1c520a [ruby/openssl] test/openssl/test_ssl: assume ECC support
Disabling ECC support of OpenSSL is impractical nowadays.

We still try to have the C extension compile on no-ec builds (as well
as no-dh or no-engine, etc.) as long as we can, but keeping test cases
for such an extreme scenario is not worth the effort.

https://github.com/ruby/openssl/commit/2cd01d4676
2021-10-23 13:38:37 +09:00
Kazuki Yamaguchi
0e805e73ce [ruby/openssl] test/openssl/test_ssl: assume TLS 1.2 support
Current versions of OpenSSL and LibreSSL all support TLS 1.2, so there
is no need for checking the availability.

https://github.com/ruby/openssl/commit/a175a41529
2021-10-23 13:38:36 +09:00
Kazuki Yamaguchi
37632a0ac6 [ruby/openssl] test/openssl/utils: remove dup_public helper method
It uses deprecated PKey::{RSA,DSA,DH}#set_* methods, which will not
work with OpenSSL 3.0. The same can easily be achieved using
PKey#public_to_der regardless of the key kind.

https://github.com/ruby/openssl/commit/7b66eaa2db
2021-10-23 13:38:36 +09:00
Yuki Nishijima
e353bcd111 Sync did_you_mean 2021-10-22 21:56:26 -04:00
Yuki Nishijima
93badf4770 Disable did_you_mean in TestPatternMatching 2021-10-22 21:22:14 -04:00
Yuki Nishijima
905be49bf6 Remove the test for DYM's verbose formatter 2021-10-22 21:14:01 -04:00
Yuki Nishijima
66df18c55e Sync did_you_mean again 2021-10-22 21:00:23 -04:00
Yuki Nishijima
22249bbb37 Revert "Sync did_you_mean"
This reverts commit e22d293e06966733e71a7fd9725eee06c03d0177.
2021-10-22 20:56:26 -04:00
Yuki Nishijima
e22d293e06 Sync did_you_mean 2021-10-22 20:35:40 -04:00
Alan Wu
f80069820e YJIT: Don't take VM lock on constant IC fill when disabled
While theoretically it's fine to take the lock and then immediately release
it, we don't need to do it when YJIT is off.
2021-10-22 17:22:41 -04:00
Sutou Kouhei
7246c5b811 NEWS: Fiddle 1.1.0 is released 2021-10-23 06:03:57 +09:00
Koichi Sasada
199ba9c377 update NEWS about last commits. 2021-10-23 01:38:05 +09:00
git
41f6ce9f1c * 2021-10-23 [ci skip] 2021-10-23 01:33:10 +09:00
Koichi Sasada
df9fac5ccd update doc/ractor.md about ivars 2021-10-23 01:32:55 +09:00
Koichi Sasada
a7776077be add vm_ivar_of_class_set
benchmark for a class's ivar setter
2021-10-23 01:32:55 +09:00