Commit graph

75985 commits

Author SHA1 Message Date
TSUYUSATO Kitsune
94aabd3415 Correct castings to use OnigDistance 2025-08-01 10:16:55 +09:00
TSUYUSATO Kitsune
0eb1ed4f26 Add castings to prevent warnings 2025-08-01 10:16:55 +09:00
TSUYUSATO Kitsune
ae966df907 Port a Oniguruma patch: Integer overflow in onig_search_gpos()
778a43dd56

It differs from the Oniguruma patch in that it dosen't use `onigenc_get_prev_char_head()`
because this function's signature has been changed by Oniguruma and the change is not ported
in Onigmo for now. This patch respects the current Onigmo implementation.

Co-Authored-By: K.Kosako <kkos@users.noreply.github.com>
2025-08-01 10:16:55 +09:00
TSUYUSATO Kitsune
f16262e544 Port a Oniguruma patch: Integer overflow in backward_search_range() and onig_search_gpos()
bfc36d3d81

Co-Authored-By: K.Kosako <kkos@users.noreply.github.com>
2025-08-01 10:16:55 +09:00
TSUYUSATO Kitsune
b2da5f3188 Port a Oniguruma patch: Integer overflow in forward_search_range()
db64ef3189

Co-Authored-By: K.Kosako <kkos@users.noreply.github.com>
2025-08-01 10:16:55 +09:00
Hiroshi SHIBATA
8f611e0c46
bump teeny 2025-07-24 17:27:18 +09:00
Hiroshi SHIBATA
2417ed9275 Update dependencies 2025-07-24 14:39:20 +09:00
Nobuyoshi Nakada
b2cd6d71bb Cast up int instruction code to VALUE
Fix Visual C warnings:
```
iseq.c(3793): warning C4312: 'type cast': conversion from 'int' to 'void *' of greater size
iseq.c(3794): warning C4312: 'type cast': conversion from 'int' to 'void *' of greater size
```
2025-07-24 14:39:20 +09:00
Nobuyoshi Nakada
2509297258 Separate __has_attribute from defined(__has_attribute)
Fix Visual C warnings:
```
regenc.h(121): warning C4067: unexpected tokens following preprocessor directive - expected a newline
```
2025-07-24 14:39:20 +09:00
Nobuyoshi Nakada
e26e8423b5 Suppress gcc 15 unterminated-string-initialization warnings 2025-07-24 14:39:20 +09:00
Nobuyoshi Nakada
7e6bbc40c8 [ruby/io-wait] Run have_func with the header providing the declarations
48309d7877
2025-07-24 12:21:34 +09:00
Nobuyoshi Nakada
5c74f2a79b [ruby/json] Run have_func with the header providing the declarations
95fb084027
2025-07-24 12:21:34 +09:00
Nobuyoshi Nakada
f82b9d8d7b [ruby/strscan] Run have_func with the header providing the declarations
18c0a59b65
2025-07-24 12:21:34 +09:00
Nobuyoshi Nakada
eba9fa20b5 [ruby/strscan] Update extconf.rb
(https://github.com/ruby/strscan/pull/158)

- `have_func` includes "ruby.h" by default.
- include "ruby/re.h" where `rb_reg_onig_match` is declared.

1ac96f47e9
2025-07-24 12:21:34 +09:00
Hiroshi SHIBATA
9f00b8872d Bump up resolv-0.2.3 for Ruby 3.2 2025-07-09 06:18:51 +09:00
Nobuyoshi Nakada
bd7d210d1c Win: Suppress false warnings from Visual C 17.14.1
https://developercommunity.visualstudio.com/t/warning-C5287:-operands-are-different-e/10877942?

It is not able to silence "operands are different enum types"
warnings, even using an explicit cast, as the message says.
2025-06-25 14:33:23 +09:00
Hiroshi SHIBATA
8eadf30cf4 Removed unnecessary winsdk version 2025-06-25 13:28:38 +09:00
Nobuyoshi Nakada
051e5f54cc [Bug #21255] Win32: Do not export __declspec(selectany) symbols
```
x64-vcruntime140-ruby350.def : error LNK2001: unresolved external symbol Avx2WmemEnabledWeakValue
```
2025-06-25 13:28:38 +09:00
Nobuyoshi Nakada
d946d65cea
Detect clock_gettime and clock_getres for winpthreads 2025-06-06 08:33:30 +09:00
Hiroshi SHIBATA
cce19c9c25 Fixed cache key of vcpkg installed artifacts 2025-05-28 10:38:11 +09:00
Hiroshi SHIBATA
7e3c817469 Don't store download cache of vcpkg 2025-05-28 10:38:11 +09:00
Hiroshi SHIBATA
161aede142 Disabled TRAP cache of CodeQL 2025-05-23 07:39:44 +09:00
Hiroshi SHIBATA
5862be0e89 Skip failing tests with mingw platform
4262123282

```
  1)
  File.atime returns the last access time for the named file with microseconds FAILED
  Expected 0 == 123456
  to be truthy but was false
  D:/a/ruby/ruby/src/spec/ruby/core/file/atime_spec.rb:26:in `block (3 levels) in <top (required)>'
  D:/a/ruby/ruby/src/spec/ruby/core/file/atime_spec.rb:3:in `<top (required)>'

  2)
  File.ctime returns the change time for the named file (the time at which directory information about the file was changed, not the file itself) with microseconds. FAILED
  Expected 0 > 0
  to be truthy but was false
  D:/a/ruby/ruby/src/spec/ruby/core/file/ctime_spec.rb:21:in `block (3 levels) in <top (required)>'
  D:/a/ruby/ruby/src/spec/ruby/core/file/ctime_spec.rb:3:in `<top (required)>'

  3)
  File.utime sets the access and modification time of each file FAILED
  Expected 2025-05-21 10:30:54 +0000
  to be within 2025-05-21 10:30:54 +0000 +/- 0.0001
  D:/a/ruby/ruby/src/spec/ruby/core/file/utime_spec.rb:25:in `block (2 levels) in <top (required)>'
  D:/a/ruby/ruby/src/spec/ruby/core/file/utime_spec.rb:3:in `<top (required)>'

  4)
  File.mtime returns the modification Time of the file with microseconds FAILED
  Expected 0 == 123456
  to be truthy but was false
  D:/a/ruby/ruby/src/spec/ruby/core/file/mtime_spec.rb:25:in `block (3 levels) in <top (required)>'
  D:/a/ruby/ruby/src/spec/ruby/core/file/mtime_spec.rb:3:in `<top (required)>'
```

It may be fixed with 7aea269b89.
But Ruby 3.2 is now security maintenance status. We can't backport it.
2025-05-22 18:32:10 +09:00
Nobuyoshi Nakada
b7aca78cee [ruby/io-console] Use gperf 3.1 to generate ANSI-C code
3798aae42d
2025-05-22 18:32:10 +09:00
Nobuyoshi Nakada
c239069d07 Fix redefinition of clock_gettime and clock_getres
winpthreads-git 12.0.0.r720 provides `clock_gettime` and
`clock_getres` as inline functions.
2025-05-22 18:32:10 +09:00
Hiroshi SHIBATA
395e5de8d4 Update the latest version of ruby/setup-ruby 2025-05-22 18:32:10 +09:00
Hiroshi SHIBATA
f91480d7a6
merge revision(s) 719486a642: [Backport #21286]
Fix C23 (GCC 15) WIN32 compatibility for rb_define_* functions

	Fixes [Bug #21286]
2025-05-13 11:22:38 +09:00
nick evans
b133b39705 Bump net-imap to v0.3.9 for Ruby 3.2 (CVE-2025-43857)
This update addresses CVE-2025-43857 (GHSA-j3g3-5qv5-52mj).
2025-05-01 20:33:38 +09:00
Hiroshi SHIBATA
d274682728 Use system vcpkg command for windows-2022 image 2025-05-01 14:19:08 +09:00
Hiroshi SHIBATA
9597813f9d Bump up the latest version of actions 2025-05-01 14:19:08 +09:00
Hiroshi SHIBATA
09a5f7a4f3 Use configu.guess with wasi compatible version 2025-05-01 14:19:08 +09:00
Hiroshi SHIBATA
42a993a9b4 Bump up clang-14 with mjit-bindgen job 2025-05-01 14:19:08 +09:00
Hiroshi SHIBATA
ac91a47206 Removed unused auto_request_review 2025-05-01 14:19:08 +09:00
Hiroshi SHIBATA
3ae7535a4e Use windows-2022 because windows-2019 is EOL at June 2025 2025-05-01 14:19:08 +09:00
Hiroshi SHIBATA
f274a4ea42 Bump up clang-14 with yjit-bindgen job 2025-05-01 14:19:08 +09:00
Hiroshi SHIBATA
a4b4e86a19 ubuntu-20.04 is retired 2025-05-01 14:19:08 +09:00
Hiroshi SHIBATA
647e1ff938 Use EnvUtil.apply_timeout_scale 2025-04-04 07:38:56 +09:00
Hiroshi SHIBATA
fa95d1b0b8 Extend open_timeout for test failure on s390x
20250403T060004Z.fail.html.gz
2025-04-04 07:38:56 +09:00
Hiroshi SHIBATA
b79909fc5a Followed up 7c400c66c9 2025-04-03 19:36:39 +09:00
Hiroshi SHIBATA
7c400c66c9 Use IPv4 for test server because TestNetHTTPS is failing with s390x
20250403T005659Z.fail.html.gz
2025-04-03 14:44:09 +09:00
Hiroshi SHIBATA
105d9da252 Enforce to use CMake 3 because CMake 4 is not compatible to build libyaml via vcpkg 2025-04-03 14:10:36 +09:00
Hiroshi SHIBATA
d75d4275e4 [rubygems/rubygems] Bump up minimum required version for cmake 4
3e77caeddf
2025-04-02 10:37:08 +09:00
Hiroshi SHIBATA
13f495dc2c
bump teeny 2025-03-26 13:18:02 +09:00
David Rodríguez
a56c2fb375 [rubygems/rubygems] Support git 2.49
One error message that we parse is now slightly different.

758528791d
2025-03-24 13:24:21 +09:00
Hiroshi SHIBATA
469a0a4a08 merge revision(s) da4464b824: [Backport #19426]
[Bug #19426] Fix endless `Range#step` with `#succ` method
2025-03-13 14:27:06 +09:00
Hiroshi SHIBATA
998c26cd28 merge revision(s) 79eb75a8dd: [Backport #20025]
[Bug #20025] Check if upper/lower before fallback to case-folding
2025-03-13 14:27:06 +09:00
Hiroshi SHIBATA
774e3f0003 merge revision(s) 08b3a45bc9: [Backport #21180]
Push a real iseq in rb_vm_push_frame_fname()

	Previously, vm_make_env_each() (used during proc
	creation and for the debug inspector C API) picked up the
	non-GC-allocated iseq that rb_vm_push_frame_fname() creates,
	which led to a SEGV when the GC tried to mark the non GC object.

	Put a real iseq imemo instead. Speed should be about the same since
	the old code also did a imemo allocation and a malloc allocation.

	Real iseq allows ironing out the special-casing of dummy frames in
	rb_execution_context_mark() and rb_execution_context_update(). A check
	is added to RubyVM::ISeq#eval, though, to stop attempts to run dummy
	iseqs.

	[Bug #21180]

	Co-authored-by: Aaron Patterson <tenderlove@ruby-lang.org>
2025-03-13 14:27:06 +09:00
Hiroshi SHIBATA
f89a334b55 merge revision(s) bccec7fb46, 5f8ebcada0, e13575bb79, 4adcfc8cd7: [Backport #19584]
Fix crash in rb_gc_register_address

	[Bug #19584]

	Some C extensions pass a pointer to a global variable to
	rb_gc_register_address. However, if a GC is triggered inside of
	rb_gc_register_address, then the object could get swept since it does
	not exist on the stack.

	[Bug #19584] Register global variable address before assignment

	[Bug #19584] Register global variables before assignment

	[Bug #19584] [DOC] Tweek description of `rb_gc_register_address`
2025-03-13 14:27:06 +09:00
Hiroshi SHIBATA
2c49513291 it is not working with Ruby 3.2 2025-03-13 14:27:06 +09:00
Hiroshi SHIBATA
64d93539e7 Merge strscan-3.0.7 2025-03-13 14:27:06 +09:00