Makefiles simply need to use this value often, for better or for
worse.
(2) Create a new variable FIX_RPATH that lists variables that should
be cleansed of -R or -rpath values if ${_USE_RPATH} is "no". By
default, FIX_RPATH contains LIBS, X11_LDFLAGS, and LDFLAGS, and
additional variables may be appended from package Makefiles.
Postfix 2.0 patchlevel 6 intends to protect vulnerable Sendmail
systems against exploitation of a remote buffer overflow problem
that is described in CERT advisory CA-2003-07.
- Postfix now truncates non-address information in message address
headers (comments, etc.) to 250 characters per address. This should
rarely present a problem. Reportedly, junk mail from poorly written
software can trigger the protection, but that is no great loss.
- Some little fixes to documentation.
- The SMTP server's hard and soft error limits were off by one.
With "smtpd_hard_error_limit = 1", Postfix will now disconnect
after the first error, instead of the second one.
- The proxymap server could deadlock when the mydestination parameter
setting included a proxymapped lookup table.
- Some little fixes to documentation.
- The format of maildir filenames is synchronized with the present
version of the maildir definition document. This format was already
adopted by the 20030126 snapshot release.
- The time limit on delivery to external commands was not enforced.
This was broken probably some time before the first public Postfix release.
- Duplicate elimination after virtual alias expansion works again.
This was broken with the introduction of the original recipient attribute.
- The local pickup daemon dropped incomplete records from local
submissions. This was broken somewhere in the middle of 2002.
configuration.
+ Document how to use /etc/rc.conf.d/postfix on NetBSD 1.5 and newer
to start /usr/pkg/sbin/postfix instead of /usr/sbin/postfix
+ Ensure that the postfix user and the postfix & maildrop groups exist.
Adds Darwin support, and prevents a working NetBSD postfix setup from being
broken on a "make install" of this package because the package used to
change /etc/postfix/{post-install,postfix-files,postfix-script}.
These changes are mostly from Amitai Schlair <schmonz@netbsd.org>,
with some tweaks by me. (Thanks Amitai!)
have it be automatically included by bsd.pkg.mk if USE_PKGINSTALL is set
to "YES". This enforces the requirement that bsd.pkg.install.mk be
included at the end of a package Makefile. Idea suggested by Julio M.
Merino Vidal <jmmv at menta.net>.
- Postfix 2.0 broke relocated table lookup results with mail not
rejected at the SMTP port, causing "User has moved to" text to be deleted.
- A widely used maildir filename generating algorithm was broken.
This affects all Postfix versions with maildir support. Instead of
TIME.PID_COUNT.HOST Postfix now uses TIME.DEVICE_INODE.HOST.
- Postfix 2.0 gave incorrect FILTER_README instructions for sites
that wish to disable virtual alias mapping before the content filter.
- Added MAILER-DAEMON to the list of always recognized local
addresses, since it is generated by Postfix bounces.
- Bugfix: transport_errno was not reset upon successful
transport map wildcard lookup after an earlier failure.
- Cleanup: unnecessary warnings from the proxymap client
after proxymap server disconnect.
- Cleanup: Patrik Rak found a few more chattr invocations
that were missed 20021209. Files: postfix-install,
conf/post-install.
- Cleanup: the pcre-config command can produce null outputs.
- Bugfix: the virtual(8) Makefile included $(AUXLIBS) in the
dependencies.
- Bugfix: fixed in the snapshots 20030105 but missed in the
stable release. "sendmail -bs" tried to access the proxymap
service. It should not try to open any user/domain/uce
related tables at all.
even though it seems to work now.
Why commented-out? This patch also includes a TLS patch and I don't know
if it's better/more stable/whatever compared to the existing TLS patch.
What I'd like to have is a separate patch for IPv6 and TLS. According to
the author this is available in the near future.
IMPORTANT: read the documents in /usr/pkg/share/doc/postfix/ before
upgrading from Postfix 1.1.
Hightlights:
- MIME support (including 8bit->7bit conversion and more
accurate matching of MIME headers in message bodies)
- completely rewritten RBL client code
- smarter handling of DNS lookup errors in UCE restrictions
- virtual delivery agent without transport map for every domain
- a long list of other things that are meant to improve performance
or functionality without compromising what already existed.
- The garbage in "user@garbage"@domain address forms may cause the
SMTP or LMTP client to terminate with a fatal error exit because
garbage/tcp is not an existing service. This cannot be abused
to cause the SMTP or LMTP client to send data into unauthorized
ports.
* 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.