以下の内容はhttps://ruby-trunk-changes.hatenablog.com/entry/ruby_trunk_changes_20241207より取得しました。


ruby-trunk-changes 2024-12-07

今日は主に拡張ライブラリ openssl の発生する例外の例外クラスの間違いの修正などがありました。

[bf49ff95be] Nobuyoshi Nakada 2024-12-06 10:56:19 UTC

NEWS でメソッドをクロスリファレンスにするためにバッククオートをはずしたり、逆に消されたメソッドはリンク抑制のためバッククオートで囲んだりしています。

[efaea5a62e] Nobuyoshi Nakada 2024-12-06 11:14:22 UTC

NEWS の singleton_method へのリンクのため Kernel ではなく Object のメソッドとして書くようにしています。 rdoc の仕様のためみたいです。

[3901df708d] Nobuyoshi Nakada 2024-12-06 12:06:37 UTC

NEWS の GC.config の追加について組み込みクラスの変更のセクションに移動しています。

[78614ee900] Nobuyoshi Nakada 2024-12-06 12:47:35 UTC

GitHub Actions の独自アクションの定義で一時ファイルの削除の対象を増やしています。

[ba91ff5f78] David Rodríguez 2024-12-06 13:26:59 UTC

rubygems のテストのチェックを強化? しています。

[48443c0204] David Rodríguez 2024-12-05 16:59:33 UTC

rubygems で Gem::Specification.reset の呼び出し時のよけいな警告を抑制するようにしているようです。

[c45503f957] Peter Zhu 2024-12-05 21:06:18 UTC

gc_impl.h に rb_gc_impl_active_gc_name() という外部化した GC の実装の名前を返す関数の prototype 宣言を追加しています。ついでに GC のインターフェースの構造体 rb_gc_function_map_t のメンバーの順番も入れ替えています。

[8502a549ef] Maxime Chevalier-Boisvert 2024-12-06 17:25:39 UTC

YJIT の統計情報の表示の時にゼロ除算が起きないように修正しています。 https://github.com/ruby/ruby/pull/12282

[97e93af541] Alan Wu 2024-12-06 17:27:03 UTC

.gdbinit の rb_ps_thread コマンドで構造体 rb_thread_t の変更に追随しています。

[8ad6860ff7] Stan Lo 2024-12-06 18:51:08 UTC

doc/index.md というファイルを追加して .rdoc_options で main_page として README.md のかわりにこちらを指定するようにしています。 https://github.com/ruby/ruby/pull/12227

[19acb3af2e] Kazuki Yamaguchi 2024-11-14 15:43:14 UTC

拡張ライブラリ openssl で OpenSSL の関数からのコールバックとして呼ばれる関数 ssl_servername_cb() では ruby の例外を発生させてはいけないのに配列の新規確保があり例外が発生する可能性があったのでこれをやめています。 SSL_get_servername() の結果を渡すためだったので rb_protect() で呼ぶ関数内で SSL_get_servername() を呼ぶようにしています。

[06fc13a15c] Kazuki Yamaguchi 2024-11-24 05:45:12 UTC

拡張ライブラリ openssl で SSL_read()/SSL_write() の呼び出し後に ID_callback_state という ID で内部的インスタンス変数をチェックして必要なら rb_jump_tag() で大域脱出を発生させるようにしています。 OpenSSL の 1.1.1 からの仕様変更? でこのタイミングでエラーが保持される可能性が増えたみたいです。

[2a006fe54b] HoneyryderChuck 2024-11-25 08:51:37 UTC

拡張ライブラリ openssl の OpenSSL::Config の要素を freeze しておくようにしています。

[9cae90f9d7] HoneyryderChuck 2024-11-25 08:51:37 UTC

拡張ライブラリ openssl の OpenSSL::Config::DEFAULT_CONFIG_FILE という定数の文字列も freeze するようにしています。

[5444885726] HoneyryderChuck 2024-11-25 08:53:16 UTC

