From: Timo Sirainen Date: Wed, 23 Jun 2010 20:51:46 +0000 (+0100) Subject: lmtp: BODY=* setting wasn't reset with RSET X-Git-Tag: 2.0.rc1~94 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=e93ab1b206e3792a8dabc460ad2ee60aaf6830b1;p=thirdparty%2Fdovecot%2Fcore.git lmtp: BODY=* setting wasn't reset with RSET --HG-- branch : HEAD --- diff --git a/src/lmtp/client.h b/src/lmtp/client.h index 1f08c95703..522fe91fe2 100644 --- a/src/lmtp/client.h +++ b/src/lmtp/client.h @@ -33,6 +33,9 @@ struct client_state { struct mail_user *dest_user; struct mail *first_saved_mail; + + unsigned int mail_body_7bit:1; + unsigned int mail_body_8bitmime:1; }; struct client { @@ -62,8 +65,6 @@ struct client { struct lmtp_proxy *proxy; unsigned int disconnected:1; - unsigned int mail_body_7bit:1; - unsigned int mail_body_8bitmime:1; }; extern unsigned int clients_count; diff --git a/src/lmtp/commands.c b/src/lmtp/commands.c index 514ae98ac1..71bff8a4b0 100644 --- a/src/lmtp/commands.c +++ b/src/lmtp/commands.c @@ -95,9 +95,9 @@ int cmd_mail(struct client *client, const char *args) for (argv++; *argv != NULL; argv++) { if (strcasecmp(*argv, "BODY=7BIT") == 0) - client->mail_body_7bit = TRUE; + client->state.mail_body_7bit = TRUE; else if (strcasecmp(*argv, "BODY=8BITMIME") == 0) - client->mail_body_8bitmime = TRUE; + client->state.mail_body_8bitmime = TRUE; else { client_send_line(client, "501 5.5.4 Unsupported options"); @@ -263,9 +263,9 @@ static bool client_proxy_rcpt(struct client *client, const char *address, client->proxy = lmtp_proxy_init(client->set->hostname, dns_client_socket_path, client->output); - if (client->mail_body_8bitmime) + if (client->state.mail_body_8bitmime) args = " BODY=8BITMIME"; - else if (client->mail_body_7bit) + else if (client->state.mail_body_7bit) args = " BODY=7BIT"; else args = "";