[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[postfix-jp: 2153] Re: sleep中にコネクションが切断されたことを検出したい



岩本といいます。

On Tue, 11 Jul 2006 15:43:05 +0900
SATOH Kiyoshi <satoh0@xxxxxxxxx> wrote:

> > 1. わざとここでVSTREAM_GETC(以下略してgetc)を呼出す
> > 2. if (greet pauseのタイムアウト時間を経過)
> >        タイムアウトして続きの処理を行う
> >    else /* Greet Pauseで指定した時間より前に何かの処理が行われた */
> >        case getcで何かのデータが取れた場合:
> >            Improper Pipeliningということで504終了。
> >        case getcでデータが取れなかった場合:
> >            if (vstream_feofあるいはvstream_ferrorがtrue)
> >                 相手が接続を閉じたと判断して接続を終了
> >            else
> >                 getcがなんらかの理由でタイムアウトしたと判断して
> >                 経過時間分を減じて2の最初のif文からやりなおし。
> 
>  確かにこれならいけそうかも。
>  というか自分もこれに近いことは考えて、でも、なにかデータ取れちゃったと
> きにどうしよう、と思ってやめたんですが、こっちが返して無いうちになんか送っ
> てきてたら504で終了、とすることで、あまり大きな修正にせずにすみますね。

この実装でいった場合、EHLOの応答でpipeliningを通知しないように
smtpd_discard_ehlo_keywordsを設定する必要があります。
また、pipeliningを通知していないのに使ってくる(変な)クライアントもある
ようなので、その点でも注意が必要だと思います。

# 気が付いているとは思いますが、念のため

-- 
いわもと こういち(sue@xxxxxxxx/sue@xxxxxxxxx/sue@xxxxxxxxxx)
# なるようになれ、明日もイケイケ♪
_______________________________________________
Postfix-jp-list mailing list
Postfix-jp-list@xxxxxxxxxxxxxxxxxxxx
http://lists.sourceforge.jp/mailman/listinfo/postfix-jp-list

References
[postfix-jp: 2149] sleep中にコネクションが切断されたことを検出したい, SATOH Kiyoshi
[postfix-jp: 2150] Re: sleep中にコネクションが切断されたことを検出したい, Yoshisato YANAGISAWA
[postfix-jp: 2151] Re: sleep中にコネクションが切断されたことを検出したい, SATOH Kiyoshi

[検索ページ] [Postfix-JP ML Home]