[milter-manager-users-ja] 00 のバイトデータ(null文字)以降のメールデータが壊れる問題

Back to archive index

北岡 紀弘 norih****@hitac*****
2018年 6月 29日 (金) 11:12:01 JST


北岡です。

> 結論から言うと、回避策のようなものはありません。
> 
> milterのCで実装されている箇所で、bodyのコールバックにMTAからやってきた
> チャンクを渡すときに、チャンクにNULLが含まれているとチャンクがNULL終端
> されていることになってしまうようです。このとき、チャンクのサイズはNULL
> を含んだ元のデータのサイズとなっているので、Rubyで実装したコールバック
> がチャンクを処理する際に受け取るチャンクの内容とチャンクの長さが一致し
> ないため、壊れたデータが表示されるようです。
> 
> NULL文字を含んだチャンクを扱えるように修正する必要があると思います。
> 
> 以降の調査は、以下のissueで進めようと思います。
> https://github.com/milter-manager/milter-manager/issues/135

  見解ありがとうございます。発生原因の詳細について理解できました。
  また、今のところ回避策は無く、プログラム側の修正が必要とのこと承知しました。


> いただいた sendmail.cf を確認してみたところ、
> 
> EightBitMode=pass8
> 
> がコメントアウトされていることに気付きました。
> 
> sendmail のことはよくわからないのですが、このオプションを設定すること
> で、8bitな文字を含むメールを変換せずに通すことができるのではないでしょ
> うか?

  コメントアウトされている場合はデフォルトで「EightBitMode=pass8」になってました。
  (sendmail.cf のコメントアウトはデフォルトの設定値を表しているみたいです)
  念の為、以下のコメントアウトを外しても結果は代わりませんでした。

     ----------------------
     # 8-bit data handling
     #O EightBitMode=pass8
     ----------------------

以上です。よろしくお願い致します。

-----Original Message-----
From: milte****@lists***** <milte****@lists*****> On Behalf Of Kenji Okimoto
Sent: Thursday, June 28, 2018 6:11 PM
To: milte****@lists*****
Subject: [!]Re: [milter-manager-users-ja] 00 のバイトデータ(null文字)以降のメールデータが壊れる問題

沖元です。

いただいた sendmail.cf を確認してみたところ、

EightBitMode=pass8

がコメントアウトされていることに気付きました。

sendmail のことはよくわからないのですが、このオプションを設定すること
で、8bitな文字を含むメールを変換せずに通すことができるのではないでしょ
うか?

-- 
Kenji Okimoto <okimo****@clear*****>




milter-manager-users-ja メーリングリストの案内
Back to archive index