戻る

3011:rule O OperatorChars

分割文字

トークンに別ける 分割文字 として sendmail.cf で 決めている場所がある 歯切れが 悪いのは この数 というか 記号というか ”.:%@!^/[]+” に ついては オプションであるので 当然 変更が 出来る事となる したがって これは たまたまの 1例 である。

sendmail.cf

sendmail.cf の 抜粋を 見ると 以下の 様な場所が あると思う

...
# Characters to be quoted in a full name phrase (@,;:\()[] are automatic)
#O MustQuoteChars=.

# delimiter (operator) characters (old $o macro)
O OperatorChars=.:%@!^/[]+

# shall I avoid calling initgroups(3) because of high NIS costs?
#O DontInitGroups=False
...

これを オプションで 決めるために m4 で 下記のように指定して 決めるようです。

define(`confOPERATORS' , `.:%@!^/[]+')

そうして sendmail の 内部で これは 変える事は出来ないもの として数個別に定めてあるようです ”parseaddr.c”を 触れる事が可能な人は 変える事が出来るのでしょうが

()<>,;\r\n   /*  抜粋 です 参考資料にから 上手く 見つける事が 出来ない  */
parseaddr.c   /*  抜粋 です  */
/* following delimiters are inherent to the internal algorithms */
#define DELIMCHARS	"()<>,;\r\n"	/* default word delimiters */

この場合を まとめると 分割文字 として

(    )    <    >    ,    ;    \r    \n 
.    :    %    @    !    ^    /    [    ]    +

補足

内部で定めてある 分画文字 は 10個 と 書かれてあるようだが 10個 書 いてある所は 見つける事が 出来なかった 本件 保留

独断の 纏め

非常に 独断と 偏見であるが sendmail が 扱うのは 今まで見た例では メー ルアドレスを 色々 検査しているようです ということは 対象は メール アドレ スと云うことです

ここに 例として メールアドレス

usernanigasi@servardoreka.domainlow.domainoomoto

が 有るとします sendmail は この アドレスを 取り扱うために 分割をし ます そのためには 分割する 目安が 無ければ いけません (なんで 分割する の? にゃんたろうは 存じておりません)その目安として 分割 文字というか 記号というものを sendmail の 内部と sendmail.cf にて オプションで 追加 するような 形で 決めています オプションで 追加するのは mc で 追加して sendmail.cf に 追加する事に なります。 そうして メールアドレスを 分割し た 結果 その分割されたものを トークン というようです。という かなり 乱暴 な 纏めとしておこう: これは トークン と 分割文字 に 関する 纏め という ことです この場合 以下のように 試験してみましょう、結果は

$ /usr/sbin/sendmail -Ctest06.cf -bt
Mhub: Warning: first argument in [IPC] mailer must be TCP or FILE
ADDRESS TEST MODE (ruleset 3 NOT automatically invoked)
Enter <ruleset> <address>
> 0 usernanigasi@servardoreka.domainlow.domainoomoto
0                  input: usernanigasi @ servardoreka . domainlow . domainoomoto
0                returns: onlyonetime
> /quit

じゃ 分割文字 は 決めてあるものとするのは 了解 したとして 分割文字は トークンなのか? と云うことですが 上記結果に おいては そのようです。あと 空白(スペース)は タブ は なんか きちんと しないと いけないのでしょうが にゃんたろうは おわずけとしておきます。使っていけば 雰囲気が わかって来 る事を 期待しましょう。

戻る

にゃんたろう 拝!
2006年10月 2日 (月) 22:15:56 JST 作成

Copyright © 2004.-2007. nyantarou All Rights Reserved.