diff options
| author | itojun <itojun@NetBSD.org> | 2001-11-20 03:58:40 +0000 |
|---|---|---|
| committer | itojun <itojun@NetBSD.org> | 2001-11-20 03:58:40 +0000 |
| commit | 68c998d0d97f47c10f16de4fe9f51ad612d3f0fe (patch) | |
| tree | daedbcbd9e6476197cded3a6ac102dfa475dd551 /gnu | |
| parent | 4f1d006b34b36d7370f479cdbd2325087acf097b (diff) | |
sync with 20010228-pl08
Diffstat (limited to 'gnu')
| -rw-r--r-- | gnu/dist/postfix/src/smtpd/smtpd.c | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/gnu/dist/postfix/src/smtpd/smtpd.c b/gnu/dist/postfix/src/smtpd/smtpd.c index 9bc2a586021..3389835858b 100644 --- a/gnu/dist/postfix/src/smtpd/smtpd.c +++ b/gnu/dist/postfix/src/smtpd/smtpd.c @@ -995,9 +995,11 @@ static int data_cmd(SMTPD_STATE *state, int argc, SMTPD_TOKEN *unused_argv) * require availability of the cleanup service. */ if (state->history != 0 && state->client != VSTREAM_IN - && (state->error_mask & state->notify_mask)) - smtpd_chat_notify(state); + && (state->error_mask & state->notify_mask)) + smtpd_chat_notify(state); + state->error_mask = 0; smtpd_chat_reset(state); + /* * Cleanup. The client may send another MAIL command. */ @@ -1021,6 +1023,19 @@ static int rset_cmd(SMTPD_STATE *state, int argc, SMTPD_TOKEN *unused_argv) } /* + * Notify the postmaster if there were errors. This usually indicates a + * client configuration problem, or that someone is trying nasty things. + * Either is significant enough to bother the postmaster. XXX Can't + * report problems when running in stand-alone mode: postmaster notices + * require availability of the cleanup service. + */ + if (state->history != 0 && state->client != VSTREAM_IN + && (state->error_mask & state->notify_mask)) + smtpd_chat_notify(state); + state->error_mask = 0; + smtpd_chat_reset(state); + + /* * Restore state to right after HELO/EHLO command. */ mail_reset(state); |
