2
0
mirror of https://github.com/vdukhovni/postfix synced 2025-09-02 07:05:27 +00:00

postfix-2.12-20150122

This commit is contained in:
Wietse Venema
2015-01-22 00:00:00 -05:00
committed by Viktor Dukhovni
parent 0499a5b80b
commit 939c68958c
23 changed files with 52 additions and 36 deletions

View File

@@ -21443,3 +21443,12 @@ Apologies for any names omitted.
error handling with longjmp() calls. This could introduce error handling with longjmp() calls. This could introduce
memory leaks in check_mumble_access() callers. Files: memory leaks in check_mumble_access() callers. Files:
smtpd/smtpd_check.c, smtpd/smtpd_error.ref. smtpd/smtpd_check.c, smtpd/smtpd_error.ref.
20140122
Cleanup: miscellaneous cruft, typos, comments, error messages.
proto/COMPATIBILITY_README.html, global/addr_match_list.c,
global/domain_list.c, global/namadr_list.c, global/string_list.c,
global/user_acl.c, postalias/postalias.c, postmap/postmap.c,
tls/tls_client.c, util/dict_alloc.c, util/dict_open.c,
util/match_list.c.

View File

@@ -1,4 +1,4 @@
PPoossttffiixx BBaacckkwwaarrddss--CCoommppaattiibbiilliittyy SSaaffttyy NNeett PPoossttffiixx BBaacckkwwaarrddss--CCoommppaattiibbiilliittyy SSaaffeettyy NNeett
------------------------------------------------------------------------------- -------------------------------------------------------------------------------

View File

@@ -8,8 +8,8 @@ Wish list:
Things to do after the stable release: Things to do after the stable release:
Back out check_dict_get() because the longjmp() calls Update smtpd command count when rejecting input before
introduce memory leaks upstream. command-table lookup.
postconf -P: emit '{ name = value }' when editing/adding a postconf -P: emit '{ name = value }' when editing/adding a
parameter whose new value contains whitespace. parameter whose new value contains whitespace.

View File

@@ -5,7 +5,7 @@
<head> <head>
<title>Postfix Backwards-Compatibility Safty Net</title> <title>Postfix Backwards-Compatibility Safety Net</title>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii"> <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
@@ -14,7 +14,7 @@
<body> <body>
<h1><img src="postfix-logo.jpg" width="203" height="98" ALT="">Postfix <h1><img src="postfix-logo.jpg" width="203" height="98" ALT="">Postfix
Backwards-Compatibility Safty Net</h1> Backwards-Compatibility Safety Net</h1>
<hr> <hr>

View File

@@ -5,7 +5,7 @@
<head> <head>
<title>Postfix Backwards-Compatibility Safty Net</title> <title>Postfix Backwards-Compatibility Safety Net</title>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii"> <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
@@ -14,7 +14,7 @@
<body> <body>
<h1><img src="postfix-logo.jpg" width="203" height="98" ALT="">Postfix <h1><img src="postfix-logo.jpg" width="203" height="98" ALT="">Postfix
Backwards-Compatibility Safty Net</h1> Backwards-Compatibility Safety Net</h1>
<hr> <hr>

View File

