モーグルとカバとパウダーの日記

モーグルやカバ(EXカービング)山スキー(BC)などがメインの日記でした。今は仕事のコンピュータ系のネタが主になっています。以前はスパム対策関連が多かったのですが最近はディープラーニング関連が多めです。

courier-imapのpop3用パッチ

courier-imapに移行した後、メール受信途中で接続が切れるというトラブルが続発して、その調査対応に追われた1日でした。

調べてみると、courier-imappop3接続したとき、Mydoomが吐いたメールなどで本文が空のメールがあると、少なくともノートンAnti Virusを経由すると、そのメールを受信しようとしたとき、そこで接続を切ってしまうということがわかりました。
courier-imappop3デーモンは、スプールに入ってるメールをそのまま垂れ流すだけで、本文があろうが無かろうが、そのまま流すため、本文がないメールはそのまま本文無しのメールとして流れてしまうように書いてありました。そして、本文がないというか、ヘッダと本文とを区切っている空行すらないメールを受信しようとすると、ノートンはそこでpop3接続を切ってしまうらしかった。ノートンを介さず、例えば直接OEで接続した場合は問題なく受信可能でした。
そこで、pop3dserver.cのdo_retr関数内で、ヘッダしか無かった場合には最後に"\r\n"を出力してやり、本文がなくても必ず本文との区切り子は付くようにパッチを当てることで対応しました。


(追記)

courier-imap-4.0.3-pop3dserver.patch