popperをqpopperからdovecotに変えてみました。dovecotではapopじゃなくても独自のパスワードファイルを使えるので、これでAPOPと決別でき、やっとandroidのgmailでメールが受信できるようになりました。
はまった点は以下の通り。
(1) pkg install dovecot2で入れたら LIBWRAP_CONFIGURE_WITH= libwrap が定義されていないのが install されちゃった。定義されてても libwrap.so.6 がリンクされる訳でもないのでlddしても違いがなく、気づくまで悩んでしまった。portsで入れ直して完了。
(2) passdbがscheme=CRYPTの場合、passwdファイルにuid,gidが必要となる。
(3) mail_location = mbox:~/mail:INBOX=/var/mail/%nなんて書けば、passwdファイルにhomeも必要となる。
(4) mail_privileged_group=mailを書き忘れていた。
(5) conf.d/10-tcp_wrappers.confとして以下を作成した。
service tcpwrap {
unix_listener login/tcpwrap {
group = $default_login_user
mode = 0600
user = $default_login_user
}
}
(6) hosts.allowの最初のカラムに何を書くのかが判らなかった。
dovecot : .ish.org : allow
なんて書いても駄目で、
pop3 : .ish.org : allow
が正解みたい。ちなみに
pop3s : .ish.org : allow
とやっても駄目でした。
ところで、androidで利用しているOCNモバイルoneのIPアドレス(IPv4)の逆引きが、p999999-omed01.osaka.ocn.ne.jpなんだけど、東京で使っているのにosakaなんですかねぇ?(⇒その後12月に変更になったみたいです。)
tcp_wrappersでアクセス制限をかけたいんだけど、.osaka.ocn.ne.jpを許すしかないのかなぁ。あとOCNモバイルoneってIPv6アドレスが割り当てられないんだけど、私が何か設定をミスっているのかな?
P.S. OCNテクニカルサポートへメールで問い合わせた所、
(1) OCNモバイルoneはIPv6対応していない
(2) OCNモバイルoneで払い出すIPアドレスについては設備情報であり開示していない
との回答を得ました。IPv6は自宅とVPNを張ってトネリングさせるしかないかなぁ。