From: Jeremy Evans Subject: Update: Ruby 3.3.9 To: OpenBSD ports Date: Thu, 24 Jul 2025 17:19:02 -0700 This updates to the latest release of Ruby 3.3. Release announcement at: https://www.ruby-lang.org/en/news/2025/07/24/ruby-3-3-9-released/ Fixes CVE-2025-24294: Possible Denial of Service in resolv gem Ruby 3.2.9 was also released today, but it has a build issue with the net-imap bundled gem. I'll send a separate diff for that after the issue is fixed. Tested on amd64. Will be committing in a couple days unless I hear objections. Thanks, Jeremy Index: Makefile =================================================================== RCS file: /cvs/ports/lang/ruby/3.3/Makefile,v diff -u -p -u -p -r1.16 Makefile --- Makefile 22 Jun 2025 19:30:03 -0000 1.16 +++ Makefile 24 Jul 2025 14:24:48 -0000 @@ -1,11 +1,10 @@ -VERSION = 3.3.8 +VERSION = 3.3.9 DISTNAME = ruby-${VERSION} PKGNAME-main = ruby-${VERSION} PKGNAME-ri_docs = ruby${BINREV}-ri_docs-${VERSION} SHARED_LIBS = ruby33 0.0 NEXTVER = 3.4 PKGSPEC-main ?= ruby->=3.3.0,<${NEXTVER} -REVISION-main = 0 PSEUDO_FLAVORS= no_ri_docs bootstrap # Do not build the RI docs on slow arches Index: distinfo =================================================================== RCS file: /cvs/ports/lang/ruby/3.3/distinfo,v diff -u -p -u -p -r1.9 distinfo --- distinfo 26 Apr 2025 00:36:10 -0000 1.9 +++ distinfo 24 Jul 2025 14:24:59 -0000 @@ -1,2 +1,2 @@ -SHA256 (ruby-3.3.8.tar.gz) = WuKKh6WaPkrWa8KTHSMturlT0KqPa687xPj4CXfInKs= -SIZE (ruby-3.3.8.tar.gz) = 22197497 +SHA256 (ruby-3.3.9.tar.gz) = 0ZkWkKThcjPsazx4RMHhJFwK3OPgDXE1UdBFhGe3J7E= +SIZE (ruby-3.3.9.tar.gz) = 22217076 Index: pkg/PLIST-main =================================================================== RCS file: /cvs/ports/lang/ruby/3.3/pkg/PLIST-main,v diff -u -p -u -p -r1.8 PLIST-main --- pkg/PLIST-main 26 Apr 2025 00:36:10 -0000 1.8 +++ pkg/PLIST-main 24 Jul 2025 14:40:37 -0000 @@ -82,6 +82,7 @@ include/ruby-${REV}/ruby/internal/attr/n include/ruby-${REV}/ruby/internal/attr/noexcept.h include/ruby-${REV}/ruby/internal/attr/noinline.h include/ruby-${REV}/ruby/internal/attr/nonnull.h +include/ruby-${REV}/ruby/internal/attr/nonstring.h include/ruby-${REV}/ruby/internal/attr/noreturn.h include/ruby-${REV}/ruby/internal/attr/packed_struct.h include/ruby-${REV}/ruby/internal/attr/pure.h @@ -1686,7 +1687,7 @@ lib/ruby/gems/${REV}/cache/debug-1.9.2.g lib/ruby/gems/${REV}/cache/matrix-0.4.2.gem lib/ruby/gems/${REV}/cache/minitest-5.20.0.gem lib/ruby/gems/${REV}/cache/net-ftp-0.3.4.gem -lib/ruby/gems/${REV}/cache/net-imap-0.4.19.gem +lib/ruby/gems/${REV}/cache/net-imap-0.4.21.gem lib/ruby/gems/${REV}/cache/net-pop-0.1.2.gem lib/ruby/gems/${REV}/cache/net-smtp-0.5.1.gem lib/ruby/gems/${REV}/cache/power_assert-2.0.3.gem @@ -1840,72 +1841,73 @@ lib/ruby/gems/${REV}/gems/net-ftp-0.3.4/ lib/ruby/gems/${REV}/gems/net-ftp-0.3.4/lib/net/ lib/ruby/gems/${REV}/gems/net-ftp-0.3.4/lib/net/ftp.rb lib/ruby/gems/${REV}/gems/net-http-0.4.1/ -lib/ruby/gems/${REV}/gems/net-imap-0.4.19/ -lib/ruby/gems/${REV}/gems/net-imap-0.4.19/BSDL -lib/ruby/gems/${REV}/gems/net-imap-0.4.19/COPYING -lib/ruby/gems/${REV}/gems/net-imap-0.4.19/Gemfile -lib/ruby/gems/${REV}/gems/net-imap-0.4.19/LICENSE.txt -lib/ruby/gems/${REV}/gems/net-imap-0.4.19/README.md -lib/ruby/gems/${REV}/gems/net-imap-0.4.19/Rakefile -lib/ruby/gems/${REV}/gems/net-imap-0.4.19/docs/ -lib/ruby/gems/${REV}/gems/net-imap-0.4.19/docs/styles.css -lib/ruby/gems/${REV}/gems/net-imap-0.4.19/lib/ -lib/ruby/gems/${REV}/gems/net-imap-0.4.19/lib/net/ -lib/ruby/gems/${REV}/gems/net-imap-0.4.19/lib/net/imap/ -lib/ruby/gems/${REV}/gems/net-imap-0.4.19/lib/net/imap.rb -lib/ruby/gems/${REV}/gems/net-imap-0.4.19/lib/net/imap/authenticators.rb -lib/ruby/gems/${REV}/gems/net-imap-0.4.19/lib/net/imap/command_data.rb -lib/ruby/gems/${REV}/gems/net-imap-0.4.19/lib/net/imap/config/ -lib/ruby/gems/${REV}/gems/net-imap-0.4.19/lib/net/imap/config.rb -lib/ruby/gems/${REV}/gems/net-imap-0.4.19/lib/net/imap/config/attr_accessors.rb -lib/ruby/gems/${REV}/gems/net-imap-0.4.19/lib/net/imap/config/attr_inheritance.rb -lib/ruby/gems/${REV}/gems/net-imap-0.4.19/lib/net/imap/config/attr_type_coercion.rb -lib/ruby/gems/${REV}/gems/net-imap-0.4.19/lib/net/imap/data_encoding.rb -lib/ruby/gems/${REV}/gems/net-imap-0.4.19/lib/net/imap/deprecated_client_options.rb -lib/ruby/gems/${REV}/gems/net-imap-0.4.19/lib/net/imap/errors.rb -lib/ruby/gems/${REV}/gems/net-imap-0.4.19/lib/net/imap/fetch_data.rb -lib/ruby/gems/${REV}/gems/net-imap-0.4.19/lib/net/imap/flags.rb -lib/ruby/gems/${REV}/gems/net-imap-0.4.19/lib/net/imap/response_data.rb -lib/ruby/gems/${REV}/gems/net-imap-0.4.19/lib/net/imap/response_parser/ -lib/ruby/gems/${REV}/gems/net-imap-0.4.19/lib/net/imap/response_parser.rb -lib/ruby/gems/${REV}/gems/net-imap-0.4.19/lib/net/imap/response_parser/parser_utils.rb -lib/ruby/gems/${REV}/gems/net-imap-0.4.19/lib/net/imap/sasl/ -lib/ruby/gems/${REV}/gems/net-imap-0.4.19/lib/net/imap/sasl.rb -lib/ruby/gems/${REV}/gems/net-imap-0.4.19/lib/net/imap/sasl/anonymous_authenticator.rb -lib/ruby/gems/${REV}/gems/net-imap-0.4.19/lib/net/imap/sasl/authentication_exchange.rb -lib/ruby/gems/${REV}/gems/net-imap-0.4.19/lib/net/imap/sasl/authenticators.rb -lib/ruby/gems/${REV}/gems/net-imap-0.4.19/lib/net/imap/sasl/client_adapter.rb -lib/ruby/gems/${REV}/gems/net-imap-0.4.19/lib/net/imap/sasl/cram_md5_authenticator.rb -lib/ruby/gems/${REV}/gems/net-imap-0.4.19/lib/net/imap/sasl/digest_md5_authenticator.rb -lib/ruby/gems/${REV}/gems/net-imap-0.4.19/lib/net/imap/sasl/external_authenticator.rb -lib/ruby/gems/${REV}/gems/net-imap-0.4.19/lib/net/imap/sasl/gs2_header.rb -lib/ruby/gems/${REV}/gems/net-imap-0.4.19/lib/net/imap/sasl/login_authenticator.rb -lib/ruby/gems/${REV}/gems/net-imap-0.4.19/lib/net/imap/sasl/oauthbearer_authenticator.rb -lib/ruby/gems/${REV}/gems/net-imap-0.4.19/lib/net/imap/sasl/plain_authenticator.rb -lib/ruby/gems/${REV}/gems/net-imap-0.4.19/lib/net/imap/sasl/protocol_adapters.rb -lib/ruby/gems/${REV}/gems/net-imap-0.4.19/lib/net/imap/sasl/scram_algorithm.rb -lib/ruby/gems/${REV}/gems/net-imap-0.4.19/lib/net/imap/sasl/scram_authenticator.rb -lib/ruby/gems/${REV}/gems/net-imap-0.4.19/lib/net/imap/sasl/stringprep.rb -lib/ruby/gems/${REV}/gems/net-imap-0.4.19/lib/net/imap/sasl/xoauth2_authenticator.rb -lib/ruby/gems/${REV}/gems/net-imap-0.4.19/lib/net/imap/sasl_adapter.rb -lib/ruby/gems/${REV}/gems/net-imap-0.4.19/lib/net/imap/search_result.rb -lib/ruby/gems/${REV}/gems/net-imap-0.4.19/lib/net/imap/sequence_set.rb -lib/ruby/gems/${REV}/gems/net-imap-0.4.19/lib/net/imap/stringprep/ -lib/ruby/gems/${REV}/gems/net-imap-0.4.19/lib/net/imap/stringprep.rb -lib/ruby/gems/${REV}/gems/net-imap-0.4.19/lib/net/imap/stringprep/nameprep.rb -lib/ruby/gems/${REV}/gems/net-imap-0.4.19/lib/net/imap/stringprep/saslprep.rb -lib/ruby/gems/${REV}/gems/net-imap-0.4.19/lib/net/imap/stringprep/saslprep_tables.rb -lib/ruby/gems/${REV}/gems/net-imap-0.4.19/lib/net/imap/stringprep/tables.rb -lib/ruby/gems/${REV}/gems/net-imap-0.4.19/lib/net/imap/stringprep/trace.rb -lib/ruby/gems/${REV}/gems/net-imap-0.4.19/lib/net/imap/uidplus_data.rb -lib/ruby/gems/${REV}/gems/net-imap-0.4.19/rakelib/ -lib/ruby/gems/${REV}/gems/net-imap-0.4.19/rakelib/benchmarks.rake -lib/ruby/gems/${REV}/gems/net-imap-0.4.19/rakelib/rdoc.rake -lib/ruby/gems/${REV}/gems/net-imap-0.4.19/rakelib/rfcs.rake -lib/ruby/gems/${REV}/gems/net-imap-0.4.19/rakelib/saslprep.rake -lib/ruby/gems/${REV}/gems/net-imap-0.4.19/rakelib/string_prep_tables_generator.rb -lib/ruby/gems/${REV}/gems/net-imap-0.4.19/sample/ -lib/ruby/gems/${REV}/gems/net-imap-0.4.19/sample/net-imap.rb +lib/ruby/gems/${REV}/gems/net-imap-0.4.21/ +lib/ruby/gems/${REV}/gems/net-imap-0.4.21/BSDL +lib/ruby/gems/${REV}/gems/net-imap-0.4.21/COPYING +lib/ruby/gems/${REV}/gems/net-imap-0.4.21/Gemfile +lib/ruby/gems/${REV}/gems/net-imap-0.4.21/LICENSE.txt +lib/ruby/gems/${REV}/gems/net-imap-0.4.21/README.md +lib/ruby/gems/${REV}/gems/net-imap-0.4.21/Rakefile +lib/ruby/gems/${REV}/gems/net-imap-0.4.21/docs/ +lib/ruby/gems/${REV}/gems/net-imap-0.4.21/docs/styles.css +lib/ruby/gems/${REV}/gems/net-imap-0.4.21/lib/ +lib/ruby/gems/${REV}/gems/net-imap-0.4.21/lib/net/ +lib/ruby/gems/${REV}/gems/net-imap-0.4.21/lib/net/imap/ +lib/ruby/gems/${REV}/gems/net-imap-0.4.21/lib/net/imap.rb +lib/ruby/gems/${REV}/gems/net-imap-0.4.21/lib/net/imap/authenticators.rb +lib/ruby/gems/${REV}/gems/net-imap-0.4.21/lib/net/imap/command_data.rb +lib/ruby/gems/${REV}/gems/net-imap-0.4.21/lib/net/imap/config/ +lib/ruby/gems/${REV}/gems/net-imap-0.4.21/lib/net/imap/config.rb +lib/ruby/gems/${REV}/gems/net-imap-0.4.21/lib/net/imap/config/attr_accessors.rb +lib/ruby/gems/${REV}/gems/net-imap-0.4.21/lib/net/imap/config/attr_inheritance.rb +lib/ruby/gems/${REV}/gems/net-imap-0.4.21/lib/net/imap/config/attr_type_coercion.rb +lib/ruby/gems/${REV}/gems/net-imap-0.4.21/lib/net/imap/data_encoding.rb +lib/ruby/gems/${REV}/gems/net-imap-0.4.21/lib/net/imap/deprecated_client_options.rb +lib/ruby/gems/${REV}/gems/net-imap-0.4.21/lib/net/imap/errors.rb +lib/ruby/gems/${REV}/gems/net-imap-0.4.21/lib/net/imap/fetch_data.rb +lib/ruby/gems/${REV}/gems/net-imap-0.4.21/lib/net/imap/flags.rb +lib/ruby/gems/${REV}/gems/net-imap-0.4.21/lib/net/imap/response_data.rb +lib/ruby/gems/${REV}/gems/net-imap-0.4.21/lib/net/imap/response_parser/ +lib/ruby/gems/${REV}/gems/net-imap-0.4.21/lib/net/imap/response_parser.rb +lib/ruby/gems/${REV}/gems/net-imap-0.4.21/lib/net/imap/response_parser/parser_utils.rb +lib/ruby/gems/${REV}/gems/net-imap-0.4.21/lib/net/imap/response_reader.rb +lib/ruby/gems/${REV}/gems/net-imap-0.4.21/lib/net/imap/sasl/ +lib/ruby/gems/${REV}/gems/net-imap-0.4.21/lib/net/imap/sasl.rb +lib/ruby/gems/${REV}/gems/net-imap-0.4.21/lib/net/imap/sasl/anonymous_authenticator.rb +lib/ruby/gems/${REV}/gems/net-imap-0.4.21/lib/net/imap/sasl/authentication_exchange.rb +lib/ruby/gems/${REV}/gems/net-imap-0.4.21/lib/net/imap/sasl/authenticators.rb +lib/ruby/gems/${REV}/gems/net-imap-0.4.21/lib/net/imap/sasl/client_adapter.rb +lib/ruby/gems/${REV}/gems/net-imap-0.4.21/lib/net/imap/sasl/cram_md5_authenticator.rb +lib/ruby/gems/${REV}/gems/net-imap-0.4.21/lib/net/imap/sasl/digest_md5_authenticator.rb +lib/ruby/gems/${REV}/gems/net-imap-0.4.21/lib/net/imap/sasl/external_authenticator.rb +lib/ruby/gems/${REV}/gems/net-imap-0.4.21/lib/net/imap/sasl/gs2_header.rb +lib/ruby/gems/${REV}/gems/net-imap-0.4.21/lib/net/imap/sasl/login_authenticator.rb +lib/ruby/gems/${REV}/gems/net-imap-0.4.21/lib/net/imap/sasl/oauthbearer_authenticator.rb +lib/ruby/gems/${REV}/gems/net-imap-0.4.21/lib/net/imap/sasl/plain_authenticator.rb +lib/ruby/gems/${REV}/gems/net-imap-0.4.21/lib/net/imap/sasl/protocol_adapters.rb +lib/ruby/gems/${REV}/gems/net-imap-0.4.21/lib/net/imap/sasl/scram_algorithm.rb +lib/ruby/gems/${REV}/gems/net-imap-0.4.21/lib/net/imap/sasl/scram_authenticator.rb +lib/ruby/gems/${REV}/gems/net-imap-0.4.21/lib/net/imap/sasl/stringprep.rb +lib/ruby/gems/${REV}/gems/net-imap-0.4.21/lib/net/imap/sasl/xoauth2_authenticator.rb +lib/ruby/gems/${REV}/gems/net-imap-0.4.21/lib/net/imap/sasl_adapter.rb +lib/ruby/gems/${REV}/gems/net-imap-0.4.21/lib/net/imap/search_result.rb +lib/ruby/gems/${REV}/gems/net-imap-0.4.21/lib/net/imap/sequence_set.rb +lib/ruby/gems/${REV}/gems/net-imap-0.4.21/lib/net/imap/stringprep/ +lib/ruby/gems/${REV}/gems/net-imap-0.4.21/lib/net/imap/stringprep.rb +lib/ruby/gems/${REV}/gems/net-imap-0.4.21/lib/net/imap/stringprep/nameprep.rb +lib/ruby/gems/${REV}/gems/net-imap-0.4.21/lib/net/imap/stringprep/saslprep.rb +lib/ruby/gems/${REV}/gems/net-imap-0.4.21/lib/net/imap/stringprep/saslprep_tables.rb +lib/ruby/gems/${REV}/gems/net-imap-0.4.21/lib/net/imap/stringprep/tables.rb +lib/ruby/gems/${REV}/gems/net-imap-0.4.21/lib/net/imap/stringprep/trace.rb +lib/ruby/gems/${REV}/gems/net-imap-0.4.21/lib/net/imap/uidplus_data.rb +lib/ruby/gems/${REV}/gems/net-imap-0.4.21/rakelib/ +lib/ruby/gems/${REV}/gems/net-imap-0.4.21/rakelib/benchmarks.rake +lib/ruby/gems/${REV}/gems/net-imap-0.4.21/rakelib/rdoc.rake +lib/ruby/gems/${REV}/gems/net-imap-0.4.21/rakelib/rfcs.rake +lib/ruby/gems/${REV}/gems/net-imap-0.4.21/rakelib/saslprep.rake +lib/ruby/gems/${REV}/gems/net-imap-0.4.21/rakelib/string_prep_tables_generator.rb +lib/ruby/gems/${REV}/gems/net-imap-0.4.21/sample/ +lib/ruby/gems/${REV}/gems/net-imap-0.4.21/sample/net-imap.rb lib/ruby/gems/${REV}/gems/net-pop-0.1.2/ lib/ruby/gems/${REV}/gems/net-pop-0.1.2/Gemfile lib/ruby/gems/${REV}/gems/net-pop-0.1.2/LICENSE.txt @@ -2692,7 +2694,7 @@ lib/ruby/gems/${REV}/gems/rdoc-6.6.3.1/e lib/ruby/gems/${REV}/gems/rdoc-6.6.3.1/exe/ri lib/ruby/gems/${REV}/gems/readline-0.0.4/ lib/ruby/gems/${REV}/gems/reline-0.5.10/ -lib/ruby/gems/${REV}/gems/resolv-0.3.0/ +lib/ruby/gems/${REV}/gems/resolv-0.3.1/ lib/ruby/gems/${REV}/gems/resolv-replace-0.1.1/ lib/ruby/gems/${REV}/gems/rexml-3.3.9/ lib/ruby/gems/${REV}/gems/rexml-3.3.9/LICENSE.txt @@ -3010,7 +3012,7 @@ lib/ruby/gems/${REV}/specifications/defa lib/ruby/gems/${REV}/specifications/default/rdoc-6.6.3.1.gemspec lib/ruby/gems/${REV}/specifications/default/readline-0.0.4.gemspec lib/ruby/gems/${REV}/specifications/default/reline-0.5.10.gemspec -lib/ruby/gems/${REV}/specifications/default/resolv-0.3.0.gemspec +lib/ruby/gems/${REV}/specifications/default/resolv-0.3.1.gemspec lib/ruby/gems/${REV}/specifications/default/resolv-replace-0.1.1.gemspec lib/ruby/gems/${REV}/specifications/default/rinda-0.2.0.gemspec lib/ruby/gems/${REV}/specifications/default/ruby2_keywords-0.0.5.gemspec @@ -3035,7 +3037,7 @@ lib/ruby/gems/${REV}/specifications/defa lib/ruby/gems/${REV}/specifications/matrix-0.4.2.gemspec lib/ruby/gems/${REV}/specifications/minitest-5.20.0.gemspec lib/ruby/gems/${REV}/specifications/net-ftp-0.3.4.gemspec -lib/ruby/gems/${REV}/specifications/net-imap-0.4.19.gemspec +lib/ruby/gems/${REV}/specifications/net-imap-0.4.21.gemspec lib/ruby/gems/${REV}/specifications/net-pop-0.1.2.gemspec lib/ruby/gems/${REV}/specifications/net-smtp-0.5.1.gemspec lib/ruby/gems/${REV}/specifications/power_assert-2.0.3.gemspec