Skip to content
Snippets Groups Projects
HISTORY 580 KiB
Newer Older
  • Learn to ignore specific revisions
  • Boris Mühmer's avatar
    Boris Mühmer committed
    	Documentation: updates for the VIRTUAL_README file by Victor
    	Duchovni, Morgan Stanley.
    
    	Bugfix: postqueue -s dereferenced a null pointer when given
    	a numerical domain argument. LaMont Jones, HP.
    
    	Cleanup: smtpd now logs a warning when permit_sasl_authenticated
    	is used while SASL authentication is disabled, instead of
    	simply ignoring the restriction. LaMont Jones, HP. File:
    	smtpd/smtpd.c.
    
    	Safety: when postmap creates a non-existent file, the new
    	file inherits group/other read permissions from the source
    	file.  Based on code by LaMont Jones, HP.  File:
    	postmap/postmap.c.
    
    20020123
    
    	Portability: some Linux systems install libnsl.so without
    	libnsl.a file, causing an yp_match undefined reference
    	problem.  File: makedefs.
    
    20020124
    
    	Portability: post-install now requests that command_directory
    	is given on the command line when the postconf command is
    	in an unusual place.
    
    	Safety: extra code to detect and report Berkeley DB version
    	mismatches between compile time and run time.  This test
    	is limited to mismatches in the major version number only.
    	File:  util/dict_db.c. Based on code by Lawrence Greenfield,
    	Carnegie-Mellon university.
    
    	Safety: the postfix command and the master daemon abort if
    	they are running set-uid.
    
    	Documentation: the postmap manual page described an out of
    	date input file format.
    
    20020129
    
    	Workaround: SCO version 3.2 can't ioctl(FIONREAD) a pipe.
    	Therefore, input mail flow control is disabled by default.
    	Files:  makedefs, global/mail_params.h, conf/main.cf.
    	Problem reported by Kurt Andersen, Agilent.
    
    20020201
    
    	Workaround: changed the default smtpd_null_access_lookup_key
    	setting to <>, because some Bezerkeloid DB implementations
    	can't handle null-length lookup keys.  File: global/mail_params.h.
    
    	Bugfix: backed out a null-length address panic call by
    	ignoring the problem, like Postfix did in the past.  File:
    	global/resolve_local.c.
    
    	Safety: "postfix check" will now warn if /usr/lib/sendmail
    	and /usr/sbin/sendmail differ, and will propose to replace
    	one by a symlink to the other. File: conf/postfix-script.
    
    20020204
    
    	Sanity: additional permission checks for "postfix check"
    	that warn for setgid_group group ownership mismatches.  by
    	Matthias Andree, uni-dortmund.de. File: conf/postfix-script.
    
    	Bugfix: "postfix check" used a too simplistic way to
    	recognize file ownership (grepping ls output). It now uses
    	the recently discovered "find -prune".  Peter Bieringer,
    	Matthias Andree. File: conf/postfix-script.
    
    20020218
    
    	Workaround: log a warning and disconnect when an SMTP client
    	ignores our negative replies and starts sending message
    	content without permission. File: smtpd/smtpd.c.
    
    20020220
    
    	Bugfix: mismatch in the file being locked by dict_dbm and
    	the file being locked by postmap, so that locks did not
    	work correctly.  Victor Duchovni, Morgan Stanley.
    
    20020222
    
    	Workaround: Solaris bug 4380626: strcasecmp() and strncasecmp()
    	produce incorrect results with 8-bit characters. For example,
    	non-ASCII characters could compare equal to ASCII characters,
    	and that could result in any number of security problems.
    	Files:  util/strcasecmp.c, COPYRIGHT (the BSD license).
    
    	Bugfix: off-by-one error, causing a null byte to be written
    	outside dynamically allocated memory in the queue manager
    	with addresses of exactly 100 bytes long, resulting in
    	SIGSEGV on systems with an "exact fit" malloc routine.
    	Experienced by Ralf Hildebrandt; diagnosed by Victor
    
    Boris Mühmer's avatar
    Boris Mühmer committed
    	Duchovni. Files:  *qmgr/qmgr_message.c.  This is not a
    
    Boris Mühmer's avatar
    Boris Mühmer committed
    	security problem.
    
    	Bugfix: make all recipient comparisons transitive, because
    	Solaris qsort() causes SIGSEGV errors otherwise. Victor
    
    Boris Mühmer's avatar
    Boris Mühmer committed
    	Duchovni, Morgan Stanley. File: *qmgr/qmgr_message.c.
    
    Boris Mühmer's avatar
    Boris Mühmer committed
    
    20020302
    
    	Bugfix: don't strip source route (@domain...:) when the
    	result would be an empty address. This avoids problems when
    	append_at_myorigin is set to "no" (which is not supported).
    	Problem reported by Charles McColgan, Big Fish Communications.
    	File:  trivial-rewrite/rewrite.c.
    
    20020304
    
    	Cleanup: postqueue should not not complain when output
    	fails with "broken pipe".
    
    20020308
    
    	Bugfix? reply with 550 not 552 when content is rejected.
    	552 is reserved for "too much mail".
    
    	Documentation: add note to sendmail manual page that running
    	"sendmail -bs" as $mail_owner enables SMTP server UCE and
    
    Boris Mühmer's avatar
    Boris Mühmer committed
    	access control checks. This is meant for use from inetd
    	etc.  Matthias Andree.
    
    Boris Mühmer's avatar
    Boris Mühmer committed
    
    20020311
    
    	Bugfix: DBM maps should use different files for locking
    	and for change detection.  Problem reported by Victor
    
    Boris Mühmer's avatar
    Boris Mühmer committed
    	Duchovni, Morgan Stanley.  Files: util/dict.h util/dict.c
    
    Boris Mühmer's avatar
    Boris Mühmer committed
    	util/dict_db.c util/dict_dbm.c global/mkmap.c local/alias.c.
    
    20020313
    
    	Bugfix: mailq could show addresses with unusual characters
    
    Boris Mühmer's avatar
    Boris Mühmer committed
    	twice.  Problem reported by Victor Duchovni, Morgan Stanley.
    
    Boris Mühmer's avatar
    Boris Mühmer committed
    	File: showq/showq.c.
    
    	Bugfix: null recipients weren't properly recorded in
    	bounce/defer logfiles. Such recipient addresses are not
    	accepted in SMTP mail, but they could appear within locally
    	submitted mail.  File: bounce/bounce_append_service.c.
    
    20020318
    
    	Workaround: Berkeley DB can't handle null key lookups,
    	which happen with HELO names ending in ".".  Victor Duchovni,
    	Morgan Stanley. File: smtpd/smtpd_check.c.
    
    	Logging: log a hint when mail is deferred because the
    	soft_bounce parameter is set. People sometimes forget to
    	turn it off. File: global/bounce.c.
    
    20020319
    
    	Cleanup: add a msg_warn() call when fork() fails in
    	pipe_command(), to make problems easier to investigate.
    	Chris Wedgwood. File:  global/pipe_command.c.
    
    Boris Mühmer's avatar
    Boris Mühmer committed
    20020320
    
    	Feature: smtp_helo_name parameter to specify the hostname
    	or [ip.address] in HELO or EHLO commands. Files: smtp/smtp.c
    	smtp/smtp_proto.c.
    
    Boris Mühmer's avatar
    Boris Mühmer committed
    
    20020324
    
    	Cleanup: more graceful handling of long physical message
    	header lines upon input. Physical header lines can now
    	extend up to $header_size_limit characters. When a logical
    	message header is too long, the excess text is discarded
    	and Postfix no longer switches to body mode, to avoid
    	breaking MIME encapsulation.  Based on code by Victor
    	Duchovni, Morgan Stanley.  Files:  cleanup/cleanup_out.c,
    	cleanup/cleanup_message.c.
    
    	Cleanup: more graceful handling of long physical message
    	header or body lines upon output by the SMTP client. The
    	SMTP client output line length is controlled by a new
    	parameter smtp_line_length_limit (default: 990; specify 0
    	to disable the limit). Long lines are folded by inserting
    	<CR> <LF> <SPACE>, to avoid breaking MIME encapsulation.
    	Based on code by Victor Duchovni, Morgan Stanley.  File:
    	smtp/smtp_proto.c.
    
    20020325
    
    	Cleanup: allow additional text after a WARN command in a
    	header/body_checks pattern file, so that one can change
    	REJECT+text into WARN+text and vice versa. Based on code
    	by Fredrik Thulin, Stockholm University.
    
    	Cleanup: log a warning when an unknown command is found in
    	a header/body_checks pattern file, or when additional text
    	is found after a command that does not expect additional
    	text. Based on code by Fredrik Thulin, Stockholm University.
    
    	Bugfix: sendmail should not recognize "." as the end of
    	input when the current read operation started in the middle
    	of a line.  Victor Duchovni, Morgan Stanley. File:
    	sendmail/sendmail.c.
    
    20020328
    
    	Portability fix for OPENSTEP and NEXTSTEP by Gerben Wierda.
    	File: util/sys_defs.h.
    
    20020329
    
    	Bugfix: defer_transports broke because the flush server
    	triggered mail delivery (as if ETRN was sent) while doing
    	some internal housekeeping of per-destination logfiles.
    	Problem experienced by LaMont Jones, HP. File: flush/flush.c.
    
    	Bugfix: virtual mapping broke for addresses with embedded
    	whitespace. Fix by Victor Duchovni, Morgan Stanley. File:
    	cleanup/cleanup_map1n.c.
    
    
    Boris Mühmer's avatar
    Boris Mühmer committed
    	Feature: configurable service name for the internal services:
    	bounce, cleanup, defer, error, flush, pickup, queue, rewrite,
    	showq. This allows you to specify, for example, a non-default
    	cleanup service (smtpd -o cleanup_service_name=alt_cleanup).
    	Files: global/mail_params.[hc].
    
    	Feature: SASL version 2 support by Jason Hoos. Files:
    	*/*_sasl_glue.c, SASL_README, conf/sample-auth.cf.
    
    
    Boris Mühmer's avatar
    Boris Mühmer committed
    20020330
    
    	Bugfix: postqueue did not pass on non-default configuration
    	directory settings when running showq while the mail system
    	is down.  The super-user is now exempted from environment
    	stripping in postqueue/postqueue.c. Problem reported by
    	Victor Duchovni, Morgan Stanley.
    
    
    Boris Mühmer's avatar
    Boris Mühmer committed
    20020402
    
    	Workaround: recognize more headers that are sent instead
    	of SMTP commands. File: smtpd/smtpd.c.
    
    20020413
    
    	Feature: new pipe delivery agent "D" flag to prepend a
    	Delivered-To:  message header. This requires single recipient
    	deliveries. Based on code by Matthias Andree. File:
    	pipe/pipe.c.
    
    
    Boris Mühmer's avatar
    Boris Mühmer committed
    20020414
    
    	Portability: Postfix will no longer attempt to build with
    	gdbm support, because gdbm is broken. File:  makedefs.
    
    
    Boris Mühmer's avatar
    Boris Mühmer committed
    20020415
    
    	Cleanup: the attribute list IPC code did not distinguish
    	between "disconnect" and "timeout" while reading an attribute
    	list, making trouble shooting more difficult than necessary.
    	Files:  util/attr_scan0.c, util/attr_scan64.c.
    
    	Cleanup: install parameter defaults can now be overruled
    	from makedefs: sendmail_path, mailq_path, newaliases_path,
    
    Boris Mühmer's avatar
    Boris Mühmer committed
    	command_directory, daemon_directory. Based on code by Victor
    	Duchovni, Morgan Stanley. File: util/sys_defs.h.
    
    Boris Mühmer's avatar
    Boris Mühmer committed
    
    20020411
    
    	Cleanup: Use more robust quoting passing makedefs/Makefile
    	settings. This also simplifies the seven backslashes example
    	in the INSTALL file.  Victor Duchovni, Morgan Stanley.
    	Files: makedefs, INSTALL.
    
    
    Boris Mühmer's avatar
    Boris Mühmer committed
    20020417
    
    	Bugfix: the post-install script failed to upgrade master.cf
    	settings from private to public if the service was explicitly
    	configured as private.
    
    
    Boris Mühmer's avatar
    Boris Mühmer committed
    20020418
    
    	Documentation: added CPU saving patterns for quickly skipping
    
    Boris Mühmer's avatar
    Boris Mühmer committed
    	base 64 encoded text in message bodies.  Liviu Daia.  Files:
    	{proto,conf}/pcre_table, {proto,conf}/regexp_table,
    
    Boris Mühmer's avatar
    Boris Mühmer committed
    	conf/sample_{regexp,pcre}_body.cf.
    
    
    Boris Mühmer's avatar
    Boris Mühmer committed
    20020426
    
    	Bugfix: the SMTP client forgot to quote whitespace etc.
    	in a sender/recipient address when DNS lookup was turned
    	off (disable_dns_lookups = yes). Problem experienced by
    	Chip Paswater. Files: smtp/smtp_proto.c.
    
    
    Boris Mühmer's avatar
    Boris Mühmer committed
    20020501
    
    	Feature: wildcard lookup in transport maps (lookup key
    	"*").  Code developed with Lamont Jones, HP.
    
    	Feature: a null transport:destination transport map entry
    	means proceed as if the transport map lookup failed.  Code
    	developed with Lamont Jones, HP.
    
    	Feature: more efficient use of cache memory when a process
    	opens multiple Berkeley DB tables; and faster performance
    	creating large tables by using more buffer memory. Files:
    	util/dict_db.[hc], global/mkmap_db.c. Victor Duchovni,
    	Morgan Stanley.
    
    
    Boris Mühmer's avatar
    Boris Mühmer committed
    20020503
    
    	Cleanup: postqueue silently ignored command-line arguments
    	following -p or -f options, instead of complaining; postqueue
    	produced an incorrect error message (mail system down) when
    	the command was installed with incorrect privileges.  File:
    	postqueue/postqueue.c.
    
    	Bugfix: while reporting a domain name or IP address syntax
    	error, postqueue could dereference a dangling pointer with
    	some getopt() implementations. LaMont Jones, HP.  File:
    	postqueue/postqueue.c.
    
    
    Boris Mühmer's avatar
    Boris Mühmer committed
    	Safety: postalias and postmap now drop root privileges
    	while processing a non-root input file. Thus, the result
    	should be writable to the source file owner. Specify the
    	-o option if this is a problem. Files: postmap/postmap.c,
    	postalias/postalias.c.
    
    	Consistency: just like postmap, postalias now copies file
    	permissions from the source file when it creates a new
    	table for the first time. File: postalias/postalias.c.
    
    
    Boris Mühmer's avatar
    Boris Mühmer committed
    20020504
    
    	Portability: run-time test to avoid GDBM trouble.  File:
    	util/dict_dbm.c.
    
    
    Boris Mühmer's avatar
    Boris Mühmer committed
    20020505
    
    	Cleanup: revised and simplified the transport map semantics.
    	Null transport or nexhop fields now mean: "do not change":
    	use what would be used if the transport map did not exist.
    	This change eliminated a lot of code. The incompatibility
    	is that a null transport field no longer defaults to
    	$default_transport, but to $local_transport or $default_transport
    	depending on the destination, and that a transport map only
    	overrides relayhost when the table specifies explicit
    	nexthop information.  Files:  trivial-rewrite/transport.c,
    	trivial-rewrite/resolve.c.
    
    	Cleanup: revised the user interface for controlling the
    	Berkeley DB create and read buffer size controls. Files:
    	util/dict_db.[hc], global/mail_params.[hc], global/mkmap_db.c.
    
    20020507
    
    	Cleanup: simplified the hash/btree cache management code.
    	The caches are now per table instead of shared, and the
    	default read cache size is reduced to 128 kBytes. File:
    	util/dict_db.c.
    
    
    Boris Mühmer's avatar
    Boris Mühmer committed
    20020508
    
    	Bugfix: close user@domain@postfix-style.virtual.domain
    	source routing relaying loophole involving postfix-style
    	virtual domains with @virtual.domain catch-all patterns.
    
    Boris Mühmer's avatar
    Boris Mühmer committed
    	Problem reported by Victor Duchovni. File:  smtpd/smtpd_check.c.
    
    Boris Mühmer's avatar
    Boris Mühmer committed
    
    	Bugfix: mail_addr_map() used the "wrong" @ character in
    
    Boris Mühmer's avatar
    Boris Mühmer committed
    	addresses with multiple @. Victor Duchovni. File:
    
    Boris Mühmer's avatar
    Boris Mühmer committed
    	global/mail_addr_map.c.
    
    	Bugfix: 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.  Files:  global/quote_82[12]_local.c
    
    Boris Mühmer's avatar
    Boris Mühmer committed
    	and clients.
    
    Boris Mühmer's avatar
    Boris Mühmer committed
    
    20020509
    
    	Safety: don't allow an OK access rule lookup result for
    	user@domain@postfix-style.virtual.domain. Suggested by
    
    Boris Mühmer's avatar
    Boris Mühmer committed
    	Victor Duchovni, Morgan Stanley. File: smtpd/smtpd_check.c.
    
    Boris Mühmer's avatar
    Boris Mühmer committed
    
    	Bugfix: quote unquoted address localparts that need quoting.
    	Files: global/tok822_parse.c, global/quote_82[12]_local.c.
    
    
    Boris Mühmer's avatar
    Boris Mühmer committed
    	Documentation: simplified the advanced content filtering
    	example, and included a more advanced example for those
    	who want to squeeze out more performance without running
    	multiple Postfix instances.  Text by Victor Duchovni, Morgan
    	Stanley. File:  README_FILES/FILTER_README.
    
    20020510
    
    	Feature: header/body filters now log the origin of the
    	message that is being rejected. Files: smtpd/smtpd.c,
    	qmqpd/qmqpd.c, pickup/pickup.c, cleanup/cleanup_envelope.c,
    	cleanup/cleanup_message.c.  Requested by Craig Sanders, if
    	I remember correctly.
    
    	Feature: the Postfix SMTP client now passes on MIME body
    	type information (8bit, 7bit) received via SMTP, via MIME
    	headers, or via the sendmail command line. Files:
    	global/deliver_request.c, smtpd/smtpd.c, sendmail/sendmail.c,
    	cleanup/cleanup_envelope.c, cleanup/cleanup_message.c,
    	cleanup/cleanup_extracted.c, *qmgr/qmgr_message.c,
    	*qmgr/qmgr_deliver.c, smtp/smtp_proto.c, lmtp/lmtp_proto.c.
    
    20020511
    
    	Feature: bounces now specify the proper MIME encoding (8bit,
    	7bit), depending on the MIME body type information received
    	via SMTP, via MIME headers, or via the sendmail command
    	line. Files: global/bounce.c, global/defer.c, global/abounce.c,
    	bounce/bounce_service.c, bounce/bounce_notify_util.c.
    
    
    Boris Mühmer's avatar
    Boris Mühmer committed
    20020512
    
    	Cleanup: the SMTP client logged and bounced the CNAME
    	expanded recipient address, and thereby complicated trouble
    	shooting.  File:  src/smtp_proto.c.
    
    	Bugfix: the SMTP and LMTP clients bounced the quoted
    	recipient address, resulting in too much quoting in bounce
    	reports.  Files:  src/smtp_proto.c, lmtp/lmtp_proto.c.
    
    20020513
    
    	Bugfix: the LDAP client used the "wrong" @ character in
    	addresses with multiple @. LaMont Jones, HP. File:
    	util/dict_ldap.c.
    
    
    Boris Mühmer's avatar
    Boris Mühmer committed
    	Feature: lots of new LDAP stuff: result_filter (filter to
    
    Boris Mühmer's avatar
    Boris Mühmer committed
    	expand results from queries), chase_referrals, LaMont Jones,
    	HP. The LDAP bind timeout now works thanks to Victor
    	Duchovni, Morgan Stanley. File:  util/dict_ldap.c.
    
    Boris Mühmer's avatar
    Boris Mühmer committed
    
    	Cleanup: 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.
    
    20020514
    
    	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.  Reported by
    	Ralf Hildebrandt.  File:  global/tok822_parse.c.
    
    	Safety: user@domain@domain is no longer accepted by the
    	permit_mx_backup uce restriction (unless Postfix is configured
    
    Boris Mühmer's avatar
    Boris Mühmer committed
    	with "resolve_dequoted_address = no"). Victor Duchovni,
    
    Boris Mühmer's avatar
    Boris Mühmer committed
    	Morgan Stanley. File: smtpd/smtpd_check.c.
    
    
    Boris Mühmer's avatar
    Boris Mühmer committed
    20020515
    
    	Workaround: flush the SMTP client output buffer when no
    	output has happened for 10+ seconds. This prevents the
    	socket from timing out, in case DNS CNAME expansion is
    	slow.  Problem experienced by Alex Erdelyi, peregrine.com.
    	File:  smtp/smtp_chat.c. We did the same thing for the SMTP
    	server years ago, and one wonders why the coin didn't drop
    	at the time that the SMTP client could suffer from a similar
    	problem.
    
    20020516
    
    	Updated the FILTER_README file to turn off DNS lookups in
    	the SMTP client that feeds mail into a content filter.
    
    
    Boris Mühmer's avatar
    Boris Mühmer committed
    20020517
    
    	Cleanup: Mailbox-Line: message header labels should be
    	X-Mailbox-Line:  labels. Files: smtpd/smtpd.c, qmqpd/qmqpd.c.
    
    
    Boris Mühmer's avatar
    Boris Mühmer committed
    20020515-21
    
    	Feature: new MIME parser, written from scratch, that
    	recognizes the structure of MIME encapsulated mail. Influenced
    	by comments from Victor Duchovni. This code can detect but
    	will not decode obscure MIME formats or obscure character
    	string encoding that Liviu Daia expresses concern about.
    
    	MIME header scanning now happens in header_checks, and is
    	faster than body_checks could ever be. This also eliminates
    	the problem with multi-line MIME headers being matched one
    	line at a time.  Files:  global/mime_state.[hc],
    	cleanup/cleanup_message.c.
    
    20020521-22
    
    
    Boris Mühmer's avatar
    Boris Mühmer committed
    	Feature: 8-bit to quoted-printable conversion. First use
    	in the Postfix SMTP client. File: smtp/smtp_proto.c.
    
    Boris Mühmer's avatar
    Boris Mühmer committed
    
    	Logging: the Postfix SMTP and LMTP clients now report the
    	the protocol stage when they report a server reply.  File:
    	smtp/smtp_proto.c, lmtp/lmtp_proto.c.
    
    	Bugfix: the SMTP server warned about ignored client attributes
    	(these were introduced 20020510) in mail that was submitted
    	with "sendmail -bs".  File: smtpd/smtpd.c.
    
    20020525
    
    	Feature: separation of header checks into header_checks
    	(all primary headers except MIME related headers),
    	mime_header_checks (all MIME headers including MIME headers
    	at the start of messages) and nested_header_checks (headers
    	of attached messages, except MIME related headers).
    
    	Cleanup: broke out the header value parser from the MIME
    	processor so that the code can be reused elsewhere. File:
    	global/header_token.c.
    
    	Compatibility: Postfix now recognizes "name :" as a valid
    	message header, but normalizes it to "name:" form or else
    	lots of things would break all over the place.  Files:
    	global/is_header.c, global/mime_state.c.
    
    
    Boris Mühmer's avatar
    Boris Mühmer committed
    20020526
    
    	Bugfix: the SMTP server now disallows RCPT TO:<"">, just
    	like it disallows RCPT TO:<>.  File: smtpd/smtpd.c.
    
    
    Boris Mühmer's avatar
    Boris Mühmer committed
    	Feature: disable_mime_input_processing=yes/no controls
    	whether Postfix recognizes (and optionally enforces) MIME
    	formats while receiving mail. Default is NO.
    
    	Feature: disable_mime_output_conversion=yes/no controls
    	whether Postfix will convert 8BITMIME to 7BIT mail when
    	delivering mail to an SMTP server that does not announce
    	8BITMIME support.  Default is NO.
    
    	Feature: strict_8bitmime=yes/no controls whether Postfix
    	rejects 8-bit characters in headers and 7-bit body parts.
    	This blocks mail from poorly written software, including
    	majordomo approval requests that contain a valid 8BITMIME
    	email message, as well as mail that is piped into ancient
    	/bin/mail implementations that do not MIME format 8-bit
    	content. Default is NO.
    
    	Feature: strict_mime_encoding_domain=yes/no controls whether
    	Postfix rejects illegal content transfer encodings for
    	multipart/* and message/*. This blocks mail from poorly
    	written software. Default is NO.
    
    20020527
    
    	Feature: "FILTER transport:nexthop" in header/body checks.
    	After the message is queued, the message is sent through
    	a content filter. This requires different cleanup servers
    	before and after the filter, with header/body checks turned
    	off in the second cleanup server.
    
    20020528
    
    	Feature: strict_7bit_headers and strict_8bitmime_body are
    	now separately available. To to turn on both, use
    	strict_8bitmime.
    
    	Cleanup: abandon the use of isspace(3) in the parsing of
    	RFC822 message headers. Files: global/lex_822.h and lots
    	of little places.
    
    
    Boris Mühmer's avatar
    Boris Mühmer committed
    	Documentation: replace domain.name by domain.tld in the
    	example config files. The domain exists. They were getting
    	mail from poorly configured Postfix boxes.
    
    	Bugfix: The Postfix sendmail command did not export the
    	MAIL_CONFIG environment setting to the postdrop command.
    	File: global/mail_config.h.
    
    
    Boris Mühmer's avatar
    Boris Mühmer committed
    	Incompatibility: by default, turn on the PCRE_DOTALL flag,
    	so that PCRE patterns will match multi-line message headers
    	without causing pain. Suggested by Michael Tokarev. Also
    	documented all those darned undocumented PCRE flags in the
    	pcre_table(5) manual page. Files:  util/dict_pcre.c,
    	proto/pcre_table.
    
    20020529
    
    	Bugfix: mail rejected due to MIME errors was rejected
    	without proper logging. Files: global/mime_state.c,
    	cleanup/cleanup_message.c.
    
    20020531
    
    	Bugfix: the SMTP client code that prepends '.' to lines
    	starting with '.' had to be moved from its old place to
    	after the MIME output conversion. Problem found by Mark
    	Martinec.  File: smtp/smtp_proto.c.
    
    20020601
    
    	Bugfix: the deliver_pass() routine needed updating for the
    	extra MIME encoding attribute that was introduced 20020510.
    	Patch by Sebastian Schaffert @ wastl.net.  File:
    	global/deliver_pass.c.
    
    20020604
    
    	Workaround: Solaris non-blocking read() can fail on a socket
    	with unread data according to ioctl FIONREAD.  Incredible.
    	Diagnosis by Max Pashkov.  File:  smtp/smtp-sink.c.
    
    
    Boris Mühmer's avatar
    Boris Mühmer committed
    	Weird feature: sender-based routing. This will become more
    	useful once per-address transport map entries are done.
    	File:  src/*qmgr/qmgr_message.c.
    
    
    Boris Mühmer's avatar
    Boris Mühmer committed
    20020605
    
    	Safety: header_address_token_limit limits the amount of
    	memory and CPU that we're willing to spend while parsing
    	addresses in message headers. The limit is expressed as a
    	number of tokens. File: global/tok822_parse.c
    
    20020608
    
    	Feature: user@domain transport map lookup, based on code
    	by Scott Cotton, from several years ago. Adding this code
    	now was much less painful than it was in the past. Files:
    	global/strip_addr.c, trivial-rewrite/transport.c.
    
    
    Boris Mühmer's avatar
    Boris Mühmer committed
    20020610
    
    	Cleanup: making user@domain transport map lookups work with
    	sender-based routing was a bit tricky, because the null
    	address must be handled sensibly. Files: global/resolve_clnt.c,
    	trivial-rewrite/resolve.c. It ain't perfect yet, but close.
    
    
    Boris Mühmer's avatar
    Boris Mühmer committed
    20020613
    
    	Bugfix: postsuper -r was broken as of 20020510. The cleanup
    	daemon would discard mail with MIME type information. Moved
    	a bunch of sanity checks from the cleanup daemon to the
    	pickup daemon, so the checks are in one place.  Problem
    	experienced by Pavol Luptak. Files: pickup/pickup.c,
    	cleanup/cleanup_extracted.c.
    
    20020705
    
    	Safety: log a warning when a domain is listed in mydestination
    	and (virtual_maps or virtual_mailbox_maps).  This configuration
    	error causes the Postfix SMTP server to reject recipients
    	when the local_recipient_maps feature is enabled.  File:
    	smtpd/smtpd_check.c.
    
    200207011
    
    	Portability: in the master daemon, the default now is to
    	enable the signal handler code that writes a byte into a
    	pipe, instead of the signal handler code that sets a global
    	flag and hopes that select() will somehow wake up. File:
    	master/master_sig.c. This is needed for some IRIX and
    	UnixWare versions, but it should also produce a robust
    	result on all other supported systems.
    
    	Performance: the default SMTP connection establishment
    	timeout is now 30 seconds, instead of the system default
    	which can be atrociously large.
    
    20020712
    
    	When DNS lookup fails while delivering mail, report not
    	only the domain name but also the DNS record type.  This
    	should clue in people who ask why Postfix can't find a
    	domain while nslookup can.  File:  dns/dns_lookup.c.
    
    20020713
    
    	Bugfix: undo change made at 20020610 that causes the trivial
    	resolver client to loop when an address consists entirely
    	of @ and . characters.  File: trivial-rewrite/resolve.c.
    
    	Cleanup: Postfix no longer strips multiple '.' at the end
    	of a domain name. One '.' is silently tolerated. Files:
    	trivial-rewrite/rewrite.c, trivial-rewrite/resolve.c,
    	global/resolve_local.c. This policy is too distributed.
    
    20020715
    
    	Feature: @domain.tld catch-all map entries for the virtual
    	mail delivery agent. Files: global/virtual8_maps_find.c,
    	virtual/mailbox.c, smtpd/smtpd_check.c.
    
    	Feature: the virtual mail delivery agent now accepts address
    	extensions (user+foo@domain.tld), ignores them when looking
    	up users in its tables, but displays them in Delivered-To:
    	message headers.  File: global/virtual8_maps_find.c.
    
    20020716
    
    	Feature: domain names in a masquerade_domains list can now
    	be prefixed with !, in order to disable masquerading for
    	that domain name and for its subdomains. File:
    	cleanup/cleanup_masquerade.c.
    
    20020717
    
    	Bugfix: Mac OS X niscript (Netinfo) update by Gerben Wierda.
    	File: auxiliary/MacOSX/niscript.
    
    	Feature: The SMTP server reject_unknown_whatever restrictions
    	now also attempt to look up AAAA (IPV6 address) records.
    	Jun-ichiro itojun Hagino, IIJ labs. Files: smtpd/smtpd_check.c,
    	dns/dns_lookup.c.
    
    20020718
    
    	Bugfix: unnecessary lookups for extended addresses by the
    	virtual8_maps_find() routine. Victor Duchovni. His patch
    	did not work, nor did my own, but the present version should
    	be OK. File: global/virtual8_maps_find.c.
    
    20020719
    
    	Workaround: log a warning when an SMTP client name->address
    	lookup results in a numeric IP address, and set the client
    	hostname to "unknown". Some gethostbyname() implementations
    	will actually accept such garbage and thereby allow sites
    	to defeat the "reject_unknown_client" restriction. Problem
    	reported by Wolfgang Rupprecht, fix based on analysis (but
    	not code) by Victor Duchovni.
    
    	Bugfix: memory leaks in the LDAP client by Victor Duchovni.
    	File: util/dict_ldap.c.
    
    	Bugfix: garbage in verbose "flush" server logging. Victor
    	Duchovni.  File: flush/flush.c.
    
    20020723
    
    	Incompatibility: smtpd_sasl_local_domain now defaults to
    	the null string. File: smtpd/smtpd.c, smtpd/smtpd_sasl_glue.c.
    
    20020726
    
    	Documentation: added GDB debugging instructions for sites
    	that do not have X installed on the Postfix machine. Henrik
    	Larsson, spambox.dk.
    
    20020729
    
    	Weird: installed RedHat 3.03 inside VMware, and no change
    	was needed to build Postfix, except to recognize the Linux
    	version.
    
    	Bugfix: some mailers will announce ESMTP features in their
    	HELO (not EHLO) response. Postfix did not ignore them.
    	File: smtp/smtp_proto.c.
    
    20020731
    
    	Cleanup: permit_naked_ip_address is unsafe (especially when
    	used with smtpd_recipient_restrictions) and will go away.
    	Postfix now logs a warning. File: smtpd/smtpd_check.c.
    
    20020801
    
    
    Boris Mühmer's avatar
    Boris Mühmer committed
    	Cleanup: the warning message for matched header/body content
    	was misleading. File: cleanup/cleanup_message.c.
    
    Boris Mühmer's avatar
    Boris Mühmer committed
    
    	Safety: moved the "postsuper -r ALL" operation after the
    	"postsuper -s" check that makes queue file names match
    	inode numbers. This avoids loss of mail in the unlikely
    	case that someone runs "postsuper -sr ALL" on a queue that
    	was copied from another place.
    
    	Feature: "postsuper -h" to put mail "on hold" and "postsuper
    	-H" to release mail that was placed "on hold". This involves
    	a new queue, which is appropriately named "hold".  Files:
    	postsuper/postsuper.c, showq/showq.c.
    
    20020803
    
    	Feature: when a Delivered-To: mail delivery loop is detected,
    	send the bounce to the mailing list owner. This required
    	changes to the local delivery agent, a new bounce client
    	stub, and a new bounce server stub and support routines
    	for one recipient bouncing. Files: local/recipient.c,
    	global/bounce_log.c, global/bounce.c, bounce/bounce.c,
    	bounce/bounce_notify_util.c, bounce/bounce_one_service.c.
    
    20020809
    
    	Bugfix: the 20020531 bugfix could prepend '.' to lines when
    	it shouldn't (but only when converting 8-bit mail to 7-bit).
    	Problem experienced by Ralf Hildebrandt.  File:
    	smtp/smtp_proto.c.
    
    	Bugfix: smtpd_sender_login_maps did not do the @domain etc.
    	wild-card lookups that were promised. Problem experienced
    	by Sven Michels. File: smtpd/smtpd_check.c.
    
    20020810
    
    	Feature: new smtp-sink command-line options to specify the
    
    Boris Mühmer's avatar
    Boris Mühmer committed
    	SMTP hostname, to disable ESMTP protocol support, to disable
    	8BITMIME support, and to syslog selected commands.  File:
    	smtpstone/smtp-sink.c.
    
    Boris Mühmer's avatar
    Boris Mühmer committed
    
    20020814
    
    	Feature: the queue manager now warns when mail for some
    	destination is piling up in the active queue, and suggests
    	a variety of remedies.  The qmgr_clog_warn_time parameter
    	controls the time between warnings, mainly so that I could
    	test the code. To disable these warnings, specify
    	"qmgr_clog_warn_time = 0". Files:  *qmgr/qmgr_entry.c.
    
    20020815
    
    	Paranoia: truncate the DNS response length result value in
    	case it is larger than the result buffer length (the resolver
    	documentation is vague about this). File:  dns/dns_lookup.c.
    
    20020816
    
    	Cleanup: "postqueue -f" now also triggers delivery of mail
    	in the maildrop directory. This is needed when the master
    	does not frequently wake up the pickup service.  Files:
    	global/mail_flush.c, postqueue/postqueue.c.
    
    20020818
    
    	Cleanup: the qmgr_site_hog_factor feature is gone (defer
    	mail if a site uses up too much space in the active queue).
    	Instead, the qmgr_clog_warn_time feature provides better
    	solutions. File: qmgr/qmgr_message.c.
    
    20020819
    
    	Feature: new header/body_checks HOLD pattern that causes
    	mail to be placed on the "hold" queue for manual inspection.
    	Files: global/hold_message.[hc], cleanup/cleanup_message.c.
    
    20020820
    
    	Bugfix: yesterday's HOLD pattern code did not update the
    	cleanup server's idea of the queue file name for error
    	recovery and for error reporting purposes, so that incomplete
    	or content rejected mail would not be deleted from the
    	queue, and so that the bouncer would not find the queue
    	file.
    
    	Bugfix: the #ifdef that detects too old LDAP libraries was
    	in the wrong place.  Victor Duchovni.  File: util/dict_ldap.c.
    
    	Feature: new header/body_checks DISCARD pattern that causes
    	mail to be silently discarded. Files: global/cleanup_user.h,
    	cleanup/cleanup_message.c, cleanup/cleanup_api.c.
    
    	Bugfix: the local delivery agent's mailbox duplicate delivery
    	eliminator was not updated in the days that address extensions
    	were added to Postfix. The other local duplicate eliminators
    	probably need revision as well. File: local/mailbox.c.
    
    20020821
    
    	Feature: HOLD and DISCARD actions in SMTPD access tables.
    
    Boris Mühmer's avatar
    Boris Mühmer committed
    	These requests are propagated to the cleanup daemon.  Files:
    	cleanup/cleanup_envelope.c smtpd/smtpd_check.c.
    
    Boris Mühmer's avatar
    Boris Mühmer committed
    
    	Cleanup: eliminate unnecessary references to the obsolete
    	program_directory configuration parameter (but keep the
    	parameter so as to not break existing installations).
    	Matthias Andree, many little changes in documentation.
    
    20020822
    
    	Bit Rot: OpenLDAP incompatible change with URL parsing.
    	Patches by Will Day, Georgia Tech, and Carsten Hoeger,
    	SUSE.  File: util/dict_ldap.c.
    
    20020823
    
    	Bugfix: added a missing memset() call to wipe the lookup
    	key in dict_db_delete(). This is needed by some Berkeley
    	DB implementations. Patch by Katsu Yamamoto, Fujitsu.
    
    	Bugfix: when permit_mx_backup is unable to make a decision
    	due to DNS problems, set the "defer if reject" flag so that
    	other restrictions will not cause mail to be rejected.
    	File: smtpd/smtpd_check.c.
    
    	Feature: instead of giving up immediately after DNS failure,
    	turn on the "defer_if_permit" flag when reject_unknown_hostname,
    	reject_unknown_sender_domain or reject_unknown_recipient_domain
    	are unable to make a decision, and see if any subsequent
    	restrictions would still cause the mail to be rejected.
    	File:  smtpd/smtpd_check.c.
    
    	Feature: "FILTER transport:nexthop" is now also available
    	in SMTPD access tables.
    
    20020826
    
    	Workaround: HP-UX 11 accept() fails with ENOBUFS when the
    	client disconnects early. File: sane_accept.c.
    
    20020901
    
    	Cleanup: postfix-install no longer installs all the manual
    	pages under $POSTFIXSOURCE/man, so we can generate manual
    	pages for smtp-sink etc.  File: man/Makefile.in.
    
    20020903
    
    	Bugfix: the rmail script should have been updated when
    	Postfix sendmail was changed to recognize `.' as the end
    	of input.  Problem fix by Christian Kratzer, cksoft.de.
    	File:  auxiliary/rmail/rmail.
    
    	Feature: specify "maximal_queue_lifetime = 0" for mail that
    	should be returned immediately after the first unsuccessful
    	delivery attempt. Files: qmgr/qmgr.c, nqmgr/nqmgr.c.
    
    20020904
    
    	Bugfix: qmail compatibility: qmqpd should support any
    	character at the end of the VERP prefix in prefix@host-@[].
    	Based on a patch by LaMont Jones, HP.
    
    20020905
    
    	Feature: "smtpd_data_restrictions = reject_unauth_pipelining"
    	blocks mail from SMTP clients that send message content
    	before Postfix has replied to the DATA command.  File:
    	smtpd/smtpd.c, smtpd/smtpd_check.c.
    
    	Bugfix: the LDAP client dumped core in verbose mode.
    	Reported by Will Day and others.  File: util/dict_ldap.c.
    
    20020906
    
    	Cleanup: dict_regexp module speedups by avoiding unnecessary
    	substring overhead while matching strings. Based on a
    	suggestion by Liviu Daia. This involved major rewriting of
    	the regexp map code.  File: util/dict_regexp.c.
    
    20020907
    
    	Feature: IF..ENDIF support based on code by Bert Driehuis.
    	This involved a further rewrite of the regexp map code.
    	File: util/dict_regexp.c.
    
    
    Boris Mühmer's avatar
    Boris Mühmer committed
    200209010
    
    Boris Mühmer's avatar
    Boris Mühmer committed
    
    	Bugfix: the SMTP client produced suprious warnings about
    	trouble with fallback_relay hosts. File:  smtp/smtp_connect.c.
    
    	Robustness: don't wait with detecting broken SMTP connections
    	until reading input. Leandro Santi. File: smtpd/smtpd_chat.c.
    
    
    Boris Mühmer's avatar
    Boris Mühmer committed
    200209011
    
    Boris Mühmer's avatar
    Boris Mühmer committed
    
    	Workaround: IRIX 6 can't do ioctl FIONREAD on pipes. This
    	breaks the in_flow_delay feature.  File:  util/sys_defs.h.
    
    20020912
    
    	Bugfix: canonical/virtual mapping core dump with a null
    	right-hand side address. Report by Jussi Silvennoinen.
    	File: global/mail-addr_crunch.c.
    
    	Feature: IF..ENDIF support based on code by Bert Driehuis.
    	This involved a rewrite of the pcre map code similar to
    	the regexp map code.  File:  util/dict_pcre.c.
    
    20020917
    
    	Feature: on Linux, support for PCRE lookup tables is now
    	compiled in if the PCRE library code is found under
    	/usr/include and /usr/lib.  File: makedefs.
    
    20020918
    
    	Documentation: postsuper(1) did not document the -c option.
    
    	Bugfix: possible longjump() before setjmp(). File:
    	smtpd/smtpd.c.
    
    	Bugfix: pickup should not preserve INSPECT or FILTER records
    	from "postsuper -r". File: pickup/pickup.c.
    
    20020919
    
    	Feature: "reject_rbl <domain>" for client address blacklisting
    	by LaMont Jones, including $name expansion for per-domain
    	customized response messages. The obsolete reject_maps_rbl
    	is now a wrapper that uses the new code.
    
    20020921
    
    	Internal: added caching and factored out common code that
    	will be used for both reject_rbl and for the upcoming
    	reject_rhsbl restriction.
    
    20020922