From: Bjørnar Ness Date: Wed, 11 Apr 2018 20:27:04 +0000 (+0200) Subject: lmtp: Add lmtp_add_received_header bool setting. X-Git-Tag: 2.3.9~410 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=1482a0e24a7f37ec6478adae2f6ecb5c2a9071b7;p=thirdparty%2Fdovecot%2Fcore.git lmtp: Add lmtp_add_received_header bool setting. Add the ability to prevent dovecot/lmtp from adding received header. This is useful if one needs to use LMTP, but does not want additional received headers because: 1) Dovecot does not have correct information to add to the headers, and causes misleading/incorrect information 2) Does not want to expose internal information The default value is true, which is equal to the current behavior. --- diff --git a/src/lmtp/lmtp-commands.c b/src/lmtp/lmtp-commands.c index f45bffd93b..4bac980ab9 100644 --- a/src/lmtp/lmtp-commands.c +++ b/src/lmtp/lmtp-commands.c @@ -114,7 +114,8 @@ cmd_data_create_added_headers(struct client *client, /* headers for local and proxied messages */ proxy_offset = str_len(str); - smtp_server_transaction_write_trace_record(str, trans); + if (client->lmtp_set->lmtp_add_received_header) + smtp_server_transaction_write_trace_record(str, trans); client->state.added_headers_local = p_strdup(client->state_pool, str_c(str)); diff --git a/src/lmtp/lmtp-settings.c b/src/lmtp/lmtp-settings.c index 04f725aa83..8c7036c5e3 100644 --- a/src/lmtp/lmtp-settings.c +++ b/src/lmtp/lmtp-settings.c @@ -62,6 +62,7 @@ static const struct setting_define lmtp_setting_defines[] = { DEF(SET_BOOL, lmtp_proxy), DEF(SET_BOOL, lmtp_save_to_detail_mailbox), DEF(SET_BOOL, lmtp_rcpt_check_quota), + DEF(SET_BOOL, lmtp_add_received_header), DEF(SET_UINT, lmtp_user_concurrency_limit), DEF(SET_ENUM, lmtp_hdr_delivery_address), DEF(SET_STR_VARS, lmtp_rawlog_dir), @@ -80,6 +81,7 @@ static const struct lmtp_settings lmtp_default_settings = { .lmtp_proxy = FALSE, .lmtp_save_to_detail_mailbox = FALSE, .lmtp_rcpt_check_quota = FALSE, + .lmtp_add_received_header = TRUE, .lmtp_user_concurrency_limit = 0, .lmtp_hdr_delivery_address = "final:none:original", .lmtp_rawlog_dir = "", diff --git a/src/lmtp/lmtp-settings.h b/src/lmtp/lmtp-settings.h index 59cf8ac1fe..aae84ca71a 100644 --- a/src/lmtp/lmtp-settings.h +++ b/src/lmtp/lmtp-settings.h @@ -17,6 +17,7 @@ struct lmtp_settings { bool lmtp_proxy; bool lmtp_save_to_detail_mailbox; bool lmtp_rcpt_check_quota; + bool lmtp_add_received_header; unsigned int lmtp_user_concurrency_limit; const char *lmtp_hdr_delivery_address; const char *lmtp_rawlog_dir;