パスワードを忘れた? アカウント作成
1042467 journal
プログラミング

iidaの日記: PostfixのMAIL FROM: AUTHパラメータ

日記 by iida

AUTH LOGINに対応したメール・サーバーにつなぐため、Cyrus-SASLを付けたPostfixを設定してみたが、うまくいかない。ngrepで見ると、MAIL FROMでコケている。よく見ると「AUTH=<>」というパラメータがついているではないか。ソースを調べると、SASLで認証するときは、必ずこの空値のパラメータを渡すようだ。

AUTH=<>を付けてTELNETで会話すると、やっぱりうまくいかない。ためしにAUTH=<check@examle.jp>といんちきな値を与えてやったら、うまく行ってしまった。なんだかなあ。

そこでこんなパッチを作って、postfix-usersリストに流してやった。

diff -ru1 postfix-2.8.7~/src/global/mail_params.h postfix-2.8.7/src/global/mail_params.h
--- postfix-2.8.7~/src/global/mail_params.h    2011-03-14 17:59:09.000000000 +0000
+++ postfix-2.8.7/src/global/mail_params.h    2011-12-15 07:21:34.747158000 +0000
@@ -1557,2 +1557,8 @@

+#define VAR_SMTP_SASL_FROM_AUTH_PARAM    "smtp_sasl_from_auth_param"
+#define VAR_LMTP_SASL_FROM_AUTH_PARAM    "lmtp_sasl_from_auth_param"
+#define DEF_SMTP_SASL_FROM_AUTH_PARAM    ""
+#define DEF_LMTP_SASL_FROM_AUTH_PARAM    ""
+extern char *var_smtp_sasl_from_auth_param;
+
#define VAR_SMTP_SASL_PASSWD    "smtp_sasl_password_maps"
diff -ru1 postfix-2.8.7~/src/smtp/lmtp_params.c postfix-2.8.7/src/smtp/lmtp_params.c
diff -ru1 postfix-2.8.7~/src/smtp/smtp.c postfix-2.8.7/src/smtp/smtp.c
--- postfix-2.8.7~/src/smtp/smtp.c    2010-12-31 01:19:44.000000000 +0000
+++ postfix-2.8.7/src/smtp/smtp.c    2011-12-15 07:41:24.274292000 +0000
@@ -739,2 +739,3 @@
char   *var_smtp_sasl_path;
+char   *var_smtp_sasl_from_auth_param;
char   *var_smtp_sasl_passwd;
diff -ru1 postfix-2.8.7~/src/smtp/smtp_params.c postfix-2.8.7/src/smtp/smtp_params.c
--- postfix-2.8.7~/src/smtp/smtp_params.c    2010-08-28 00:03:15.000000000 +0000
+++ postfix-2.8.7/src/smtp/smtp_params.c    2011-12-15 07:15:59.483839000 +0000
@@ -5,2 +5,3 @@
     VAR_ERROR_RCPT, DEF_ERROR_RCPT, &var_error_rcpt, 1, 0,
+    VAR_SMTP_SASL_FROM_AUTH_PARAM, DEF_SMTP_SASL_FROM_AUTH_PARAM, &var_smtp_sasl_from_auth_param, 0, 0,
     VAR_SMTP_SASL_PASSWD, DEF_SMTP_SASL_PASSWD, &var_smtp_sasl_passwd, 0, 0,
diff -ru1 postfix-2.8.7~/src/smtp/smtp_proto.c postfix-2.8.7/src/smtp/smtp_proto.c
--- postfix-2.8.7~/src/smtp/smtp_proto.c    2011-01-08 00:12:06.000000000 +0000
+++ postfix-2.8.7/src/smtp/smtp_proto.c    2011-12-15 08:19:41.292921000 +0000
@@ -1357,3 +1357,9 @@
         && (session->features & SMTP_FEATURE_AUTH))
-        vstring_strcat(next_command, " AUTH=<>");
+        {
+            vstring_strcat(next_command, " AUTH=<");
+            vstring_strcat(next_command,
+                  (var_smtp_sasl_from_auth_param?
+                   var_smtp_sasl_from_auth_param: ""));
+            vstring_strcat(next_command, ">");
+        }
#endif

この議論は、iida (8060)によって テキとトモのテキ禁止として作成されたが、今となっては 新たにコメントを付けることはできません。
typodupeerror

Stableって古いって意味だっけ? -- Debian初級

読み込み中...