だいこんの日々2

軸足をtwitterとfacebookに移しつつも、技術的な話はここに書いていきます。

qmailでDomainKeys

qmailでDomainKeysの導入を行う人のためのメモを残しておきます。業務で行ったため詳細は記述できませんが、参考にしてください。パッチを当てるときにFAILEDが出ても、自力で解決できる人向けです。

DomainKey Library and Implementor's Tools
http://domainkeys.sourceforge.net/

qmail用の導入手順があるので問題ないでしょう。ただ、前述のSMTP-AUTHと組み合わせる場合は、以下のパッチが必要です。

diff -ru qmail-1.03.orig/qmail-smtpd.c qmail-1.03/qmail-smtpd.c
--- qmail-1.03.orig/qmail-smtpd.c       2006-06-10 16:56:59.000000000 +0900
+++ qmail-1.03/qmail-smtpd.c    2006-06-10 16:54:58.000000000 +0900
@@ -841,6 +841,7 @@
     case 0:
       authd = 1;
       relayclient = "";
+      if (!env_put("RELAYCLIENT=")) die_nomem();
       remoteinfo = user.s;
       if (!env_unset("TCPREMOTEINFO")) die_read();
       if (!env_put2("TCPREMOTEINFO",remoteinfo)) die_nomem();

DomainKeysのqmail用パッチは、SMTP-AUTHに成功したら環境変数RELAYCLIENTが定義されることを前提としているが、前述のSMTP-AUTHパッチでは、環境変数は定義されないので、認証成功したら環境変数RELAYCLIENTを定義するパッチ。