[milter-manager-users-ja] milterライブラリを使ったmilterがmilter-managerから素通りされることがある

Back to archive index
Sutou Kouhei kou****@clear*****
2019年 10月 11日 (金) 11:29:32 JST


須藤です。

In <CAK6jzgdRN2=WntZC****@mail*****>
  "Re: [milter-manager-users-ja] milterライブラリを使ったmilterがmilter-managerから素通りされることがある" on Thu, 10 Oct 2019 12:02:03 +0900,
  Kiyoshi SATOH <satoh****@hakub*****> wrote:

> 他に調査するとするなら
> 
>> [children][error][message-processing] None of milters are processing message.
>> [leader][error] None of milters are processing message.
> 
> のエラーを出している場所はわかっているので、ここで止めてその時の状況調べてみるとかがいいでしょうか。

イベントループ+コールバックで非同期に処理をしているので止め
て調べるというのは難しいと思います。。。
全力でログを出すようにして、問題が発生したときのログを
https://github.com/milter-manager/milter-manager/issues/new
に貼っておいてもらえると助かります。

たぶん、milter managerのバグだと思うので後で調べてみます。
手元で再現できなかったら再現を手伝ってもらうと思います。

> ログレベルprofileは自分の見落としだと思います。すみません。

メモリーの状況を確認するために↓らへんで使っています。

https://github.com/milter-manager/milter-manager/blob/master/milter/core/milter-memory-profile.c#L114-L125

> もう一つ疑問だったことがあり、質問させてください。
> milter-managerの設定で define_envelope_from_stopper
> だとそこだけで止めることが出来るのですが、全く同じコードで define_envelope_recipient_stopper
> にすると止められない、ということがありました。
> そこで参考になりそうな restrict_accounts_by_list のコードを参照すると、一旦
> define_envelope_recipient_stopper で止めた後、その結果を保持しておいて
> define_data_stoppter でも止めるようになっていたため、そのようにしたところ止まるようになりました。
> なので解決は出来たのですが、なぜこのような動きになるのか(このようにしないといけないのか)教えていただけないでしょうか。

define_envelope_recipient_stopperはRCPT毎に動くんですが、そ
こでREJECTとかしても、SMTPではそのRCPTをREJECTするだけになっ
て、そのセッションはREJECTできないんです。なので、RCPTの後段
のDATAまで待ってそのセッションをREJECTとかする必要があるので
す。



milter-manager-users-ja メーリングリストの案内
Back to archive index