2010年6月14日

[postfix-jp: 3801] Re:転送されたメールが拒否される!?

岩本といいます。

On Mon, 14 Jun 2010 18:18:22 +0900
88式地対艦誘導弾 <ssm@xxxxx> wrote:

> サーバーAからサーバーBに、IPv6(リンクローカルアドレス)を使用し、メールを転送しようと思います。
> サーバーAからは、PHP(PEAR)を使用し、[fe80::215:5dff:fed6:6701%eth1] へメール転送。
> サーバーBでは、メールは受信しようとはしてるのですが、以下の拒否ログになります。

> 正常受信する為に、どのように設定をすればいいのか、どなたかご教授いただけませんでしょうか?
> どうか、宜しくお願いいたします。

現実逃避でざっと調べたところ、IPv6 リンクローカルアドレスは扱えないようです。

verbose log を見ると、

Jun 14 20:05:36 nagato postfix/smtpd[23884]: match_hostaddr: fe80::1:2:3:4%re0 ~? [fe80::]/64

というように、match_hostaddr にはアドレスがインタフェース名付きで渡っていますが、
match_hostaddr では以下のように 0-9A-F:. 以外の文字があると return 0 しています。
そのため、IPv6 リンクローカルアドレスは常にマッチしないという動作になっています。

int match_hostaddr(int unused_flags, const char *addr, const char *pattern)
{
const char *myname = "match_hostaddr";
char *saved_patt;
CIDR_MATCH match_info;
VSTRING *err;

if (msg_verbose)
msg_info("%s: %s ~? %s", myname, addr, pattern);

#define V4_ADDR_STRING_CHARS "01234567890."
#define V6_ADDR_STRING_CHARS V4_ADDR_STRING_CHARS "abcdefABCDEF:"

if (addr[strspn(addr, V6_ADDR_STRING_CHARS)] != 0)
return (0);


という事で、本家 ML で対応してくれるように頼むか、諦めて別の方法を探すかするしか
ないと思います。

--
いわもと こういち(sue@xxxxx/sue@xxxxx/sue@xxxxx)
# なるようになれ、明日もイケイケ♪

_______________________________________________
Postfix-jp-list mailing list
Postfix-jp-list@xxxxx
http://lists.sourceforge.jp/mailman/listinfo/postfix-jp-list


投稿者 xml-rpc : 2010年6月14日 20:42
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/96352
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。