mirror of
https://github.com/vdukhovni/postfix
synced 2025-08-22 18:07:41 +00:00
postfix-3.5-20191109
This commit is contained in:
parent
fff75d33cf
commit
1faaf294ea
81
postfix/.indent.pro
vendored
81
postfix/.indent.pro
vendored
@ -20,6 +20,7 @@
|
|||||||
-TBH_TABLE
|
-TBH_TABLE
|
||||||
-TBINATTR
|
-TBINATTR
|
||||||
-TBINATTR_INFO
|
-TBINATTR_INFO
|
||||||
|
-Tbind_props
|
||||||
-TBINHASH
|
-TBINHASH
|
||||||
-TBINHASH_INFO
|
-TBINHASH_INFO
|
||||||
-TBIO
|
-TBIO
|
||||||
@ -37,9 +38,10 @@
|
|||||||
-TBYTE_MASK
|
-TBYTE_MASK
|
||||||
-TCFG_PARSER
|
-TCFG_PARSER
|
||||||
-TCIDR_MATCH
|
-TCIDR_MATCH
|
||||||
|
-Tcipher_probe_t
|
||||||
-TCLEANUP_REGION
|
-TCLEANUP_REGION
|
||||||
-TCLEANUP_STATE
|
|
||||||
-TCLEANUP_STAT_DETAIL
|
-TCLEANUP_STAT_DETAIL
|
||||||
|
-TCLEANUP_STATE
|
||||||
-TCLIENT_LIST
|
-TCLIENT_LIST
|
||||||
-TCLNT_STREAM
|
-TCLNT_STREAM
|
||||||
-TCONFIG_BOOL_FN_TABLE
|
-TCONFIG_BOOL_FN_TABLE
|
||||||
@ -63,9 +65,11 @@
|
|||||||
-TCRYPTO_EX_DATA
|
-TCRYPTO_EX_DATA
|
||||||
-TCTABLE
|
-TCTABLE
|
||||||
-TCTABLE_ENTRY
|
-TCTABLE_ENTRY
|
||||||
|
-Td2i_X509_t
|
||||||
|
-Tdane_digest
|
||||||
-TDB_COMMON_CTX
|
-TDB_COMMON_CTX
|
||||||
-TDELIVERED_HDR_INFO
|
|
||||||
-TDELIVER_ATTR
|
-TDELIVER_ATTR
|
||||||
|
-TDELIVERED_HDR_INFO
|
||||||
-TDELIVER_REQUEST
|
-TDELIVER_REQUEST
|
||||||
-TDELTA_TIME
|
-TDELTA_TIME
|
||||||
-TDICT
|
-TDICT
|
||||||
@ -146,7 +150,9 @@
|
|||||||
-TEVP_PKEY
|
-TEVP_PKEY
|
||||||
-TEXPAND_ATTR
|
-TEXPAND_ATTR
|
||||||
-TFILE
|
-TFILE
|
||||||
|
-Tfilter_ctx
|
||||||
-TFORWARD_INFO
|
-TFORWARD_INFO
|
||||||
|
-Tgeneral_name_stack_t
|
||||||
-THBC_ACTION_CALL_BACKS
|
-THBC_ACTION_CALL_BACKS
|
||||||
-THBC_CALL_BACKS
|
-THBC_CALL_BACKS
|
||||||
-THBC_CHECKS
|
-THBC_CHECKS
|
||||||
@ -158,17 +164,18 @@
|
|||||||
-THOST
|
-THOST
|
||||||
-THTABLE
|
-THTABLE
|
||||||
-THTABLE_INFO
|
-THTABLE_INFO
|
||||||
|
-Tiana_digest
|
||||||
-TINET_ADDR_LIST
|
-TINET_ADDR_LIST
|
||||||
-TINET_PROTO_INFO
|
-TINET_PROTO_INFO
|
||||||
-TINSTANCE
|
-TINSTANCE
|
||||||
-TINST_SELECTION
|
-TINST_SELECTION
|
||||||
-TINT32_TYPE
|
-TINT32_TYPE
|
||||||
-TINTV
|
|
||||||
-TINT_TABLE
|
-TINT_TABLE
|
||||||
|
-TINTV
|
||||||
-TJMP_BUF_WRAPPER
|
-TJMP_BUF_WRAPPER
|
||||||
-TLDAP
|
-TLDAP
|
||||||
-TLDAPMessage
|
|
||||||
-TLDAP_CONN
|
-TLDAP_CONN
|
||||||
|
-TLDAPMessage
|
||||||
-TLIB_DP
|
-TLIB_DP
|
||||||
-TLIB_FN
|
-TLIB_FN
|
||||||
-TLMTP_ATTR
|
-TLMTP_ATTR
|
||||||
@ -183,13 +190,14 @@
|
|||||||
-TMAC_EXP_OP_INFO
|
-TMAC_EXP_OP_INFO
|
||||||
-TMAC_HEAD
|
-TMAC_HEAD
|
||||||
-TMAC_PARSE
|
-TMAC_PARSE
|
||||||
|
-TMAI_HOSTADDR_STR
|
||||||
|
-TMAI_HOSTNAME_STR
|
||||||
|
-TMAIL_ADDR_FORMATTER
|
||||||
-TMAIL_ADDR_MAP_TEST
|
-TMAIL_ADDR_MAP_TEST
|
||||||
-TMAIL_PRINT
|
-TMAIL_PRINT
|
||||||
-TMAIL_SCAN
|
-TMAIL_SCAN
|
||||||
-TMAIL_STREAM
|
-TMAIL_STREAM
|
||||||
-TMAIL_VERSION
|
-TMAIL_VERSION
|
||||||
-TMAI_HOSTADDR_STR
|
|
||||||
-TMAI_HOSTNAME_STR
|
|
||||||
-TMAI_SERVNAME_STR
|
-TMAI_SERVNAME_STR
|
||||||
-TMAI_SERVPORT_STR
|
-TMAI_SERVPORT_STR
|
||||||
-TMAPS
|
-TMAPS
|
||||||
@ -208,9 +216,9 @@
|
|||||||
-TMDB_val
|
-TMDB_val
|
||||||
-TMILTER
|
-TMILTER
|
||||||
-TMILTER8
|
-TMILTER8
|
||||||
-TMILTERS
|
|
||||||
-TMILTER_MACROS
|
-TMILTER_MACROS
|
||||||
-TMILTER_MSG_CONTEXT
|
-TMILTER_MSG_CONTEXT
|
||||||
|
-TMILTERS
|
||||||
-TMIME_ENCODING
|
-TMIME_ENCODING
|
||||||
-TMIME_INFO
|
-TMIME_INFO
|
||||||
-TMIME_STACK
|
-TMIME_STACK
|
||||||
@ -235,6 +243,7 @@
|
|||||||
-TNAME_CODE
|
-TNAME_CODE
|
||||||
-TNAME_MASK
|
-TNAME_MASK
|
||||||
-TNBBIO
|
-TNBBIO
|
||||||
|
-Toff_t
|
||||||
-TOPTIONS
|
-TOPTIONS
|
||||||
-TPCF_DBMS_INFO
|
-TPCF_DBMS_INFO
|
||||||
-TPCF_EVAL_CTX
|
-TPCF_EVAL_CTX
|
||||||
@ -248,6 +257,7 @@
|
|||||||
-TPCF_SERVICE_PATTERN
|
-TPCF_SERVICE_PATTERN
|
||||||
-TPCF_STRING_NV
|
-TPCF_STRING_NV
|
||||||
-TPEER_NAME
|
-TPEER_NAME
|
||||||
|
-Tpem_load_state_t
|
||||||
-TPGSQL_NAME
|
-TPGSQL_NAME
|
||||||
-TPICKUP_INFO
|
-TPICKUP_INFO
|
||||||
-TPIPE_ATTR
|
-TPIPE_ATTR
|
||||||
@ -255,9 +265,9 @@
|
|||||||
-TPIPE_STATE
|
-TPIPE_STATE
|
||||||
-TPLMYSQL
|
-TPLMYSQL
|
||||||
-TPLPGSQL
|
-TPLPGSQL
|
||||||
-TPOSTMAP_KEY_STATE
|
|
||||||
-TPOST_MAIL_FCLOSE_STATE
|
-TPOST_MAIL_FCLOSE_STATE
|
||||||
-TPOST_MAIL_STATE
|
-TPOST_MAIL_STATE
|
||||||
|
-TPOSTMAP_KEY_STATE
|
||||||
-TPRIVATE_STR_TABLE
|
-TPRIVATE_STR_TABLE
|
||||||
-TPSC_CALL_BACK_ENTRY
|
-TPSC_CALL_BACK_ENTRY
|
||||||
-TPSC_CLIENT_INFO
|
-TPSC_CLIENT_INFO
|
||||||
@ -285,11 +295,15 @@
|
|||||||
-TRECIPIENT
|
-TRECIPIENT
|
||||||
-TRECIPIENT_LIST
|
-TRECIPIENT_LIST
|
||||||
-TREC_TYPE_NAME
|
-TREC_TYPE_NAME
|
||||||
|
-Tregex_t
|
||||||
|
-Tregmatch_t
|
||||||
|
-TRES_CONTEXT
|
||||||
-TRESOLVE_REPLY
|
-TRESOLVE_REPLY
|
||||||
-TRESPONSE
|
-TRESPONSE
|
||||||
-TREST_TABLE
|
-TREST_TABLE
|
||||||
-TRES_CONTEXT
|
|
||||||
-TRWR_CONTEXT
|
-TRWR_CONTEXT
|
||||||
|
-Tsasl_conn_t
|
||||||
|
-Tsasl_secret_t
|
||||||
-TSCACHE
|
-TSCACHE
|
||||||
-TSCACHE_CLNT
|
-TSCACHE_CLNT
|
||||||
-TSCACHE_MULTI
|
-TSCACHE_MULTI
|
||||||
@ -304,12 +318,19 @@
|
|||||||
-TSCAN_INFO
|
-TSCAN_INFO
|
||||||
-TSCAN_OBJ
|
-TSCAN_OBJ
|
||||||
-TSESSION
|
-TSESSION
|
||||||
|
-Tsfsistat
|
||||||
-TSHARED_PATH
|
-TSHARED_PATH
|
||||||
|
-Tsigset_t
|
||||||
-TSINGLE_SERVER
|
-TSINGLE_SERVER
|
||||||
-TSINK_COMMAND
|
-TSINK_COMMAND
|
||||||
-TSINK_STATE
|
-TSINK_STATE
|
||||||
|
-Tsize_t
|
||||||
-TSLMDB
|
-TSLMDB
|
||||||
-TSMFICTX
|
-TSMFICTX
|
||||||
|
-TSM_STATE
|
||||||
|
-TSMTP_ADDR
|
||||||
|
-TSMTP_CLI_ATTR
|
||||||
|
-TSMTP_CMD
|
||||||
-TSMTPD_CMD
|
-TSMTPD_CMD
|
||||||
-TSMTPD_DEFER
|
-TSMTPD_DEFER
|
||||||
-TSMTPD_ENDPT_LOOKUP_INFO
|
-TSMTPD_ENDPT_LOOKUP_INFO
|
||||||
@ -321,9 +342,6 @@
|
|||||||
-TSMTPD_STATE
|
-TSMTPD_STATE
|
||||||
-TSMTPD_TOKEN
|
-TSMTPD_TOKEN
|
||||||
-TSMTPD_XFORWARD_ATTR
|
-TSMTPD_XFORWARD_ATTR
|
||||||
-TSMTP_ADDR
|
|
||||||
-TSMTP_CLI_ATTR
|
|
||||||
-TSMTP_CMD
|
|
||||||
-TSMTP_ITERATOR
|
-TSMTP_ITERATOR
|
||||||
-TSMTP_RESP
|
-TSMTP_RESP
|
||||||
-TSMTP_SASL_AUTH_CACHE
|
-TSMTP_SASL_AUTH_CACHE
|
||||||
@ -332,10 +350,13 @@
|
|||||||
-TSMTP_TLS_POLICY
|
-TSMTP_TLS_POLICY
|
||||||
-TSMTP_TLS_SESS
|
-TSMTP_TLS_SESS
|
||||||
-TSMTP_TLS_SITE_POLICY
|
-TSMTP_TLS_SITE_POLICY
|
||||||
-TSM_STATE
|
-Tsockaddr
|
||||||
-TSOCKADDR_SIZE
|
-TSOCKADDR_SIZE
|
||||||
-TSPAWN_ATTR
|
-TSPAWN_ATTR
|
||||||
|
-Tssize_t
|
||||||
-TSSL
|
-TSSL
|
||||||
|
-Tssl_cipher_stack_t
|
||||||
|
-Tssl_comp_stack_t
|
||||||
-TSSL_CTX
|
-TSSL_CTX
|
||||||
-TSSL_SESSION
|
-TSSL_SESSION
|
||||||
-TSTATE
|
-TSTATE
|
||||||
@ -343,17 +364,20 @@
|
|||||||
-TSTRING_TABLE
|
-TSTRING_TABLE
|
||||||
-TSYS_EXITS_DETAIL
|
-TSYS_EXITS_DETAIL
|
||||||
-TTEST_CASE
|
-TTEST_CASE
|
||||||
-TTLSMGR_SCACHE
|
-Ttime_t
|
||||||
-TTLSP_STATE
|
-Ttlsa_filter
|
||||||
-TTLS_APPL_STATE
|
-TTLS_APPL_STATE
|
||||||
-TTLS_CERTS
|
-TTLS_CERTS
|
||||||
-TTLS_CLIENT_INIT_PROPS
|
-TTLS_CLIENT_INIT_PROPS
|
||||||
-TTLS_CLIENT_PARAMS
|
-TTLS_CLIENT_PARAMS
|
||||||
-TTLS_CLIENT_START_PROPS
|
-TTLS_CLIENT_START_PROPS
|
||||||
|
-TTLScontext_t
|
||||||
-TTLS_DANE
|
-TTLS_DANE
|
||||||
|
-TTLSMGR_SCACHE
|
||||||
-TTLS_PKEYS
|
-TTLS_PKEYS
|
||||||
-TTLS_PRNG_SEED_INFO
|
-TTLS_PRNG_SEED_INFO
|
||||||
-TTLS_PRNG_SRC
|
-TTLS_PRNG_SRC
|
||||||
|
-TTLSP_STATE
|
||||||
-TTLS_ROLE
|
-TTLS_ROLE
|
||||||
-TTLS_SCACHE
|
-TTLS_SCACHE
|
||||||
-TTLS_SCACHE_ENTRY
|
-TTLS_SCACHE_ENTRY
|
||||||
@ -364,7 +388,6 @@
|
|||||||
-TTLS_TLSA
|
-TTLS_TLSA
|
||||||
-TTLS_USAGE
|
-TTLS_USAGE
|
||||||
-TTLS_VINFO
|
-TTLS_VINFO
|
||||||
-TTLScontext_t
|
|
||||||
-TTOK822
|
-TTOK822
|
||||||
-TTRANSPORT_INFO
|
-TTRANSPORT_INFO
|
||||||
-TTRIGGER_SERVER
|
-TTRIGGER_SERVER
|
||||||
@ -377,10 +400,11 @@
|
|||||||
-TWATCHDOG
|
-TWATCHDOG
|
||||||
-TWATCH_FD
|
-TWATCH_FD
|
||||||
-TX509
|
-TX509
|
||||||
-TX509V3_CTX
|
|
||||||
-TX509_EXTENSION
|
-TX509_EXTENSION
|
||||||
-TX509_NAME
|
-TX509_NAME
|
||||||
|
-Tx509_stack_t
|
||||||
-TX509_STORE_CTX
|
-TX509_STORE_CTX
|
||||||
|
-TX509V3_CTX
|
||||||
-TXSASL_CLIENT
|
-TXSASL_CLIENT
|
||||||
-TXSASL_CLIENT_CREATE_ARGS
|
-TXSASL_CLIENT_CREATE_ARGS
|
||||||
-TXSASL_CLIENT_IMPL
|
-TXSASL_CLIENT_IMPL
|
||||||
@ -397,26 +421,3 @@
|
|||||||
-TXSASL_SERVER_CREATE_ARGS
|
-TXSASL_SERVER_CREATE_ARGS
|
||||||
-TXSASL_SERVER_IMPL
|
-TXSASL_SERVER_IMPL
|
||||||
-TXSASL_SERVER_IMPL_INFO
|
-TXSASL_SERVER_IMPL_INFO
|
||||||
-Tbind_props
|
|
||||||
-Tcipher_probe_t
|
|
||||||
-Td2i_X509_t
|
|
||||||
-Tdane_digest
|
|
||||||
-Tfilter_ctx
|
|
||||||
-Tgeneral_name_stack_t
|
|
||||||
-Tiana_digest
|
|
||||||
-Toff_t
|
|
||||||
-Tpem_load_state_t
|
|
||||||
-Tregex_t
|
|
||||||
-Tregmatch_t
|
|
||||||
-Tsasl_conn_t
|
|
||||||
-Tsasl_secret_t
|
|
||||||
-Tsfsistat
|
|
||||||
-Tsigset_t
|
|
||||||
-Tsize_t
|
|
||||||
-Tsockaddr
|
|
||||||
-Tssize_t
|
|
||||||
-Tssl_cipher_stack_t
|
|
||||||
-Tssl_comp_stack_t
|
|
||||||
-Ttime_t
|
|
||||||
-Ttlsa_filter
|
|
||||||
-Tx509_stack_t
|
|
||||||
|
@ -24451,3 +24451,35 @@ Apologies for any names omitted.
|
|||||||
(but sending BDAT is still a client error, because postscreen
|
(but sending BDAT is still a client error, because postscreen
|
||||||
rejects all RCPT commands and does not announce PIPELINING
|
rejects all RCPT commands and does not announce PIPELINING
|
||||||
support). File: postscreen/postscreen_smtpd.c.
|
support). File: postscreen/postscreen_smtpd.c.
|
||||||
|
|
||||||
|
20190922
|
||||||
|
|
||||||
|
Documentation: replaced the link to "Suite B" cryptography
|
||||||
|
with a link to web.archive.org. File: proto/postconf.proto.
|
||||||
|
|
||||||
|
20191109
|
||||||
|
|
||||||
|
Cleanup: Postfix daemon processes now log the from= and to=
|
||||||
|
addresses in external (quoted) form in non-debug logging
|
||||||
|
(info, warning, etc.). This is consistent with the address
|
||||||
|
form that Postfix 3.2 and later prefer for table lookups.
|
||||||
|
It is therefore the more useful form for non-debug logging.
|
||||||
|
Files: cleanup/cleanup.c, cleanup/cleanup_message.c,
|
||||||
|
cleanup/cleanup_milter.c, global/info_log_addr_form.c,
|
||||||
|
global/info_log_addr_form.h, global/log_adhoc.c,
|
||||||
|
global/mail_params.c, global/mail_params.h, global/opened.c,
|
||||||
|
local/local.c, oqmgr/qmgr.c, oqmgr/qmgr_active.c,
|
||||||
|
pickup/pickup.c, pipe/pipe.c, postscreen/postscreen.c,
|
||||||
|
postscreen/postscreen_smtpd.c, proto/postconf.proto,
|
||||||
|
qmgr/qmgr.c, qmgr/qmgr_active.c, smtp/smtp.c, smtpd/smtpd.c,
|
||||||
|
smtpd/smtpd_check.c, virtual/virtual.c.
|
||||||
|
|
||||||
|
Workaround: the parser for key/certificate chain files
|
||||||
|
rejected inputs that contain an EC PARAMETERS object. While
|
||||||
|
this is technically correct (the documentation says what
|
||||||
|
types are allowed) this is surprising behavior because the
|
||||||
|
legacy cert/key parameters will accept such inputs. For
|
||||||
|
now, the parser skips object types that it does not know
|
||||||
|
about for inter-operability, and logs a warning because
|
||||||
|
ignoring inputs is not kosher. Viktor and Wietse. File:
|
||||||
|
tls/tls_certkey.c.
|
||||||
|
@ -25,6 +25,31 @@ more recent Eclipse Public License 2.0. Recipients can choose to take
|
|||||||
the software under the license of their choice. Those who are more
|
the software under the license of their choice. Those who are more
|
||||||
comfortable with the IPL can continue with that license.
|
comfortable with the IPL can continue with that license.
|
||||||
|
|
||||||
|
Incompatible changes with snapshot 20191109
|
||||||
|
===========================================
|
||||||
|
|
||||||
|
Postfix daemon processes now log the from= and to= addresses in
|
||||||
|
external (quoted) form in non-debug logging (info, warning, etc.).
|
||||||
|
This means that when an address localpart contains spaces or other
|
||||||
|
special characters, the localpart will be quoted, for example:
|
||||||
|
|
||||||
|
from=<"name with spaces"@example.com>
|
||||||
|
|
||||||
|
Older Postfix versions would log the internal (unquoted) form:
|
||||||
|
|
||||||
|
from=<name with spaces@example.com>
|
||||||
|
|
||||||
|
The external and internal forms are identical for the vast majority
|
||||||
|
of email addresses that contain no spaces or other special characters
|
||||||
|
in the localpart.
|
||||||
|
|
||||||
|
Specify "info_log_address_format = internal" for backwards
|
||||||
|
compatibility.
|
||||||
|
|
||||||
|
The logging in external form is consistent with the address form
|
||||||
|
that Postfix 3.2 and later prefer for table lookups. It is therefore
|
||||||
|
the more useful form for non-debug logging.
|
||||||
|
|
||||||
Major changes with snapshot 20190615
|
Major changes with snapshot 20190615
|
||||||
====================================
|
====================================
|
||||||
|
|
||||||
|
@ -489,6 +489,12 @@ CLEANUP(8) CLEANUP(8)
|
|||||||
<b><a href="postconf.5.html#service_name">service_name</a> (read-only)</b>
|
<b><a href="postconf.5.html#service_name">service_name</a> (read-only)</b>
|
||||||
The <a href="master.5.html">master.cf</a> service name of a Postfix daemon process.
|
The <a href="master.5.html">master.cf</a> service name of a Postfix daemon process.
|
||||||
|
|
||||||
|
Available in Postfix 3.5 and later:
|
||||||
|
|
||||||
|
<b>info_log_address_format (external)</b>
|
||||||
|
The email address form that will be used in non-debug logging
|
||||||
|
(info, warning, etc.).
|
||||||
|
|
||||||
<b>FILES</b>
|
<b>FILES</b>
|
||||||
/etc/postfix/canonical*, canonical mapping table
|
/etc/postfix/canonical*, canonical mapping table
|
||||||
/etc/postfix/virtual*, virtual mapping table
|
/etc/postfix/virtual*, virtual mapping table
|
||||||
|
@ -355,6 +355,12 @@ SMTP(8) SMTP(8)
|
|||||||
IPv6 addresses, ensure that the Postfix SMTP client can try both
|
IPv6 addresses, ensure that the Postfix SMTP client can try both
|
||||||
address types before it runs into the <a href="postconf.5.html#smtp_mx_address_limit">smtp_mx_address_limit</a>.
|
address types before it runs into the <a href="postconf.5.html#smtp_mx_address_limit">smtp_mx_address_limit</a>.
|
||||||
|
|
||||||
|
Available in Postfix 3.5 and later:
|
||||||
|
|
||||||
|
<b>info_log_address_format (external)</b>
|
||||||
|
The email address form that will be used in non-debug logging
|
||||||
|
(info, warning, etc.).
|
||||||
|
|
||||||
<b>MIME PROCESSING CONTROLS</b>
|
<b>MIME PROCESSING CONTROLS</b>
|
||||||
Available in Postfix version 2.0 and later:
|
Available in Postfix version 2.0 and later:
|
||||||
|
|
||||||
|
@ -575,6 +575,12 @@ LOCAL(8) LOCAL(8)
|
|||||||
<b><a href="postconf.5.html#service_name">service_name</a> (read-only)</b>
|
<b><a href="postconf.5.html#service_name">service_name</a> (read-only)</b>
|
||||||
The <a href="master.5.html">master.cf</a> service name of a Postfix daemon process.
|
The <a href="master.5.html">master.cf</a> service name of a Postfix daemon process.
|
||||||
|
|
||||||
|
Available in Postfix 3.5 and later:
|
||||||
|
|
||||||
|
<b>info_log_address_format (external)</b>
|
||||||
|
The email address form that will be used in non-debug logging
|
||||||
|
(info, warning, etc.).
|
||||||
|
|
||||||
<b>FILES</b>
|
<b>FILES</b>
|
||||||
The following are examples; details differ between systems.
|
The following are examples; details differ between systems.
|
||||||
$HOME/.forward, per-user aliasing
|
$HOME/.forward, per-user aliasing
|
||||||
|
@ -380,6 +380,12 @@ OQMGR(8) OQMGR(8)
|
|||||||
<b><a href="postconf.5.html#service_name">service_name</a> (read-only)</b>
|
<b><a href="postconf.5.html#service_name">service_name</a> (read-only)</b>
|
||||||
The <a href="master.5.html">master.cf</a> service name of a Postfix daemon process.
|
The <a href="master.5.html">master.cf</a> service name of a Postfix daemon process.
|
||||||
|
|
||||||
|
Available in Postfix 3.5 and later:
|
||||||
|
|
||||||
|
<b>info_log_address_format (external)</b>
|
||||||
|
The email address form that will be used in non-debug logging
|
||||||
|
(info, warning, etc.).
|
||||||
|
|
||||||
<b>FILES</b>
|
<b>FILES</b>
|
||||||
/var/spool/postfix/incoming, <a href="QSHAPE_README.html#incoming_queue">incoming queue</a>
|
/var/spool/postfix/incoming, <a href="QSHAPE_README.html#incoming_queue">incoming queue</a>
|
||||||
/var/spool/postfix/active, <a href="QSHAPE_README.html#active_queue">active queue</a>
|
/var/spool/postfix/active, <a href="QSHAPE_README.html#active_queue">active queue</a>
|
||||||
|
@ -97,6 +97,12 @@ PICKUP(8) PICKUP(8)
|
|||||||
<b><a href="postconf.5.html#service_name">service_name</a> (read-only)</b>
|
<b><a href="postconf.5.html#service_name">service_name</a> (read-only)</b>
|
||||||
The <a href="master.5.html">master.cf</a> service name of a Postfix daemon process.
|
The <a href="master.5.html">master.cf</a> service name of a Postfix daemon process.
|
||||||
|
|
||||||
|
Available in Postfix 3.5 and later:
|
||||||
|
|
||||||
|
<b>info_log_address_format (external)</b>
|
||||||
|
The email address form that will be used in non-debug logging
|
||||||
|
(info, warning, etc.).
|
||||||
|
|
||||||
<b>SEE ALSO</b>
|
<b>SEE ALSO</b>
|
||||||
<a href="cleanup.8.html">cleanup(8)</a>, message canonicalization
|
<a href="cleanup.8.html">cleanup(8)</a>, message canonicalization
|
||||||
<a href="sendmail.1.html">sendmail(1)</a>, Sendmail-compatible interface
|
<a href="sendmail.1.html">sendmail(1)</a>, Sendmail-compatible interface
|
||||||
|
@ -471,6 +471,12 @@ PIPE(8) PIPE(8)
|
|||||||
<b><a href="postconf.5.html#service_name">service_name</a> (read-only)</b>
|
<b><a href="postconf.5.html#service_name">service_name</a> (read-only)</b>
|
||||||
The <a href="master.5.html">master.cf</a> service name of a Postfix daemon process.
|
The <a href="master.5.html">master.cf</a> service name of a Postfix daemon process.
|
||||||
|
|
||||||
|
Available in Postfix 3.5 and later:
|
||||||
|
|
||||||
|
<b>info_log_address_format (external)</b>
|
||||||
|
The email address form that will be used in non-debug logging
|
||||||
|
(info, warning, etc.).
|
||||||
|
|
||||||
<b>SEE ALSO</b>
|
<b>SEE ALSO</b>
|
||||||
<a href="qmgr.8.html">qmgr(8)</a>, queue manager
|
<a href="qmgr.8.html">qmgr(8)</a>, queue manager
|
||||||
<a href="bounce.8.html">bounce(8)</a>, delivery status reports
|
<a href="bounce.8.html">bounce(8)</a>, delivery status reports
|
||||||
|
@ -4042,6 +4042,49 @@ Examples:
|
|||||||
</pre>
|
</pre>
|
||||||
|
|
||||||
|
|
||||||
|
</DD>
|
||||||
|
|
||||||
|
<DT><b><a name="info_log_address_format">info_log_address_format</a>
|
||||||
|
(default: external)</b></DT><DD>
|
||||||
|
|
||||||
|
<p> The email address form that will be used in non-debug logging
|
||||||
|
(info, warning, etc.). As of Postfix 3.5 when an address localpart
|
||||||
|
contains spaces or other special characters, the localpart will be
|
||||||
|
quoted, for example: </p>
|
||||||
|
|
||||||
|
<blockquote>
|
||||||
|
<pre>
|
||||||
|
from=<"name with spaces"@example.com>
|
||||||
|
</pre>
|
||||||
|
</blockquote>
|
||||||
|
|
||||||
|
<p> Older Postfix versions would log the internal (unquoted) form: </p>
|
||||||
|
|
||||||
|
<blockquote>
|
||||||
|
<pre>
|
||||||
|
from=<name with spaces@example.com>
|
||||||
|
</pre>
|
||||||
|
</blockquote>
|
||||||
|
|
||||||
|
<p> The external and internal forms are identical for the vast
|
||||||
|
majority of email addresses that contain no spaces or other special
|
||||||
|
characters in the localpart. </p>
|
||||||
|
|
||||||
|
<p> The logging in external form is consistent with the address
|
||||||
|
form that Postfix 3.2 and later prefer for most table lookups. This
|
||||||
|
is therefore the more useful form for non-debug logging. </p>
|
||||||
|
|
||||||
|
<p> Specify "<b>info_log_address_format = internal</b>" for backwards
|
||||||
|
compatibility. </p>
|
||||||
|
|
||||||
|
<p> Postfix uses the unquoted form internally, because an attacker
|
||||||
|
can specify an email address in different forms by playing games
|
||||||
|
with quotes and backslashes. An attacker should not be able to use
|
||||||
|
such games to circumvent Postfix access policies. </p>
|
||||||
|
|
||||||
|
<p> This feature is available in Postfix 3.5 and later. </p>
|
||||||
|
|
||||||
|
|
||||||
</DD>
|
</DD>
|
||||||
|
|
||||||
<DT><b><a name="initial_destination_concurrency">initial_destination_concurrency</a>
|
<DT><b><a name="initial_destination_concurrency">initial_destination_concurrency</a>
|
||||||
|
@ -409,6 +409,12 @@ POSTSCREEN(8) POSTSCREEN(8)
|
|||||||
<b><a href="postconf.5.html#service_name">service_name</a> (read-only)</b>
|
<b><a href="postconf.5.html#service_name">service_name</a> (read-only)</b>
|
||||||
The <a href="master.5.html">master.cf</a> service name of a Postfix daemon process.
|
The <a href="master.5.html">master.cf</a> service name of a Postfix daemon process.
|
||||||
|
|
||||||
|
Available in Postfix 3.5 and later:
|
||||||
|
|
||||||
|
<b>info_log_address_format (external)</b>
|
||||||
|
The email address form that will be used in non-debug logging
|
||||||
|
(info, warning, etc.).
|
||||||
|
|
||||||
<b>SEE ALSO</b>
|
<b>SEE ALSO</b>
|
||||||
<a href="smtpd.8.html">smtpd(8)</a>, Postfix SMTP server
|
<a href="smtpd.8.html">smtpd(8)</a>, Postfix SMTP server
|
||||||
<a href="tlsproxy.8.html">tlsproxy(8)</a>, Postfix TLS proxy server
|
<a href="tlsproxy.8.html">tlsproxy(8)</a>, Postfix TLS proxy server
|
||||||
|
@ -458,6 +458,12 @@ QMGR(8) QMGR(8)
|
|||||||
<b><a href="postconf.5.html#service_name">service_name</a> (read-only)</b>
|
<b><a href="postconf.5.html#service_name">service_name</a> (read-only)</b>
|
||||||
The <a href="master.5.html">master.cf</a> service name of a Postfix daemon process.
|
The <a href="master.5.html">master.cf</a> service name of a Postfix daemon process.
|
||||||
|
|
||||||
|
Available in Postfix 3.5 and later:
|
||||||
|
|
||||||
|
<b>info_log_address_format (external)</b>
|
||||||
|
The email address form that will be used in non-debug logging
|
||||||
|
(info, warning, etc.).
|
||||||
|
|
||||||
<b>FILES</b>
|
<b>FILES</b>
|
||||||
/var/spool/postfix/incoming, <a href="QSHAPE_README.html#incoming_queue">incoming queue</a>
|
/var/spool/postfix/incoming, <a href="QSHAPE_README.html#incoming_queue">incoming queue</a>
|
||||||
/var/spool/postfix/active, <a href="QSHAPE_README.html#active_queue">active queue</a>
|
/var/spool/postfix/active, <a href="QSHAPE_README.html#active_queue">active queue</a>
|
||||||
|
@ -355,6 +355,12 @@ SMTP(8) SMTP(8)
|
|||||||
IPv6 addresses, ensure that the Postfix SMTP client can try both
|
IPv6 addresses, ensure that the Postfix SMTP client can try both
|
||||||
address types before it runs into the <a href="postconf.5.html#smtp_mx_address_limit">smtp_mx_address_limit</a>.
|
address types before it runs into the <a href="postconf.5.html#smtp_mx_address_limit">smtp_mx_address_limit</a>.
|
||||||
|
|
||||||
|
Available in Postfix 3.5 and later:
|
||||||
|
|
||||||
|
<b>info_log_address_format (external)</b>
|
||||||
|
The email address form that will be used in non-debug logging
|
||||||
|
(info, warning, etc.).
|
||||||
|
|
||||||
<b>MIME PROCESSING CONTROLS</b>
|
<b>MIME PROCESSING CONTROLS</b>
|
||||||
Available in Postfix version 2.0 and later:
|
Available in Postfix version 2.0 and later:
|
||||||
|
|
||||||
|
@ -595,6 +595,12 @@ SMTPD(8) SMTPD(8)
|
|||||||
A workaround for implementations that hang Postfix while shuting
|
A workaround for implementations that hang Postfix while shuting
|
||||||
down a TLS session, until Postfix times out.
|
down a TLS session, until Postfix times out.
|
||||||
|
|
||||||
|
Available in Postfix 3.5 and later:
|
||||||
|
|
||||||
|
<b>info_log_address_format (external)</b>
|
||||||
|
The email address form that will be used in non-debug logging
|
||||||
|
(info, warning, etc.).
|
||||||
|
|
||||||
<b>OBSOLETE STARTTLS CONTROLS</b>
|
<b>OBSOLETE STARTTLS CONTROLS</b>
|
||||||
The following configuration parameters exist for compatibility with
|
The following configuration parameters exist for compatibility with
|
||||||
Postfix versions before 2.3. Support for these will be removed in a
|
Postfix versions before 2.3. Support for these will be removed in a
|
||||||
|
@ -279,6 +279,12 @@ VIRTUAL(8) VIRTUAL(8)
|
|||||||
<b><a href="postconf.5.html#service_name">service_name</a> (read-only)</b>
|
<b><a href="postconf.5.html#service_name">service_name</a> (read-only)</b>
|
||||||
The <a href="master.5.html">master.cf</a> service name of a Postfix daemon process.
|
The <a href="master.5.html">master.cf</a> service name of a Postfix daemon process.
|
||||||
|
|
||||||
|
Available in Postfix 3.5 and later:
|
||||||
|
|
||||||
|
<b>info_log_address_format (external)</b>
|
||||||
|
The email address form that will be used in non-debug logging
|
||||||
|
(info, warning, etc.).
|
||||||
|
|
||||||
<b>SEE ALSO</b>
|
<b>SEE ALSO</b>
|
||||||
<a href="qmgr.8.html">qmgr(8)</a>, queue manager
|
<a href="qmgr.8.html">qmgr(8)</a>, queue manager
|
||||||
<a href="bounce.8.html">bounce(8)</a>, delivery status reports
|
<a href="bounce.8.html">bounce(8)</a>, delivery status reports
|
||||||
|
@ -2535,6 +2535,51 @@ inet_protocols = ipv4, ipv6
|
|||||||
.fi
|
.fi
|
||||||
.ad
|
.ad
|
||||||
.ft R
|
.ft R
|
||||||
|
.SH info_log_address_format (default: external)
|
||||||
|
The email address form that will be used in non\-debug logging
|
||||||
|
(info, warning, etc.). As of Postfix 3.5 when an address localpart
|
||||||
|
contains spaces or other special characters, the localpart will be
|
||||||
|
quoted, for example:
|
||||||
|
.sp
|
||||||
|
.in +4
|
||||||
|
.nf
|
||||||
|
.na
|
||||||
|
.ft C
|
||||||
|
from=<"name with spaces"@example.com>
|
||||||
|
.fi
|
||||||
|
.ad
|
||||||
|
.ft R
|
||||||
|
.in -4
|
||||||
|
.PP
|
||||||
|
Older Postfix versions would log the internal (unquoted) form:
|
||||||
|
.sp
|
||||||
|
.in +4
|
||||||
|
.nf
|
||||||
|
.na
|
||||||
|
.ft C
|
||||||
|
from=<name with spaces@example.com>
|
||||||
|
.fi
|
||||||
|
.ad
|
||||||
|
.ft R
|
||||||
|
.in -4
|
||||||
|
.PP
|
||||||
|
The external and internal forms are identical for the vast
|
||||||
|
majority of email addresses that contain no spaces or other special
|
||||||
|
characters in the localpart.
|
||||||
|
.PP
|
||||||
|
The logging in external form is consistent with the address
|
||||||
|
form that Postfix 3.2 and later prefer for most table lookups. This
|
||||||
|
is therefore the more useful form for non\-debug logging.
|
||||||
|
.PP
|
||||||
|
Specify "\fBinfo_log_address_format = internal\fR" for backwards
|
||||||
|
compatibility.
|
||||||
|
.PP
|
||||||
|
Postfix uses the unquoted form internally, because an attacker
|
||||||
|
can specify an email address in different forms by playing games
|
||||||
|
with quotes and backslashes. An attacker should not be able to use
|
||||||
|
such games to circumvent Postfix access policies.
|
||||||
|
.PP
|
||||||
|
This feature is available in Postfix 3.5 and later.
|
||||||
.SH initial_destination_concurrency (default: 5)
|
.SH initial_destination_concurrency (default: 5)
|
||||||
The initial per\-destination concurrency level for parallel delivery
|
The initial per\-destination concurrency level for parallel delivery
|
||||||
to the same destination.
|
to the same destination.
|
||||||
|
@ -432,6 +432,11 @@ aliasing or with canonical mapping).
|
|||||||
Available in Postfix 3.3 and later:
|
Available in Postfix 3.3 and later:
|
||||||
.IP "\fBservice_name (read\-only)\fR"
|
.IP "\fBservice_name (read\-only)\fR"
|
||||||
The master.cf service name of a Postfix daemon process.
|
The master.cf service name of a Postfix daemon process.
|
||||||
|
.PP
|
||||||
|
Available in Postfix 3.5 and later:
|
||||||
|
.IP "\fBinfo_log_address_format (external)\fR"
|
||||||
|
The email address form that will be used in non\-debug logging
|
||||||
|
(info, warning, etc.).
|
||||||
.SH "FILES"
|
.SH "FILES"
|
||||||
.na
|
.na
|
||||||
.nf
|
.nf
|
||||||
|
@ -604,6 +604,11 @@ address is rewritten to a different address (for example with
|
|||||||
aliasing or with canonical mapping).
|
aliasing or with canonical mapping).
|
||||||
.IP "\fBservice_name (read\-only)\fR"
|
.IP "\fBservice_name (read\-only)\fR"
|
||||||
The master.cf service name of a Postfix daemon process.
|
The master.cf service name of a Postfix daemon process.
|
||||||
|
.PP
|
||||||
|
Available in Postfix 3.5 and later:
|
||||||
|
.IP "\fBinfo_log_address_format (external)\fR"
|
||||||
|
The email address form that will be used in non\-debug logging
|
||||||
|
(info, warning, etc.).
|
||||||
.SH "FILES"
|
.SH "FILES"
|
||||||
.na
|
.na
|
||||||
.nf
|
.nf
|
||||||
|
@ -371,6 +371,11 @@ the sender when the delay clears up.
|
|||||||
Available in Postfix 3.3 and later:
|
Available in Postfix 3.3 and later:
|
||||||
.IP "\fBservice_name (read\-only)\fR"
|
.IP "\fBservice_name (read\-only)\fR"
|
||||||
The master.cf service name of a Postfix daemon process.
|
The master.cf service name of a Postfix daemon process.
|
||||||
|
.PP
|
||||||
|
Available in Postfix 3.5 and later:
|
||||||
|
.IP "\fBinfo_log_address_format (external)\fR"
|
||||||
|
The email address form that will be used in non\-debug logging
|
||||||
|
(info, warning, etc.).
|
||||||
.SH "FILES"
|
.SH "FILES"
|
||||||
.na
|
.na
|
||||||
.nf
|
.nf
|
||||||
|
@ -105,6 +105,11 @@ records, so that, for example, "smtpd" becomes "prefix/smtpd".
|
|||||||
Available in Postfix 3.3 and later:
|
Available in Postfix 3.3 and later:
|
||||||
.IP "\fBservice_name (read\-only)\fR"
|
.IP "\fBservice_name (read\-only)\fR"
|
||||||
The master.cf service name of a Postfix daemon process.
|
The master.cf service name of a Postfix daemon process.
|
||||||
|
.PP
|
||||||
|
Available in Postfix 3.5 and later:
|
||||||
|
.IP "\fBinfo_log_address_format (external)\fR"
|
||||||
|
The email address form that will be used in non\-debug logging
|
||||||
|
(info, warning, etc.).
|
||||||
.SH "SEE ALSO"
|
.SH "SEE ALSO"
|
||||||
.na
|
.na
|
||||||
.nf
|
.nf
|
||||||
|
@ -449,6 +449,11 @@ address is rewritten to a different address (for example with
|
|||||||
aliasing or with canonical mapping).
|
aliasing or with canonical mapping).
|
||||||
.IP "\fBservice_name (read\-only)\fR"
|
.IP "\fBservice_name (read\-only)\fR"
|
||||||
The master.cf service name of a Postfix daemon process.
|
The master.cf service name of a Postfix daemon process.
|
||||||
|
.PP
|
||||||
|
Available in Postfix 3.5 and later:
|
||||||
|
.IP "\fBinfo_log_address_format (external)\fR"
|
||||||
|
The email address form that will be used in non\-debug logging
|
||||||
|
(info, warning, etc.).
|
||||||
.SH "SEE ALSO"
|
.SH "SEE ALSO"
|
||||||
.na
|
.na
|
||||||
.nf
|
.nf
|
||||||
|
@ -410,6 +410,11 @@ records, so that, for example, "smtpd" becomes "prefix/smtpd".
|
|||||||
Available in Postfix 3.3 and later:
|
Available in Postfix 3.3 and later:
|
||||||
.IP "\fBservice_name (read\-only)\fR"
|
.IP "\fBservice_name (read\-only)\fR"
|
||||||
The master.cf service name of a Postfix daemon process.
|
The master.cf service name of a Postfix daemon process.
|
||||||
|
.PP
|
||||||
|
Available in Postfix 3.5 and later:
|
||||||
|
.IP "\fBinfo_log_address_format (external)\fR"
|
||||||
|
The email address form that will be used in non\-debug logging
|
||||||
|
(info, warning, etc.).
|
||||||
.SH "SEE ALSO"
|
.SH "SEE ALSO"
|
||||||
.na
|
.na
|
||||||
.nf
|
.nf
|
||||||
|
@ -435,6 +435,11 @@ the sender when the delay clears up.
|
|||||||
Available in Postfix 3.3 and later:
|
Available in Postfix 3.3 and later:
|
||||||
.IP "\fBservice_name (read\-only)\fR"
|
.IP "\fBservice_name (read\-only)\fR"
|
||||||
The master.cf service name of a Postfix daemon process.
|
The master.cf service name of a Postfix daemon process.
|
||||||
|
.PP
|
||||||
|
Available in Postfix 3.5 and later:
|
||||||
|
.IP "\fBinfo_log_address_format (external)\fR"
|
||||||
|
The email address form that will be used in non\-debug logging
|
||||||
|
(info, warning, etc.).
|
||||||
.SH "FILES"
|
.SH "FILES"
|
||||||
.na
|
.na
|
||||||
.nf
|
.nf
|
||||||
|
@ -347,6 +347,11 @@ Available in Postfix version 3.3 and later:
|
|||||||
When a remote destination resolves to a combination of IPv4 and
|
When a remote destination resolves to a combination of IPv4 and
|
||||||
IPv6 addresses, ensure that the Postfix SMTP client can try both
|
IPv6 addresses, ensure that the Postfix SMTP client can try both
|
||||||
address types before it runs into the smtp_mx_address_limit.
|
address types before it runs into the smtp_mx_address_limit.
|
||||||
|
.PP
|
||||||
|
Available in Postfix 3.5 and later:
|
||||||
|
.IP "\fBinfo_log_address_format (external)\fR"
|
||||||
|
The email address form that will be used in non\-debug logging
|
||||||
|
(info, warning, etc.).
|
||||||
.SH "MIME PROCESSING CONTROLS"
|
.SH "MIME PROCESSING CONTROLS"
|
||||||
.na
|
.na
|
||||||
.nf
|
.nf
|
||||||
|
@ -532,6 +532,11 @@ Available in Postfix 3.5, 3.4.6, 3.3.5, 3.2.10, 3.1.13 and later:
|
|||||||
.IP "\fBtls_fast_shutdown_enable (yes)\fR"
|
.IP "\fBtls_fast_shutdown_enable (yes)\fR"
|
||||||
A workaround for implementations that hang Postfix while shuting
|
A workaround for implementations that hang Postfix while shuting
|
||||||
down a TLS session, until Postfix times out.
|
down a TLS session, until Postfix times out.
|
||||||
|
.PP
|
||||||
|
Available in Postfix 3.5 and later:
|
||||||
|
.IP "\fBinfo_log_address_format (external)\fR"
|
||||||
|
The email address form that will be used in non\-debug logging
|
||||||
|
(info, warning, etc.).
|
||||||
.SH "OBSOLETE STARTTLS CONTROLS"
|
.SH "OBSOLETE STARTTLS CONTROLS"
|
||||||
.na
|
.na
|
||||||
.nf
|
.nf
|
||||||
|
@ -298,6 +298,11 @@ address is rewritten to a different address (for example with
|
|||||||
aliasing or with canonical mapping).
|
aliasing or with canonical mapping).
|
||||||
.IP "\fBservice_name (read\-only)\fR"
|
.IP "\fBservice_name (read\-only)\fR"
|
||||||
The master.cf service name of a Postfix daemon process.
|
The master.cf service name of a Postfix daemon process.
|
||||||
|
.PP
|
||||||
|
Available in Postfix 3.5 and later:
|
||||||
|
.IP "\fBinfo_log_address_format (external)\fR"
|
||||||
|
The email address form that will be used in non\-debug logging
|
||||||
|
(info, warning, etc.).
|
||||||
.SH "SEE ALSO"
|
.SH "SEE ALSO"
|
||||||
.na
|
.na
|
||||||
.nf
|
.nf
|
||||||
|
@ -12791,7 +12791,7 @@ is unwise to choose an "bleeding-edge" curve supported by only a
|
|||||||
small subset of clients. </p>
|
small subset of clients. </p>
|
||||||
|
|
||||||
<p> The default "strong" curve is rated in NSA <a
|
<p> The default "strong" curve is rated in NSA <a
|
||||||
href="http://www.nsa.gov/ia/programs/suiteb_cryptography/">Suite
|
href="https://web.archive.org/web/20160330034144/https://www.nsa.gov/ia/programs/suiteb_cryptography/">Suite
|
||||||
B</a> for information classified up to SECRET. </p>
|
B</a> for information classified up to SECRET. </p>
|
||||||
|
|
||||||
<p> Note: elliptic curve names are poorly standardized; different
|
<p> Note: elliptic curve names are poorly standardized; different
|
||||||
@ -12828,7 +12828,7 @@ curve must be implemented by OpenSSL (as reported by ecparam(1) with the
|
|||||||
of RFC 4492. You should not generally change this setting. </p>
|
of RFC 4492. You should not generally change this setting. </p>
|
||||||
|
|
||||||
<p> This default "ultra" curve is rated in NSA <a
|
<p> This default "ultra" curve is rated in NSA <a
|
||||||
href="http://www.nsa.gov/ia/programs/suiteb_cryptography/">Suite
|
href="https://web.archive.org/web/20160330034144/https://www.nsa.gov/ia/programs/suiteb_cryptography/">Suite
|
||||||
B</a> for information classified up to TOP SECRET. </p>
|
B</a> for information classified up to TOP SECRET. </p>
|
||||||
|
|
||||||
<p> If you want to take maximal advantage of ciphers that offer <a
|
<p> If you want to take maximal advantage of ciphers that offer <a
|
||||||
@ -17654,3 +17654,42 @@ default suffix, YYYYMMDD-HHMMSS, allows logs to be rotated frequently.
|
|||||||
</p>
|
</p>
|
||||||
|
|
||||||
<p> This feature is available in Postfix 3.4 and later. </p>
|
<p> This feature is available in Postfix 3.4 and later. </p>
|
||||||
|
|
||||||
|
%PARAM info_log_address_format external
|
||||||
|
|
||||||
|
<p> The email address form that will be used in non-debug logging
|
||||||
|
(info, warning, etc.). As of Postfix 3.5 when an address localpart
|
||||||
|
contains spaces or other special characters, the localpart will be
|
||||||
|
quoted, for example: </p>
|
||||||
|
|
||||||
|
<blockquote>
|
||||||
|
<pre>
|
||||||
|
from=<"name with spaces"@example.com>
|
||||||
|
</pre>
|
||||||
|
</blockquote>
|
||||||
|
|
||||||
|
<p> Older Postfix versions would log the internal (unquoted) form: </p>
|
||||||
|
|
||||||
|
<blockquote>
|
||||||
|
<pre>
|
||||||
|
from=<name with spaces@example.com>
|
||||||
|
</pre>
|
||||||
|
</blockquote>
|
||||||
|
|
||||||
|
<p> The external and internal forms are identical for the vast
|
||||||
|
majority of email addresses that contain no spaces or other special
|
||||||
|
characters in the localpart. </p>
|
||||||
|
|
||||||
|
<p> The logging in external form is consistent with the address
|
||||||
|
form that Postfix 3.2 and later prefer for most table lookups. This
|
||||||
|
is therefore the more useful form for non-debug logging. </p>
|
||||||
|
|
||||||
|
<p> Specify "<b>info_log_address_format = internal</b>" for backwards
|
||||||
|
compatibility. </p>
|
||||||
|
|
||||||
|
<p> Postfix uses the unquoted form internally, because an attacker
|
||||||
|
can specify an email address in different forms by playing games
|
||||||
|
with quotes and backslashes. An attacker should not be able to use
|
||||||
|
such games to circumvent Postfix access policies. </p>
|
||||||
|
|
||||||
|
<p> This feature is available in Postfix 3.5 and later. </p>
|
||||||
|
@ -1066,6 +1066,7 @@ cleanup_message.o: ../../include/ext_prop.h
|
|||||||
cleanup_message.o: ../../include/header_body_checks.h
|
cleanup_message.o: ../../include/header_body_checks.h
|
||||||
cleanup_message.o: ../../include/header_opts.h
|
cleanup_message.o: ../../include/header_opts.h
|
||||||
cleanup_message.o: ../../include/htable.h
|
cleanup_message.o: ../../include/htable.h
|
||||||
|
cleanup_message.o: ../../include/info_log_addr_form.h
|
||||||
cleanup_message.o: ../../include/iostuff.h
|
cleanup_message.o: ../../include/iostuff.h
|
||||||
cleanup_message.o: ../../include/is_header.h
|
cleanup_message.o: ../../include/is_header.h
|
||||||
cleanup_message.o: ../../include/lex_822.h
|
cleanup_message.o: ../../include/lex_822.h
|
||||||
@ -1110,6 +1111,7 @@ cleanup_milter.o: ../../include/header_body_checks.h
|
|||||||
cleanup_milter.o: ../../include/header_opts.h
|
cleanup_milter.o: ../../include/header_opts.h
|
||||||
cleanup_milter.o: ../../include/htable.h
|
cleanup_milter.o: ../../include/htable.h
|
||||||
cleanup_milter.o: ../../include/inet_proto.h
|
cleanup_milter.o: ../../include/inet_proto.h
|
||||||
|
cleanup_milter.o: ../../include/info_log_addr_form.h
|
||||||
cleanup_milter.o: ../../include/iostuff.h
|
cleanup_milter.o: ../../include/iostuff.h
|
||||||
cleanup_milter.o: ../../include/is_header.h
|
cleanup_milter.o: ../../include/is_header.h
|
||||||
cleanup_milter.o: ../../include/lex_822.h
|
cleanup_milter.o: ../../include/lex_822.h
|
||||||
|
@ -400,6 +400,11 @@
|
|||||||
/* Available in Postfix 3.3 and later:
|
/* Available in Postfix 3.3 and later:
|
||||||
/* .IP "\fBservice_name (read-only)\fR"
|
/* .IP "\fBservice_name (read-only)\fR"
|
||||||
/* The master.cf service name of a Postfix daemon process.
|
/* The master.cf service name of a Postfix daemon process.
|
||||||
|
/* .PP
|
||||||
|
/* Available in Postfix 3.5 and later:
|
||||||
|
/* .IP "\fBinfo_log_address_format (external)\fR"
|
||||||
|
/* The email address form that will be used in non-debug logging
|
||||||
|
/* (info, warning, etc.).
|
||||||
/* FILES
|
/* FILES
|
||||||
/* /etc/postfix/canonical*, canonical mapping table
|
/* /etc/postfix/canonical*, canonical mapping table
|
||||||
/* /etc/postfix/virtual*, virtual mapping table
|
/* /etc/postfix/virtual*, virtual mapping table
|
||||||
|
@ -88,6 +88,7 @@
|
|||||||
#include <lex_822.h>
|
#include <lex_822.h>
|
||||||
#include <dsn_util.h>
|
#include <dsn_util.h>
|
||||||
#include <conv_time.h>
|
#include <conv_time.h>
|
||||||
|
#include <info_log_addr_form.h>
|
||||||
|
|
||||||
/* Application-specific. */
|
/* Application-specific. */
|
||||||
|
|
||||||
@ -263,9 +264,11 @@ static void cleanup_act_log(CLEANUP_STATE *state,
|
|||||||
vstring_sprintf(state->temp1, "%s: %s: %s %.200s from %s;",
|
vstring_sprintf(state->temp1, "%s: %s: %s %.200s from %s;",
|
||||||
state->queue_id, action, class, content, attr);
|
state->queue_id, action, class, content, attr);
|
||||||
if (state->sender)
|
if (state->sender)
|
||||||
vstring_sprintf_append(state->temp1, " from=<%s>", state->sender);
|
vstring_sprintf_append(state->temp1, " from=<%s>",
|
||||||
|
info_log_addr_form_sender(state->sender));
|
||||||
if (state->recip)
|
if (state->recip)
|
||||||
vstring_sprintf_append(state->temp1, " to=<%s>", state->recip);
|
vstring_sprintf_append(state->temp1, " to=<%s>",
|
||||||
|
info_log_addr_form_recipient(state->recip));
|
||||||
if ((attr = nvtable_find(state->attr, MAIL_ATTR_LOG_PROTO_NAME)) != 0)
|
if ((attr = nvtable_find(state->attr, MAIL_ATTR_LOG_PROTO_NAME)) != 0)
|
||||||
vstring_sprintf_append(state->temp1, " proto=%s", attr);
|
vstring_sprintf_append(state->temp1, " proto=%s", attr);
|
||||||
if ((attr = nvtable_find(state->attr, MAIL_ATTR_LOG_HELO_NAME)) != 0)
|
if ((attr = nvtable_find(state->attr, MAIL_ATTR_LOG_HELO_NAME)) != 0)
|
||||||
@ -1024,7 +1027,9 @@ static void cleanup_mime_error_callback(void *context, int err_code,
|
|||||||
#define TEXT_LEN (len < 100 ? (int) len : 100)
|
#define TEXT_LEN (len < 100 ? (int) len : 100)
|
||||||
msg_info("%s: reject: mime-error %s: %.*s from %s; from=<%s> to=<%s>",
|
msg_info("%s: reject: mime-error %s: %.*s from %s; from=<%s> to=<%s>",
|
||||||
state->queue_id, mime_state_error(err_code), TEXT_LEN, text,
|
state->queue_id, mime_state_error(err_code), TEXT_LEN, text,
|
||||||
origin, state->sender, state->recip ? state->recip : "unknown");
|
origin, info_log_addr_form_sender(state->sender),
|
||||||
|
info_log_addr_form_recipient(state->recip ?
|
||||||
|
state->recip : "unknown"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -113,6 +113,7 @@
|
|||||||
#include <quote_821_local.h>
|
#include <quote_821_local.h>
|
||||||
#include <dsn_util.h>
|
#include <dsn_util.h>
|
||||||
#include <xtext.h>
|
#include <xtext.h>
|
||||||
|
#include <info_log_addr_form.h>
|
||||||
|
|
||||||
/* Application-specific. */
|
/* Application-specific. */
|
||||||
|
|
||||||
@ -240,9 +241,11 @@ static void cleanup_milter_hbc_log(void *context, const char *action,
|
|||||||
state->queue_id, where, action, where, line,
|
state->queue_id, where, action, where, line,
|
||||||
state->client_name, state->client_addr);
|
state->client_name, state->client_addr);
|
||||||
if (state->sender)
|
if (state->sender)
|
||||||
vstring_sprintf_append(state->temp1, " from=<%s>", state->sender);
|
vstring_sprintf_append(state->temp1, " from=<%s>",
|
||||||
|
info_log_addr_form_sender(state->sender));
|
||||||
if (state->recip)
|
if (state->recip)
|
||||||
vstring_sprintf_append(state->temp1, " to=<%s>", state->recip);
|
vstring_sprintf_append(state->temp1, " to=<%s>",
|
||||||
|
info_log_addr_form_recipient(state->recip));
|
||||||
if ((attr = nvtable_find(state->attr, MAIL_ATTR_LOG_PROTO_NAME)) != 0)
|
if ((attr = nvtable_find(state->attr, MAIL_ATTR_LOG_PROTO_NAME)) != 0)
|
||||||
vstring_sprintf_append(state->temp1, " proto=%s", attr);
|
vstring_sprintf_append(state->temp1, " proto=%s", attr);
|
||||||
if ((attr = nvtable_find(state->attr, MAIL_ATTR_LOG_HELO_NAME)) != 0)
|
if ((attr = nvtable_find(state->attr, MAIL_ATTR_LOG_HELO_NAME)) != 0)
|
||||||
@ -2056,9 +2059,11 @@ static const char *cleanup_milter_apply(CLEANUP_STATE *state, const char *event,
|
|||||||
state->queue_id, action, event, state->client_name,
|
state->queue_id, action, event, state->client_name,
|
||||||
state->client_addr, text);
|
state->client_addr, text);
|
||||||
if (state->sender)
|
if (state->sender)
|
||||||
vstring_sprintf_append(state->temp1, " from=<%s>", state->sender);
|
vstring_sprintf_append(state->temp1, " from=<%s>",
|
||||||
|
info_log_addr_form_sender(state->sender));
|
||||||
if (state->recip)
|
if (state->recip)
|
||||||
vstring_sprintf_append(state->temp1, " to=<%s>", state->recip);
|
vstring_sprintf_append(state->temp1, " to=<%s>",
|
||||||
|
info_log_addr_form_recipient(state->recip));
|
||||||
if ((attr = nvtable_find(state->attr, MAIL_ATTR_LOG_PROTO_NAME)) != 0)
|
if ((attr = nvtable_find(state->attr, MAIL_ATTR_LOG_PROTO_NAME)) != 0)
|
||||||
vstring_sprintf_append(state->temp1, " proto=%s", attr);
|
vstring_sprintf_append(state->temp1, " proto=%s", attr);
|
||||||
if ((attr = nvtable_find(state->attr, MAIL_ATTR_LOG_HELO_NAME)) != 0)
|
if ((attr = nvtable_find(state->attr, MAIL_ATTR_LOG_HELO_NAME)) != 0)
|
||||||
|
@ -35,7 +35,8 @@ SRCS = abounce.c anvil_clnt.c been_here.c bounce.c bounce_log.c \
|
|||||||
mkmap_fail.c haproxy_srvr.c dsn_filter.c dynamicmaps.c uxtext.c \
|
mkmap_fail.c haproxy_srvr.c dsn_filter.c dynamicmaps.c uxtext.c \
|
||||||
smtputf8.c mail_conf_over.c mail_parm_split.c midna_adomain.c \
|
smtputf8.c mail_conf_over.c mail_parm_split.c midna_adomain.c \
|
||||||
mail_addr_form.c quote_flags.c maillog_client.c \
|
mail_addr_form.c quote_flags.c maillog_client.c \
|
||||||
normalize_mailhost_addr.c map_search.c reject_deliver_request.c
|
normalize_mailhost_addr.c map_search.c reject_deliver_request.c \
|
||||||
|
info_log_addr_form.c
|
||||||
OBJS = abounce.o anvil_clnt.o been_here.o bounce.o bounce_log.o \
|
OBJS = abounce.o anvil_clnt.o been_here.o bounce.o bounce_log.o \
|
||||||
canon_addr.o cfg_parser.o cleanup_strerror.o cleanup_strflags.o \
|
canon_addr.o cfg_parser.o cleanup_strerror.o cleanup_strflags.o \
|
||||||
clnt_stream.o conv_time.o db_common.o debug_peer.o debug_process.o \
|
clnt_stream.o conv_time.o db_common.o debug_peer.o debug_process.o \
|
||||||
@ -72,7 +73,8 @@ OBJS = abounce.o anvil_clnt.o been_here.o bounce.o bounce_log.o \
|
|||||||
mkmap_fail.o haproxy_srvr.o dsn_filter.o dynamicmaps.o uxtext.o \
|
mkmap_fail.o haproxy_srvr.o dsn_filter.o dynamicmaps.o uxtext.o \
|
||||||
smtputf8.o attr_override.o mail_parm_split.o midna_adomain.o \
|
smtputf8.o attr_override.o mail_parm_split.o midna_adomain.o \
|
||||||
$(NON_PLUGIN_MAP_OBJ) mail_addr_form.o quote_flags.o maillog_client.o \
|
$(NON_PLUGIN_MAP_OBJ) mail_addr_form.o quote_flags.o maillog_client.o \
|
||||||
normalize_mailhost_addr.o map_search.o reject_deliver_request.o
|
normalize_mailhost_addr.o map_search.o reject_deliver_request.o \
|
||||||
|
info_log_addr_form.o
|
||||||
# MAP_OBJ is for maps that may be dynamically loaded with dynamicmaps.cf.
|
# MAP_OBJ is for maps that may be dynamically loaded with dynamicmaps.cf.
|
||||||
# When hard-linking these maps, makedefs sets NON_PLUGIN_MAP_OBJ=$(MAP_OBJ),
|
# When hard-linking these maps, makedefs sets NON_PLUGIN_MAP_OBJ=$(MAP_OBJ),
|
||||||
# otherwise it sets the PLUGIN_* macros.
|
# otherwise it sets the PLUGIN_* macros.
|
||||||
@ -106,7 +108,8 @@ HDRS = abounce.h anvil_clnt.h been_here.h bounce.h bounce_log.h \
|
|||||||
verify_sender_addr.h dict_memcache.h memcache_proto.h server_acl.h \
|
verify_sender_addr.h dict_memcache.h memcache_proto.h server_acl.h \
|
||||||
haproxy_srvr.h dsn_filter.h dynamicmaps.h uxtext.h smtputf8.h \
|
haproxy_srvr.h dsn_filter.h dynamicmaps.h uxtext.h smtputf8.h \
|
||||||
attr_override.h mail_parm_split.h midna_adomain.h mail_addr_form.h \
|
attr_override.h mail_parm_split.h midna_adomain.h mail_addr_form.h \
|
||||||
maillog_client.h normalize_mailhost_addr.h map_search.h
|
maillog_client.h normalize_mailhost_addr.h map_search.h \
|
||||||
|
info_log_addr_form.h
|
||||||
TESTSRC = rec2stream.c stream2rec.c recdump.c
|
TESTSRC = rec2stream.c stream2rec.c recdump.c
|
||||||
DEFS = -I. -I$(INC_DIR) -D$(SYSTYPE)
|
DEFS = -I. -I$(INC_DIR) -D$(SYSTYPE)
|
||||||
CFLAGS = $(DEBUG) $(OPT) $(DEFS)
|
CFLAGS = $(DEBUG) $(OPT) $(DEFS)
|
||||||
@ -1444,6 +1447,15 @@ header_token.o: ../../include/vstring.h
|
|||||||
header_token.o: header_token.c
|
header_token.o: header_token.c
|
||||||
header_token.o: header_token.h
|
header_token.o: header_token.h
|
||||||
header_token.o: lex_822.h
|
header_token.o: lex_822.h
|
||||||
|
info_log_addr_form.o: ../../include/check_arg.h
|
||||||
|
info_log_addr_form.o: ../../include/sys_defs.h
|
||||||
|
info_log_addr_form.o: ../../include/vbuf.h
|
||||||
|
info_log_addr_form.o: ../../include/vstring.h
|
||||||
|
info_log_addr_form.o: info_log_addr_form.c
|
||||||
|
info_log_addr_form.o: info_log_addr_form.h
|
||||||
|
info_log_addr_form.o: mail_addr_form.h
|
||||||
|
info_log_addr_form.o: quote_822_local.h
|
||||||
|
info_log_addr_form.o: quote_flags.h
|
||||||
input_transp.o: ../../include/check_arg.h
|
input_transp.o: ../../include/check_arg.h
|
||||||
input_transp.o: ../../include/msg.h
|
input_transp.o: ../../include/msg.h
|
||||||
input_transp.o: ../../include/name_mask.h
|
input_transp.o: ../../include/name_mask.h
|
||||||
@ -1487,6 +1499,7 @@ log_adhoc.o: ../../include/vbuf.h
|
|||||||
log_adhoc.o: ../../include/vstream.h
|
log_adhoc.o: ../../include/vstream.h
|
||||||
log_adhoc.o: ../../include/vstring.h
|
log_adhoc.o: ../../include/vstring.h
|
||||||
log_adhoc.o: dsn.h
|
log_adhoc.o: dsn.h
|
||||||
|
log_adhoc.o: info_log_addr_form.h
|
||||||
log_adhoc.o: log_adhoc.c
|
log_adhoc.o: log_adhoc.c
|
||||||
log_adhoc.o: log_adhoc.h
|
log_adhoc.o: log_adhoc.h
|
||||||
log_adhoc.o: mail_params.h
|
log_adhoc.o: mail_params.h
|
||||||
@ -2288,6 +2301,7 @@ opened.o: ../../include/msg.h
|
|||||||
opened.o: ../../include/sys_defs.h
|
opened.o: ../../include/sys_defs.h
|
||||||
opened.o: ../../include/vbuf.h
|
opened.o: ../../include/vbuf.h
|
||||||
opened.o: ../../include/vstring.h
|
opened.o: ../../include/vstring.h
|
||||||
|
opened.o: info_log_addr_form.h
|
||||||
opened.o: opened.c
|
opened.o: opened.c
|
||||||
opened.o: opened.h
|
opened.o: opened.h
|
||||||
own_inet_addr.o: ../../include/check_arg.h
|
own_inet_addr.o: ../../include/check_arg.h
|
||||||
|
124
postfix/src/global/info_log_addr_form.c
Normal file
124
postfix/src/global/info_log_addr_form.c
Normal file
@ -0,0 +1,124 @@
|
|||||||
|
/*++
|
||||||
|
/* NAME
|
||||||
|
/* info_log_addr_form 3
|
||||||
|
/* SUMMARY
|
||||||
|
/* format internal-form information for info logging
|
||||||
|
/* SYNOPSIS
|
||||||
|
/* #include <info_log_addr_form.h>
|
||||||
|
/*
|
||||||
|
/* const char *info_log_addr_form_recipient(
|
||||||
|
/* const char *recipient_addr)
|
||||||
|
/*
|
||||||
|
/* const char *info_log_addr_form_sender_addr(
|
||||||
|
/* const char *sender_addr)
|
||||||
|
/* DESCRIPTION
|
||||||
|
/* info_log_addr_form_recipient() and info_log_addr_form_sender_addr()
|
||||||
|
/* format an internal-form recipient or sender email address
|
||||||
|
/* for non-debug logging. Each function has its own private
|
||||||
|
/* buffer. Each call overwrites the result from a previous call.
|
||||||
|
/*
|
||||||
|
/* Note: the empty address is passed unchanged; it is not
|
||||||
|
/* formatted as "".
|
||||||
|
/* .IP recipient_addr
|
||||||
|
/* .IP *sender_addr
|
||||||
|
/* An internal-form email address.
|
||||||
|
/* LICENSE
|
||||||
|
/* .ad
|
||||||
|
/* .fi
|
||||||
|
/* The Secure Mailer license must be distributed with this software.
|
||||||
|
/* AUTHOR(S)
|
||||||
|
/* Wietse Venema
|
||||||
|
/* Google, Inc.
|
||||||
|
/* 111 8th Avenue
|
||||||
|
/* New York, NY 10011, USA
|
||||||
|
/*--*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* System library.
|
||||||
|
*/
|
||||||
|
#include <sys_defs.h>
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Utility library.
|
||||||
|
*/
|
||||||
|
#include <msg.h>
|
||||||
|
#include <name_code.h>
|
||||||
|
#include <vstring.h>
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Global library.
|
||||||
|
*/
|
||||||
|
#include <info_log_addr_form.h>
|
||||||
|
#include <mail_addr_form.h>
|
||||||
|
#include <mail_params.h>
|
||||||
|
#include <quote_822_local.h>
|
||||||
|
|
||||||
|
#define INFO_LOG_ADDR_FORM_VAL_NOT_SET 0
|
||||||
|
#define INFO_LOG_ADDR_FORM_VAL_INTERNAL 1
|
||||||
|
#define INFO_LOG_ADDR_FORM_VAL_EXTERNAL 2
|
||||||
|
|
||||||
|
/* Format for info logging. */
|
||||||
|
|
||||||
|
int info_log_addr_form_form = INFO_LOG_ADDR_FORM_VAL_NOT_SET;
|
||||||
|
|
||||||
|
#define STR(x) vstring_str(x)
|
||||||
|
|
||||||
|
/* info_log_addr_form_init - one-time initialization */
|
||||||
|
|
||||||
|
static void info_log_addr_form_init(void)
|
||||||
|
{
|
||||||
|
static NAME_CODE info_log_addr_form_table[] = {
|
||||||
|
INFO_LOG_ADDR_FORM_NAME_EXTERNAL, INFO_LOG_ADDR_FORM_VAL_EXTERNAL,
|
||||||
|
INFO_LOG_ADDR_FORM_NAME_INTERNAL, INFO_LOG_ADDR_FORM_VAL_INTERNAL,
|
||||||
|
0, INFO_LOG_ADDR_FORM_VAL_NOT_SET,
|
||||||
|
};
|
||||||
|
info_log_addr_form_form = name_code(info_log_addr_form_table,
|
||||||
|
NAME_CODE_FLAG_NONE,
|
||||||
|
var_info_log_addr_form);
|
||||||
|
|
||||||
|
if (info_log_addr_form_form == INFO_LOG_ADDR_FORM_VAL_NOT_SET)
|
||||||
|
msg_fatal("invalid parameter setting \"%s = %s\"",
|
||||||
|
VAR_INFO_LOG_ADDR_FORM, var_info_log_addr_form);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* info_log_addr_form - format an email address for info logging */
|
||||||
|
|
||||||
|
static VSTRING *info_log_addr_form(VSTRING *buf, const char *addr)
|
||||||
|
{
|
||||||
|
const char myname[] = "info_log_addr_form";
|
||||||
|
|
||||||
|
if (buf == 0)
|
||||||
|
buf = vstring_alloc(100);
|
||||||
|
if (info_log_addr_form_form == INFO_LOG_ADDR_FORM_VAL_NOT_SET)
|
||||||
|
info_log_addr_form_init();
|
||||||
|
if (*addr == 0
|
||||||
|
|| info_log_addr_form_form == INFO_LOG_ADDR_FORM_VAL_INTERNAL) {
|
||||||
|
vstring_strcpy(buf, addr);
|
||||||
|
} else if (info_log_addr_form_form == INFO_LOG_ADDR_FORM_VAL_EXTERNAL) {
|
||||||
|
quote_822_local(buf, addr);
|
||||||
|
} else {
|
||||||
|
msg_panic("%s: bad format type: %d",
|
||||||
|
myname, info_log_addr_form_form);
|
||||||
|
}
|
||||||
|
return (buf);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* info_log_addr_form_recipient - format a recipient address for info logging */
|
||||||
|
|
||||||
|
const char *info_log_addr_form_recipient(const char *recipient_addr)
|
||||||
|
{
|
||||||
|
static VSTRING *recipient_buffer = 0;
|
||||||
|
|
||||||
|
recipient_buffer = info_log_addr_form(recipient_buffer, recipient_addr);
|
||||||
|
return (STR(recipient_buffer));
|
||||||
|
}
|
||||||
|
|
||||||
|
/* info_log_addr_form_sender - format a sender address for info logging */
|
||||||
|
|
||||||
|
const char *info_log_addr_form_sender(const char *sender_addr)
|
||||||
|
{
|
||||||
|
static VSTRING *sender_buffer = 0;
|
||||||
|
|
||||||
|
sender_buffer = info_log_addr_form(sender_buffer, sender_addr);
|
||||||
|
return (STR(sender_buffer));
|
||||||
|
}
|
31
postfix/src/global/info_log_addr_form.h
Normal file
31
postfix/src/global/info_log_addr_form.h
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
#ifndef _INFO_LOG_ADDR_FORM_H_INCLUDED_
|
||||||
|
#define _INFO_LOG_ADDR_FORM_H_INCLUDED_
|
||||||
|
|
||||||
|
/*++
|
||||||
|
/* NAME
|
||||||
|
/* info_log_addr_form 3h
|
||||||
|
/* SUMMARY
|
||||||
|
/* format mail address for info logging
|
||||||
|
/* SYNOPSIS
|
||||||
|
/* #include <info_log_addr_form.h>
|
||||||
|
/* DESCRIPTION
|
||||||
|
/* .nf
|
||||||
|
|
||||||
|
/*
|
||||||
|
* External interface.
|
||||||
|
*/
|
||||||
|
extern const char *info_log_addr_form_recipient(const char *);
|
||||||
|
extern const char *info_log_addr_form_sender(const char *);
|
||||||
|
|
||||||
|
/* LICENSE
|
||||||
|
/* .ad
|
||||||
|
/* .fi
|
||||||
|
/* The Secure Mailer license must be distributed with this software.
|
||||||
|
/* AUTHOR(S)
|
||||||
|
/* Wietse Venema
|
||||||
|
/* Google, Inc.
|
||||||
|
/* 111 8th Avenue
|
||||||
|
/* New York, NY 10011, USA
|
||||||
|
/*--*/
|
||||||
|
|
||||||
|
#endif
|
@ -27,9 +27,8 @@
|
|||||||
/* Time stamps from different message delivery stages
|
/* Time stamps from different message delivery stages
|
||||||
/* and session reuse count.
|
/* and session reuse count.
|
||||||
/* .IP recipient
|
/* .IP recipient
|
||||||
/* Recipient information. See recipient_list(3).
|
/* Recipient information, see recipient_list(3). The address
|
||||||
/* .IP sender
|
/* is formatted by the info_log_addr_form(3) routines.
|
||||||
/* The sender envelope address.
|
|
||||||
/* .IP relay
|
/* .IP relay
|
||||||
/* Host we could (not) talk to.
|
/* Host we could (not) talk to.
|
||||||
/* .IP status
|
/* .IP status
|
||||||
@ -48,6 +47,11 @@
|
|||||||
/* IBM T.J. Watson Research
|
/* IBM T.J. Watson Research
|
||||||
/* P.O. Box 704
|
/* P.O. Box 704
|
||||||
/* Yorktown Heights, NY 10598, USA
|
/* Yorktown Heights, NY 10598, USA
|
||||||
|
/*
|
||||||
|
/* Wietse Venema
|
||||||
|
/* Google, Inc.
|
||||||
|
/* 111 8th Avenue
|
||||||
|
/* New York, NY 10011, USA
|
||||||
/*--*/
|
/*--*/
|
||||||
|
|
||||||
/* System library. */
|
/* System library. */
|
||||||
@ -66,6 +70,7 @@
|
|||||||
|
|
||||||
#include <log_adhoc.h>
|
#include <log_adhoc.h>
|
||||||
#include <mail_params.h>
|
#include <mail_params.h>
|
||||||
|
#include <info_log_addr_form.h>
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Don't use "struct timeval" for time differences; use explicit signed
|
* Don't use "struct timeval" for time differences; use explicit signed
|
||||||
@ -103,10 +108,12 @@ void log_adhoc(const char *id, MSG_STATS *stats, RECIPIENT *recipient,
|
|||||||
* First, critical information that identifies the nature of the
|
* First, critical information that identifies the nature of the
|
||||||
* transaction.
|
* transaction.
|
||||||
*/
|
*/
|
||||||
vstring_sprintf(buf, "%s: to=<%s>", id, recipient->address);
|
vstring_sprintf(buf, "%s: to=<%s>", id,
|
||||||
|
info_log_addr_form_recipient(recipient->address));
|
||||||
if (recipient->orig_addr && *recipient->orig_addr
|
if (recipient->orig_addr && *recipient->orig_addr
|
||||||
&& strcasecmp_utf8(recipient->address, recipient->orig_addr) != 0)
|
&& strcasecmp_utf8(recipient->address, recipient->orig_addr) != 0)
|
||||||
vstring_sprintf_append(buf, ", orig_to=<%s>", recipient->orig_addr);
|
vstring_sprintf_append(buf, ", orig_to=<%s>",
|
||||||
|
info_log_addr_form_recipient(recipient->orig_addr));
|
||||||
vstring_sprintf_append(buf, ", relay=%s", relay);
|
vstring_sprintf_append(buf, ", relay=%s", relay);
|
||||||
if (stats->reuse_count > 0)
|
if (stats->reuse_count > 0)
|
||||||
vstring_sprintf_append(buf, ", conn_use=%d", stats->reuse_count + 1);
|
vstring_sprintf_append(buf, ", conn_use=%d", stats->reuse_count + 1);
|
||||||
|
@ -131,6 +131,7 @@
|
|||||||
/* int var_idna2003_compat;
|
/* int var_idna2003_compat;
|
||||||
/* int var_compat_level;
|
/* int var_compat_level;
|
||||||
/* char *var_drop_hdrs;
|
/* char *var_drop_hdrs;
|
||||||
|
/* char *var_info_log_addr_form;
|
||||||
/* bool var_enable_orcpt;
|
/* bool var_enable_orcpt;
|
||||||
/*
|
/*
|
||||||
/* void mail_params_init()
|
/* void mail_params_init()
|
||||||
@ -352,6 +353,7 @@ char *var_smtputf8_autoclass;
|
|||||||
int var_idna2003_compat;
|
int var_idna2003_compat;
|
||||||
int var_compat_level;
|
int var_compat_level;
|
||||||
char *var_drop_hdrs;
|
char *var_drop_hdrs;
|
||||||
|
char *var_info_log_addr_form;
|
||||||
bool var_enable_orcpt;
|
bool var_enable_orcpt;
|
||||||
|
|
||||||
char *var_maillog_file;
|
char *var_maillog_file;
|
||||||
@ -759,6 +761,7 @@ void mail_params_init()
|
|||||||
VAR_DSN_FILTER, DEF_DSN_FILTER, &var_dsn_filter, 0, 0,
|
VAR_DSN_FILTER, DEF_DSN_FILTER, &var_dsn_filter, 0, 0,
|
||||||
VAR_SMTPUTF8_AUTOCLASS, DEF_SMTPUTF8_AUTOCLASS, &var_smtputf8_autoclass, 1, 0,
|
VAR_SMTPUTF8_AUTOCLASS, DEF_SMTPUTF8_AUTOCLASS, &var_smtputf8_autoclass, 1, 0,
|
||||||
VAR_DROP_HDRS, DEF_DROP_HDRS, &var_drop_hdrs, 0, 0,
|
VAR_DROP_HDRS, DEF_DROP_HDRS, &var_drop_hdrs, 0, 0,
|
||||||
|
VAR_INFO_LOG_ADDR_FORM, DEF_INFO_LOG_ADDR_FORM, &var_info_log_addr_form, 1, 0,
|
||||||
0,
|
0,
|
||||||
};
|
};
|
||||||
static const CONFIG_STR_FN_TABLE function_str_defaults_2[] = {
|
static const CONFIG_STR_FN_TABLE function_str_defaults_2[] = {
|
||||||
|
@ -4192,6 +4192,16 @@ extern char *var_postlog_service;
|
|||||||
#define DEF_POSTLOGD_WATCHDOG "10s"
|
#define DEF_POSTLOGD_WATCHDOG "10s"
|
||||||
extern int var_postlogd_watchdog;
|
extern int var_postlogd_watchdog;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Backwards compatibility for internal-form address logging.
|
||||||
|
*/
|
||||||
|
#define INFO_LOG_ADDR_FORM_NAME_EXTERNAL "external"
|
||||||
|
#define INFO_LOG_ADDR_FORM_NAME_INTERNAL "internal"
|
||||||
|
|
||||||
|
#define VAR_INFO_LOG_ADDR_FORM "info_log_address_format"
|
||||||
|
#define DEF_INFO_LOG_ADDR_FORM INFO_LOG_ADDR_FORM_NAME_EXTERNAL
|
||||||
|
extern char *var_info_log_addr_form;
|
||||||
|
|
||||||
/* LICENSE
|
/* LICENSE
|
||||||
/* .ad
|
/* .ad
|
||||||
/* .fi
|
/* .fi
|
||||||
|
@ -20,7 +20,7 @@
|
|||||||
* Patches change both the patchlevel and the release date. Snapshots have no
|
* Patches change both the patchlevel and the release date. Snapshots have no
|
||||||
* patchlevel; they change the release date only.
|
* patchlevel; they change the release date only.
|
||||||
*/
|
*/
|
||||||
#define MAIL_RELEASE_DATE "20191019"
|
#define MAIL_RELEASE_DATE "20191109"
|
||||||
#define MAIL_VERSION_NUMBER "3.5"
|
#define MAIL_VERSION_NUMBER "3.5"
|
||||||
|
|
||||||
#ifdef SNAPSHOT
|
#ifdef SNAPSHOT
|
||||||
|
@ -42,6 +42,11 @@
|
|||||||
/* IBM T.J. Watson Research
|
/* IBM T.J. Watson Research
|
||||||
/* P.O. Box 704
|
/* P.O. Box 704
|
||||||
/* Yorktown Heights, NY 10598, USA
|
/* Yorktown Heights, NY 10598, USA
|
||||||
|
/*
|
||||||
|
/* Wietse Venema
|
||||||
|
/* Google, Inc.
|
||||||
|
/* 111 8th Avenue
|
||||||
|
/* New York, NY 10011, USA
|
||||||
/*--*/
|
/*--*/
|
||||||
|
|
||||||
/* System library. */
|
/* System library. */
|
||||||
@ -57,7 +62,8 @@
|
|||||||
|
|
||||||
/* Global library. */
|
/* Global library. */
|
||||||
|
|
||||||
#include "opened.h"
|
#include <opened.h>
|
||||||
|
#include <info_log_addr_form.h>
|
||||||
|
|
||||||
/* opened - log that a message was opened */
|
/* opened - log that a message was opened */
|
||||||
|
|
||||||
@ -82,7 +88,7 @@ void vopened(const char *queue_id, const char *sender, long size, int nrcpt,
|
|||||||
|
|
||||||
vstring_vsprintf(text, fmt, ap);
|
vstring_vsprintf(text, fmt, ap);
|
||||||
msg_info("%s: from=<%s>, size=%ld, nrcpt=%d%s%s%s",
|
msg_info("%s: from=<%s>, size=%ld, nrcpt=%d%s%s%s",
|
||||||
queue_id, sender, size, nrcpt,
|
queue_id, info_log_addr_form_sender(sender), size, nrcpt,
|
||||||
*TEXT ? " (" : "", TEXT, *TEXT ? ")" : "");
|
*TEXT ? " (" : "", TEXT, *TEXT ? ")" : "");
|
||||||
vstring_free(text);
|
vstring_free(text);
|
||||||
}
|
}
|
||||||
|
@ -560,6 +560,11 @@
|
|||||||
/* aliasing or with canonical mapping).
|
/* aliasing or with canonical mapping).
|
||||||
/* .IP "\fBservice_name (read-only)\fR"
|
/* .IP "\fBservice_name (read-only)\fR"
|
||||||
/* The master.cf service name of a Postfix daemon process.
|
/* The master.cf service name of a Postfix daemon process.
|
||||||
|
/* .PP
|
||||||
|
/* Available in Postfix 3.5 and later:
|
||||||
|
/* .IP "\fBinfo_log_address_format (external)\fR"
|
||||||
|
/* The email address form that will be used in non-debug logging
|
||||||
|
/* (info, warning, etc.).
|
||||||
/* FILES
|
/* FILES
|
||||||
/* The following are examples; details differ between systems.
|
/* The following are examples; details differ between systems.
|
||||||
/* $HOME/.forward, per-user aliasing
|
/* $HOME/.forward, per-user aliasing
|
||||||
|
@ -106,6 +106,7 @@ qmgr_active.o: ../../include/dsn_buf.h
|
|||||||
qmgr_active.o: ../../include/dsn_mask.h
|
qmgr_active.o: ../../include/dsn_mask.h
|
||||||
qmgr_active.o: ../../include/events.h
|
qmgr_active.o: ../../include/events.h
|
||||||
qmgr_active.o: ../../include/htable.h
|
qmgr_active.o: ../../include/htable.h
|
||||||
|
qmgr_active.o: ../../include/info_log_addr_form.h
|
||||||
qmgr_active.o: ../../include/mail_open_ok.h
|
qmgr_active.o: ../../include/mail_open_ok.h
|
||||||
qmgr_active.o: ../../include/mail_params.h
|
qmgr_active.o: ../../include/mail_params.h
|
||||||
qmgr_active.o: ../../include/mail_queue.h
|
qmgr_active.o: ../../include/mail_queue.h
|
||||||
|
@ -333,6 +333,11 @@
|
|||||||
/* Available in Postfix 3.3 and later:
|
/* Available in Postfix 3.3 and later:
|
||||||
/* .IP "\fBservice_name (read-only)\fR"
|
/* .IP "\fBservice_name (read-only)\fR"
|
||||||
/* The master.cf service name of a Postfix daemon process.
|
/* The master.cf service name of a Postfix daemon process.
|
||||||
|
/* .PP
|
||||||
|
/* Available in Postfix 3.5 and later:
|
||||||
|
/* .IP "\fBinfo_log_address_format (external)\fR"
|
||||||
|
/* The email address form that will be used in non-debug logging
|
||||||
|
/* (info, warning, etc.).
|
||||||
/* FILES
|
/* FILES
|
||||||
/* /var/spool/postfix/incoming, incoming queue
|
/* /var/spool/postfix/incoming, incoming queue
|
||||||
/* /var/spool/postfix/active, active queue
|
/* /var/spool/postfix/active, active queue
|
||||||
|
@ -70,6 +70,11 @@
|
|||||||
/* IBM T.J. Watson Research
|
/* IBM T.J. Watson Research
|
||||||
/* P.O. Box 704
|
/* P.O. Box 704
|
||||||
/* Yorktown Heights, NY 10598, USA
|
/* Yorktown Heights, NY 10598, USA
|
||||||
|
/*
|
||||||
|
/* Wietse Venema
|
||||||
|
/* Google, Inc.
|
||||||
|
/* 111 8th Avenue
|
||||||
|
/* New York, NY 10011, USA
|
||||||
/*--*/
|
/*--*/
|
||||||
|
|
||||||
/* System library. */
|
/* System library. */
|
||||||
@ -107,6 +112,7 @@
|
|||||||
#include <abounce.h>
|
#include <abounce.h>
|
||||||
#include <rec_type.h>
|
#include <rec_type.h>
|
||||||
#include <qmgr_user.h>
|
#include <qmgr_user.h>
|
||||||
|
#include <info_log_addr_form.h>
|
||||||
|
|
||||||
/* Application-specific. */
|
/* Application-specific. */
|
||||||
|
|
||||||
@ -439,7 +445,7 @@ static void qmgr_active_done_25_generic(QMGR_MESSAGE *message)
|
|||||||
if (event_time() >= message->create_time +
|
if (event_time() >= message->create_time +
|
||||||
(*message->sender ? var_max_queue_time : var_dsn_queue_time)) {
|
(*message->sender ? var_max_queue_time : var_dsn_queue_time)) {
|
||||||
msg_info("%s: from=<%s>, status=expired, returned to sender",
|
msg_info("%s: from=<%s>, status=expired, returned to sender",
|
||||||
message->queue_id, message->sender);
|
message->queue_id, info_log_addr_form_sender(message->sender));
|
||||||
if (message->verp_delims == 0 || var_verp_bounce_off)
|
if (message->verp_delims == 0 || var_verp_bounce_off)
|
||||||
adefer_flush(BOUNCE_FLAG_KEEP,
|
adefer_flush(BOUNCE_FLAG_KEEP,
|
||||||
message->queue_name,
|
message->queue_name,
|
||||||
|
@ -63,6 +63,7 @@ pickup.o: ../../include/attr.h
|
|||||||
pickup.o: ../../include/check_arg.h
|
pickup.o: ../../include/check_arg.h
|
||||||
pickup.o: ../../include/cleanup_user.h
|
pickup.o: ../../include/cleanup_user.h
|
||||||
pickup.o: ../../include/htable.h
|
pickup.o: ../../include/htable.h
|
||||||
|
pickup.o: ../../include/info_log_addr_form.h
|
||||||
pickup.o: ../../include/input_transp.h
|
pickup.o: ../../include/input_transp.h
|
||||||
pickup.o: ../../include/iostuff.h
|
pickup.o: ../../include/iostuff.h
|
||||||
pickup.o: ../../include/lex_822.h
|
pickup.o: ../../include/lex_822.h
|
||||||
|
@ -85,6 +85,11 @@
|
|||||||
/* Available in Postfix 3.3 and later:
|
/* Available in Postfix 3.3 and later:
|
||||||
/* .IP "\fBservice_name (read-only)\fR"
|
/* .IP "\fBservice_name (read-only)\fR"
|
||||||
/* The master.cf service name of a Postfix daemon process.
|
/* The master.cf service name of a Postfix daemon process.
|
||||||
|
/* .PP
|
||||||
|
/* Available in Postfix 3.5 and later:
|
||||||
|
/* .IP "\fBinfo_log_address_format (external)\fR"
|
||||||
|
/* The email address form that will be used in non-debug logging
|
||||||
|
/* (info, warning, etc.).
|
||||||
/* SEE ALSO
|
/* SEE ALSO
|
||||||
/* cleanup(8), message canonicalization
|
/* cleanup(8), message canonicalization
|
||||||
/* sendmail(1), Sendmail-compatible interface
|
/* sendmail(1), Sendmail-compatible interface
|
||||||
@ -151,6 +156,7 @@
|
|||||||
#include <rec_attr_map.h>
|
#include <rec_attr_map.h>
|
||||||
#include <mail_version.h>
|
#include <mail_version.h>
|
||||||
#include <smtputf8.h>
|
#include <smtputf8.h>
|
||||||
|
#include <info_log_addr_form.h>
|
||||||
|
|
||||||
/* Single-threaded server skeleton. */
|
/* Single-threaded server skeleton. */
|
||||||
|
|
||||||
@ -364,12 +370,12 @@ static int pickup_copy(VSTREAM *qfile, VSTREAM *cleanup,
|
|||||||
|
|
||||||
if (MAIL_IS_REQUEUED(info)) {
|
if (MAIL_IS_REQUEUED(info)) {
|
||||||
msg_info("%s: uid=%d from=<%s> orig_id=%s", info->id,
|
msg_info("%s: uid=%d from=<%s> orig_id=%s", info->id,
|
||||||
(int) info->st.st_uid, info->sender,
|
(int) info->st.st_uid, info_log_addr_form_sender(info->sender),
|
||||||
((name = strrchr(info->path, '/')) != 0 ?
|
((name = strrchr(info->path, '/')) != 0 ?
|
||||||
name + 1 : info->path));
|
name + 1 : info->path));
|
||||||
} else {
|
} else {
|
||||||
msg_info("%s: uid=%d from=<%s>", info->id,
|
msg_info("%s: uid=%d from=<%s>", info->id,
|
||||||
(int) info->st.st_uid, info->sender);
|
(int) info->st.st_uid, info_log_addr_form_sender(info->sender));
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -427,6 +427,11 @@
|
|||||||
/* aliasing or with canonical mapping).
|
/* aliasing or with canonical mapping).
|
||||||
/* .IP "\fBservice_name (read-only)\fR"
|
/* .IP "\fBservice_name (read-only)\fR"
|
||||||
/* The master.cf service name of a Postfix daemon process.
|
/* The master.cf service name of a Postfix daemon process.
|
||||||
|
/* .PP
|
||||||
|
/* Available in Postfix 3.5 and later:
|
||||||
|
/* .IP "\fBinfo_log_address_format (external)\fR"
|
||||||
|
/* The email address form that will be used in non-debug logging
|
||||||
|
/* (info, warning, etc.).
|
||||||
/* SEE ALSO
|
/* SEE ALSO
|
||||||
/* qmgr(8), queue manager
|
/* qmgr(8), queue manager
|
||||||
/* bounce(8), delivery status reports
|
/* bounce(8), delivery status reports
|
||||||
|
@ -315,6 +315,7 @@ postscreen_smtpd.o: ../../include/dns.h
|
|||||||
postscreen_smtpd.o: ../../include/ehlo_mask.h
|
postscreen_smtpd.o: ../../include/ehlo_mask.h
|
||||||
postscreen_smtpd.o: ../../include/events.h
|
postscreen_smtpd.o: ../../include/events.h
|
||||||
postscreen_smtpd.o: ../../include/htable.h
|
postscreen_smtpd.o: ../../include/htable.h
|
||||||
|
postscreen_smtpd.o: ../../include/info_log_addr_form.h
|
||||||
postscreen_smtpd.o: ../../include/iostuff.h
|
postscreen_smtpd.o: ../../include/iostuff.h
|
||||||
postscreen_smtpd.o: ../../include/is_header.h
|
postscreen_smtpd.o: ../../include/is_header.h
|
||||||
postscreen_smtpd.o: ../../include/lex_822.h
|
postscreen_smtpd.o: ../../include/lex_822.h
|
||||||
|
@ -370,6 +370,11 @@
|
|||||||
/* Available in Postfix 3.3 and later:
|
/* Available in Postfix 3.3 and later:
|
||||||
/* .IP "\fBservice_name (read-only)\fR"
|
/* .IP "\fBservice_name (read-only)\fR"
|
||||||
/* The master.cf service name of a Postfix daemon process.
|
/* The master.cf service name of a Postfix daemon process.
|
||||||
|
/* .PP
|
||||||
|
/* Available in Postfix 3.5 and later:
|
||||||
|
/* .IP "\fBinfo_log_address_format (external)\fR"
|
||||||
|
/* The email address form that will be used in non-debug logging
|
||||||
|
/* (info, warning, etc.).
|
||||||
/* SEE ALSO
|
/* SEE ALSO
|
||||||
/* smtpd(8), Postfix SMTP server
|
/* smtpd(8), Postfix SMTP server
|
||||||
/* tlsproxy(8), Postfix TLS proxy server
|
/* tlsproxy(8), Postfix TLS proxy server
|
||||||
|
@ -164,6 +164,7 @@
|
|||||||
#include <maps.h>
|
#include <maps.h>
|
||||||
#include <ehlo_mask.h>
|
#include <ehlo_mask.h>
|
||||||
#include <lex_822.h>
|
#include <lex_822.h>
|
||||||
|
#include <info_log_addr_form.h>
|
||||||
|
|
||||||
/* TLS library. */
|
/* TLS library. */
|
||||||
|
|
||||||
@ -574,7 +575,8 @@ static int psc_rcpt_cmd(PSC_STATE *state, char *args)
|
|||||||
(int) strlen(state->rcpt_reply) - 2,
|
(int) strlen(state->rcpt_reply) - 2,
|
||||||
var_soft_bounce == 0 ? state->rcpt_reply :
|
var_soft_bounce == 0 ? state->rcpt_reply :
|
||||||
psc_soften_reply(state->rcpt_reply),
|
psc_soften_reply(state->rcpt_reply),
|
||||||
state->sender, addr, state->protocol,
|
info_log_addr_form_sender(state->sender),
|
||||||
|
info_log_addr_form_recipient(addr), state->protocol,
|
||||||
state->helo_name ? state->helo_name : "");
|
state->helo_name ? state->helo_name : "");
|
||||||
return (PSC_SEND_REPLY(state, state->rcpt_reply));
|
return (PSC_SEND_REPLY(state, state->rcpt_reply));
|
||||||
}
|
}
|
||||||
|
@ -108,6 +108,7 @@ qmgr_active.o: ../../include/dsn_buf.h
|
|||||||
qmgr_active.o: ../../include/dsn_mask.h
|
qmgr_active.o: ../../include/dsn_mask.h
|
||||||
qmgr_active.o: ../../include/events.h
|
qmgr_active.o: ../../include/events.h
|
||||||
qmgr_active.o: ../../include/htable.h
|
qmgr_active.o: ../../include/htable.h
|
||||||
|
qmgr_active.o: ../../include/info_log_addr_form.h
|
||||||
qmgr_active.o: ../../include/mail_open_ok.h
|
qmgr_active.o: ../../include/mail_open_ok.h
|
||||||
qmgr_active.o: ../../include/mail_params.h
|
qmgr_active.o: ../../include/mail_params.h
|
||||||
qmgr_active.o: ../../include/mail_queue.h
|
qmgr_active.o: ../../include/mail_queue.h
|
||||||
|
@ -395,6 +395,11 @@
|
|||||||
/* Available in Postfix 3.3 and later:
|
/* Available in Postfix 3.3 and later:
|
||||||
/* .IP "\fBservice_name (read-only)\fR"
|
/* .IP "\fBservice_name (read-only)\fR"
|
||||||
/* The master.cf service name of a Postfix daemon process.
|
/* The master.cf service name of a Postfix daemon process.
|
||||||
|
/* .PP
|
||||||
|
/* Available in Postfix 3.5 and later:
|
||||||
|
/* .IP "\fBinfo_log_address_format (external)\fR"
|
||||||
|
/* The email address form that will be used in non-debug logging
|
||||||
|
/* (info, warning, etc.).
|
||||||
/* FILES
|
/* FILES
|
||||||
/* /var/spool/postfix/incoming, incoming queue
|
/* /var/spool/postfix/incoming, incoming queue
|
||||||
/* /var/spool/postfix/active, active queue
|
/* /var/spool/postfix/active, active queue
|
||||||
|
@ -70,6 +70,11 @@
|
|||||||
/* IBM T.J. Watson Research
|
/* IBM T.J. Watson Research
|
||||||
/* P.O. Box 704
|
/* P.O. Box 704
|
||||||
/* Yorktown Heights, NY 10598, USA
|
/* Yorktown Heights, NY 10598, USA
|
||||||
|
/*
|
||||||
|
/* Wietse Venema
|
||||||
|
/* Google, Inc.
|
||||||
|
/* 111 8th Avenue
|
||||||
|
/* New York, NY 10011, USA
|
||||||
/*--*/
|
/*--*/
|
||||||
|
|
||||||
/* System library. */
|
/* System library. */
|
||||||
@ -107,6 +112,7 @@
|
|||||||
#include <abounce.h>
|
#include <abounce.h>
|
||||||
#include <rec_type.h>
|
#include <rec_type.h>
|
||||||
#include <qmgr_user.h>
|
#include <qmgr_user.h>
|
||||||
|
#include <info_log_addr_form.h>
|
||||||
|
|
||||||
/* Application-specific. */
|
/* Application-specific. */
|
||||||
|
|
||||||
@ -439,7 +445,7 @@ static void qmgr_active_done_25_generic(QMGR_MESSAGE *message)
|
|||||||
if (event_time() >= message->create_time +
|
if (event_time() >= message->create_time +
|
||||||
(*message->sender ? var_max_queue_time : var_dsn_queue_time)) {
|
(*message->sender ? var_max_queue_time : var_dsn_queue_time)) {
|
||||||
msg_info("%s: from=<%s>, status=expired, returned to sender",
|
msg_info("%s: from=<%s>, status=expired, returned to sender",
|
||||||
message->queue_id, message->sender);
|
message->queue_id, info_log_addr_form_sender(message->sender));
|
||||||
if (message->verp_delims == 0 || var_verp_bounce_off)
|
if (message->verp_delims == 0 || var_verp_bounce_off)
|
||||||
adefer_flush(BOUNCE_FLAG_KEEP,
|
adefer_flush(BOUNCE_FLAG_KEEP,
|
||||||
message->queue_name,
|
message->queue_name,
|
||||||
|
@ -321,6 +321,11 @@
|
|||||||
/* When a remote destination resolves to a combination of IPv4 and
|
/* When a remote destination resolves to a combination of IPv4 and
|
||||||
/* IPv6 addresses, ensure that the Postfix SMTP client can try both
|
/* IPv6 addresses, ensure that the Postfix SMTP client can try both
|
||||||
/* address types before it runs into the smtp_mx_address_limit.
|
/* address types before it runs into the smtp_mx_address_limit.
|
||||||
|
/* .PP
|
||||||
|
/* Available in Postfix 3.5 and later:
|
||||||
|
/* .IP "\fBinfo_log_address_format (external)\fR"
|
||||||
|
/* The email address form that will be used in non-debug logging
|
||||||
|
/* (info, warning, etc.).
|
||||||
/* MIME PROCESSING CONTROLS
|
/* MIME PROCESSING CONTROLS
|
||||||
/* .ad
|
/* .ad
|
||||||
/* .fi
|
/* .fi
|
||||||
|
@ -195,6 +195,7 @@ smtpd.o: ../../include/events.h
|
|||||||
smtpd.o: ../../include/flush_clnt.h
|
smtpd.o: ../../include/flush_clnt.h
|
||||||
smtpd.o: ../../include/htable.h
|
smtpd.o: ../../include/htable.h
|
||||||
smtpd.o: ../../include/inet_proto.h
|
smtpd.o: ../../include/inet_proto.h
|
||||||
|
smtpd.o: ../../include/info_log_addr_form.h
|
||||||
smtpd.o: ../../include/input_transp.h
|
smtpd.o: ../../include/input_transp.h
|
||||||
smtpd.o: ../../include/iostuff.h
|
smtpd.o: ../../include/iostuff.h
|
||||||
smtpd.o: ../../include/is_header.h
|
smtpd.o: ../../include/is_header.h
|
||||||
@ -322,6 +323,7 @@ smtpd_check.o: ../../include/fsspace.h
|
|||||||
smtpd_check.o: ../../include/htable.h
|
smtpd_check.o: ../../include/htable.h
|
||||||
smtpd_check.o: ../../include/inet_addr_list.h
|
smtpd_check.o: ../../include/inet_addr_list.h
|
||||||
smtpd_check.o: ../../include/inet_proto.h
|
smtpd_check.o: ../../include/inet_proto.h
|
||||||
|
smtpd_check.o: ../../include/info_log_addr_form.h
|
||||||
smtpd_check.o: ../../include/input_transp.h
|
smtpd_check.o: ../../include/input_transp.h
|
||||||
smtpd_check.o: ../../include/iostuff.h
|
smtpd_check.o: ../../include/iostuff.h
|
||||||
smtpd_check.o: ../../include/ip_match.h
|
smtpd_check.o: ../../include/ip_match.h
|
||||||
|
@ -498,6 +498,11 @@
|
|||||||
/* .IP "\fBtls_fast_shutdown_enable (yes)\fR"
|
/* .IP "\fBtls_fast_shutdown_enable (yes)\fR"
|
||||||
/* A workaround for implementations that hang Postfix while shuting
|
/* A workaround for implementations that hang Postfix while shuting
|
||||||
/* down a TLS session, until Postfix times out.
|
/* down a TLS session, until Postfix times out.
|
||||||
|
/* .PP
|
||||||
|
/* Available in Postfix 3.5 and later:
|
||||||
|
/* .IP "\fBinfo_log_address_format (external)\fR"
|
||||||
|
/* The email address form that will be used in non-debug logging
|
||||||
|
/* (info, warning, etc.).
|
||||||
/* OBSOLETE STARTTLS CONTROLS
|
/* OBSOLETE STARTTLS CONTROLS
|
||||||
/* .ad
|
/* .ad
|
||||||
/* .fi
|
/* .fi
|
||||||
@ -1221,6 +1226,7 @@
|
|||||||
#include <smtputf8.h>
|
#include <smtputf8.h>
|
||||||
#include <match_parent_style.h>
|
#include <match_parent_style.h>
|
||||||
#include <normalize_mailhost_addr.h>
|
#include <normalize_mailhost_addr.h>
|
||||||
|
#include <info_log_addr_form.h>
|
||||||
|
|
||||||
/* Single-threaded server skeleton. */
|
/* Single-threaded server skeleton. */
|
||||||
|
|
||||||
@ -1584,9 +1590,11 @@ static const char *smtpd_whatsup(SMTPD_STATE *state)
|
|||||||
else
|
else
|
||||||
VSTRING_RESET(buf);
|
VSTRING_RESET(buf);
|
||||||
if (state->sender)
|
if (state->sender)
|
||||||
vstring_sprintf_append(buf, " from=<%s>", state->sender);
|
vstring_sprintf_append(buf, " from=<%s>",
|
||||||
|
info_log_addr_form_sender(state->sender));
|
||||||
if (state->recipient)
|
if (state->recipient)
|
||||||
vstring_sprintf_append(buf, " to=<%s>", state->recipient);
|
vstring_sprintf_append(buf, " to=<%s>",
|
||||||
|
info_log_addr_form_recipient(state->recipient));
|
||||||
if (state->protocol)
|
if (state->protocol)
|
||||||
vstring_sprintf_append(buf, " proto=%s", state->protocol);
|
vstring_sprintf_append(buf, " proto=%s", state->protocol);
|
||||||
if (state->helo_name)
|
if (state->helo_name)
|
||||||
|
@ -252,6 +252,7 @@
|
|||||||
#include <smtp_stream.h>
|
#include <smtp_stream.h>
|
||||||
#include <attr_override.h>
|
#include <attr_override.h>
|
||||||
#include <map_search.h>
|
#include <map_search.h>
|
||||||
|
#include <info_log_addr_form.h>
|
||||||
|
|
||||||
/* Application-specific. */
|
/* Application-specific. */
|
||||||
|
|
||||||
@ -995,9 +996,11 @@ static void log_whatsup(SMTPD_STATE *state, const char *whatsup,
|
|||||||
state->queue_id ? state->queue_id : "NOQUEUE",
|
state->queue_id ? state->queue_id : "NOQUEUE",
|
||||||
whatsup, state->where, state->namaddr, text);
|
whatsup, state->where, state->namaddr, text);
|
||||||
if (state->sender)
|
if (state->sender)
|
||||||
vstring_sprintf_append(buf, " from=<%s>", state->sender);
|
vstring_sprintf_append(buf, " from=<%s>",
|
||||||
|
info_log_addr_form_sender(state->sender));
|
||||||
if (state->recipient)
|
if (state->recipient)
|
||||||
vstring_sprintf_append(buf, " to=<%s>", state->recipient);
|
vstring_sprintf_append(buf, " to=<%s>",
|
||||||
|
info_log_addr_form_recipient(state->recipient));
|
||||||
if (state->protocol)
|
if (state->protocol)
|
||||||
vstring_sprintf_append(buf, " proto=%s", state->protocol);
|
vstring_sprintf_append(buf, " proto=%s", state->protocol);
|
||||||
if (state->helo_name)
|
if (state->helo_name)
|
||||||
@ -5619,6 +5622,7 @@ char *var_unk_addr_tf_act;
|
|||||||
char *var_unv_rcpt_tf_act;
|
char *var_unv_rcpt_tf_act;
|
||||||
char *var_unv_from_tf_act;
|
char *var_unv_from_tf_act;
|
||||||
char *var_smtpd_acl_perm_log;
|
char *var_smtpd_acl_perm_log;
|
||||||
|
char *var_info_log_addr_form;
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
char *name;
|
char *name;
|
||||||
@ -5674,6 +5678,7 @@ static const STRING_TABLE string_table[] = {
|
|||||||
/* XXX Can't use ``$name'' type default values above. */
|
/* XXX Can't use ``$name'' type default values above. */
|
||||||
VAR_SMTPD_ACL_PERM_LOG, DEF_SMTPD_ACL_PERM_LOG, &var_smtpd_acl_perm_log,
|
VAR_SMTPD_ACL_PERM_LOG, DEF_SMTPD_ACL_PERM_LOG, &var_smtpd_acl_perm_log,
|
||||||
VAR_SMTPD_DNS_RE_FILTER, DEF_SMTPD_DNS_RE_FILTER, &var_smtpd_dns_re_filter,
|
VAR_SMTPD_DNS_RE_FILTER, DEF_SMTPD_DNS_RE_FILTER, &var_smtpd_dns_re_filter,
|
||||||
|
VAR_INFO_LOG_ADDR_FORM, DEF_INFO_LOG_ADDR_FORM, &var_info_log_addr_form,
|
||||||
0,
|
0,
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -5706,7 +5711,7 @@ static int string_update(char **argv)
|
|||||||
/*
|
/*
|
||||||
* Integer parameters.
|
* Integer parameters.
|
||||||
*/
|
*/
|
||||||
int var_queue_minfree; /* XXX use off_t */
|
long var_queue_minfree; /* XXX use off_t */
|
||||||
typedef struct {
|
typedef struct {
|
||||||
char *name;
|
char *name;
|
||||||
int defval;
|
int defval;
|
||||||
|
@ -418,8 +418,7 @@ static int load_pem_object(pem_load_state_t *st)
|
|||||||
&& strcmp(name, PEM_STRING_DSA) == 0)) {
|
&& strcmp(name, PEM_STRING_DSA) == 0)) {
|
||||||
load_pkey(st, pkey_type, buf, buflen);
|
load_pkey(st, pkey_type, buf, buflen);
|
||||||
} else if (!st->mixed) {
|
} else if (!st->mixed) {
|
||||||
msg_warn("error loading %s: unexpected PEM type: %s", st->source, name);
|
msg_warn("loading %s: ignoring PEM type: %s", st->source, name);
|
||||||
st->state = PEM_LOAD_STATE_NOGO;
|
|
||||||
}
|
}
|
||||||
OPENSSL_free(name);
|
OPENSSL_free(name);
|
||||||
OPENSSL_free(header);
|
OPENSSL_free(header);
|
||||||
|
@ -262,6 +262,11 @@
|
|||||||
/* aliasing or with canonical mapping).
|
/* aliasing or with canonical mapping).
|
||||||
/* .IP "\fBservice_name (read-only)\fR"
|
/* .IP "\fBservice_name (read-only)\fR"
|
||||||
/* The master.cf service name of a Postfix daemon process.
|
/* The master.cf service name of a Postfix daemon process.
|
||||||
|
/* .PP
|
||||||
|
/* Available in Postfix 3.5 and later:
|
||||||
|
/* .IP "\fBinfo_log_address_format (external)\fR"
|
||||||
|
/* The email address form that will be used in non-debug logging
|
||||||
|
/* (info, warning, etc.).
|
||||||
/* SEE ALSO
|
/* SEE ALSO
|
||||||
/* qmgr(8), queue manager
|
/* qmgr(8), queue manager
|
||||||
/* bounce(8), delivery status reports
|
/* bounce(8), delivery status reports
|
||||||
|
Loading…
x
Reference in New Issue
Block a user