あどけない話

インターネットに関する技術的な話など

RPF v0.3 のリリース

何人かの人と議論して、Receiver Policy Framework の仕様を変えました。というわけで、 RPF v0.3 をリリースします。

v0.3 では、Milter ありきの設計になっています。こんなことが書けるようになりました。

$ip_white_list = 10.0.0.1;
$ip_forwarding_list = 192.168.20.1, 192.168.30.1;
$spammer_domain = "spammer.example.jp", "spammer.example.net";
$spammer_domain2 = "spammer.example.com";
$spf_fail = 'softfail', 'hardfail';

// #ip
connect {
	accept: #ip == $ip_white_list;
	reject: #ip == 192.168.10.0/24, 2001:db8:100::/48;
	continue;
}

// #spf, #mail_from
mail_from {
	reject: #spf == 'pass' && #mail_from == $spammer_domain;
	accept: #spf == 'pass';
	accept: #spf == $spf_fail && #ip == $ip_forwarding_list;
	hold:   #spf == 'softfail';
	continue;
}

// #from, #pra, #sender_id, #dkim_from, #sig_dkim, #sig_domainkeys
header {
	reject: #sender_id == 'pass' && #mail_from == $spammer_domain2;
	accept: #sender_id == 'pass';
	reject: #mail_from == "dkim.example.jp" && #sig_dkim == No;
	continue;
}

// #dkim, #adsp
body {
	accept: #dkim == 'pass';
	reject: #dkim == 'fail' && #adsp == 'discard';
	reject: #dkim != 'pass' && #from == "dkim.example.jp";
	discard;
}