mirror of
https://github.com/vdukhovni/postfix
synced 2025-08-29 21:27:57 +00:00
postfix-3.1-20151011
This commit is contained in:
parent
8bd03f14f0
commit
93652c83bf
@ -21932,10 +21932,10 @@ Apologies for any names omitted.
|
|||||||
|
|
||||||
20150924
|
20150924
|
||||||
|
|
||||||
Cleanup (introduced: 20060510): eliminated a harmless
|
Cleanup (introduced: 20060510, exposed 20150912): eliminated
|
||||||
warning message "seek error after reading END record: Illegal
|
a harmless warning message "seek error after reading END
|
||||||
seek" from the cleanup server after a check_sender_access
|
record: Illegal seek" from the cleanup server after a
|
||||||
DISCARD action. File: cleanup/cleanup.c.
|
check_sender_access DISCARD action. File: cleanup/cleanup.c.
|
||||||
|
|
||||||
Bugfix (introduced: 20090216-24): incorrect postmulti error
|
Bugfix (introduced: 20090216-24): incorrect postmulti error
|
||||||
message. Reported by Patrik Koetter. Fix by Viktor Dukhovni.
|
message. Reported by Patrik Koetter. Fix by Viktor Dukhovni.
|
||||||
@ -21954,7 +21954,7 @@ Apologies for any names omitted.
|
|||||||
|
|
||||||
Bugfix (introduced: 20031128): xtext_unquote() did not
|
Bugfix (introduced: 20031128): xtext_unquote() did not
|
||||||
propagate error reports from xtext_unquote_append(), causing
|
propagate error reports from xtext_unquote_append(), causing
|
||||||
the decoder to return partial ouput, instead of rejecting
|
the decoder to return partial output, instead of rejecting
|
||||||
malformed input. Fix by Krzysztof Wojta. File: global/xtext.c.
|
malformed input. Fix by Krzysztof Wojta. File: global/xtext.c.
|
||||||
|
|
||||||
20151003
|
20151003
|
||||||
@ -21967,3 +21967,25 @@ Apologies for any names omitted.
|
|||||||
|
|
||||||
Cleanup: added missing "negative" unit tests. Files:
|
Cleanup: added missing "negative" unit tests. Files:
|
||||||
global/xtext.c, global/uxtext.c.
|
global/xtext.c, global/uxtext.c.
|
||||||
|
|
||||||
|
20151004
|
||||||
|
|
||||||
|
Future proofing: use a real VSTRING in the 20150930 header
|
||||||
|
PREPEND fix. File: cleanup/cleanup_message.c.
|
||||||
|
|
||||||
|
Future proofing: make vstring_import() consistent with
|
||||||
|
vstring_alloc(). The alternative would be to remove the
|
||||||
|
function as it is unused and exists only for symmetry with
|
||||||
|
vstring_export(). File: usr/vstring.c.
|
||||||
|
|
||||||
|
20151010
|
||||||
|
|
||||||
|
Cleanup: the 20150903 workaround for AIX DNSSEC used the
|
||||||
|
wrong name in #ifdef. File: dns/dns.h.
|
||||||
|
|
||||||
|
20151011
|
||||||
|
|
||||||
|
Cleanup: in the PCRE client, turn fatal lookup errors into
|
||||||
|
warnings, and skip the failing pattern as in dict_regexp.c.
|
||||||
|
Also, fixed the error text when running into the matcher's
|
||||||
|
backtracking limit. File: util/dict_pcre.c.
|
||||||
|
@ -212,7 +212,7 @@ To find out what database types your Postfix system supports, use the "ppooss
|
|||||||
are created with the postmap(1) or postalias(1) command, and private
|
are created with the postmap(1) or postalias(1) command, and private
|
||||||
databases are maintained by Postfix daemons. The database name as used
|
databases are maintained by Postfix daemons. The database name as used
|
||||||
in "hash:table" is the database file name without the ".db" suffix.
|
in "hash:table" is the database file name without the ".db" suffix.
|
||||||
inline (read-only)
|
iinnlliinnee (read-only)
|
||||||
A non-shared, in-memory lookup table. Example: "inline:{ key=value,
|
A non-shared, in-memory lookup table. Example: "inline:{ key=value,
|
||||||
{ key = text with whitespace or comma }}". Key-value pairs are
|
{ key = text with whitespace or comma }}". Key-value pairs are
|
||||||
separated by whitespace or comma; whitespace after "{" and before "}"
|
separated by whitespace or comma; whitespace after "{" and before "}"
|
||||||
|
@ -313,7 +313,7 @@ private databases are maintained by Postfix daemons. The database
|
|||||||
name as used in "<a href="DATABASE_README.html#types">hash</a>:table" is the database file name without the
|
name as used in "<a href="DATABASE_README.html#types">hash</a>:table" is the database file name without the
|
||||||
".db" suffix. </dd>
|
".db" suffix. </dd>
|
||||||
|
|
||||||
<dt> <b></b>inline (read-only) </dt>
|
<dt> <b>inline</b> (read-only) </dt>
|
||||||
|
|
||||||
<dd> A non-shared, in-memory lookup table. Example: "<a href="DATABASE_README.html#types">inline</a>:{
|
<dd> A non-shared, in-memory lookup table. Example: "<a href="DATABASE_README.html#types">inline</a>:{
|
||||||
<i>key=value</i>, { <i>key = text with whitespace or comma</i> }}".
|
<i>key=value</i>, { <i>key = text with whitespace or comma</i> }}".
|
||||||
|
@ -15597,7 +15597,7 @@ for authentication. The available types are listed with the
|
|||||||
(default: empty)</b></DT><DD>
|
(default: empty)</b></DT><DD>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
Optional lookup table with the SASL login names that own sender
|
Optional lookup table with the SASL login names that own the sender
|
||||||
(MAIL FROM) addresses.
|
(MAIL FROM) addresses.
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
|
@ -10522,7 +10522,7 @@ for authentication. The available types are listed with the
|
|||||||
.PP
|
.PP
|
||||||
This feature is available in Postfix 2.3 and later.
|
This feature is available in Postfix 2.3 and later.
|
||||||
.SH smtpd_sender_login_maps (default: empty)
|
.SH smtpd_sender_login_maps (default: empty)
|
||||||
Optional lookup table with the SASL login names that own sender
|
Optional lookup table with the SASL login names that own the sender
|
||||||
(MAIL FROM) addresses.
|
(MAIL FROM) addresses.
|
||||||
.PP
|
.PP
|
||||||
Specify zero or more "type:name" lookup tables, separated by
|
Specify zero or more "type:name" lookup tables, separated by
|
||||||
|
@ -313,7 +313,7 @@ private databases are maintained by Postfix daemons. The database
|
|||||||
name as used in "hash:table" is the database file name without the
|
name as used in "hash:table" is the database file name without the
|
||||||
".db" suffix. </dd>
|
".db" suffix. </dd>
|
||||||
|
|
||||||
<dt> <b></b>inline (read-only) </dt>
|
<dt> <b>inline</b> (read-only) </dt>
|
||||||
|
|
||||||
<dd> A non-shared, in-memory lookup table. Example: "inline:{
|
<dd> A non-shared, in-memory lookup table. Example: "inline:{
|
||||||
<i>key=value</i>, { <i>key = text with whitespace or comma</i> }}".
|
<i>key=value</i>, { <i>key = text with whitespace or comma</i> }}".
|
||||||
|
@ -6386,7 +6386,7 @@ smtpd_sasl_security_options = noanonymous, noplaintext
|
|||||||
%PARAM smtpd_sender_login_maps
|
%PARAM smtpd_sender_login_maps
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
Optional lookup table with the SASL login names that own sender
|
Optional lookup table with the SASL login names that own the sender
|
||||||
(MAIL FROM) addresses.
|
(MAIL FROM) addresses.
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
|
@ -390,11 +390,18 @@ static const char *cleanup_act(CLEANUP_STATE *state, char *context,
|
|||||||
msg_warn("bad PREPEND header text \"%s\" in %s map -- "
|
msg_warn("bad PREPEND header text \"%s\" in %s map -- "
|
||||||
"need \"headername: headervalue\"",
|
"need \"headername: headervalue\"",
|
||||||
optional_text, map_class);
|
optional_text, map_class);
|
||||||
} else {
|
}
|
||||||
VSTRING *temp; /* XXX Impedance mismatch. */
|
|
||||||
|
/*
|
||||||
|
* By design, cleanup_out_header() may modify content. Play safe
|
||||||
|
* and prepare for future developments.
|
||||||
|
*/
|
||||||
|
else {
|
||||||
|
VSTRING *temp;
|
||||||
|
|
||||||
cleanup_act_log(state, "prepend", context, buf, optional_text);
|
cleanup_act_log(state, "prepend", context, buf, optional_text);
|
||||||
temp = vstring_import(mystrdup(optional_text));
|
temp = vstring_strcpy(vstring_alloc(strlen(optional_text)),
|
||||||
|
optional_text);
|
||||||
cleanup_out_header(state, temp);
|
cleanup_out_header(state, temp);
|
||||||
vstring_free(temp);
|
vstring_free(temp);
|
||||||
}
|
}
|
||||||
|
@ -57,7 +57,7 @@
|
|||||||
/*
|
/*
|
||||||
* Disable DNSSEC at compile-time even if RES_USE_DNSSEC is available
|
* Disable DNSSEC at compile-time even if RES_USE_DNSSEC is available
|
||||||
*/
|
*/
|
||||||
#ifdef DISABLE_DNSSEC
|
#ifdef NO_DNSSEC
|
||||||
#undef RES_USE_DNSSEC
|
#undef RES_USE_DNSSEC
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -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 "20151003"
|
#define MAIL_RELEASE_DATE "20151011"
|
||||||
#define MAIL_VERSION_NUMBER "3.1"
|
#define MAIL_VERSION_NUMBER "3.1"
|
||||||
|
|
||||||
#ifdef SNAPSHOT
|
#ifdef SNAPSHOT
|
||||||
|
@ -223,35 +223,42 @@ static void dict_pcre_exec_error(const char *mapname, int lineno, int errval)
|
|||||||
return;
|
return;
|
||||||
case PCRE_ERROR_NULL:
|
case PCRE_ERROR_NULL:
|
||||||
case PCRE_ERROR_BADOPTION:
|
case PCRE_ERROR_BADOPTION:
|
||||||
msg_fatal("pcre map %s, line %d: bad args to re_exec",
|
msg_warn("pcre map %s, line %d: bad args to re_exec",
|
||||||
mapname, lineno);
|
mapname, lineno);
|
||||||
|
return;
|
||||||
case PCRE_ERROR_BADMAGIC:
|
case PCRE_ERROR_BADMAGIC:
|
||||||
case PCRE_ERROR_UNKNOWN_NODE:
|
case PCRE_ERROR_UNKNOWN_NODE:
|
||||||
msg_fatal("pcre map %s, line %d: corrupt compiled regexp",
|
msg_warn("pcre map %s, line %d: corrupt compiled regexp",
|
||||||
mapname, lineno);
|
mapname, lineno);
|
||||||
|
return;
|
||||||
#ifdef PCRE_ERROR_NOMEMORY
|
#ifdef PCRE_ERROR_NOMEMORY
|
||||||
case PCRE_ERROR_NOMEMORY:
|
case PCRE_ERROR_NOMEMORY:
|
||||||
msg_fatal("pcre map %s, line %d: out of memory",
|
msg_warn("pcre map %s, line %d: out of memory",
|
||||||
mapname, lineno);
|
mapname, lineno);
|
||||||
|
return;
|
||||||
#endif
|
#endif
|
||||||
#ifdef PCRE_ERROR_MATCHLIMIT
|
#ifdef PCRE_ERROR_MATCHLIMIT
|
||||||
case PCRE_ERROR_MATCHLIMIT:
|
case PCRE_ERROR_MATCHLIMIT:
|
||||||
msg_fatal("pcre map %s, line %d: matched text exceeds buffer limit",
|
msg_warn("pcre map %s, line %d: backtracking limit exceeded",
|
||||||
mapname, lineno);
|
mapname, lineno);
|
||||||
|
return;
|
||||||
#endif
|
#endif
|
||||||
#ifdef PCRE_ERROR_BADUTF8
|
#ifdef PCRE_ERROR_BADUTF8
|
||||||
case PCRE_ERROR_BADUTF8:
|
case PCRE_ERROR_BADUTF8:
|
||||||
msg_fatal("pcre map %s, line %d: bad UTF-8 sequence in search string",
|
msg_warn("pcre map %s, line %d: bad UTF-8 sequence in search string",
|
||||||
mapname, lineno);
|
mapname, lineno);
|
||||||
|
return;
|
||||||
#endif
|
#endif
|
||||||
#ifdef PCRE_ERROR_BADUTF8_OFFSET
|
#ifdef PCRE_ERROR_BADUTF8_OFFSET
|
||||||
case PCRE_ERROR_BADUTF8_OFFSET:
|
case PCRE_ERROR_BADUTF8_OFFSET:
|
||||||
msg_fatal("pcre map %s, line %d: bad UTF-8 start offset in search string",
|
msg_warn("pcre map %s, line %d: bad UTF-8 start offset in search string",
|
||||||
mapname, lineno);
|
mapname, lineno);
|
||||||
|
return;
|
||||||
#endif
|
#endif
|
||||||
default:
|
default:
|
||||||
msg_fatal("pcre map %s, line %d: unknown re_exec error: %d",
|
msg_warn("pcre map %s, line %d: unknown re_exec error: %d",
|
||||||
mapname, lineno, errval);
|
mapname, lineno, errval);
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -565,9 +565,14 @@ VSTRING *vstring_import(char *str)
|
|||||||
|
|
||||||
vp = (VSTRING *) mymalloc(sizeof(*vp));
|
vp = (VSTRING *) mymalloc(sizeof(*vp));
|
||||||
len = strlen(str);
|
len = strlen(str);
|
||||||
|
vp->vbuf.flags = 0;
|
||||||
|
vp->vbuf.len = 0;
|
||||||
vp->vbuf.data = (unsigned char *) str;
|
vp->vbuf.data = (unsigned char *) str;
|
||||||
vp->vbuf.len = len + 1;
|
vp->vbuf.len = len + 1;
|
||||||
VSTRING_AT_OFFSET(vp, len);
|
VSTRING_AT_OFFSET(vp, len);
|
||||||
|
vp->vbuf.get_ready = vstring_buf_get_ready;
|
||||||
|
vp->vbuf.put_ready = vstring_buf_put_ready;
|
||||||
|
vp->vbuf.space = vstring_buf_space;
|
||||||
vp->maxlen = 0;
|
vp->maxlen = 0;
|
||||||
return (vp);
|
return (vp);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user