戻る

3110:Class part 02

test class part 01

まず $=w なるもので 捜した クラスの 内容の 一部分を 見てみると

nyanco.kingdom
nyanco
localhost
[192.168.2.1]
[192.168.0.5]
[127.0.0.1]
nyanco.kingdom.of.cat
[localhost]

の ような もので有った 一方 ルールテスト Hubset で使用する ルールの 部分で 以下の様な場所が 有った

R$-@$w  $@ $1@${HUB}

これは 何を していたかと いうと user@nyanco の ような ユーザーアドレ スを user@nyanco.kingdom.of.cat に 書き換える ルールであった もう少し補 足すれば 発信者の アドレスを user@nyanco.kingdom.of.cat に書き換える。こ こでは 引用していないが Hubset というルールでもって

SHubset
R$-     $@ $1@${HUB}
R$-@$w  $@ $1@${HUB}

user のみ の もの user@nyanco のもの を user@nyanco.kingdom.of.cat に 書き換える あまり良い例ではないが

watasi                 -----> watasi@nyanco.kingdom.of.cat
omae@nyanco            -----> omae@nyanco.kingdom.of.cat
kokomo                 -----> kokomo@nyanco.kingdom.of.cat
daresore@nyanco        -----> daresore@nyanco.kingdom.of.cat

また その場合 nyanco に 相当するものとして

$ /usr/sbin/sendmail -Ctest16.cf -d0.1 -bt < /dev/null
/*                   抜粋                          */
      (short domain name) $w = nyanco
  (canonical domain name) $j = nyanco.kingdom.of.cat
         (subdomain name) $m = kingdom.of.cat
              (node name) $k = nyanco

があるので それを使用した、その場合の テストは

$ /usr/sbin/sendmail -Ctest17.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>
> 3,Hubset watasi
3                  input: watasi
3                returns: watasi
Hubset             input: watasi
Hubset           returns: watasi @ nyanco . kingdom . of . cat
> 3,Hubset omae@nyanco    
3                  input: omae @ nyanco
3                returns: omae @ nyanco
Hubset             input: omae @ nyanco
Hubset           returns: omae @ nyanco . kingdom . of . cat
>  3,Hubset kokomo
3                  input: kokomo
3                returns: kokomo
Hubset             input: kokomo
Hubset           returns: kokomo @ nyanco . kingdom . of . cat
> 3,Hubset daresore@nyanco
3                  input: daresore @ nyanco
3                returns: daresore @ nyanco
Hubset             input: daresore @ nyanco
Hubset           returns: daresore @ nyanco . kingdom . of . cat
> /quit

test class part 02

ここまでは 良かった 良かった ということである が もし user@127.0.0.1 user@localhost という アドレスの 場合は どうなるであろうか? こんな奴は 無視するなん ということであれば 良いのですが 仲間やねん 一緒やねん とい う風に 同じ クラスの 同級生?? として 扱う事を 考えようという理由です

nakama 単独以外は 仲間はずれにしています

$ /usr/sbin/sendmail -Ctest17.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>
> 3,Hubset nakama
3                  input: nakama
3                returns: nakama
Hubset             input: nakama
Hubset           returns: nakama @ nyanco . kingdom . of . cat
> 3,Hubset nakama@127.0.0.1
3                  input: nakama @ 127 . 0 . 0 . 1
3                returns: nakama @ 127 . 0 . 0 . 1
Hubset             input: nakama @ 127 . 0 . 0 . 1
Hubset           returns: nakama @ 127 . 0 . 0 . 1
> 3,Hubset nakama@localhost
3                  input: nakama @ localhost
3                returns: nakama @ localhost
Hubset             input: nakama @ localhost
Hubset           returns: nakama @ localhost
> /quit

流行って欲しくない 〇〇〇 ですわ こんなことは しては いけません ほた ら どうすべい と云う事です

class を 入れる

LHS

ここで

$ /usr/sbin/sendmail -C/etc/mail/sendmail.cf -bt
ADDRESS TEST MODE (ruleset 3 NOT automatically invoked)
Enter <ruleset> <address>
> $=w
localhost
...
[127.0.0.1]
...

と ルールセット Hubset の 部分

R$-@$w  $@ $1@${HUB}

を考えてみよう ということです いままでは $w というのは (short domain name) $w = nyanco というもので 代用として 使いました ほたら ルールセット Hubset の 部分を

R$-@$w  $@ $1@${HUB}   :: $w  (short domain name) $w = nyanco


R$-@$=w  $@ $1@${HUB}  :: $=w class w を 使う 

の様に 置き換える事ができれば と 考えるのです 置き換える前は LHS は

R$-@$w   何かトークン1個 $- その後 @ その後 (short domain name) $w = nyanco

置き換えた後は LHS は

R$-@$=w  何かトークン1個 $- その後 @ その後 クラス w (localhost [127.0.0.1])
             当然 nyanco も 同じ クラスです

再掲すれば 以下のものは 同じ クラス名 w の 仲間 と云う事です

> $=w
nyanco.kingdom
nyanco
localhost
[192.168.2.1]
[192.168.0.5]
[127.0.0.1]
nyanco.kingdom.of.cat
[localhost]

RHS

ほたら RHS は どうなるかといえば これは 最初のトークン $- はそのまま コピーします $1 その後は全て同じ @ nyanco . kingdom . of . cat にするので $1@${HUB} そうして これが 終われば リターン するので その前に $@ を 置 く形 つまり 変更は 無いと云う事に なります ほたら 試さねば いけん

test test18.cf

そこんとこを変えたものを見てみましょう

$ cat test18.cf 
V10/Berkeley
D{REMOTE}mailhost
D{HUB}nyanco.kingdom.of.cat
Mhub,   P=[IPC], S=Hubset, R=0, F=mDFMuXa, T=DNS/RFC822/SMTP, A=IPC $h
Mlocal, P=/bin/mail, F=lsDFMAw5:/|@rmn, S=10, R=20/40, A=mail -d $u 
S0
R@$+    $#error $: Missing user name
R$+     $#hub $@${REMOTE} $:$1
S3
R$* <> $*       $n                              handle <> error address
R$* < $* < $* > $* > $*         $2 < $3 > $4    de-nest brackets
R$* < $* > $*   $2                              basic RFC822 parsing
SHubset
R$-     $@ $1@${HUB}
R$-@$=w $@ $1@${HUB}

上手くいけば 御慰みです

$ /usr/sbin/sendmail -Ctest18.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>
> 3,Hubset nakama@127.0.0.1
3                  input: nakama @ 127 . 0 . 0 . 1
3                returns: nakama @ 127 . 0 . 0 . 1
Hubset             input: nakama @ 127 . 0 . 0 . 1
Hubset           returns: nakama @ 127 . 0 . 0 . 1
> 3,Hubset nakama@localhost
3                  input: nakama @ localhost
3                returns: nakama @ localhost
Hubset             input: nakama @ localhost
Hubset           returns: nakama @ nyanco . kingdom . of . cat
> 3,Hubset nakama@[127.0.0.1]
3                  input: nakama @ [ 127 . 0 . 0 . 1 ]
3                returns: nakama @ [ 127 . 0 . 0 . 1 ]
Hubset             input: nakama @ [ 127 . 0 . 0 . 1 ]
Hubset           returns: nakama @ nyanco . kingdom . of . cat
> 3,Hubset nakama@[localhost]
3                  input: nakama @ [ localhost ]
3                returns: nakama @ [ localhost ]
Hubset             input: nakama @ [ localhost ]
Hubset           returns: nakama @ nyanco . kingdom . of . cat
> /quit

へい 御慰みでした 仲間が無事増えました 同じクラスのものは 全て 書き換 えられる 事に なります。尚 上記のように IP アドレスが 数字の 並びの 場合 [ と ] で 囲まないと 仲間と 認識してくれないようです また localhost は class の 名前 w の 中で [ と ] で囲まれたものと そうでないものの 両方 入って入るようです。

戻る

にゃんたろう 拝!
2006年10月 7日 (土) 23:48:38 JST 作成

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