| Age | Commit message (Collapse) | Author |
|
This reverts commit 63f40a5be59ac898e87528630568b7890ffcf5fb.
|
|
This reverts commit b6da54c7219197eacdbfdca53739686f0bb2d06a.
|
|
LibreSSL 3.6 added support for HKDF in EVP. Enable this in ossl_kdf.c.
https://github.com/ruby/openssl/commit/9bdd39a7e2
|
|
LibreSSL 3.4 added EVP_DigestSign() and EVP_DigestVerify(). Use them
when available to prepare for the addition of Ed25519 support in
LibreSSL 3.7.
https://github.com/ruby/openssl/commit/475b2bf766
|
|
PEM_write_bio_PrivateKey_traditional()
Co-authored-by: "Jeremy Evans" <code@jeremyevans.net>
|
|
Alias init functions
The extension library has each initialization function named "Init_" +
basename. If multiple extensions have the same base name (such as
cgi/escape and erb/escape), the same function will be registered for
both names.
To fix this conflict, rename the initialization functions under sub
directories using using parent names, when statically linking.
---
ext/extmk.rb | 16 +++++++++++++++-
template/extinit.c.tmpl | 2 +-
2 files changed, 16 insertions(+), 2 deletions(-)
|
|
[ruby/fiddle] closure: free resources when an exception is raised in
Closure.new
GitHub: GH-102
https://github.com/ruby/fiddle/commit/81a8a56239
---
ext/fiddle/closure.c | 56 ++++++++++++++++++++++++++++++++++++++++------------
1 file changed, 43 insertions(+), 13 deletions(-)
|
|
|
|
[ruby/fiddle] closure: follow variable name change
GitHub: GH-102
https://github.com/ruby/fiddle/commit/2530496602
---
ext/fiddle/closure.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
* Copy cvar table on clone
When a class with a class variable is cloned we need to also copy the
cvar cache table from the original table to the clone. I found this bug
while working on fixing [Bug #19379]. While this does not fix that bug
directly it is still a required change to fix another bug revealed by
the fix in https://github.com/ruby/ruby/pull/7265
This needs to be backported to 3.2.x and 3.1.x.
Co-authored-by: Aaron Patterson <tenderlove@ruby-lang.org>
* Fix cvar caching when class is cloned
The class variable cache that was added in
https://github.com/ruby/ruby/pull/4544 changed the behavior of class
variables on cloned classes. As reported when a class is cloned AND a
class variable was set, and the class variable was read from the
original class, reading a class variable from the cloned class would
return the value from the original class.
This was happening because the IC (inline cache) is stored on the ISEQ
which is shared between the original and cloned class, therefore they
share the cache too.
To fix this we are now storing the `cref` in the cache so that we can
check if it's equal to the current `cref`. If it's different we don't
want to read from the cache. If it's the same we do. Cloned classes
don't share the same cref with their original class.
This will need to be backported to 3.1 in addition to 3.2 since the bug
exists in both versions.
We also added a marking function which was missing.
Fixes [Bug #19379]
Co-authored-by: Aaron Patterson <tenderlove@ruby-lang.org>
* Add missing write barrier
We were missing the write barrier for class_value to cref. This should
fix the segv we were seeing in http://ci.rvm.jp/logfiles/brlog.trunk-gc-asserts.20230601-165052
Co-authored-by: Aaron Patterson <tenderlove@ruby-lang.org>
---------
Co-authored-by: Aaron Patterson <tenderlove@ruby-lang.org>
|
|
[ruby/stringio] [Bug #19389] Fix chomping with longer separator
https://github.com/ruby/stringio/commit/eb322a9716
---
ext/stringio/stringio.c | 5 +++--
test/stringio/test_stringio.rb | 2 ++
2 files changed, 5 insertions(+), 2 deletions(-)
|
|
|
|
35c794b26d406c39f90e188e3884003fe6aca532,725626d8905fe1ac4a2cf1c3e2db6412bf8f381f,b32a3f1275a8c7748f2134492ce3c532f277d261: [Backport #18964]
Fixed by [Bug #18964]
---
file.c | 3 ---
1 file changed, 3 deletions(-)
[Bug #18964] Update the code range of appended portion
---
ext/-test-/econv/append.c | 15 +++++++++++++++
ext/-test-/econv/extconf.rb | 3 +++
ext/-test-/econv/init.c | 11 +++++++++++
transcode.c | 34 ++++++++++++++++++++++++++++++----
4 files changed, 59 insertions(+), 4 deletions(-)
create mode 100644 ext/-test-/econv/append.c
create mode 100644 ext/-test-/econv/extconf.rb
create mode 100644 ext/-test-/econv/init.c
[Bug #18964] Add test for `rb_econv_append`
---
test/-ext-/econv/test_append.rb | 23 +++++++++++++++++++++++
1 file changed, 23 insertions(+)
create mode 100644 test/-ext-/econv/test_append.rb
|
|
Quiet if the target is already linked the same source
---
ext/extmk.rb | 2 +-
tool/ln_sr.rb | 6 ++++++
2 files changed, 7 insertions(+), 1 deletion(-)
|
|
Create temporary file exclusively and clean
---
ext/extmk.rb | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
|
|
Make extensions under `Gem.extension_api_version` directory
---
ext/extmk.rb | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
|
|
Avoid to symlink under symlink
---
ext/extmk.rb | 2 +-
tool/ln_sr.rb | 21 ++++++++++++++-------
2 files changed, 15 insertions(+), 8 deletions(-)
|
|
Move copying/linking extra files to Makefile so removed by `clean`
---
ext/extmk.rb | 81 ++++++++++++++++++++++++-----------------
tool/ln_sr.rb | 113 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 161 insertions(+), 33 deletions(-)
create mode 100755 tool/ln_sr.rb
|
|
Ensure symlinks to bundled gem with exts have parent dir
When configuring with `--disable-rpath` and `--static-linked-ext` (e.g.
building for WASI), `extmk.rb` doesn't build exts under bundled gems,
and `.bundle/gems/#{gemname}-#{ver}` are not created due to no call of
`extmake`.
b2491783986084770f6f97552f27b868622730cf starts creating symlink at
`.bundle/gems/#{gemname}-#{ver}/lib`, but the parent dir is not created,
so configuration aginst debug and rbs gems were failed.
---
ext/extmk.rb | 1 +
1 file changed, 1 insertion(+)
|
|
Move timestamps directory for bundled gems
---
ext/extmk.rb | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
|
|
Move the target directory of bundled gems like as rubygems
---
ext/extmk.rb | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
|
|
Bundled gems are expanded under `.bundle/gems` now
---
ext/extmk.rb | 13 +++++++------
template/exts.mk.tmpl | 2 +-
2 files changed, 8 insertions(+), 7 deletions(-)
|
|
Install gems `lib` directory to build path
---
ext/extmk.rb | 19 +++++++++++++++++++
1 file changed, 19 insertions(+)
|
|
Make dependency-free gemspec files
The default gems have not been installed yet in the build directory,
bundled gems depending on them can not work. As those dependencies
should be usable there even without rubygems, make temporary gemspec
files without the dependencies, and use them in the build directory.
---
ext/extmk.rb | 11 +++++++++++
tool/gem-unpack.rb | 4 ++++
2 files changed, 15 insertions(+)
|
|
Dump non-ASCII char as unsigned
Non-ASCII code may be negative on platforms plain char is signed.
---
ext/objspace/objspace_dump.c | 2 +-
test/objspace/test_objspace.rb | 15 +++++++++++++++
2 files changed, 16 insertions(+), 1 deletion(-)
|
|
The changes can be found at:
https://github.com/ruby/openssl/compare/v3.0.0...v3.0.1
|
|
Co-authored-by: Yuta Saito <kateinoigakukun@gmail.com>
|
|
|
|
[ruby/zlib] Mask checksums to lower 32bits
Upper bits affect the result of `crc32` in zlib 1.2.12.
https://github.com/ruby/zlib/commit/9ab6d04af1
---
ext/zlib/zlib.c | 12 +++++++++---
test/zlib/test_zlib.rb | 2 ++
2 files changed, 11 insertions(+), 3 deletions(-)
|
|
zlib-1.2.12.
|
|
f27eb8148f5a72bbacfebfecc7de9305471bb5c9,d75f7078c831d45ab5ba2fae4fbb308d01a21e46,d5836db1b398a7936b0461b3011db66f6cc8c490: [Backport #18443]
Sync io-console gem.
---
ext/io/console/console.c | 8 ++++++--
test/io/console/test_io_console.rb | 8 ++++++++
2 files changed, 14 insertions(+), 2 deletions(-)
[ruby/io-console] bump up to 0.5.11
https://github.com/ruby/io-console/commit/ad3805200c
---
ext/io/console/io-console.gemspec | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Fix `Leaked file descriptor: TestIO_Console#test_console_kw`
```
Leaked file descriptor: TestIO_Console#test_console_kw: 10 : #<File:/dev/tty>
```
---
test/io/console/test_io_console.rb | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
|
|
This reverts commit aa3b2c81c8de2e70bd100e92436f15c03523eaf7.
|
|
|
|
(cherry picked from commit 82c8acbcfd3197e19620dc6024d08c85ea99a05b)
|
|
https://github.com/ruby/io-console/commit/806c65e22b
(cherry picked from commit 8247b193c0dd06db9ea56812954dda8fed89458d)
|
|
https://github.com/ruby/io-console/commit/e9478509e9
(cherry picked from commit 9368fa6c3073d5fe4380a5e84eb59f7cec2ce62c)
|
|
https://github.com/ruby/openssl/commit/bff4080091
|
|
* Prefer to use RTEST when checking result of `rb_io_wait`.
* Consistently use false for signifying no events ready.
Notes:
Merged-By: ioquatix <samuel@codeotaku.com>
|
|
|
|
https://github.com/ruby/readline-ext/commit/6f86713b19
|
|
https://github.com/ruby/bigdecimal/commit/ac7daa5f15
|
|
https://github.com/ruby/bigdecimal/commit/2ef67c2cc7
|
|
https://github.com/ruby/bigdecimal/commit/a32f6cb9e2
|
|
https://github.com/ruby/bigdecimal/commit/c3453d2b97
|
|
(https://github.com/ruby/bigdecimal/pull/209)
* Enhanced RDoc for BigDecimal
* Update ext/bigdecimal/bigdecimal.c
Remove the instance number of `Float::DIG`.
* Update ext/bigdecimal/bigdecimal.c
Add BigDecimal call-seq without ndigits.
* Update ext/bigdecimal/bigdecimal.c
Replace the word sum with value or result in the description of BigDecimal().
* Update ext/bigdecimal/bigdecimal.c
Remove the instance value of Float::DIG.
* Update ext/bigdecimal/bigdecimal.c
Fix mis-description of precision
* Update ext/bigdecimal/bigdecimal.c
Fix the description of precision determination
* Update ext/bigdecimal/bigdecimal.c
Add the description of the precision in the Rational case.
https://github.com/ruby/bigdecimal/commit/acabb132a4
Co-authored-by: Kenta Murata <3959+mrkn@users.noreply.github.com>
|
|
Fix GH-214.
https://github.com/ruby/bigdecimal/commit/13e0e93f37
|
|
https://github.com/ruby/bigdecimal/commit/ef9cf4e69e
|
|
Fix GH-212.
https://github.com/ruby/bigdecimal/commit/900bb7fcf5
|
|
e.g.
```
gem "bigdecimal", github: "ruby/bigdecimal"
```
It would fail because bundler regenerates the `gemspec`,
so `bigdecimal_version` is gone.
https://github.com/ruby/bigdecimal/commit/bccaa66f2c
|
|
https://github.com/ruby/bigdecimal/commit/c019caeaba
|