dovecot-2.0: lmtp: Reverted last change after all. Besides, the ...

dovecot at dovecot.org dovecot at dovecot.org
Fri Oct 15 21:30:09 EEST 2010


details:   http://hg.dovecot.org/dovecot-2.0/rev/a771ccba0c31
changeset: 12284:a771ccba0c31
user:      Timo Sirainen <tss at iki.fi>
date:      Fri Oct 15 19:30:04 2010 +0100
description:
lmtp: Reverted last change after all. Besides, the error code was wrong.

diffstat:

 src/lmtp/commands.c |  23 +++--------------------
 1 files changed, 3 insertions(+), 20 deletions(-)

diffs (61 lines):

diff -r 2c364acbc293 -r a771ccba0c31 src/lmtp/commands.c
--- a/src/lmtp/commands.c	Fri Oct 15 19:21:43 2010 +0100
+++ b/src/lmtp/commands.c	Fri Oct 15 19:30:04 2010 +0100
@@ -526,7 +526,7 @@
 	return FALSE;
 }
 
-static void client_rcpt_tempfail_all(struct client *client)
+static void client_rcpt_fail_all(struct client *client)
 {
 	const struct mail_recipient *rcpt;
 
@@ -583,6 +583,7 @@
 		i_error("Can't open delivery mail as raw: %s",
 			mail_storage_get_last_error(box->storage, &error));
 		mailbox_free(&box);
+		client_rcpt_fail_all(client);
 		return -1;
 	}
 	raw_box = (struct raw_mailbox *)box;
@@ -604,10 +605,8 @@
 	struct mail *src_mail;
 	uid_t old_uid, first_uid = (uid_t)-1;
 
-	if (client_open_raw_mail(client, input) < 0) {
-		client_rcpt_tempfail_all(client);
+	if (client_open_raw_mail(client, input) < 0)
 		return;
-	}
 
 	old_uid = geteuid();
 	src_mail = client->state.raw_mail;
@@ -708,28 +707,12 @@
 	return str_c(str);
 }
 
-static void client_rcpt_fail_all_zerosize(struct client *client)
-{
-	const struct mail_recipient *rcpt;
-
-	array_foreach(&client->state.rcpt_to, rcpt) {
-		client_send_line(client,
-				 "451 4.2.0 <%s> Can't save empty message",
-				 rcpt->address);
-	}
-}
-
 static bool client_input_data_write(struct client *client)
 {
 	struct istream *input;
 	bool ret = TRUE;
 
 	i_stream_destroy(&client->dot_input);
-	if (client->state.mail_data_output == NULL &&
-	    client->state.mail_data->used == 0) {
-		client_rcpt_fail_all_zerosize(client);
-		return TRUE;
-	}
 
 	input = client_get_input(client);
 	client_input_data_write_local(client, input);


More information about the dovecot-cvs mailing list