ruby-trunk-changes 2022-10-17

今日は主に拡張ライブラリ openssl の機能追加を含むバージョン更新などがありました。

[e4191ac1ec] yui-knk 2022-10-16 12:40:42 UTC

拡張ライブラリ coverage のテストでタブを空白に展開しています。 coverage の branch モードはスクリプト内の位置情報も含まれるのでタブ展開により位置変化するのでその assertion の期待値も追随して変更しています。

[7cf37a5722] Nobuyoshi Nakada 2022-10-17 03:00:39 UTC

String#to_c の rdoc 用コメントに "1@0" のような極座標表現についても追加ています。こんなに書けるんだ。

[0d7292ec73] Takashi Kokubun 2022-10-17 05:02:47 UTC

AppVeyor の設定ファイル .appveyor.yml で利用する VS を古いバージョンだけに絞っています。 https://github.com/ruby/ruby/pull/6561

[fb6a9656a1] Takashi Kokubun 2022-10-17 05:44:15 UTC

GitHub Actions の CodeQL によるチェックは dependabot による Pull Request のコミットでは実施しないようにしています。

[bfc6c1f1cb] "dependabot[bot]" 2022-10-17 05:45:02 UTC

GitHub Actions の .github/workflows/auto_request_review.yml という workflow で利用している necojackarc/auto-request-review というアクションのバージョンを更新しています。これも dependabot による更新です。

[b7de04d161] Takashi Kokubun 2022-10-17 05:47:49 UTC

bfc6c1f1cb7a2dd381688999d635e3532f35bfef で更新した .github/workflows/auto_request_review.yml のアクションのコメントのバージョン番号を更新しています。またコメントまでは更新してくれないので dependabot で自動更新はしないように設定しているようです。

[63234edf67] Kazuki Yamaguchi 2022-10-17 07:17:27 UTC

拡張ライブラリ openssl で rb_ary_hidden_new() という C API を利用していましたがこれは efb91ff19b739b759f40af2673f942e80d212857 で今年改名された関数なので古い ruby の対応のため古い別名の rb_ary_tmp_new() のほうを利用するようにしています。

[a211b32180] Alan Wu 2022-06-27 01:34:42 UTC

拡張ライブラリ openssl の extconf.rb で関数の存在チェックの have_func を呼ぶ時に常に第2引数のヘッダファイル名を指定するようにしています。

[5dae78b9d3] Alan Wu 2022-07-11 20:55:39 UTC

a211b32180b1ab0532f6978c32e907fe1c0c218a の続きで拡張ライブラリ openssl の extconf.rb で X509_STORE_get_ex_new_index() という関数のチェックではこれ実際には関数マクロらしいので関数名だけ書いておくのではなくて引数つきにしています。have_func にこういう書きかたもできるのか。

[c865e8d161] MSP-Greg 2022-07-26 02:43:47 UTC

拡張ライブラリ openssl の OpenSSL::HMAC#dup のテストを pending にしていたのを削っています。 OpenSSL 3 を使うようになって修正されたとのこと。

[a98096349e] Nobuhiro IMAI 2022-08-05 09:42:06 UTC

拡張ライブラリ openssl の OpenSSL::PKey のメソッドへのオプションのチェックにオブジェクトの型のチェックが不足していて不正なオブジェクトを渡すと SEGV する可能性があったのを修正しています。

[79543b9a53] madblobfish 2022-08-03 21:24:28 UTC

拡張ライブラリ openssl に OpenSSL::SSL::SSLSocket#export_keying_material というメソッドを新規追加しています。

[bee383d9fe] Kazuki Yamaguchi 2022-09-02 04:55:19 UTC

拡張ライブラリ openssl で OpenSSL::X509::Certificate#extensions= などのメソッドでメモリリークしていたのを修正しています。

[65bba0ef6f] Kazuki Yamaguchi 2022-09-01 06:59:52 UTC

