[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

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



岩本といいます。

On Mon, 14 Jun 2010 18:18:22 +0900
88式地対艦誘導弾 <ssm@xxxxxxxxx> 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@xxxxxxxx/sue@xxxxxxxxxx/sue@xxxxxxxxxxxx)
# なるようになれ、明日もイケイケ♪

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

References
[postfix-jp: 3799] èéãããããããæåãããïï, 88åååèèåå

[検索ページ] [Postfix-JP ML Home]