2
0
mirror of https://github.com/vdukhovni/postfix synced 2025-09-01 22:55:29 +00:00

postfix-2.12-20141020

This commit is contained in:
Wietse Venema
2014-10-20 00:00:00 -05:00
committed by Viktor Dukhovni
parent e4699078cf
commit 291b3d6190
13 changed files with 49 additions and 53 deletions

View File

@@ -20685,3 +20685,14 @@ Apologies for any names omitted.
Cleanup: replace dozens and dozens of ad-hoc string constants
with CHARS_SPACE, CHARS_COMMA_SP, and CHARS_BRACE. Files:
52, too many files to mention here.
Bugfix: the recently-introduced randmap, pipemap, and
unionmap did not check for all possible forms of "empty
list". Files: util/dict_random.c, util/dict_pipe.c,
util/dict_union.c.
Documentation: word smithing. File: proto/master.
Cleanup: the last remaining remnants of the withdrawn
smtp_tls_fallback_level feature. Files: mantools/postlink,
global/mail_params.h.

View File

@@ -59,16 +59,6 @@ Maintainers may also benefit from the makedefs documentation
(mantools/srctoman - makedefs | nroff -man | less) with information
about build options that are not described in the INSTALL instructions.
Incompatible changes with snapshot 20141013
===========================================
Headers prepended with the access/policy PREPEND action are now
added BELOW Postfix's own Received: header. This ensures a) that
Postfix's own Received: header remains hidden from Milters as
required by the Milter protocol, and b) that PREPENDed headers
become visible to Milters, as expected by DMARC implementations
based on SPF policy plus DKIM milter.
Major changes with snapshot 20141011
====================================

View File

@@ -20,11 +20,6 @@ Wish list:
Eliminate code duplication between pcf_print_master_field()
and pcf_print_master_entry().
Introduce constants to replace all the ad-hoc ", \t\r\n"
etc. for tokenization. That will have to go into an "util"
file because match_strings(3), dict_pipe(3) and dict_random(3)
depend on these definitions.
Error reporting: see if pcf_check_master_entry() and children
can return error descriptions instead of terminating with
a fatal error.

View File

@@ -188,29 +188,30 @@ MASTER(5) MASTER(5)
etc., just like in <a href="postconf.5.html">main.cf</a>. See <a href="postconf.5.html"><b>postconf</b>(5)</a> for syntax.
NOTE 1: With the "long form" shown above, whitespace
after "{" and before "}" is ignored.
after "{", around "=", and before "}" is ignored, and
whitespace within the parameter value is preserved.
NOTE 2: with the "short form" shown above, do not specify
whitespace around the "=" or in parameter values. To
specify a parameter value that contains whitespace, use
commas instead of spaces, or specify the value in
<a href="postconf.5.html">main.cf</a>. Example:
whitespace around the "=" or in parameter values. To
specify a parameter value that contains whitespace, use
the long form described above, or use commas instead of
spaces, or specify the value in <a href="postconf.5.html">main.cf</a>. Example:
/etc/postfix/<a href="master.5.html">master.cf</a>:
submission inet .... smtpd
-o smtpd_mumble=$submission_mumble
-o smtpd_xxx_yyy=$submission_xxx_yyy
/etc/postfix/<a href="postconf.5.html">main.cf</a>
submission_mumble = text with whitespace...
submission_xxx_yyy = text with whitespace...
NOTE 3: Over-zealous use of parameter overrides makes the
Postfix configuration hard to understand and maintain.
At a certain point, it might be easier to configure mul-
Postfix configuration hard to understand and maintain.
At a certain point, it might be easier to configure mul-
tiple instances of Postfix, instead of configuring multi-
ple personalities via <a href="master.5.html">master.cf</a>.
<b>-v</b> Increase the verbose logging level. Specify multiple <b>-v</b>
options to make a Postfix daemon process increasingly
<b>-v</b> Increase the verbose logging level. Specify multiple <b>-v</b>
options to make a Postfix daemon process increasingly
verbose.
Other command-line arguments

View File

