[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[postfix-jp: 2191] regexpテーブルの適用順について
- Subject: [postfix-jp: 2191] regexpテーブルの適用順について
- From: SATOH Kiyoshi <satoh0@xxxxxxxxx>
- Date: Tue, 15 Aug 2006 16:18:51 +0900
さとうです。
check_client_accessでregexpでマッチングしたものに、制限を掛ける設定を
しています。
そこでホスト名での制限を掛けて、それより前にIPでのホワイトリストを書い
たのですが、機能しませんでした。
例えば、example.jp が 192.0.2.0/24 を持っている場合、基本的に
example.jpからの接続は拒否するのだけど、192.0.2.1からのみ接続を許したい
場合、下記のregexpで可能なはずですが、出来ません。
/^192\.0\.2\.1$/ OK
/example\.jp$/ REJECT
そのため、check_client_accessを複数行書いて、先のものをホワイトリストと
して利用することで対応しました。
マニュアルを確認したところ、regexpテーブルの適用順について
Postfix manual - access(5)
http://www.kobitosan.net/postfix/trans-2.2/jhtml/access.5.html
http://www.postfix.org/access.5.html
> パターンは検索文字列にマッチするまで、テーブルに指定された順で適用されます。
> Patterns are applied in the order as specified in the table,
> until a pattern is found that matches the search string.
とあるのですが、実際にコードを見てみると
src/smtpd/smtpd_check.c
check_namadr_access 関数内
/* Look up the host name, or parent domains thereof. …
check_domain_access(state, table, name, …
/* Look up the network address, or parent networks thereof. …
check_addr_access(state, table, addr, …
という感じに記述されており、先にホスト名でのマッチングが行われてから、IP
でのマッチングが行われているため、このような動作になってしまうように思い
ます。
このように、regexpテーブルの適用順が、マニュアルの記述と合っていないよ
うに思えるのですが、今までバグレポートなど出たことありますでしょうか?
#「unknown」に対してなにかしたいときに、この記述がしたいのです…
--
佐藤 潔 (SATOH Kiyoshi) <satoh@xxxxxxxxx> http://d.hatena.ne.jp/stealthinu/
_______________________________________________
Postfix-jp-list mailing list
Postfix-jp-list@xxxxxxxxxxxxxxxxxxxx
http://lists.sourceforge.jp/mailman/listinfo/postfix-jp-list
- Follow-Ups
-
- [postfix-jp: 2199] Re: regexpテーブルの適用順について, とみたまさひろ
[検索ページ]
[Postfix-JP ML Home]