Skip to content

Commit 3d434f6

Browse files
committed
Pullup ticket #6986 - requested by taca
lang/ruby32-base: Security fix Revisions pulled up: - lang/ruby/rubyversion.mk 1.299 - lang/ruby32-base/Makefile 1.11 - lang/ruby32-base/distinfo 1.16 - lang/ruby32-base/patches/patch-lib_resolv.gemspec 1.1 - lang/ruby32-base/patches/patch-lib_resolv.rb 1.1 - lang/ruby32-base/patches/patch-test_resolv_test__dns.rb 1.1 --- Module Name: pkgsrc Committed By: taca Date: Sun Jul 13 15:23:00 UTC 2025 Modified Files: pkgsrc/lang/ruby: rubyversion.mk pkgsrc/lang/ruby32-base: Makefile distinfo Added Files: pkgsrc/lang/ruby32-base/patches: patch-lib_resolv.gemspec patch-lib_resolv.rb patch-test_resolv_test__dns.rb Log Message: lang/ruby32-base: update resolv gem Update resolve gem to 0.2.3 to fix security problem of CVE-2025-24294. Bump PKGREVISION.
1 parent 88e85ab commit 3d434f6

6 files changed

Lines changed: 68 additions & 4 deletions

File tree

lang/ruby/rubyversion.mk

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# $NetBSD: rubyversion.mk,v 1.298 2025/05/27 16:14:47 taca Exp $
1+
# $NetBSD: rubyversion.mk,v 1.298.2.1 2025/07/17 02:17:59 maya Exp $
22
#
33

44
# This file determines which Ruby version is used as a dependency for
@@ -324,7 +324,7 @@ RUBY_READLINE_VER= 0.0.3
324324
RUBY_READLINE_EXT_VER= 0.1.5
325325
RUBY_RELINE_VER= 0.3.2
326326
RUBY_RESOLV_REPLACE_VER= 0.1.1
327-
RUBY_RESOLV_VER= 0.2.2
327+
RUBY_RESOLV_VER= 0.2.3
328328
RUBY_RINDA_VER= 0.1.1
329329
RUBY_RUBY2_KEYWORDS_VER= 0.0.5
330330
RUBY_SECURERANDOM_VER= 0.2.2

lang/ruby32-base/Makefile

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
1-
# $NetBSD: Makefile,v 1.10 2025/03/27 14:12:02 taca Exp $
1+
# $NetBSD: Makefile,v 1.10.4.1 2025/07/17 02:18:00 maya Exp $
22

33
DISTNAME= ${RUBY_DISTNAME}
44
PKGNAME= ${RUBY_PKGPREFIX}-base-${RUBY_VERSION}
5+
PKGREVISION= 1
56
CATEGORIES= lang ruby
67
MASTER_SITES= ${MASTER_SITE_RUBY}
78

lang/ruby32-base/distinfo

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
$NetBSD: distinfo,v 1.15 2025/04/21 20:54:55 wiz Exp $
1+
$NetBSD: distinfo,v 1.15.2.1 2025/07/17 02:18:00 maya Exp $
22