@@ -190,21 +190,22 @@ etc., just like in main.cf. See \fBpostconf\fR(5) for
syntax.
.sp
NOTE 1: With the "long form" shown above, whitespace
after "{" and before "}" is ignored.
after "{", around "=", and before "}" is ignored, and
whitespace within the parameter value is preserved.
.sp
NOTE 2: with the "short form" shown above, do not specify
whitespace around the "=" or in
parameter values. To specify a parameter value that contains
whitespace, use commas instead of spaces, or specify the
value in main.cf. Example:
whitespace, use the long form described above, or use commas
instead of spaces, or specify the value in main.cf. Example:
.sp
.nf
/etc/postfix/master.cf:
submission inet .... smtpd
-o smtpd_mumble=$submission_mumble
-o smtpd_xxx_yyy=$submission_xxx_yyy
.sp
/etc/postfix/main.cf
submission_mumble = text with whitespace...
submission_xxx_yyy = text with whitespace...
.fi
.sp
NOTE 3: Over-zealous use of parameter overrides makes the

View File

@@ -633,8 +633,6 @@ while (<>) {
s;\bsmtp_starttls_timeout\b;<a href="postconf.5.html#smtp_starttls_timeout">$&</a>;g;
s;\bsmtp_tls_CAfile\b;<a href="postconf.5.html#smtp_tls_CAfile">$&</a>;g;
s;\bsmtp_tls_CApath\b;<a href="postconf.5.html#smtp_tls_CApath">$&</a>;g;
s;\bsmtp_tls_fallback_level\b;<a href="postconf.5.html#smtp_tls_fallback_level">$&</a>;g;
s;\blmtp_tls_fallback_level\b;<a href="postconf.5.html#lmtp_tls_fallback_level">$&</a>;g;
s;\bsmtp_tls_cert_file\b;<a href="postconf.5.html#smtp_tls_cert_file">$&</a>;g;
s;\bsmtp_tls_fingerprint_digest\b;<a href="postconf.5.html#smtp_tls_fingerprint_digest">$&</a>;g;
s;\bsmtp_tls_protocols\b;<a href="postconf.5.html#smtp_tls_protocols">$&</a>;g;

View File

@@ -184,21 +184,22 @@
# syntax.
# .sp
# NOTE 1: With the "long form" shown above, whitespace
# after "{" and before "}" is ignored.
# after "{", around "=", and before "}" is ignored, and
# whitespace within the parameter value is preserved.
# .sp
# NOTE 2: with the "short form" shown above, do not specify
# whitespace around the "=" or in
# parameter values. To specify a parameter value that contains
# whitespace, use commas instead of spaces, or specify the
# value in main.cf. Example:
# whitespace, use the long form described above, or use commas
# instead of spaces, or specify the value in main.cf. Example:
# .sp
# .nf
# /etc/postfix/master.cf:
# submission inet .... smtpd
# -o smtpd_mumble=$submission_mumble
# -o smtpd_xxx_yyy=$submission_xxx_yyy
# .sp
# /etc/postfix/main.cf
# submission_mumble = text with whitespace...
# submission_xxx_yyy = text with whitespace...
# .fi
# .sp
# NOTE 3: Over-zealous use of parameter overrides makes the

View File

@@ -1402,12 +1402,6 @@ extern bool var_smtp_tls_enforce_peername;
#define DEF_LMTP_TLS_LEVEL ""
extern char *var_smtp_tls_level;
#define VAR_SMTP_TLS_FBACK_LEVEL "smtp_tls_fallback_level"
#define DEF_SMTP_TLS_FBACK_LEVEL ""
#define VAR_LMTP_TLS_FBACK_LEVEL "lmtp_tls_fallback_level"
#define DEF_LMTP_TLS_FBACK_LEVEL ""
extern char *var_smtp_tls_fback_level;
#define VAR_SMTP_TLS_SCERT_VD "smtp_tls_scert_verifydepth"
#define DEF_SMTP_TLS_SCERT_VD 9
#define VAR_LMTP_TLS_SCERT_VD "lmtp_tls_scert_verifydepth"

View File

@@ -20,7 +20,7 @@
* Patches change both the patchlevel and the release date. Snapshots have no
* patchlevel; they change the release date only.
*/
#define MAIL_RELEASE_DATE "20141019"
#define MAIL_RELEASE_DATE "20141020"
#define MAIL_VERSION_NUMBER "2.12"
#ifdef SNAPSHOT

View File

@@ -3210,7 +3210,6 @@ static int data_cmd(SMTPD_STATE *state, int argc, SMTPD_TOKEN *unused_argv)
"\t(envelope-from %s)", STR(state->buffer));
#endif
}
smtpd_chat_reply(state, "354 End data with <CR><LF>.<CR><LF>");
state->where = SMTPD_AFTER_DATA;

