[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[postfix-jp:02669] mailbox_command の expansion
- Subject: [postfix-jp:02669] mailbox_command の expansion
- From: SEKINE Tatsuo <tsekine@xxxxxxxxxx>
- Date: Mon, 07 Apr 2003 23:08:06 +0900
関根@SDRIと申します。
調べてるのはpostfixの 1.1.11 ですが、2.0.7 でも確認してます。
local(8)が参照する mailbox_command(_maps) ですが、
man ページには
mailbox_command
External command to use for mailbox delivery. The
command executes with the recipient privileges
(exception: root). The string is subject to $name
expansions.
と "$name expansion"、すなわち foward_path のところで述べられている展
開が行われるように書いてあります。
しかし、実際には「EXTERNAL COMMAND DELIVERY」のところに書いてある、環
境変数による export がおこなわれると思うんですが、いかがでしょうか?
ソースをざっと追ったところ、mailbox_command(_maps)の方は
delivery_mailbox() in local/mailbox.c:
...
} else if (*var_mailbox_command) {
status = deliver_command(state, usr_attr, var_mailbox_command);
...
となっています。よって、実際のコマンドは deliver_command() 以下で起動
されます。また、.forward/aliasの場合においても
deliver_token in local/token.c:
...
} else if (*STR(addr_buf) == '|') {
if ((local_cmd_deliver_mask & state.msg_attr.exp_type) == 0)
status = bounce_append(BOUNCE_FLAG_KEEP,
BOUNCE_ATTR(state.msg_attr),
"mail to command is restricted");
else
status = deliver_command(state, usr_attr, STR(addr_buf) + 1);
...
となっており、deliver_command() によって配送されています。
当然、deliver_command の中では "$name expansion" ではなく環境変数の
export が行われています。
--
SEKINE Tatsuo:
http://www.sdri.co.jp/~tsekine/
tsekine@xxxxxxxxxx(business) System Design & Research Institute Co.,Ltd.
tsekine@xxxxxxxx(private) Yokohama Linux Users Group
[検索ページ]
[Postfix-JP ML Home]