diff options
Diffstat (limited to 'smtpd')
-rw-r--r-- | smtpd/smtp_session.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/smtpd/smtp_session.c b/smtpd/smtp_session.c index 78552b90..85c1d206 100644 --- a/smtpd/smtp_session.c +++ b/smtpd/smtp_session.c @@ -1144,6 +1144,7 @@ smtp_filter_response(uint64_t id, int query, int status, uint32_t code, case QUERY_EOM: if (status != FILTER_OK) { + tree_pop(&wait_filter_data, s->id); smtp_filter_rollback(s); code = code ? code : 530; line = line ? line : "Message rejected"; @@ -1450,6 +1451,8 @@ smtp_data_io_done(struct smtp_session *s) if (s->msgflags & MF_ERROR) { + tree_pop(&wait_filter_data, s->id); + smtp_filter_rollback(s); smtp_queue_rollback(s); |