smtp認証で 'DIGEST-MD5' 'CRAM-MD5' が使えなくて死亡

smtp認証が利用できるメールサーバーが出来た…かと思ったんですが、よく見てみたら認証アルゴリズム'DIGEST-MD5' 'CRAM-MD5' が使えてないことに気づきました。

確認する

# telnet localhost 587
Trying 127.0.0.1...
Connected to localhost.localdomain (127.0.0.1).
Escape character is '^]'.
220 example.ir9.jp ESMTP Sendmail 8.13.8/8.13.8; Thu, 9 Apr 2009 17:53:51 +0900
EHLO ir9
250-example.ir9.jp Hello localhost.localdomain [127.0.0.1], pleased to meet you
250-ENHANCEDSTATUSCODES
250-PIPELINING
250-8BITMIME
250-SIZE
250-DSN
250-AUTH LOGIN PLAIN  # DIGEST-MD5 CRAM-MD5がおらへん!
250-DELIVERBY
250 HELP

設定 - sendmail.mc

DIGEST-MD5 CRAM-MD5 を 有効にしている…ハズなんだけどなぁー

TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')


/usr/lib/sasl2/Sendmail.conf*1pwcheck_method:auxprop (パスワードDB使ってね) にしたし、saslpasswd2 でユーザも追加したし、sasldblistusers2 でしっかりユーザも表示されているし……

何がわるいんだこんなろー! …とマジで悩む。

いやもうね、雪華綺晶(発音:きら子さん)がとりついて何かやってるんじゃないかしらと。まいた世界 と まかなかった世界のメールをリレー中にメッセージの内容を改変(発音:ハック)出来る程度能力を持ってるぐらいですからね*2。ミツカラナイミツカラナイミツカラナイミツカラナイミツカラナイミツカラナイミツカラナイミツカラナイ(解決方法が

そして解決へ

……で、Webを放浪して6時間ぐらい。 次のような情報を入手しました。

また、SMTP 認証には、Cyrus SASL という認証機能のプログラムがインストールされている必要がありますので、うまく行かない場合は確認してください。


# rpm -qa | grep cyrus-sasl
cyrus-sasl-1.5.24-25
cyrus-sasl-devel-1.5.24-25
cyrus-sasl-plain-1.5.24-25
cyrus-sasl-md5-1.5.24-25

sendmail メールサーバ構築・設定

(強調は私によるモノ)


…… sasl-md5 ?

まぁこれ sasl v1 系のお話故に v2 系に当てはまるかどうかは解りませんけど、そんなまさか、ライブラリが足りないとかそんなまさk

# rpm -qa | grep sasl
cyrus-sasl-lib-2.1.22-4
cyrus-sasl-plain-2.1.22-4
cyrus-sasl-devel-2.1.22-4
cyrus-sasl-lib-2.1.22-4
cyrus-sasl-2.1.22-4
cyrus-sasl-plain-2.1.22-4
cyrus-sasl-devel-2.1.22-4

md5 居ない

# yum search sasl-md5
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: rsync.atworks.co.jp
 * updates: rsync.atworks.co.jp
 * addons: rsync.atworks.co.jp
 * extras: ftp.jaist.ac.jp
===== Matched: sasl-md5 =====
cyrus-sasl-md5.i386 : Cyrus SASL 用のCRAM-MD5、DIGEST-MD5サポート
cyrus-sasl-md5.x86_64 : Cyrus SASL 用のCRAM-MD5、DIGEST-MD5サポート

md5 居た



てめぇええええええええええええええええあああああああああああああああああああ!!!!!!!!!

インストールしてみて実行

# yum install cyrus-sasl-md5
(中略)
Installed: cyrus-sasl-md5.i386 0:2.1.22-4 cyrus-sasl-md5.x86_64 0:2.1.22-4
Complete!

# service sendmail restart
sm-client を停止中:                                        [  OK  ]
sendmail を停止中:                                         [  OK  ]
sendmail を起動中:                                         [  OK  ]
sm-client を起動中:                                        [  OK  ]

# telnet localhost 587
Trying 127.0.0.1...
Connected to localhost.localdomain (127.0.0.1).
Escape character is '^]'.
220 example.ir9.jp ESMTP Sendmail 8.13.8/8.13.8; Thu, 9 Apr 2009 18:15:17 +0900
EHLO ir9
250-example.ir9.jp Hello localhost.localdomain [127.0.0.1], pleased to meet you
250-ENHANCEDSTATUSCODES
250-PIPELINING
250-8BITMIME
250-SIZE
250-DSN
250-AUTH DIGEST-MD5 CRAM-MD5 LOGIN PLAIN
250-DELIVERBY
250 HELP

↑DIGEST-MD5 CRAM-MD5 が有効になった!





中途半端にパッケージ入れとく CentOSたん の天然キャラっぷりは異常

……ちくしょうちくしょう! orz

*1:ウチは64bitOS なので lib64 なんですけどね

*2:YJローゼンメイデン 第1巻参照