changeset 135:b072426cc6bb

fixed defer_all code it was broken during refactoring this morning
author meillo@marmaro.de
date Tue, 06 Jul 2010 13:46:51 +0200 (2010-07-06)
parents 43a9447c3583
children 6b78aaced5e1
files src/smtp_in.c
diffstat 1 files changed, 5 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/src/smtp_in.c	Tue Jul 06 13:45:42 2010 +0200
+++ b/src/smtp_in.c	Tue Jul 06 13:46:51 2010 +0200
@@ -176,9 +176,12 @@
 	while ((len = read_sockline(in, buffer, BUF_LEN, 5 * 60, READSOCKL_CHUG)) >= 0) {
 		cmd_id = get_id(buffer);
 
-		if (conf.defer_all) {  /* I need this to debug delivery failures */
+		if (conf.defer_all) {
+			/* I need this to debug delivery failures */
 			smtp_printf(out, "421 %s service temporarily unavailable.\r\n", conf.host_name);
-			break;
+			destroy_message(msg);
+			msg = NULL;
+			return;
 		}
 
 		switch (cmd_id) {