Remove `-p' from mkdir arguments, it is already part of ${MKDIR}.
While here substitute a couple of ${PREFIX} by `%D' in
`@exec ${MKDIR} ...' lines and add a couple of missing `%D' in such lines too!
* Cleanup: Mailbox-Line: message header labels should be X-Mailbox-Line: labels
* The SMTP server now disallows RCPT TO:<"">, just like it disallows RCPT TO:<>
* Replace domain.name by domain.tld in the example config files
* The Postfix sendmail command did not export the MAIL_CONFIG environment
setting to the postdrop command
- Bugfix: the new code for header address quoting sometimes did
not null terminate strings so that arbitrary garbage could appear
at the end of message headers.
- Safety: user@domain@domain is no longer accepted by the
permit_mx_backup UCE restriction (unless Postfix is configured
with "resolve_dequoted_address = no").
* add a MESSAGE file to describe how to activate postfix (pkg/13335)
Changes:
* Close user@domain@postfix-style.virtual.domain source routing relaying
loophole involving postfix-style virtual domains with @virtual.domain
catch-all patterns
* mail_addr_map() used the "wrong" @ character in addresses with multiple @.
* For address localpart quoting, now quote @ as a special character
everywhere, except when resolving addresses. Previously, the @ was nowhere
quoted as a special character, not even in SMTP commands.
* Don't allow an OK access rule lookup result for
user@domain@postfix-style.virtual.domain.
* Quote unquoted address localparts that need quoting.
* The SMTP client logged and bounced the CNAME expanded recipient address,
and thereby complicated trouble shooting.
* The SMTP and LMTP clients bounced the quoted recipient address, resulting
in too much quoting in bounce reports.
* The LDAP client used the "wrong" @ character in addresses with multiple @.
* Forwards "postqueue -r" compatibility with the additional queue file
records that are stored by snapshot 20050512.
* Specify "resolve_dequoted_address = no" to prevent Postfix from looking
inside quotes for extra @ etc. characters when resolving an address.
This behavior is technically more correct, but it opens a mail relay
loophole with "user @domain"@domain when relaying mail to a Sendmail system.
- Postfix no longer attempts to build with GDBM support
- The Postfix SMTP client forgot to quote whitespace etc. in a
sender or recipient address when DNS lookup was turned off
- Better error reporting in the postqueue command
- Violation of the defer_transports setting: the flush server could
trigger mail delivery (as if ETRN was sent) while doing some internal
housekeeping of per-destination logfiles.
- Virtual mapping was broken for addresses with embedded whitespace
in the recipient local part.
- When the super-user runs "mailq" or "postqueue -p" (list mail
queue) while the mail system is down, the postqueue command runs
the showq command directly. However, postqueue did not pass on
non-default configuration directory settings to the showq command,
so that showq would report the default mail queue instead.
- The new code avoids problems with SMTP servers that will not
receive mail with lines longer than the 1000 characters that are
allowed by the SMTP standard.
- The new code is more graceful in the handling of abnormally long
message headers. It will no longer switch from "message header"
to "message body" mode in the middle of an abnormally long message
header line.
- With patch 04, automatic change detection of DBM files was slightly
broken (incremental updates would no longer be detected). The
fix is to use separate file handles for locking and for change
detection.
- The trivial-rewrite server could dereference a dangling pointer
after stripping a source route (@domain,domain:) from an address
while append_at_myorigin=no. Although this setting is unsupported,
Postfix should not SIGSEGV anyway.
- The SMTP server replied with 552 (too much mail) when rejecting
mail content. The SMTP standard defines no reply code for this
situation, but one could argue that 550 is more appropriate. And
so it shall be.
Major changes with release-20010228
===================================
Postfix produces DSN formatted bounced/delayed mail notifications.
The human-readable text still exists, so that users will not have
to be unnecessarily confused by all the ugliness of RFC 1894. Full
DSN support will be later.
This release introduces full content filtering through an external
process. This involves an incompatible change in queue file format.
Mail is delivered to content filtering software via an existing
mail delivery agent, and is re-injected into Postfix via an existing
mail submission agent. See examples in the FILTER_README file.
Depending on how the filter is implemented, you can expect to lose
a factor of 2 to 4 in delivery performance of SMTP transit mail,
more if the content filtering software needs lots of CPU or memory.
Specify "body_checks = regexp:/etc/postfix/body_checks" for a quick
and dirty emergency content filter that looks at non-header lines
one line at a time (including MIME headers inside the message body).
Details in conf/sample-filter.cf.
The header_checks and body_checks features can be used to strip
out unwanted data. Specify IGNORE on the right-hand side and the
data will disappear from the mail.
Support for SASL (RFC 2554) authentication in the SMTP server and
in the SMTP and LMTP clients. See the SASL_README file for more
details. This file still needs better examples.
Postfix now ships with an LMTP delivery agent that can deliver over
local/remote TCP sockets and over local UNIX-domain sockets. The
LMTP_README file gives example, but still needs to be revised.
Fast "ETRN" and "sendmail -qR". Postfix maintains per-destination
logfiles with information about what mail is queued for selected
destinations. See the file ETRN_README for details.
The mailbox locking style is now fully configurable at runtime.
The new configuration parameter is called "mailbox_delivery_lock".
Depending on the operating system type, mailboxes can be locked
with one or more of "flock", "fcntl" or "dotlock". The command
"postconf -l" shows the available locking styles. The default
mailbox locking style is system dependent. This change affects
all mailbox and all "/file/name" deliveries by the Postfix local
delivery agent.
POSTFIX_USE_INET6=YES in /etc/mk.conf to activate the IPv6 support.
Please note that this IPv6 patch is NOT fully tested and has some known
security issues!
20010917
Bugfix: an address extension could be appended multiple
times to the result of a canonical or virtual map lookup.
File: global/mail_addr_map.c. Fix by Victor Duchovni,
Morgan Stanley.
Bugfix: because split_addr() would split an address even
when there was no data before the recipient delimiter, the
above bug could cause an address to grow exponentially in
size. Problem reported by Victor Duchovni, Morgan Stanley.
File: global/split_addr.c.
20010918
Bugfix: the mail_addr_map() fix was almost but not quite
right. It took two clever people and several iterations of
email to really fix the mail_addr_map() problem. Thanks
to Victor Duchovni and Liviu Daia.
20011016
Bugfix: As of 20000625, Errors-To: was broken, because the
code to extract the address was not moved from recipient
address rewriting to sender address rewriting. Problem
reported by Roelof Osinga @ nisser.com. File:
cleanup/cleanup_message.c.
20011023
Bugfix: the FILTER_README content filtering example had
not been updated to include the sendmail "-i" command line
option.
20011029
Bugfix: virtual map expansion terminated early because the
detection of self-referential entries was flawed. File:
cleanup/cleanup_map1n.c.
20011031
Bugfix: mail_date() mis-formatted negative time zone offsets
with fractional hours (-03-30 instead of -0330). Fix by
Chad House, greyfirst.ca. File: global/mail_date.c.
20011103
Bugfix: Postfix would log the wrong error text when locally
submitted mail was deferred due to "soft_bounce = yes".
Bugfix: The LDAP client dropped any entries that don't have
the result_attribute, but errored out when a DN didn't
exist. The behavior is now consistent: treat non-existant
DN's in a special result attribute expansion the same as
DN's with no attribute. LaMont Jones, HP.
20011114
Bugfix: reset the smtpd command transaction log between
deliveries. File: smtpd/smtpd.c.
20011115
Bugfix: reset the smtpd command transaction log between
non-deliveries. File: smtpd/smtpd.c.
changes since pl02:
20010501
Bugfix: The SMTP server's 550 in reply to DATA should be
a 554 response. And it wasn't Sendmail. Claus Assman.
Bugfix: the INSTALL.sh test for non-interactive upgrade
broke rooted installations that specify settings via the
environment. Simon Mudd.
Bugfix: mailq output is now really flushed one message at
a time. File: sendmail/sendmail.c.
20010507
Bugfix: with soft_bounce=yes, the SMTP server would log
5xx replies even though it would send 4xx replies to the
client (Phil Howard, ipal.net). File: smtpd/smtpd_check.c.
20010523
Bugfix: postsuper's temporary file detection logic needed
fixing.
Bugfix: memory leak in the LDAP client module. Alain
Thivillon, France Teaser - Groupe Firstream.
20010525
Bugfix: the SMTP and LMTP clients claimed that a queue file
needed to be delivered again (even when all recipients were
erased from the queue file) when no QUIT or RSET reply was
received (by default, this does not happen with SMTP mail
because the SMTP client does not wait for QUIT replies and
does not send RSET to deliver mail). As a result of the
same bug the LMTP client followed a dangling pointer when
sending QUIT after process idle timeout while the LMTP
server had disconnected. Files: smtp/smtp_proto.c,
lmtp/lmtp_proto.c.
20010403
Workaround: the mysql library can return null pointers
rather than zero-length strings.
20010404
Ergonomics: log additional information about the reason
why "mail for XXX loops back to myself", when the local
machine is the best MX host. File: smtp/smtp_addr.c.
20010406
Changed some noisy LDAP client warnings into optional
logging. LaMont Jones, util/dict_ldap.c.
20010411
Bugfix: the SMTP server now replies with 550 instead of
503 when it receives the DATA command without having received
a valid recipient address. This is needed for the Sendmail
client-side pipelining implementation. Problem reported by
Lutz Jaenicke. File: smtpd/smtpd.c.
Cleanup: shut up if chattr fails on Reiserfs and other file
systems that do not support the respective attributes.
Files: conf/postfix-script-{no,}sgid.
20010413
Ergonomics: Postfix applications now warn when a DB or DBM
file is out of date, and recommend to rebuild the table.
Files: util/dict_db.c, util/dict_dbm.c.
20010414
Bugfix: with a non-default inet_interfaces setting, the
master ignored host information in master.cf host:port
settings. Fix by Jun-ichiro itojun Hagino @ iijlab.net.
Files: master/master.h, master/master_ent.c.
20010426
Bugfix: the SMTP server did not parse invalid MAIL FROM or
RCPT TO addresses such as <first last <user@domain>> the
way it was supposed to do. I thought this was taken care
of years ago. File: smtpd/smtpd.c.
20010427
Bugfix: smtpd would reject mail instead of replying with
a 4xx temporary error code when, for example, an LDAP or
mysql server was unavailable. Remotely based on a fix by
Robert Kiessling @ de.easynet.net. File: smtpd/smtpd_check.c.
20010313
Bugfix: the RFC 822 untokenizer quoted newlines inside
comments. File: global/tok822_parse.c.
20010316
Cleanup: removed an extraneous warning when a queue file
write error happened.
20010321
Workaround: LMTP connection caching never worked for
destinations starting with unix: or inet:. File:
lmtp/lmtp_connect.c.
20010322
Portability: Solaris <2.6 does not have srandom() and
random() in libc. File: util/rand_sleep.c. It does not have
to be cryptographically strong.
Bugfix: the fast ETRN flush server could not handle [ipaddr]
or domain names with one-character hostname part. This
fix changes the destination to logfile name mapping, so
that you need to populate the new files with "sendmail -q".
The old files go away automatically. File: flush/flush.c.
20010327
Speed up mailq (sendmail -bp) display by flushing output
after each file. File: showq/showq.c.
Portability: missing string.h includes, %p wants (void *),
Lamont Jones, HP.
20010328
Bugfix: swapped logic caused cleanup to stall when the
queue file size exceeded the file size limit by less than
one the VSTREAM buffer size, so that the "file too big"
was detected after flushing the last queue file record.
File: cleanup/cleanup.c.
20010329
Portability: workaround for missing prototype problem in
dict_ldap.c. This module should move to the global directory,
because it depends on Postfix main.cf parameter information.