デーモン版 Receiver Policy Framework のリリース
デーモン版の Receiver Policy Framework (RPF)をリリースしました。
RPF の背景は、この辺りを読んで下さい。
RPF は、ENMA のポリシー記述言語として採用されることを目指していましたが、採用されませんでしたので、一からデーモンを書きました。
ほとんどすべて、Haskell で書いています。リンクしている C のライブラリーは Gnu adns だけです。(ENMA のライブラリーは使っていません。)
libmilter に相当する部分も Haskell で書いています。本当は libmilter のようにスレッドベースにしたかったのですが、GHC にはいくつか問題があるので、プロセスベースになりました。
汚れたインターネット環境で試していますが、ISP レベルの環境では試していません。メールの受信には影響を与えない、Logonly モードがあるので、試して頂けると嬉しいです。
Milter プロトコルについて教えて頂いた須藤さんと小林さんに深謝します。ネットワーク周りのコードをレビューして頂いた nwn さん、Haskell についてたくさん教えて頂いた shelarcy さんに感謝します。