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

[postfix-jp:03463] Re: smtpd_soft_e rror_limitのerror_ countとは?



あらきです。

うーむ読みなおしてみたらsakuraiさんの指摘通りでした。
もうしわけないです。

> | >  ソースを少し追いかけてみたところ、
> | > smtpd_error_sleep_time のような気もするのですが、
> | > いまいち読み込みが浅いためはっきりしません。
> | 
> | そのはずです。通常1sかと。
> 
> ソースはまったく読んでいませんが、


> smtpd_error_sleep_timeは4xx/5xxエラーを返す場合に何秒待つかを指定し、
> smtpd_soft_error_limitは接続してきたクライアントがこの値を超えるエラーを
> 起こすと、そのエラーの回数と同じ秒数待つ、と解釈していたのですが。
> error_countというパラメータではなく、エラーを起こした回数のことではない
> のでしょうか。
> 
> smtpd_soft_error_limitが5なら、クライアントがセッション中に5回エラーを起
> こすまでは、smtpd_error_sleep_time秒待ってから4xx/5xxを返し、5回目は5秒、6
> 回目は6秒、7回目は7秒…。
> 
> デフォルトなら10回エラーを起こすと10秒待たされます。

smtpd/smtpd_chat.c の

    if (state->error_count >= var_smtpd_soft_erlim)
        sleep(delay = (state->error_count > var_smtpd_err_sleep ?
                       state->error_count : var_smtpd_err_sleep));
    else if (STR(state->buffer)[0] == '4' || STR(state->buffer)[0] == '5')
        sleep(delay = var_smtpd_err_sleep);

ここでしたね。
error_countがsmtpd_soft_error_limitを超えたらerror_countだけsleep.
4xxか5xxなエラーならsmtpd_error_sleep_timeだけsleepで。

----
荒木靖宏

References
[postfix-jp:03460] smtpd_soft_erro r_limitのerror_co untとは?, ANDO Koji
[postfix-jp:03461] Re: smtpd_soft_e rror_limitのerror_ countとは?, ARAKI Yasuhiro
[postfix-jp:03462] Re: smtpd_soft_e rror_limitのerror_ countとは?, Tomoyuki Sakurai

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