mirror of
https://github.com/vdukhovni/postfix
synced 2025-08-22 18:07:41 +00:00
postfix-2.9-20110322
This commit is contained in:
parent
c1aa0644cc
commit
35087af1fc
@ -16736,5 +16736,12 @@ Apologies for any names omitted.
|
|||||||
which changes once every year or so, a problem that was
|
which changes once every year or so, a problem that was
|
||||||
reported by Victor Duchovni. The base 16 encoding gives
|
reported by Victor Duchovni. The base 16 encoding gives
|
||||||
finer control over the number of directories than possible
|
finer control over the number of directories than possible
|
||||||
with base 52 encoding. Files: global/mail_queue.c. This
|
with base 52 encoding. Files: global/mail_queue.[hc]. This
|
||||||
change requires "postfix reload".
|
change requires "postfix reload".
|
||||||
|
|
||||||
|
20110322
|
||||||
|
|
||||||
|
Cleanup: preserve the microseconds value when renaming
|
||||||
|
long->short or short->short queue file names. As a side
|
||||||
|
benefit, renaming long->short queue IDs will not change the
|
||||||
|
result from queue hashing. File: postsuper/postsuper.c.
|
||||||
|
@ -107,7 +107,7 @@ this:
|
|||||||
body_checks = pcre:/etc/postfix/body_checks
|
body_checks = pcre:/etc/postfix/body_checks
|
||||||
|
|
||||||
/etc/postfix/header_checks:
|
/etc/postfix/header_checks:
|
||||||
# Do not indent the text between "if" and "endif".
|
# Do not indent the patterns between "if" and "endif".
|
||||||
if /^Received:/
|
if /^Received:/
|
||||||
/^Received: +from +(porcupine\.org) +/
|
/^Received: +from +(porcupine\.org) +/
|
||||||
reject forged client name in Received: header: $1
|
reject forged client name in Received: header: $1
|
||||||
@ -122,7 +122,7 @@ this:
|
|||||||
reject forged domain name in Message-ID: header: $1
|
reject forged domain name in Message-ID: header: $1
|
||||||
|
|
||||||
/etc/postfix/body_checks:
|
/etc/postfix/body_checks:
|
||||||
# Do not indent the text between "if" and "endif".
|
# Do not indent the patterns between "if" and "endif".
|
||||||
if /^[> ]*Received:/
|
if /^[> ]*Received:/
|
||||||
/^[> ]*Received: +from +(porcupine\.org) /
|
/^[> ]*Received: +from +(porcupine\.org) /
|
||||||
reject forged client name in Received: header: $1
|
reject forged client name in Received: header: $1
|
||||||
|
@ -184,7 +184,7 @@ patterns like this: </p>
|
|||||||
<a href="postconf.5.html#body_checks">body_checks</a> = <a href="pcre_table.5.html">pcre</a>:/etc/postfix/body_checks
|
<a href="postconf.5.html#body_checks">body_checks</a> = <a href="pcre_table.5.html">pcre</a>:/etc/postfix/body_checks
|
||||||
|
|
||||||
/etc/postfix/header_checks:
|
/etc/postfix/header_checks:
|
||||||
# Do not indent the text between "if" and "endif".
|
# Do not indent the patterns between "if" and "endif".
|
||||||
if /^Received:/
|
if /^Received:/
|
||||||
/^Received: +from +(porcupine\.org) +/
|
/^Received: +from +(porcupine\.org) +/
|
||||||
reject forged client name in Received: header: $1
|
reject forged client name in Received: header: $1
|
||||||
@ -198,7 +198,7 @@ patterns like this: </p>
|
|||||||
reject forged domain name in Message-ID: header: $1
|
reject forged domain name in Message-ID: header: $1
|
||||||
|
|
||||||
/etc/postfix/body_checks:
|
/etc/postfix/body_checks:
|
||||||
# Do not indent the text between "if" and "endif".
|
# Do not indent the patterns between "if" and "endif".
|
||||||
if /^[> ]*Received:/
|
if /^[> ]*Received:/
|
||||||
/^[> ]*Received: +from +(porcupine\.org) /
|
/^[> ]*Received: +from +(porcupine\.org) /
|
||||||
reject forged client name in Received: header: $1
|
reject forged client name in Received: header: $1
|
||||||
|
@ -13895,7 +13895,7 @@ Examples:
|
|||||||
<DT><b><a name="smtpd_service_name">smtpd_service_name</a>
|
<DT><b><a name="smtpd_service_name">smtpd_service_name</a>
|
||||||
(default: smtpd)</b></DT><DD>
|
(default: smtpd)</b></DT><DD>
|
||||||
|
|
||||||
<p> The internal service that <a href="postscreen.8.html">postscreen(8)</a> forwards allowed
|
<p> The internal service that <a href="postscreen.8.html">postscreen(8)</a> hands off allowed
|
||||||
connections to. In a future version there may be different
|
connections to. In a future version there may be different
|
||||||
classes of SMTP service. </p>
|
classes of SMTP service. </p>
|
||||||
|
|
||||||
|
@ -225,7 +225,7 @@ POSTSCREEN(8) POSTSCREEN(8)
|
|||||||
seconds otherwise).
|
seconds otherwise).
|
||||||
|
|
||||||
<b><a href="postconf.5.html#smtpd_service_name">smtpd_service_name</a> (smtpd)</b>
|
<b><a href="postconf.5.html#smtpd_service_name">smtpd_service_name</a> (smtpd)</b>
|
||||||
The internal service that <a href="postscreen.8.html"><b>postscreen</b>(8)</a> forwards
|
The internal service that <a href="postscreen.8.html"><b>postscreen</b>(8)</a> hands off
|
||||||
allowed connections to.
|
allowed connections to.
|
||||||
|
|
||||||
<b>AFTER-GREETING TESTS</b>
|
<b>AFTER-GREETING TESTS</b>
|
||||||
|
@ -8765,7 +8765,7 @@ smtpd_sender_restrictions = reject_unknown_sender_domain,
|
|||||||
.ad
|
.ad
|
||||||
.ft R
|
.ft R
|
||||||
.SH smtpd_service_name (default: smtpd)
|
.SH smtpd_service_name (default: smtpd)
|
||||||
The internal service that \fBpostscreen\fR(8) forwards allowed
|
The internal service that \fBpostscreen\fR(8) hands off allowed
|
||||||
connections to. In a future version there may be different
|
connections to. In a future version there may be different
|
||||||
classes of SMTP service.
|
classes of SMTP service.
|
||||||
.PP
|
.PP
|
||||||
|
@ -222,7 +222,7 @@ client to send a command before its turn, and for DNS blocklist
|
|||||||
lookup results to arrive (default: up to 2 seconds under stress,
|
lookup results to arrive (default: up to 2 seconds under stress,
|
||||||
up to 6 seconds otherwise).
|
up to 6 seconds otherwise).
|
||||||
.IP "\fBsmtpd_service_name (smtpd)\fR"
|
.IP "\fBsmtpd_service_name (smtpd)\fR"
|
||||||
The internal service that \fBpostscreen\fR(8) forwards allowed
|
The internal service that \fBpostscreen\fR(8) hands off allowed
|
||||||
connections to.
|
connections to.
|
||||||
.SH "AFTER-GREETING TESTS"
|
.SH "AFTER-GREETING TESTS"
|
||||||
.na
|
.na
|
||||||
|
@ -184,7 +184,7 @@ patterns like this: </p>
|
|||||||
body_checks = pcre:/etc/postfix/body_checks
|
body_checks = pcre:/etc/postfix/body_checks
|
||||||
|
|
||||||
/etc/postfix/header_checks:
|
/etc/postfix/header_checks:
|
||||||
# Do not indent the text between "if" and "endif".
|
# Do not indent the patterns between "if" and "endif".
|
||||||
if /^Received:/
|
if /^Received:/
|
||||||
/^Received: +from +(porcupine\.org) +/
|
/^Received: +from +(porcupine\.org) +/
|
||||||
reject forged client name in Received: header: $1
|
reject forged client name in Received: header: $1
|
||||||
@ -198,7 +198,7 @@ patterns like this: </p>
|
|||||||
reject forged domain name in Message-ID: header: $1
|
reject forged domain name in Message-ID: header: $1
|
||||||
|
|
||||||
/etc/postfix/body_checks:
|
/etc/postfix/body_checks:
|
||||||
# Do not indent the text between "if" and "endif".
|
# Do not indent the patterns between "if" and "endif".
|
||||||
if /^[> ]*Received:/
|
if /^[> ]*Received:/
|
||||||
/^[> ]*Received: +from +(porcupine\.org) /
|
/^[> ]*Received: +from +(porcupine\.org) /
|
||||||
reject forged client name in Received: header: $1
|
reject forged client name in Received: header: $1
|
||||||
|
@ -12615,7 +12615,7 @@ patch for Postfix 2.6. </p>
|
|||||||
|
|
||||||
%PARAM smtpd_service_name smtpd
|
%PARAM smtpd_service_name smtpd
|
||||||
|
|
||||||
<p> The internal service that postscreen(8) forwards allowed
|
<p> The internal service that postscreen(8) hands off allowed
|
||||||
connections to. In a future version there may be different
|
connections to. In a future version there may be different
|
||||||
classes of SMTP service. </p>
|
classes of SMTP service. </p>
|
||||||
|
|
||||||
|
@ -101,8 +101,8 @@ extern int mail_queue_id_ok(const char *);
|
|||||||
#define MQID_LG_INUM_PAD 0 /* no padding needed */
|
#define MQID_LG_INUM_PAD 0 /* no padding needed */
|
||||||
|
|
||||||
#define MQID_FIND_LG_INUM_SEPARATOR(cp, path) \
|
#define MQID_FIND_LG_INUM_SEPARATOR(cp, path) \
|
||||||
((cp) = strrchr((path), MQID_LG_INUM_SEP)) != 0 \
|
(((cp) = strrchr((path), MQID_LG_INUM_SEP)) != 0 \
|
||||||
&& ((cp) - (path) >= MQID_LG_TIME_PAD)
|
&& ((cp) - (path) >= MQID_LG_TIME_PAD))
|
||||||
|
|
||||||
#define MQID_GET_INUM(path, inum, long_form, error) do { \
|
#define MQID_GET_INUM(path, inum, long_form, error) do { \
|
||||||
char *_cp; \
|
char *_cp; \
|
||||||
|
@ -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 "20110321"
|
#define MAIL_RELEASE_DATE "20110322"
|
||||||
#define MAIL_VERSION_NUMBER "2.9"
|
#define MAIL_VERSION_NUMBER "2.9"
|
||||||
|
|
||||||
#ifdef SNAPSHOT
|
#ifdef SNAPSHOT
|
||||||
|
@ -196,7 +196,7 @@
|
|||||||
/* lookup results to arrive (default: up to 2 seconds under stress,
|
/* lookup results to arrive (default: up to 2 seconds under stress,
|
||||||
/* up to 6 seconds otherwise).
|
/* up to 6 seconds otherwise).
|
||||||
/* .IP "\fBsmtpd_service_name (smtpd)\fR"
|
/* .IP "\fBsmtpd_service_name (smtpd)\fR"
|
||||||
/* The internal service that \fBpostscreen\fR(8) forwards allowed
|
/* The internal service that \fBpostscreen\fR(8) hands off allowed
|
||||||
/* connections to.
|
/* connections to.
|
||||||
/* AFTER-GREETING TESTS
|
/* AFTER-GREETING TESTS
|
||||||
/* .ad
|
/* .ad
|
||||||
|
@ -673,14 +673,20 @@ static int fix_queue_id(const char *actual_path, const char *actual_queue,
|
|||||||
* be deterministic so that we can recover even when the renaming
|
* be deterministic so that we can recover even when the renaming
|
||||||
* operation is interrupted in the middle.
|
* operation is interrupted in the middle.
|
||||||
*/
|
*/
|
||||||
if (MQID_FIND_LG_INUM_SEPARATOR(cp, actual_id) && var_long_queue_ids) {
|
if (MQID_FIND_LG_INUM_SEPARATOR(cp, actual_id) == 0) {
|
||||||
|
/* Short->short queue ID. Replace the inode portion. */
|
||||||
|
vstring_sprintf(new_id, "%.*s%s",
|
||||||
|
MQID_SH_USEC_PAD, actual_id,
|
||||||
|
get_file_id_st(st, 0));
|
||||||
|
} else if (var_long_queue_ids) {
|
||||||
|
/* Long->long queue ID. Replace the inode portion. */
|
||||||
vstring_sprintf(new_id, "%.*s%c%s",
|
vstring_sprintf(new_id, "%.*s%c%s",
|
||||||
(int) (cp - actual_id), actual_id, MQID_LG_INUM_SEP,
|
(int) (cp - actual_id), actual_id, MQID_LG_INUM_SEP,
|
||||||
get_file_id_st(st, 1));
|
get_file_id_st(st, 1));
|
||||||
} else {
|
} else {
|
||||||
vstring_sprintf(new_id, "%0*X%s",
|
/* Long->short queue ID. Reformat time and replace inode portion. */
|
||||||
MQID_SH_USEC_PAD, myrand() % 1000000,
|
MQID_LG_GET_HEX_USEC(new_id, cp);
|
||||||
get_file_id_st(st, 0));
|
vstring_strcat(new_id, get_file_id_st(st, 0));
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
Loading…
x
Reference in New Issue
Block a user