aboutsummaryrefslogtreecommitdiffstats
path: root/smtpd
diff options
context:
space:
mode:
Diffstat (limited to 'smtpd')
-rw-r--r--smtpd/smtp_session.c3
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);