戻る

3008:rule note on flow

ルール の 流れを 見てみる

ルール を 新しく 作成

動きを 見るために 現状の 物を 変更する 目的は この場合 アドレスが と いうより パターンに 合致する 様子を 見る物である どのように 移動して 捜 すか という感じである

$ cat test04.cf 
V10/Berkeley
D{REMOTE}mailhost
Mhub, P=[IPC],S=0,R=0, F=mDFMuXa, T=DNS/RFC822/SMTP ,A=IPC $h
Mlocal,         P=/bin/mail, F=lsDFMAw5:/@rmn, S=0, R=0, A=mail -d $u

Rx      y
Rz      x
Rx      w

これを アドレステストモード で立ち上げて 最初 零番で x を 入れて見てみよう

$ /usr/sbin/sendmail -Ctest04.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 x
0                  input: x
0                returns: y

これは 最初 ”x” が 有ると まずそれを ” y” に 書き換えます その次 に は ”z”でないの? ”x”でないの?という ルールが 控えていますが 残念 ながら workspace ちゅうか 作業領域 というか その中の 値 は ”y”に なっ ているので もう 合致は しません そこで 最終的には ”y ”に なると云うこ とです。 ”workspace” 作業領域 を ”WKS”と 取り敢えず 略すると

/usr/sbin/sendmail -Ctest04.cf -bt /* アドレステストモード で起動   */
WKS           /* 何にも 無いのでしょう きっと  */


> 0 x                                   /* ルール 零 で ”x”を入力      */
              /*  ルール セット 零番 入力の 値は ”x” ですよ            */
WKS  x        /*   値 として ”workspace”は x に なる。                 */
Rx      y     /*   ”workspace”の 値が x ならば y に 置き換えなさい     */
WKS  y        /*   ”workspace”の 値が x から  y に 書き換えられる      */
Rz      x     /*   ”workspace”の 値が z ならば x に 置き換えなさい     */
              /*   ”workspace”の 値は y なので なんもせんたい          */
WKS  y        /*   ”workspace”の 値は  y  のまま                       */
Rx      w     /*   ”workspace”の 値が x ならば w に 置き換えなさい     */
              /*   ”workspace”の 値は y なので なんもせんたい          */
WKS  y        /*   ”workspace”の 値は  y  のまま
   /*  結果 ”workspace”に x を入れて ルールセット 零番を 適用すると    */
0                  input: x
0                returns: y
   /*  結果 ”workspace”の 内容は y に 変化した                         */

へたら 零番 で z を 入れた場合は どうなるでしょうか

> 0 z
0                  input: z
0                returns: w

継続しているので 略出来ると 思いますが わかり難ければ

> /quit
$ /usr/sbin/sendmail -Ctest04.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 z
0                  input: z
0                returns: w
> /quit

これは どういうことかといえば

$ /usr/sbin/sendmail -Ctest04.cf -bt /*  立ち上げ      */
WKS         /* なんも ねぃだ  */
> 0 z       /* 零番で z を入れるだ                          */
WKS  z      /* WKS は z だべ                                */
Rx      y   /* WKS は z  だべ なんも せーんとちゃ           */
WKS  z      /* WKS は z の まま                             */
Rz      x   /* パターン z なので x に 置き換えるだ          */
WKS  x      /* WKS は z から  x に 変わった                 */
Rx      w   /* パターン x なので w に 置き換えるだ          */
   /* 結果 ルール 零番に z を 入れたら w に 書き換わっただ  */
0                  input: z
0                returns: w

まあ 作業領域 ”workspace”の 内容に 対して ルールを 適用していくと云 うことです 同じ ルール で有っても 内容が 異なれば 結果も 異なります 又 ルールに 適応しない場合は 作業領域 ”workspace”の 内容 は 変化せず その ままの 状態を 保っている と云うことです。 では そうなるのか

$ /usr/sbin/sendmail -Ctest04.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 koneco@ikimono.chikyuu
0                  input: koneco @ ikimono . chikyuu
0                returns: koneco @ ikimono . chikyuu
> /quit
$ cat test04.cf 
V10/Berkeley
D{REMOTE}mailhost
Mhub, P=[IPC],S=0,R=0, F=mDFMuXa, T=DNS/RFC822/SMTP ,A=IPC $h
Mlocal,         P=/bin/mail, F=lsDFMAw5:/@rmn, S=0, R=0, A=mail -d $u

S0
Rx      y
Rz      x
Rx      w

少し 何か 掴めるように なってきました まらまられすが しかたおへん!い やー ほんまに なれませんなーー

戻る

にゃんたろう 拝!
2006年10月 1日 (日) 22:52:17 JST 作成

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