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

69378 Коммитов

Автор SHA1 Сообщение Дата
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 e22d293e06.
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
Koichi Sasada acb23454e5 allow to access ivars of classes/modules
if an ivar of a class/module refer to a shareable object, this ivar
can be read from non-main Ractors.
2021-10-23 01:32:55 +09:00
Koichi Sasada 6b9285e8d4 'uri/https' is needed
`URI.parse('https://a.b.c/')` needs 'uri/https'.
2021-10-22 23:56:07 +09:00
Alan Wu ba4bf8a1e6
Fix simple test on platforms where compaction is not supported
844588f915 made it so that trying to call
gc_verify_compaction_references on unsupported platform result in an
exception rather than a crash. Rescue the exception in a YJIT btest
that uses gc_verify_compaction_references.
2021-10-22 10:53:42 -04:00
rm155 d09cb64ae5 [ruby/mutex_m] Make VERSION shareable
https://github.com/ruby/mutex_m/commit/a839e29d04
2021-10-22 19:49:34 +09:00
Tiago 553f234a07 [ruby/uri] URI#HTTP#origin and URI#HTTP#authority (https://github.com/ruby/uri/pull/30)
https://github.com/ruby/uri/commit/bf13946c32

Co-authored-by: Samuel Williams <samuel.williams@oriontransfer.co.nz>
2021-10-22 19:48:36 +09:00
Olle Jonsson c8ad024e8e [ruby/delegate] gemspec: Drop unused executables directives
https://github.com/ruby/delegate/commit/81a3c32140
2021-10-22 19:48:22 +09:00
Nobuyoshi Nakada aee4940d5e
Reduce YJIT runs on macOS [ci skip]
MacOs concurrency on GitHub Actions is limited, and the
performance is relatively poor.
2021-10-22 17:14:00 +09:00
Hiroshi SHIBATA 93691d0752
Import bigdecimal-3.1.0.dev 2021-10-22 15:53:49 +09:00
Nobuyoshi Nakada 22a7f7ec5a
Refinement#include and Refinement#prepend have been deprecated 2021-10-22 15:06:41 +09:00
Koichi Sasada 598382f686 debug.gem 1.3.1 2021-10-22 14:43:38 +09:00
Nobuyoshi Nakada 9f4f3bd1cc
Refinement#include and Refinement#prepend have been deprecated 2021-10-22 13:53:21 +09:00
Nobuyoshi Nakada 4446942f1a
Extract UNPACK_FETCH 2021-10-22 12:47:34 +09:00
Takashi Kokubun 6469038ae2
Fix TestRubyOptions#test_enable for -DMJIT_FORCE_ENABLE
--enable=all didn't work when cppflags=-DMJIT_FORCE_ENABLE was given.
2021-10-21 20:41:14 -07:00
Aaron Patterson 844588f915 Push compaction page alignment check down
It seems like `gc_verify_compaction_references` is not protected in case
alignment is wrong.  This commit pushes the alignment check down to
`gc_start_internal` so that anyone trying to compact will check page
alignment

I think this method may be getting called on PowerPC and the alignment
might be wrong.

  http://rubyci.s3.amazonaws.com/ppc64le/ruby-master/log/20211021T190006Z.fail.html.gz
2021-10-21 15:47:38 -07:00
Alan Wu bdfc23cba9
YJIT: don't compile attr_accessor methods when tracing (#4998)
2d98593bf5 made it so that
attr_accessor methods fire C method tracing events.
Previously, we weren't checking for whether we are tracing before
compiling, leading to missed events.

Since global invalidation invalidates all code, and that attr_accessor
methods can never enable tracing while running, events are only dropped
when YJIT tries to compile when tracing is already enabled.

Factor out the code for checking tracing and check it before generating
code for attr_accessor methods.

This change fixes TestSetTraceFunc#test_tracepoint_attr when it's
ran in isolation.
2021-10-21 15:07:32 -04:00
Justin Searls d0cad8ad83 [rubygems/rubygems] Re-enable `default_ignores` option for standard
I am not sure why this flag was turned off (it wasn't explained in my commit message in 0365dc852767ae589376a7aad1fb129738e408b0 or in my PR in #4411). 

Whatever the reason, without `default_ignores` turned on, most default CI configurations will immediately fail, as they most likely vendor and cache their dependencies under `vendor`, which will cause standard to run against all the vendored gems and (most likely) fail. I think we should remove this before this feature is released.

https://github.com/rubygems/rubygems/commit/677f74be48
2021-10-22 03:33:44 +09:00
Maxime Chevalier-Boisvert 32a8cb965c
Add link to YJIT blog post to NEWS.md
Requested by @nurse
2021-10-21 12:49:58 -04:00
git ad1f7f2a8e * 2021-10-22 [ci skip] 2021-10-22 00:28:26 +09:00
Jeremy Evans 119626da94 Force disable yjit on OpenBSD
TestRubyOptions#test_enable was broken on OpenBSD after the yjit
merge. --yjit (and --enable-all, which enables --yjit) fails on
OpenBSD because yjit uses an insecure mmap call (both writable
and executable), in alloc_exec_mem, which OpenBSD does not allow.

This can probably be reverted if yjit switches to a more secure
mmap design (writable xor executable).  This would involve
initially calling mmap with PROT_READ | PROT_WRITE, and after writing
of executable code has finished, using mprotect to switch to
PROT_READ | PROT_EXEC. I believe Firefox uses this approach for
their Javascript engine since Firefox 46.
2021-10-21 08:26:02 -07:00
Hiroshi SHIBATA d74f1e1623
Added version of readline-ext 2021-10-21 21:19:16 +09:00
Hiroshi SHIBATA c5345979e8
Bump up readline-ext version to 0.1.3 2021-10-21 21:17:45 +09:00
Hiroshi SHIBATA 03fd60937d
Update the merged versions of default gems. 2021-10-21 21:07:23 +09:00