拡張ライブラリ openssl で OpenSSL に EVP_PKEY_new_raw_private_key() という関数が利用可能だったら EVP_PKEY_new_mac_key() のかわりにこれを利用するようにしています。 OpenSSL 3.0.x で EVP_PKEY_new_mac_key() に不具合があるとのことでそれを避けるためのようです。

[10f93a8bd7] Kazuki Yamaguchi 2022-01-04 13:11:00 UTC

拡張ライブラリ openssl の OpenSSL::PKey::DSA.generate で生成する鍵の dsa_paramgen_q_bits というパラメーターを調節するようにしています。

[4fb2845c7b] Kazuki Yamaguchi 2022-09-02 09:14:57 UTC

拡張ライブラリ openssl で OpenSSL の内部のエラーのクリア漏れがあったので修正しているようです。

[0677b2fb87] Kazuki Yamaguchi 2022-09-02 13:40:54 UTC

拡張ライブラリ openssl の OpenSSL::PKey.read で新しいフォーマットに対応? しているようです。 openssl ecparam -genkey コマンドでの出力を読み込めるように対応してるそうです。

[b69d41e1c4] Kazuki Yamaguchi 2022-09-02 14:05:28 UTC

拡張ライブラリ openssl の OpenSSL::PKey#to_der で public key の情報がない時に例外を発生させるようにしています。

[33d30a8675] Kazuki Yamaguchi 2022-09-08 08:58:27 UTC

ext/openssl/History.md を更新しています。

[15a966a674] Kazuki Yamaguchi 2022-09-08 09:07:20 UTC

ext/openssl/History.md を更新しています。

[cd83f5b961] Kazuki Yamaguchi 2022-09-08 09:34:26 UTC

ext/openssl/History.md を更新し、拡張ライブラリ openssl のバージョンを 3.0.1 に更新しています。

[04bf83d6f7] Kazuki Yamaguchi 2022-09-08 15:28:55 UTC

さらに拡張ライブラリ openssl のバージョンを 3.1.0.pre に更新しています。

[e4b1627983] Kazuki Yamaguchi 2022-09-09 07:03:42 UTC

拡張ライブラリ openssl で変数の初期化漏れによる警告除去のため初期化を追加しています。

[17998ad3bb] Christophe De La Fuente 2022-08-29 18:15:54 UTC

拡張ライブラリ openssl で OpenSSL::SSL::SSLContext#keylog_cb= で SSL_CTX_set_keylog_callback() に登録するコールバックを指定できるようにしています。OpenSSL のデバッグ用の機能みたいです。

[aecc470a33] Samuel Williams 2022-10-07 10:05:17 UTC

拡張ライブラリ openssl で ruby 3.2 で追加される予定の IO#timeout に対応した C API の変更に追随しています。

[6166fa612c] Bart de Water 2022-10-08 11:53:57 UTC

拡張ライブラリ openssl のいくつかのメソッドの rdoc 用コメントにセキュリティ的に望ましくないけど互換性のために残しているというのを追記しています。

[85cee29357] git 2022-10-17 07:43:51 UTC

NEWS の default gems のバージョンリストに openssl のバージョンを追記しています。

[f08fcd0e80] Nobuyoshi Nakada 2022-10-17 05:46:10 UTC

macOS で OS のバージョンを検出するために参照しているマクロなどが古い macOS で未定義の可能性があるので defined でチェックするように修正しています。

[b584c106d9] Nobuyoshi Nakada 2022-10-17 06:33:28 UTC

random.c の fill_random_bytes_syscall() で macOS の CCRandomGenerateBytes() または SecRandomCopyBytes() という関数がエラーを返した場合に戻り値を標準添付ライブラリに出力するデバッグ出力を追加しています。

[f6bf5e2c5f] Nobuyoshi Nakada 2022-10-17 06:34:00 UTC

b584c106d9f432431094136be67f11853bd3eb9c と同じ random.c の fill_random_bytes_syscall() で macOS で利用する関数を切り分ける preprocessor の処理をリファクタリングしています。 USE_COMMON_RANDOM というマクロを -D で指定したらそれが影響するようにしているようです。