69518 Commits

Author SHA1 Message Date
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
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
844588f9157b364244a7d34ee0fcc70ccc2a7dd9 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)
2d98593bf54a37397c6e4886ccc7e3654c2eaf85 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
Hiroshi SHIBATA
eac7a71062 [ruby/prettyprint] Bump up prettyprint version to 0.1.1
https://github.com/ruby/prettyprint/commit/0e8eee5f5f
2021-10-21 21:05:39 +09:00
Hiroshi SHIBATA
ba3c2593ab [ruby/pp] Bump up pp version to 0.2.1
https://github.com/ruby/pp/commit/06b839b9ca
2021-10-21 21:04:14 +09:00
Hiroshi SHIBATA
9f398d023b [ruby/securerandom] Bump up securerandom version to 0.1.1
https://github.com/ruby/securerandom/commit/5f9d3d1dfa
2021-10-21 21:03:08 +09:00
Hiroshi SHIBATA
aca0dcc5f9 [ruby/rinda] Bump up rinda version to 0.1.1
https://github.com/ruby/rinda/commit/d394ba107e
2021-10-21 21:02:37 +09:00
Hiroshi SHIBATA
b8d49d0d01 [ruby/optparse] Bump up optparse version to 0.2.0
https://github.com/ruby/optparse/commit/1226b670e6
2021-10-21 21:01:34 +09:00
Hiroshi SHIBATA
cb4c98f949 [ruby/net-http] Bump up net-http version to 0.2.0
https://github.com/ruby/net-http/commit/f3e65e2a31
2021-10-21 21:01:06 +09:00
Hiroshi SHIBATA
cc2f76041d [ruby/net-protocol] Bump up net-protocol version to 0.1.2
https://github.com/ruby/net-protocol/commit/088e52609a
2021-10-21 21:00:53 +09:00
Hiroshi SHIBATA
8ef125c838 [ruby/uri] Bump up uri version to 0.11.0
https://github.com/ruby/uri/commit/1619f713e6
2021-10-21 21:00:04 +09:00
Hiroshi SHIBATA
422b057d65 [ruby/ostruct] Bump up ostruct version to 0.5.0
https://github.com/ruby/ostruct/commit/c535a406f8
2021-10-21 20:54:33 +09:00
Hiroshi SHIBATA
7529fe82f0 [ruby/io-wait] Bump up io-wait version to 0.2.0
https://github.com/ruby/io-wait/commit/f6a1b10a59
2021-10-21 20:54:20 +09:00