SenderID/SPF に加えて、DomainKeys/DKIM を実装した RPF をリリースしました。
背景
メールアドレスの詐称を判断できるようするドメイン認証には、IP ベースと署名ベースの2種類があり、それぞれに長所短所があります。
RPF は、メールの受信側において、ドメイン認証を含む複数の情報を元に、MTA の挙動を決定するプログラムです。Sendmail や Postfix がサポートする Milter プログラムとして実装されています。
バージョン 0.1 からの違い
- 一枚岩だったプログラムを分割し、複数のライブラリとして公開しました。
- ドメイン認証のライブラリ名は domain-auth です。
- インストールを難しくしているライブラリを一から書き直しました。
- hackageDB に登録し、cabal install のみでインストールできるようにしました。
- IP アドレスリストやドメインリストを探索するデータ構造を線形リストから木に変えました。
- ポリシーファイルに長いリストを書いても、もう大丈夫です。
- プロセスベースから、スレッドベースにしました。
- select() の 1,024 コネクションの壁を越える c10k ライブラリを作成しました。
- DomainKeys と DKIM の検証側を実装しました。
- デバッグモードでは、ログを端末に出すようにしました。