View File

@@ -135,11 +135,14 @@ DICT *dict_pipe_open(const char *name, int open_flags, int dict_flags)
open_flags, dict_flags,
"%s:%s map requires O_RDONLY access mode",
DICT_TYPE_PIPE, name));
/*
* Split the table name into its constituent parts.
*/
if ((len = balpar(name, CHARS_BRACE)) == 0 || name[len] != 0
|| *(saved_name = mystrndup(name + 1, len - 2)) == 0)
|| *(saved_name = mystrndup(name + 1, len - 2)) == 0
|| ((argv = argv_splitq(saved_name, CHARS_COMMA_SP, CHARS_BRACE)),
(argv->argc == 0)))
DICT_PIPE_RETURN(dict_surrogate(DICT_TYPE_PIPE, name,
open_flags, dict_flags,
"bad syntax: \"%s:%s\"; "
@@ -152,7 +155,6 @@ DICT *dict_pipe_open(const char *name, int open_flags, int dict_flags)
* level. The first table determines the pattern-matching flags.
*/
DICT_OWNER_AGGREGATE_INIT(aggr_owner);
argv = argv_splitq(saved_name, CHARS_COMMA_SP, CHARS_BRACE);
for (cpp = argv->argv; (dict_type_name = *cpp) != 0; cpp++) {
if (msg_verbose)
msg_info("%s: %s", myname, dict_type_name);

View File

@@ -81,6 +81,7 @@ DICT *dict_random_open(const char *name, int open_flags, int dict_flags)
{
DICT_RANDOM *dict_random;
char *saved_name = 0;
ARGV *argv;
size_t len;
/*
@@ -105,11 +106,13 @@ DICT *dict_random_open(const char *name, int open_flags, int dict_flags)
* Split the name name into its constituent parts.
*/
if ((len = balpar(name, CHARS_BRACE)) == 0 || name[len] != 0
|| *(saved_name = mystrndup(name + 1, len - 2)) == 0)
|| *(saved_name = mystrndup(name + 1, len - 2)) == 0
|| ((argv = argv_splitq(saved_name, CHARS_COMMA_SP, CHARS_BRACE)),
(argv->argc == 0)))
DICT_RANDOM_RETURN(dict_surrogate(DICT_TYPE_RANDOM, name,
open_flags, dict_flags,
"bad syntax: \"%s:%s\"; "
"need \"%s:{type:name...}\"",
"need \"%s:{value...}\"",
DICT_TYPE_RANDOM, name,
DICT_TYPE_RANDOM));
@@ -121,7 +124,7 @@ DICT *dict_random_open(const char *name, int open_flags, int dict_flags)
dict_random->dict.lookup = dict_random_lookup;
dict_random->dict.close = dict_random_close;
dict_random->dict.flags = dict_flags | DICT_FLAG_PATTERN;
dict_random->replies = argv_splitq(saved_name, CHARS_COMMA_SP, CHARS_BRACE);
dict_random->replies = argv;
dict_random->dict.owner.status = DICT_OWNER_TRUSTED;
dict_random->dict.owner.uid = 0;

View File

@@ -146,7 +146,9 @@ DICT *dict_union_open(const char *name, int open_flags, int dict_flags)
* Split the table name into its constituent parts.
*/
if ((len = balpar(name, CHARS_BRACE)) == 0 || name[len] != 0
|| *(saved_name = mystrndup(name + 1, len - 2)) == 0)
|| *(saved_name = mystrndup(name + 1, len - 2)) == 0
|| ((argv = argv_splitq(saved_name, CHARS_COMMA_SP, CHARS_BRACE)),
(argv->argc == 0)))
DICT_UNION_RETURN(dict_surrogate(DICT_TYPE_UNION, name,
open_flags, dict_flags,
"bad syntax: \"%s:%s\"; "
@@ -159,7 +161,6 @@ DICT *dict_union_open(const char *name, int open_flags, int dict_flags)
* level. The first table determines the pattern-matching flags.
*/
DICT_OWNER_AGGREGATE_INIT(aggr_owner);
argv = argv_splitq(saved_name, CHARS_COMMA_SP, CHARS_BRACE);
for (cpp = argv->argv; (dict_type_name = *cpp) != 0; cpp++) {
if (msg_verbose)
msg_info("%s: %s", myname, dict_type_name);