From e93ab1b206e3792a8dabc460ad2ee60aaf6830b1 Mon Sep 17 00:00:00 2001 From: Timo Sirainen Date: Wed, 23 Jun 2010 21:51:46 +0100 Subject: [PATCH] lmtp: BODY=* setting wasn't reset with RSET --HG-- branch : HEAD --- src/lmtp/client.h | 5 +++-- src/lmtp/commands.c | 8 ++++---- 2 files changed, 7 insertions(+), 6 deletions(-) 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 = ""; -- 2.47.3