33
BLAKE2s (ruby-3.2.8.tar.xz) = 717b23027da787963039642204ff08d23cfe242d58f0ca7371d621194c96d1c0
44
SHA512 (ruby-3.2.8.tar.xz) = 19ff96619945d907e509803b85ecf21750ffa4ae033045272feb43c183ab180d0033b98cf47c18804e448f01bc1928e3b833c61c98446dbe6be31fb9ea6b059d
@@ -9,13 +9,16 @@ SHA1 (patch-ext_openssl_openssl__missing.h) = 3f8d79736fd14806dfaf76e333eec63ff3
99
SHA1 (patch-include_ruby_internal_static__assert.h) = 7d5c3ae7ff674b9b34639924fcf08237164de9f8
1010
SHA1 (patch-lib_mkmf.rb) = 4a3cd18548dbdf43a13695d4e76f817c0347e335
1111
SHA1 (patch-lib_rdoc_encoding.rb) = 0e82d2942d9bfcb67dc7c994889d7bc5ec2ae85a
12+
SHA1 (patch-lib_resolv.gemspec) = bf2fa504fcb2451a3b6b4e6d30a30d01f876c166
13+
SHA1 (patch-lib_resolv.rb) = 1a04a55d54e7d45c7147605b6335f6623ddd92c1
1214
SHA1 (patch-lib_rubygems.rb) = 060549c43b84f73c77432a72cdcf22941be4eb17
1315
SHA1 (patch-lib_rubygems_commands_setup__command.rb) = 66c475a5308deb2ed5096b88cf65549732f87421
1416
SHA1 (patch-lib_rubygems_config__file.rb) = 1da55a32d931f91321636401e94d89f78f9fa622
1517
SHA1 (patch-lib_rubygems_dependency__installer.rb) = 47252c99238a0d91b7d28e8287be57404446124b
1618
SHA1 (patch-lib_rubygems_install__update__options.rb) = 0cd0816e1cd7c84c1dab1e091787c4dc38d28273
1719
SHA1 (patch-lib_rubygems_installer.rb) = 1c94047a24362b3597dac7ea156982a09cb93234
1820
SHA1 (patch-lib_rubygems_platform.rb) = 58094b26520623f258ecf035084f4aa7226e9686
21+
SHA1 (patch-test_resolv_test__dns.rb) = 98fd0533ad92bfb6729abd107d75c4ca436fd660
1922
SHA1 (patch-test_rubygems_test__gem.rb) = 32f7c7d7f8a024c045d78c2bce93944fc3113d04
2023
SHA1 (patch-thread__pthread.c) = 7c1231933a2d6ce9d56891ab512371841697fbca
2124
SHA1 (patch-tool_ifchange) = 1814cd41f0b0a93b181799cb117bd1f57068cf33
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
$NetBSD: patch-lib_resolv.gemspec,v 1.1.2.2 2025/07/17 02:18:00 maya Exp $
2+
3+
Update resolv gem to 0.2.3.
4+
5+
--- lib/resolv.gemspec.orig 2025-03-26 04:18:02.000000000 +0000
6+
+++ lib/resolv.gemspec
7+
@@ -1,6 +1,6 @@
8+
Gem::Specification.new do |spec|
9+
spec.name = "resolv"
10+
- spec.version = "0.2.2"
11+
+ spec.version = "0.2.3"
12+
spec.authors = ["Tanaka Akira"]
13+
spec.email = ["akr@fsij.org"]
14+
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
$NetBSD: patch-lib_resolv.rb,v 1.1.2.2 2025/07/17 02:18:00 maya Exp $
2+
3+
Update resolv gem to 0.2.3.
4+
5+
--- lib/resolv.rb.orig 2025-03-26 04:18:02.000000000 +0000
6+
+++ lib/resolv.rb
7+
@@ -1624,6 +1624,7 @@ class Resolv
8+
prev_index = @index
9+
save_index = nil
10+
d = []
11+
+ size = -1
12+
while true
13+
raise DecodeError.new("limit exceeded") if @limit <= @index
14+
case @data.getbyte(@index)
15+
@@ -1644,7 +1645,10 @@ class Resolv
16+
end
17+
@index = idx
18+
else
19+
- d << self.get_label
20+
+ l = self.get_label
21+
+ d << l
22+
+ size += 1 + l.string.bytesize
23+
+ raise DecodeError.new("name label data exceed 255 octets") if size > 255
24+
end
25+
end
26+
end
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
$NetBSD: patch-test_resolv_test__dns.rb,v 1.1.2.2 2025/07/17 02:18:00 maya Exp $
2+
3+
Update resolv gem to 0.2.3.
4+
5+
--- test/resolv/test_dns.rb.orig 2025-03-26 04:18:02.000000000 +0000
6+
+++ test/resolv/test_dns.rb
7+
@@ -416,6 +416,13 @@ class TestResolvDNS < Test::Unit::TestCa
8+
assert_operator(2**14, :<, m.to_s.length)
9+
end
10+
11+
+ def test_too_long_address
12+
+ too_long_address_message = [0, 0, 1, 0, 0, 0].pack("n*") + "\x01x" * 129 + [0, 0, 0].pack("cnn")
13+
+ assert_raise_with_message(Resolv::DNS::DecodeError, /name label data exceed 255 octets/) do
14+
+ Resolv::DNS::Message.decode too_long_address_message
15+
+ end
16+
+ end
17+
+
18+
def assert_no_fd_leak
19+
socket = assert_throw(self) do |tag|
20+
Resolv::DNS.stub(:bind_random_port, ->(s, *) {throw(tag, s)}) do

0 commit comments

Comments
 (0)