]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
lmtp: BODY=* setting wasn't reset with RSET
authorTimo Sirainen <tss@iki.fi>
Wed, 23 Jun 2010 20:51:46 +0000 (21:51 +0100)
committerTimo Sirainen <tss@iki.fi>
Wed, 23 Jun 2010 20:51:46 +0000 (21:51 +0100)
--HG--
branch : HEAD

src/lmtp/client.h
src/lmtp/commands.c

index 1f08c957035ae68e29d76376f9269380f0fad7ce..522fe91fe21af8526ad36d8254f557d60b0978f2 100644 (file)
@@ -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;
index 514ae98ac1a63d6c92203a010504642f01d61bd7..71bff8a4b088a9ad56ac5994f39b616b6657a4e5 100644 (file)
@@ -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 = "";