リリースノート

Sisimai 5.8.0


2026/11/11

Sisimai 5.8.0をリリースしました。 このバージョンにおける主な変更点ははメモリ保護と安全性の確保を目的とした入力データ (メール)の最大容量制限(全体で2GB・メール毎に64MB)です。 Perl版Sisimaiで入った変更内容にはPerlが、 Ruby版SisimaiではRubyが、 Go版SisimaiではGoが、 それぞれ冒頭に入っています。

Sisimai 5.0.0でVersion 4系とは非互換な変更が多く入っていますので、 インストールまたはアップグレードの前に実行環境のPerlやRubyのバージョンを確認してください。

入力データ(メール)の最大値制限

  • Go Perl Ruby メモリ保護を目的として入力されるメールのデータにおける最大容量を以下のとおり 制限するようになりました。 #487 #699 #472
    • メール全体(UNIX mbox, 変数からの入力, STDIN)で2GB
    • Maildir/の各ファイルを筆頭に個々のメール一通あたり64MB

セキュリティ関係の修正

  • Go Perl Ruby Makefileでソースコード内の不可視文字を検査するようになりました。 #439 #687 #458
  • Go Perl Ruby rfc5322.Part()関数の戻り値を厳密に検査するようになりました。 #450 #691 #463
  • Ruby バウンスメール本文が空の場合にSisimai::RFC3464がクラッシュするバグを 修正しました。 Thanks to @azranel. #462
  • Go 異常な長さの行を処理する際にmail.readMailbox()関数が無限ループになる バグを修正しました。 #469
  • Go Maildir/内の各要素を検査するmail.listMaildir()関数の条件分岐が 間違っているバグを修正しました。 #470
  • Go STDINから入力されたメールデータの分割関数にあったバグを修正しました。 #484

細い改善

  • Go Perl Ruby Amazon SES のfeedbackIdの値が解析結果の FeedbackIDに入るようになりました。 #427 #694 #467
  • Go fmt パッケージへの依存が無くなりました。 #458

MTAモジュールとエラーメッセージパターン

  • Go Perl Ruby comcast.netの エラーメッセージパターンを更新しました。 #448 #689 #460
  • Go Perl Ruby 2026年10月15日に更新された Google のエラーコード454 4.7.0と554 5.4.6 に対応しました。 #465 #695 #468