[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[postfix-jp:01734] Re: postfix + smtp auth でpwcheckが使えません之二。
- Subject: [postfix-jp:01734] Re: postfix + smtp auth でpwcheckが使えません之二。
- From: Taoka Fumiyoshi <fmysh@xxxxxxxxxxxxxx>
- Date: Thu, 20 Jun 2002 19:59:41 +0900
On Thu, 20 Jun 2002 16:14:47 +0900
"XIE from LAB" <xie@xxxxxxxxxxxxxxxxxxxxxxxxxx> wrote:
> sasl側の設定は以下のようになってますが、netscape を使って送信したとこ
> ろ、固まる一方だ。皆さんはそういう問題に遭ったことあるでしょうか
> /usr/local/lib/sasl/smtpd.conf:
> pwcheck_method: pwcheck
>
pwcheckを参照するようになってますね。
On Tue, 18 Jun 2002 17:50:22 +0900
"XIE from LAB" <xie@xxxxxxxxxxxxxxxxxxxxxxxxxx> wrote:
> 送信したところ maillogで監視して 次のエラーが出ました
> Jun 11 19:44:04 host postfix/smtpd[12147]: warning: SASL authentication
> problem: unrecognized plaintext verifier pwcheck
> Jun 11 19:44:04 host postfix/smtpd[12147]: warning: domain: SASL PLAIN
> authentication failed
>
エラーメッセージで「pwcheckなんて確認法は知らない」と
言っているくらいですから、調べてもらうまでもなかったですね。
そこで次に、手元のcyrus-saslのソースで
"unrecognized plaintext verifier"をさがしてみました。
cyrus-sasl-1.5.27/lib/server.c
1351 static int _sasl_checkpass(sasl_conn_t *conn,
1352 const char *mech, const char *service,
1353 const char *user, const char *pass,
1354 const char **errstr)
1355 {
1356 sasl_server_conn_t *s_conn = (sasl_server_conn_t *) conn;
1357 int result = SASL_NOMECH;
1358 struct sasl_verify_password_s *v;
1359
1360 if (mech == NULL) mech = DEFAULT_PLAIN_MECHANISM;
1361 for (v = _sasl_verify_password; v->name; v++) {
1362 if (is_mech(mech, v->name)) {
1363 result = v->verify(conn, user, pass,
1364 service, s_conn->user_realm, errstr);
1365 break;
1366 }
1367 }
1368
1369 if (result == SASL_NOMECH) {
1370 /* no mechanism available ?!? */
1371 _sasl_log(conn, SASL_LOG_ERR, NULL, 0, 0,
1372 "unrecognized plaintext verifier %s", mech);
1373 }
1374
1375 return result;
1376 }
_sasl_verify_passwordを順に手繰ってpwcheckのエントリを探しいって、
何故か見つからなくてエラーになっているようです。
_sasl_verify_passwordの内容は次のようになっていました。
cyrus-sasl-1.5.27/lib/checkpw.c
1787 struct sasl_verify_password_s _sasl_verify_password[] = {
1788 { "sasldb", &sasldb_verify_password },
1789 #ifdef HAVE_KRB
1790 { "kerberos_v4", &kerberos_verify_password },
1791 #endif
1792 #ifdef HAVE_GSSAPI_H
1793 { "kerberos_v5", &kerberos5_verify_password },
1794 #endif
1795 #ifdef HAVE_GETSPNAM
1796 { "shadow", &shadow_verify_password },
1797 #endif
1798 #ifdef HAVE_SIA
1799 { "sia", &sia_verify_password },
1800 #endif
1801 #ifdef HAVE_GETPWNAM
1802 { "passwd", &passwd_verify_password },
1803 #endif
1804 #ifdef HAVE_PAM
1805 { "pam", &pam_verify_password },
1806 #endif
1807 #ifdef HAVE_PWCHECK
1808 { "pwcheck", &pwcheck_verify_password },
1809 #endif
1810 #ifdef HAVE_MYSQL
1811 { "mysql", &mysql_verify_password },
1812 #endif
1813 #ifdef HAVE_LDAP
1814 { "ldap", &ldap_verify_password },
1815 #endif
1816 #ifdef HAVE_SASLAUTHD
1817 { "saslauthd", &saslauthd_verify_password },
1818 #endif
1819 { NULL, NULL }
1820 };
HAVE_PWCHECKがdefineされていないのが原因のようです。
試しに--with-pwcheckを付けないでconfigureしたライブラリで
テストしてみたところ
warning: SASL authentication problem: unrecognized plaintext verifier pwcheck
warning: localhost[127.0.0.1]: SASL PLAIN authentication failed
と最初のメールと同じエラーになりました。
メールの冒頭では--with-pwcheckつきでconfigureされていたので
この結果はちょっと変なのですが、
一応 config.hでHAVE_PWCHECKが定義されているか確認してみてはどうでしょう。
# pwcheck以外の方法でPLAIN認証する手もありますし、
# TLS通さないでPLAINなんて無謀という話もあるでしょうが、
# それは次の段階として...
- Follow-Ups
-
- [postfix-jp:01752] Re: postfix + smtp auth でpwcheckが使えません之二。, XIE from LAB
- References
-
- [postfix-jp:01730] postfix + smtp auth でpwcheckが使えません之二。, XIE from LAB
[検索ページ]
[Postfix-JP ML Home]