拡張ライブラリ openssl の OpenSSL::Config を Ractor shareable にするため struct RBasic::flags のビットフラグ RUBY_TYPED_FROZEN_SHAREABLE を立てています。

[b207b956c1] Kazuki Yamaguchi 2024-10-29 18:18:21 UTC

拡張ライブラリ openssl の OpenSSL::PKey::EC で発生させる例外を間違えて OpenSSL::PKey::DSAError にしていたので OpenSSL::PKey::ECError に修正しています。

[3656c1db29] Kazuki Yamaguchi 2024-10-29 18:26:52 UTC

拡張ライブラリ openssl の OpenSSL::Netscape::SPKI#to_der で発生させる例外を OpenSSL::X509::CertificateError から OpenSSL::Netscape::SPKIError に修正しています。

[870cce9798] Kazuki Yamaguchi 2024-10-29 18:33:54 UTC

拡張ライブラリ openssl の OpenSSL::X509::StoreContext#verify から発生させる例外を OpenSSL::X509::CertificateError から OpenSSL::X509::StoreError に修正しています。

[f8e9302e66] Kazuki Yamaguchi 2024-10-29 18:53:53 UTC

拡張ライブラリ openssl の ext/openssl/ossl_pkcs7.c 内のグローバル変数に static 修飾子を追加してファイルスコープにして、外のファイルからは ossl_pkcs7_new() という関数を追加してこのインターフェースを経由して利用するようにリファクタリングしています。

[cbe7bfd9a8] Kazuki Yamaguchi 2024-10-29 18:59:03 UTC

拡張ライブラリ openssl の OpenSSL::Timestamp::Request 等の実装で BIO という型の確保や操作に失敗した時の例外を OpenSSL::X509::AttributeError から OpenSSL::Timestamp::TimestampError に変更しています。

[1df63d9451] Kazuki Yamaguchi 2024-10-29 19:03:05 UTC

拡張ライブラリ openssl の実装全体的に不要にファイル間で共有される変数や関数に static 修飾子を追加しています。

[09d516b62e] Kazuki Yamaguchi 2024-10-30 19:12:09 UTC

拡張ライブラリ openssl の初期化関数 Init_openssl() でソースファイル毎の Init_xxx() 関数の呼び出しをアルファベット順に並べかえています。なんか呼び出しに依存関係があるものもあったりしないのかな。 まあそういうのはコメントを書いておくべきですね。

[33196b7ab0] Kazuki Yamaguchi 2024-06-11 17:26:18 UTC

拡張ライブラリ openssl の OpenSSL::SSL::SSLContext#options および #options= の rdoc 用コメントに call-seq と説明を追記しています。

[510c190739] Kazuki Yamaguchi 2024-06-11 17:29:46 UTC

拡張ライブラリ openssl の OpenSSL::SSL::SSLContext#options のビットフラグ OpenSSL::SSL::OP_ALL を初期状態で立てていたのをやめています。サードパーティーライブラリの OpenSSL のシステム全体の設定ファイルによる指定を尊重するためとのこと。環境によっては影響を受けるかもしれないですね。

[c9bbf7e3eb] Kazuki Yamaguchi 2024-06-11 18:01:54 UTC

拡張ライブラリ openssl の OpenSSL::SSL::SSLContext#set_params に渡した :options オプションの内容をそのまま上書きではなくビットフラグを追加で立てるようにしています。

[bd831bcca5] Nobuyoshi Nakada 2024-12-07 10:02:17 UTC

1c15f641cc2bb88fa88123a11036ed58fbf9aa6dWindows 環境での Time#zone の返す文字列の Encoding の変更で wcsftime() という関数を利用してタイムゾーンの表現を得るようにしています。 32bit の MinGW 環境で元使っていた _strftime_l() が利用できないため。 [ruby-core:120089] [Bug #20929]




以上の内容はhttps://ruby-trunk-changes.hatenablog.com/entry/ruby_trunk_changes_20241207より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14