@@ -6,7 +6,8 @@
/* SYNOPSIS /* SYNOPSIS
/* #include <addr_match_list.h> /* #include <addr_match_list.h>
/* /*
/* ADDR_MATCH_LIST *addr_match_list_init(flags, pattern_list) /* ADDR_MATCH_LIST *addr_match_list_init(pname, flags, pattern_list)
/* const char *pname;
/* int flags; /* int flags;
/* const char *pattern_list; /* const char *pattern_list;
/* /*
@@ -34,7 +35,8 @@
/* A host matches a list when its address matches a pattern. /* A host matches a list when its address matches a pattern.
/* The matching process is case insensitive. /* The matching process is case insensitive.
/* /*
/* addr_match_list_init() performs initializations. The first /* addr_match_list_init() performs initializations. The pname
/* argument specifies error reporting context. The flags
/* argument is the bit-wise OR of zero or more of the following: /* argument is the bit-wise OR of zero or more of the following:
/* .IP MATCH_FLAG_RETURN /* .IP MATCH_FLAG_RETURN
/* Request that addr_match_list_match() logs a warning and /* Request that addr_match_list_match() logs a warning and
@@ -42,7 +44,7 @@
/* error code, instead of raising a fatal error. /* error code, instead of raising a fatal error.
/* .PP /* .PP
/* Specify MATCH_FLAG_NONE to request none of the above. /* Specify MATCH_FLAG_NONE to request none of the above.
/* The second argument is a list of patterns, or the absolute /* The last argument is a list of patterns, or the absolute
/* pathname of a file with patterns. /* pathname of a file with patterns.
/* /*
/* addr_match_list_match() matches the specified host address /* addr_match_list_match() matches the specified host address

View File

@@ -6,7 +6,8 @@
/* SYNOPSIS /* SYNOPSIS
/* #include <domain_list.h> /* #include <domain_list.h>
/* /*
/* DOMAIN_LIST *domain_list_init(flags, pattern_list) /* DOMAIN_LIST *domain_list_init(pname, flags, pattern_list)
/* const char *pname;
/* int flags; /* int flags;
/* const char *pattern_list; /* const char *pattern_list;
/* /*
@@ -33,7 +34,8 @@
/* insensitive. In order to reverse the result, precede a /* insensitive. In order to reverse the result, precede a
/* pattern with an exclamation point (!). /* pattern with an exclamation point (!).
/* /*
/* domain_list_init() performs initializations. The first argument /* domain_list_init() performs initializations. The pname
/* argument specifies error reporting context. The flags argument
/* is the bit-wise OR of zero or more of the following: /* is the bit-wise OR of zero or more of the following:
/* .IP MATCH_FLAG_PARENT /* .IP MATCH_FLAG_PARENT
/* The hostname pattern foo.com matches itself and any name below /* The hostname pattern foo.com matches itself and any name below
@@ -45,7 +47,7 @@
/* code, instead of raising a fatal error. /* code, instead of raising a fatal error.
/* .PP /* .PP
/* Specify MATCH_FLAG_NONE to request none of the above. /* Specify MATCH_FLAG_NONE to request none of the above.
/* The second argument is a list of domain patterns, or the name of /* The last argument is a list of domain patterns, or the name of
/* a file containing domain patterns. /* a file containing domain patterns.
/* /*
/* domain_list_match() matches the specified host or domain name /* domain_list_match() matches the specified host or domain name

View File

@@ -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 "20150121" #define MAIL_RELEASE_DATE "20150122"
#define MAIL_VERSION_NUMBER "2.12" #define MAIL_VERSION_NUMBER "2.12"
#ifdef SNAPSHOT #ifdef SNAPSHOT

View File

@@ -6,7 +6,8 @@
/* SYNOPSIS /* SYNOPSIS
/* #include <namadr_list.h> /* #include <namadr_list.h>
/* /*
/* NAMADR_LIST *namadr_list_init(flags, pattern_list) /* NAMADR_LIST *namadr_list_init(pname, flags, pattern_list)
/* const char *pname;
/* int flags; /* int flags;
/* const char *pattern_list; /* const char *pattern_list;
/* /*
@@ -38,7 +39,8 @@
/* a pattern, or when any of its parent domains matches a /* a pattern, or when any of its parent domains matches a
/* pattern. The matching process is case insensitive. /* pattern. The matching process is case insensitive.
/* /*
/* namadr_list_init() performs initializations. The first /* namadr_list_init() performs initializations. The pname
/* argument specifies error reporting context. The flags
/* argument is the bit-wise OR of zero or more of the /* argument is the bit-wise OR of zero or more of the
/* following: /* following:
/* .IP MATCH_FLAG_PARENT /* .IP MATCH_FLAG_PARENT
@@ -51,7 +53,7 @@
/* code, instead of raising a fatal error. /* code, instead of raising a fatal error.
/* .PP /* .PP
/* Specify MATCH_FLAG_NONE to request none of the above. /* Specify MATCH_FLAG_NONE to request none of the above.
/* The second argument is a list of patterns, or the absolute /* The last argument is a list of patterns, or the absolute
/* pathname of a file with patterns. /* pathname of a file with patterns.
/* /*
/* namadr_list_match() matches the specified host name and /* namadr_list_match() matches the specified host name and

View File

@@ -6,7 +6,8 @@
/* SYNOPSIS /* SYNOPSIS
/* #include <string_list.h> /* #include <string_list.h>
/* /*
/* STRING_LIST *string_list_init(flags, pattern_list) /* STRING_LIST *string_list_init(pname, flags, pattern_list)
/* const char *pname;
/* int flags; /* int flags;
/* const char *pattern_list; /* const char *pattern_list;
/* /*
@@ -31,7 +32,8 @@
/* In order to reverse the result, precede a pattern with an /* In order to reverse the result, precede a pattern with an
/* exclamation point (!). /* exclamation point (!).
/* /*
/* string_list_init() performs initializations. The first argument /* string_list_init() performs initializations. The pname
/* argument specifies error reporting context. The flags argument
/* is a bit-wise OR of zero or more of following: /* is a bit-wise OR of zero or more of following:
/* .IP MATCH_FLAG_RETURN /* .IP MATCH_FLAG_RETURN
/* Request that string_list_match() logs a warning and returns /* Request that string_list_match() logs a warning and returns
@@ -39,7 +41,7 @@
/* code, instead of raising a fatal error. /* code, instead of raising a fatal error.
/* .PP /* .PP
/* Specify MATCH_FLAG_NONE to request none of the above. /* Specify MATCH_FLAG_NONE to request none of the above.
/* The second argument specifies a list of string patterns. /* The last argument specifies a list of string patterns.
/* /*
/* string_list_match() matches the specified string against the /* string_list_match() matches the specified string against the
/* compiled pattern list. /* compiled pattern list.

View File

@@ -7,7 +7,7 @@
/* #include <user_acl.h> /* #include <user_acl.h>
/* /*
/* const char *check_user_acl_byuid(pname, acl, uid) /* const char *check_user_acl_byuid(pname, acl, uid)
/* cobnst char *pname; /* const char *pname;
/* const char *acl; /* const char *acl;
/* uid_t uid; /* uid_t uid;
/* DESCRIPTION /* DESCRIPTION

View File

@@ -351,7 +351,8 @@ static void postalias(char *map_type, char *path_name, int postalias_flags,
if ((mkmap->dict->flags & DICT_FLAG_UTF8_ACTIVE) if ((mkmap->dict->flags & DICT_FLAG_UTF8_ACTIVE)
&& !allascii(STR(line_buffer)) && !allascii(STR(line_buffer))
&& !valid_utf8_string(STR(line_buffer), LEN(line_buffer))) { && !valid_utf8_string(STR(line_buffer), LEN(line_buffer))) {
msg_warn("%s, line %d: non-UTF-8 input \"%s\"", msg_warn("%s, line %d: non-UTF-8 input \"%s\""
" -- ignoring this line",
VSTREAM_PATH(source_fp), lineno, STR(line_buffer)); VSTREAM_PATH(source_fp), lineno, STR(line_buffer));
continue; continue;
} }

View File

@@ -1 +1 @@
./postconf: fatal: invalid private field X" in "bar inet X n n - 0 other" ./postconf: fatal: invalid private field "X" in "bar inet X n n - 0 other"

View File

@@ -1 +1 @@
./postconf: fatal: invalid unprivileged field X" in "bar inet - X n - 0 other" ./postconf: fatal: invalid unprivileged field "X" in "bar inet - X n - 0 other"

View File

@@ -1 +1 @@
./postconf: fatal: invalid chroot field X" in "bar inet - n X - 0 other" ./postconf: fatal: invalid chroot field "X" in "bar inet - n X - 0 other"

View File

@@ -1 +1 @@
./postconf: fatal: invalid wakeup field X" in "bar inet - n n X 0 other" ./postconf: fatal: invalid wakeup field "X" in "bar inet - n n X 0 other"

View File

@@ -1 +1 @@
./postconf: fatal: invalid process_limit field X" in "bar inet - n n - X other" ./postconf: fatal: invalid process_limit field "X" in "bar inet - n n - X other"

View File

@@ -1 +1 @@
./postconf: fatal: invalid wakeup field X?" in "bar inet - n n X? 0 other" ./postconf: fatal: invalid wakeup field "X?" in "bar inet - n n X? 0 other"

View File

@@ -427,7 +427,8 @@ static void postmap(char *map_type, char *path_name, int postmap_flags,
if ((mkmap->dict->flags & DICT_FLAG_UTF8_ACTIVE) if ((mkmap->dict->flags & DICT_FLAG_UTF8_ACTIVE)
&& !allascii(STR(line_buffer)) && !allascii(STR(line_buffer))
&& !valid_utf8_string(STR(line_buffer), LEN(line_buffer))) { && !valid_utf8_string(STR(line_buffer), LEN(line_buffer))) {
msg_warn("%s, line %d: non-UTF-8 input \"%s\"", msg_warn("%s, line %d: non-UTF-8 input \"%s\""
" -- ignoring this line",
VSTREAM_PATH(source_fp), lineno, STR(line_buffer)); VSTREAM_PATH(source_fp), lineno, STR(line_buffer));
continue; continue;
} }

View File

@@ -573,8 +573,7 @@ static int match_servername(const char *certid,
* *
* IDNA2008 does not permit (upper) case and other variant * IDNA2008 does not permit (upper) case and other variant
* differences in U-labels. The midna_domain_to_ascii() function, * differences in U-labels. The midna_domain_to_ascii() function,
* based on UTS46, midna_domain_to_ascii() normalizes the * based on UTS46, normalizes such differences away.
* differences away.
* *
* The IDNA to_ASCII conversion does not allow empty leading labels, * The IDNA to_ASCII conversion does not allow empty leading labels,
* so we handle these explicitly here. * so we handle these explicitly here.

View File

@@ -134,9 +134,7 @@ static void dict_default_close(DICT *dict)
DICT *dict_alloc(const char *dict_type, const char *dict_name, ssize_t size) DICT *dict_alloc(const char *dict_type, const char *dict_name, ssize_t size)
{ {
extern int util_utf8_enable; DICT *dict = (DICT *) mymalloc(size);
DICT *dict = (DICT *) mymalloc(util_utf8_enable ?
size + sizeof(DICT_UTF8_BACKUP) : size);
dict->type = mystrdup(dict_type); dict->type = mystrdup(dict_type);
dict->name = mystrdup(dict_name); dict->name = mystrdup(dict_name);

View File

@@ -156,7 +156,7 @@
/* and must trap exceptions from the database client with dict_setjmp(). /* and must trap exceptions from the database client with dict_setjmp().
/* .IP DICT_FLAG_DEBUG /* .IP DICT_FLAG_DEBUG
/* Enable additional logging. /* Enable additional logging.
/* .IP DICT_FLAG_UTF8_ENABLE /* .IP DICT_FLAG_UTF8_REQUEST
/* With util_utf8_enable != 0, require that lookup/update/delete /* With util_utf8_enable != 0, require that lookup/update/delete
/* keys and values are valid UTF-8. Skip a lookup/update/delete /* keys and values are valid UTF-8. Skip a lookup/update/delete
/* request with a non-UTF-8 key, skip an update request with /* request with a non-UTF-8 key, skip an update request with

View File

@@ -46,7 +46,7 @@
/* /*
/* Arguments: /* Arguments:
/* .IP pname /* .IP pname
/* Parameter name or other identiying information that is /* Parameter name or other identifying information that is
/* prepended to error messages. /* prepended to error messages.
/* .IP flags /* .IP flags
/* Specifies the bit-wise OR of zero or more of the following: /* Specifies the bit-wise OR of zero or more of the following: