北岡紀弘 / KITAOKA,NORIHIRO
norih****@hitac*****
2018年 6月 27日 (水) 16:56:07 JST
お世話になります。北岡紀弘と申します。 普段から業務で Ruby の Milter-Manager API を利用させて頂いています。 Milter-Manager で「00」バイトデータ(null文字)を処理した時に、 それ以降のデータが壊れる動作となりましたのでご報告させて頂きます。 再現手順と環境情報については添付をご確認下さい。 発生の経緯としましては、sendmail がメールデータの 8bit区切りの先頭ビットを落とす場合があり、 「80」⇒「00」となったデータをMilter-Manager が受け、誤動作を引き起こしました。 Milter-Manager から Ruby プログラムに渡されてきた「00」以降のデータには Ruby ライブラリのロードパスや Ruby オブジェクトの変数情報が含まれる場合があり、 意図しないメモリ位置を参照して Ruby にデータを渡して来ているような気がします。 この問題を回避して、「00」のバイトデータを含め、それ以降のデータも正しく Ruby 側で受け取る方法があればご教示頂けないでしょうか? 以上です。よろしくお願い致します。 -------------- next part -------------- $B%F%-%9%H7A<00J30$NE:IU%U%!%$%k$rJ]4I$7$^$7$?(B... $B%U%!%$%kL>(B: $B:F8=<j=g(B.zip $B7?(B: application/x-zip-compressed $B%5%$%:(B: 21544 $B%P%$%H(B $B @ bL@(B: $BL5$7(B URL: https://lists.osdn.me/mailman/archives/milter-manager-users-ja/attachments/20180627/bf7c13bb/attachment-0001.bin