postfix 2.5.5 でのCryus-SASLでのSMTP-AUTH @OpenSolaris

最近新しくOpenSolaris 2008.05で家のサーバーを作っており、cyrus-saslでpam認証するSMTP-AUTHつきのpostfixをコンパイルしたのだが、なぜかちゃんとSMTPが動作しない。
手順はほぼ前にあげたエントリの通り。前は上手くいったのに…
コンパイルしたバージョンは2.5.5なのだが、ポート25に接続しても、ログに「warning: unsupported SASL server implementation: cyrus」と出るだけでうんともすんとも言わない。
うーんなんてこったい。
ちなみにコンパイル時のオプションはCCARGS=”-DUSE_SASL_AUTH -I/usr/local/include/sasl2 -I/usr/include/pcre” AUXLIBS=”-L/usr/local/lib -lsasl2 -R/usr/local/lib”とこんな感じで特に問題はなさそう。
CCARGSの最後のインクルードパスの指定は、ccがdict_pcre.cのコンパイル中にprce.hが無いとかぬかしたので追加してある。根性で捜して来いよと。プンプン。


んーまいったなーとソースコードについてきたドキュメントを読んでいると、「Building Postfix with Cyrus SASL support」の項目に

(for Cyrus SASL version 2.1.x):
% make tidy # if you have left-over files from a previous build
% make makefiles CCARGS="-DUSE_SASL_AUTH -DUSE_CYRUS_SASL \
-I/usr/local/include/sasl" AUXLIBS="-L/usr/local/lib -lsasl2"

とか書いてある。
-DUSE_CYRUS_SASL ってオプションが増えてるやんけー
なんやねんそれーということで、同じ文書をよく読むと”Support for the Dovecot version 1 SASL protocol is available in Postfix 2.3 and later. “ってことらしく、2.3からはSASL AUTHに「Cryus-SASL」
と「Dovecot SASL」を使えるようになったようだ。
SMTPでSASL-AUTHをするようビルドするには「USE_SASL_AUTH」としたうえで、「DEF_SERVER_SASL_TYPE=\”dovecot\”」と「USE_CYRUS_SASL」のどちらか、あるいは両方を指定するようだ。
そういえば、前にコンパイルしたのは2.2やったしね。
ということで、

gmake tidy
CCARGS=”-DUSE_SASL_AUTH -DUSE_CYRUS_SASL -I/usr/local/include/sasl -I/usr/include/pcre”
AUXLIBS=”-L/usr/local/lib -lsasl2 -R/usr/local/lib”
gmake makefiles
gmake

てな感じでコンパイルして上手くいった。
しかし、初めて見た「Dovecot SASL」なるものを調べていると、Cryus-SASLが認証方法を一つしか選べないのに対して、Dovecot SASLは複数のものを同時に使えるようだ。
例えば、最初にpamでローカルユーザーを調べ、いなければLDAPに聞きに行き、そこにもいなければmysqlに聞きに行けるということも可能ということらしい。
土偶家ではメールのユーザーは全員実ユーザーに関連付けられていて、メールしか使わないユーザーはシェルを使えなくしてあるのやけど、この「Dovecot SASL」を使うとローカルユーザーすら作らなくてもよいではないか。
ということで、「Dovecot SAS」対応しておけば、confだけで切り替えることが出来るらしいので、とりあえずもう一度コンパイルしなおしておくのも良い感じである。
更に、Postfix TLS Supportなるドキュメントを見れば、以前は実装する為にはソースにパッチ充てたりとややこしかった、認証時のSSL暗号化のTLSサポートも結構簡単になったようである。
「Dovecot SAS」とあわせて、これは一丁チャレンジしてみるかな。これでgmailにリレーしてもらえるやん。
久しぶりにsolaris熱メラメラである。

コメントする

メールアドレスが公開されることはありません。

PAGE TOP