Skip to content
Snippets Groups Projects
HISTORY 552 KiB
Newer Older
  • Learn to ignore specific revisions
  • Boris Mühmer's avatar
    Boris Mühmer committed
    	accepts command-line recipients instead of complaining.
    	The extracted header recipients are added to the command-line
    	recipients.
    
    	Feature: sender/recipient_bcc_maps. These are indexed by
    	sender/recipient address and are examined when mail enters
    	from outside of Postfix. Files: cleanup/cleanup_addr.c.
    	cleanup/cleanup_envelope.c cleanup/cleanup_extracted.c.
    
    20030417
    
    	Feature: the SMTP client now falls back to native name
    	service lookups (including /etc/hosts) when a host cannot
    	be found in the DNS. This is controlled by a new parameter
    	smtp_host_lookup (default: dns, native). Files: smtp/smtp.c,
    	smtp/smtp_addr.c.
    
    20030418
    
    	Bugfix: "sendmail -t" broke with unrecognized message
    	headers.
    
    20030419
    
    	Feature: "postcat -q" searches the queue for the named
    	file.
    
    	Cleanup: made postcat "record names" output more consistent.
    
    20030421
    
    	Debugging: added some extra detailed error logging to the
    	pipe-to-command delivery, to help folks with bizarre file
    	truncation problems. File: global/pipe_command.c.
    
    
    Boris Mühmer's avatar
    Boris Mühmer committed
    20030424
    
    	Cleanup: readlline() did not terminate the result before
    	complaining about lines starting with whitespace.
    
    	Cleanup: eliminated valid_hostname warning for invalid
    	queue file names. File: global/mail_queue.c.
    
    
    Boris Mühmer's avatar
    Boris Mühmer committed
    	Bugfix: lost three lines of code when readying the postcat
    	command for release, which broke postcat -q. File:
    	postcat/postcat.c.
    
    
    Boris Mühmer's avatar
    Boris Mühmer committed
    	Bugfix: the Postfix sendmail command applied the message
    	size limit when running as newaliases. The limiting code
    	is now moved to the message enqueuing branch of the code.
    	File: sendmail/sendmail.c.
    
    
    Boris Mühmer's avatar
    Boris Mühmer committed
    	Documentation: start of documentation for the algorithm of
    	Patrik Rak's clever queue manager scheduler (nqmgr). Files:
    	conf/sample-scheduler.cf, README_FILES/SCHEDULER_README.
    
    
    Boris Mühmer's avatar
    Boris Mühmer committed
    	Bugfix: while verifying an address, the LMTP client entered
    	a forbidden "next" sender state after the last recipient.
    	Fix by Vladimir Davydoff. File: lmtp/lmtp_proto.c.
    
    
    Boris Mühmer's avatar
    Boris Mühmer committed
    	Bugfix: "," was not recognized in proxy_read_maps settings.
    	Fix by Leandro Santi. File: proxymap/proxymap.c.
    
    20030502
    
    	Bugfix: defer delivery after .forward etc. file read error.
    	File: local/token.c. Problem reported by Ben Rosengart,
    	Panix.
    
    
    Boris Mühmer's avatar
    Boris Mühmer committed
    20030503
    
    	Bugfix: the Postfix LMTP client used the wrong service
    	name, causing trouble with SASL 2.1.13.  Daniel Schales,
    	Louisiana Tech. File: lmtp/lmtp_sasl_glue.c.
    
    20030518
    
    	Workaround: IRIX select() reports that a non-blocking file
    	descriptor is writable while write() transfers zero bytes.
    	File:  util/vstream.c. Superseded by change 20030523.
    
    
    Boris Mühmer's avatar
    Boris Mühmer committed
    20030520
    
    	Cleanup: future time stamps in Received: headers and negative
    	delays in delivery agent logging after "postdrop -r",
    	because deferred queue files had future file modification
    	times.  File:  src/postsuper/postsuper.c.
    
    20030521
    
    	Cleanup: nqmgr warnings about "recipient count mismatch"
    	after "postdrop -r", because the cleanup server did not
    	count the "already done" recipients. Problem reported by
    	Richard Stockton, Gramma Software. Files:
    
    Boris Mühmer's avatar
    Boris Mühmer committed
    	cleanup/cleanup_envelope.c, cleanup/cleanup_extracted.c.
    
    20030523
    
    	Workaround: IRIX select() reports that a non-blocking file
    	descriptor is writable while write() transfers zero bytes.
    	File:  global/pipe_command.c.
    
    20030523-20030605
    
    	Cleanup: rewrote the queue file record processing loops in
    	pickup, cleanup and in [n]qmgr. This code had deteriorated
    	a lot as the result of small changes over the years. This
    	change brings the code closer to "obviously correct". Files:
    	cleanup/cleanup_envelope.c, cleanup/cleanup_extracted.c,
    	*qmgr/qmgr_message.c.
    
    	Cleanup: Postfix no longer produces queue files with
    	backwards compatibility data for Postfix versions < 1.0
    	(a.k.a.  20010228). Files: cleanup/cleanup_extracted.c,
    	showq/showq.c.
    
    	Performance: the queue manager no longer has to examine
    	every queue file record before it can start deliveries.
    	This helps to avoid thrashing with very large mailing lists.
    	Postfix queue files have an extra field in the size record
    	with queue manager processing hints.  This change is backward
    	and forward compatible.  Files:  cleanup/cleanup_envelope.c,
    	cleanup/cleanup_extracted.c, *qmgr/qmgr_message.c.
    
    Boris Mühmer's avatar
    Boris Mühmer committed
    
    20030528
    
    	Compatibility: "sendmail -q<time>" without -bd option now
    	exits immediately, instead of waiting for input on the
    	standard input stream and screwing up system boot sequences.
    	File: sendmail/sendmail.c.
    
    20030530
    
    	Bugfix: client access denied with smtpd_delay_reject=no
    	broke "sendmail -bs". Fix by Victor Duchovni, Morgan Stanley.
    	File: smtpd/smtpd.c.
    
    20030531
    
    	Compatibility: allow <@site,@site:address> route addresses
    	in SMTP commands.  File: smtpd/smtpd.c.
    
    20030605
    
    
    Boris Mühmer's avatar
    Boris Mühmer committed
    	Cleanup: input checks moved from the pickup daemon to the
    	postdrop mail submission command; this is to prepare for
    	direct mail submission from postdrop->cleanup without going
    	through the maildrop directory and the pickup service.
    	Files: pickup/pickup.c, postdrop/postdrop.c.
    
    
    Boris Mühmer's avatar
    Boris Mühmer committed
    	Bugfix: the "dead host" backoff timer in the MySQL client
    	didn't work.  Fix by Leandro Santi. File: util/dict_mysql.c.
    
    
    Boris Mühmer's avatar
    Boris Mühmer committed
    	Bugfix: same problem in the PostgreSQL client. File:
    	util/dict_pgsql.c.
    
    Boris Mühmer's avatar
    Boris Mühmer committed
    
    	Workaround: turned off non-blocking write to pipe because
    	too many systems give a weird write() result. File:
    
    Boris Mühmer's avatar
    Boris Mühmer committed
    	global/pipe_command.c.
    
    	Cleanup: added support for vstream_fseek(.., .., SEEK_END).
    	File: util/vstream.c.
    
    20030608
    
    	Feature: separate address resolver controls for address
    	verification probe messages:  address_verify_{local,virtual,
    	relay,default}_transport, address_verify_relayhost, and
    	address_verify_transport_maps. The default values are the
    	regular versions of the same controls. Files: trivial-rewrite/*,
    	global/resolve_clnt.[hc], *qmgr/qmgr_message.c.
    
    Boris Mühmer's avatar
    Boris Mühmer committed
    
    20030609
    
    	Workaround: Solaris blocking socket read() may hang.  Hernan
    	Perez Masci and Leandro Santi. File: smtpd/smtpd.c.
    
    
    Boris Mühmer's avatar
    Boris Mühmer committed
    	Bugfix: the "unread recipient" counter needs to be restored
    	after the queue manager has a problem reading a queue file.
    	Fix by Patrik Rak. File: nqmgr/qmgr_message.c.
    
    20030610
    
    	Cleanup: the verify server now uses asynchronous submission
    	of mail probes, so it will no longer block for in_flow_delay
    	seconds when mail arrives faster than it is delivered.
    	Still need to make mail_stream_finish() asynchronous in
    
    Boris Mühmer's avatar
    Boris Mühmer committed
    	order to avoid blocking for trigger_timeout seconds when
    	the queue manager is overwhelmed.  Files:  global/post_mail.c,
    
    Boris Mühmer's avatar
    Boris Mühmer committed
    	verify/verify.c.
    
    	Bugfix: removed extraneous sleep() after the last attempt
    	to retrieve address verification status.  File: smtpd/smtpd.c.
    
    
    Boris Mühmer's avatar
    Boris Mühmer committed
    20030611
    
    	Bugfix: the stricter postdrop input filter broke "sendmail
    	-bs". Found by Lutz Jaenicke. File: smtpd/smtpd.c.
    
    
    Boris Mühmer's avatar
    Boris Mühmer committed
    20030614
    
    	Portability: Dropped support for client side LDAP caching.
    	As of release 2.1.13 OpenLDAP no longer supports client
    	side caching, it has been deprecated for some time, and
    	never worked well.  Implemented by Victor Duchovni, Morgan
    	Stanley, and further enhanced by Lamont Jones, HP. Files:
    	src/util/dict_ldap.c, conf/sample-ldap.cf,
    	README_FILES/LDAP_README.
    
    	Safety: Given suitable invalid database contents, LDAP
    	lookups can produce too many results, enter an infinite
    	loop in the expansion of "special result attributes" (LDAP
    	DNs and LDAP URLs) or just consume excessive server resources
    	returning large result sets.  Three new (per LDAP map)
    	configuration parameters enable one to set limits on
    	recursive nesting, result expansion and the server response
    	"entry" count. Implemented by Victor Duchovni, Morgan
    	Stanley, further enanced by Lamont Jones, HP. Files:
    	src/util/dict_ldap.c, conf/sample-ldap.cf,
    	README_FILES/LDAP_README.
    
    
    Boris Mühmer's avatar
    Boris Mühmer committed
    	Feature: in mail delivery status reports, report the sender
    	address as X-Postfix-Sender. Matthias Andree. File:
    	bounce/bounce_notify_util.c.
    
    	Cleanup: in mail delivery status reports, transform the
    	original recipient into xtext format as required by RFC
    	1891. Files: bounce/bounce_notify_util.c, util/xtext.[hc].
    
    
    Boris Mühmer's avatar
    Boris Mühmer committed
    	Cleanup: more accurate "postfix check" warning for files
    	that miss one or more of the required mode 02111 execute
    	permission bits. Matthias Andree. File: conf/postfix-script.
    
    20030618
    
    
    Boris Mühmer's avatar
    Boris Mühmer committed
    	After "postfix reload", the master daemon now warns when
    	inet_interfaces has changed, and ignores the change, instead
    	of passing incorrect information to the smtp server. File:
    	master/master_ent.c.
    
    20030619
    
    	Feature: the Postfix SMTP server can send all mail into a
    	proxy server, for example a real-time SPAM filter. This
    	proxy is supposed to send the mail into another Postfix
    	SMTP server process for normal delivery. Files: smtpd/smtpd.c
    	smtpd/smtpd_proxy.[hc].
    
    20030620
    
    	Bugfix: a cut-and-paste error caused the proxy server's
    	354 status code to be reported when a proxy connection
    	broke during the DATA phase. File: smtpd.c.
    
    Boris Mühmer's avatar
    Boris Mühmer committed
    
    20030620
    
    	Bugfix: after the last change to postdrop, postcat no longer
    
    Boris Mühmer's avatar
    Boris Mühmer committed
    	recognized maildrop files as valid. File: postcat/postcat.c.
    
    	Bugfix: after moving "sendmail -t" address extraction to
    	sendmail, "-t" broke multi-line recipient headers.  Victor
    	Duchovni, Morgan Stanley. File: sendmail/sendmail.c.
    
    Boris Mühmer's avatar
    Boris Mühmer committed
    
    20030621
    
    	Workaround: the safe_open(O_CREAT) race condition exploit
    	avoiding code tries a little harder when it encounters a
    	race condition. File: util/safe_open.c.
    
    
    Boris Mühmer's avatar
    Boris Mühmer committed
    20030624
    
    	Bugfix: reject_unverified_address() set the defer_if_reject
    	flag when the verify service was unavailable (which never
    	happens). Victor Duchovni, Morgan Stanley. File:
    	smtpd/smtpd_check.c.
    
    	New parameters address_verify_poll_{count,delay} that
    	control how often to poll the address verification service
    	for the completion of an address verification request.
    	Specify address_verify_poll_count=1 to implement a crude
    	form of greylisting, that is, always defer the first delivery
    	attempt for an unknown address.  File: smtpd/smtpd_check.c.
    
    	Bugfix: after the last change to postdrop, postcat no longer
    	recognized non-maildrop queue files as valid. File:
    	postcat/postcat.c.
    
    
    Boris Mühmer's avatar
    Boris Mühmer committed
    20030629
    
    	Cleanup: replaced references to "simulated virtual domains"
    	by "virtual alias domains". Victor Duchovni, Morgan Stanley.
    
    
    Boris Mühmer's avatar
    Boris Mühmer committed
    20030630
    
    	Feature: smtp_quote_rfc821_envelope=(yes|no) to control
    	RFC 821 style quoting of MAIL FROM and RCPT TO addresses.
    	Files: global/mail_params.h, smtp/smtp.c, smtp/smtp_proto.c.
    
    20030701
    
    	Bugfix: multi-recipient probes triggered a bug in the SMTP
    	client.  File: smtp/smtp_proto.c.
    
    	Feature: enable_original_recipient (default: yes) to control
    	whether Postfix keeps track of original recipient address
    	information. Victor Duchovni, Morgan Stanley.  Files:
    	cleanup/cleanup.c, cleanup/cleanup_init.c,
    	cleanup/cleanup_out_recipient.c, global/log_adhoc.c,
    	global/mail_copy.c, *qmgr/qmgr_message.c.
    
    	Feature: !/pattern/ support for PCRE lookup tables.  Victor
    	Duchovni, Morgan Stanley.  Files: util/dict_pcre.c.
    
    	Cleanup: allow whitespace after patterns in repexp and pcre
    	tables. Victor Duchovni, Morgan Stanley.  Files:
    	util/dict_pcre.c, util/dict_regexp.c.
    
    20030702
    
    	Feature: CIDR lookup table support, very remotely based on
    	code by Jozsef Kadlecsik. Files: proto/cidr_table,
    	util/dict_cidr.[hc].
    
    	Feature: TCP lookup table support, finally finished.  Files:
    	proto/tcp_table, proto/dict_tcp.[hc].
    
    20030705
    
    	Feature: new receive_override_options parameter controls
    	what happens before or after an external content filter:
    	rejecting unknown recipients, canonical and virtual address
    	mapping, address masquerading, automatic BCC recipients
    	and header/body checks. This eliminates the need to configure
    	multiple cleanup services in the master.cf file.
    
    20030707
    
    	Feature: context dependent SASL security options (i.e.
    	different options when TLS is enabled/disabled). Lutz
    	Jaenicke.  Files:  */*sasl_glue.[hc].
    
    20030708
    
    	Hardened the attr_scan routines for exposure to an untrusted
    	environment, in preparation for possible use with SMTP
    	policy delegation to an external server.
    
    	Feature: address filter for RBL lookups, for use with
    	multi-valued RBL services. File: smtpd/smtpd_check.c.
    
    20030709
    
    	Cleanup: use off_t instead of int for VSTREAM file offsets.
    	This was needed for mailboxes > 2GB on 32-bit systems.
    	Files: util/vstream.c, global/mail_copy.c.
    
    20030710
    
    	Support for multiple A and TXT results in RBL lookups.
    	Victor Duchovni, Morgan Stanley.  File: smtpd/smtpd_check.c.
    
    
    Boris Mühmer's avatar
    Boris Mühmer committed
    	Support for attribute-based query-reply protocols.  Files:
    	util/attr_clnt.[hc], util/auto_clnt.[hc].
    
    Boris Mühmer's avatar
    Boris Mühmer committed
    	Support for plain "name=value\n" attribute protocol.  Files:
    	util/attr_{scan,print}_plain.c.
    
    Boris Mühmer's avatar
    Boris Mühmer committed
    	Bugfix: the LMTP session caching code did not reset the
    	EHLO server feature list when it needed to reconnect.
    	Problem found by Tobias Erbsland.
    
    
    Boris Mühmer's avatar
    Boris Mühmer committed
    20030712
    
    	Feature: delegated SMTP policy server. As an example, see
    	the greylisting server in examples/smtpd-policy.  Specify
    	"check_smtpd_policy_service" in smtpd_mumble_restrictions.
    	See SMTPD_POLICY_SERVICE_README for details.
    
    20030716
    
    	Bugfix: in the sample policy server, changed "ok" into
    	"dunno" so the server can be used in the middle of a
    	restriction list.
    
    	Cleanup: when an RBL reply has multiple TXT records,
    	concatenate them up to some reasonable limit, instead of
    	selecting one randomly.  File:  smtpd/smtpd_check.c.
    
    	Safety: always truncate SMTP server error replies to 512
    	bytes.  File: smtpd/smtpd_check.c.
    
    
    Boris Mühmer's avatar
    Boris Mühmer committed
    	Documentation: added description of policy_time_limit to
    
    Boris Mühmer's avatar
    Boris Mühmer committed
    	the SMTPD_POLICY_README document.
    
    
    Boris Mühmer's avatar
    Boris Mühmer committed
    	Documentation: corrected the command time limit parameter
    	syntax in the spawn(8) manual page.
    
    
    Boris Mühmer's avatar
    Boris Mühmer committed
    	Feature: defer_if_permit and defer_if_reject actions in
    	access tables, mainly for use by the delegated policy
    	server. Files: smtpd/smtpd_check.c, proto/access.
    
    20030725
    
    	The dict_pgsql module did not use dict_alloc() and dict_free(),
    	causing improper initialization and a memory leak. Leandro
    	Santi. File: util/dict_pgsql.c.
    
    	Cleanup: added open_flags sanity checks to the dict_pgsql
    	and dict_mysql modules. These maps must be opened in
    	read-only mode.
    
    20030731
    
    	Bugfix: virtual(8) was changed to use mail_addr_find()
    	instead of virtual8_maps_find(), but the SMTP server's
    	virtual mailbox recipient validation was not updated.
    
    20030804
    
    	Bugfix: the 20030712 safety against invalid DNS results
    	was broken. Reported by Ralf Hildebrandt. File:
    	dns/dns_lookup.c.
    
    20030805-12
    
    	Safety: the pipe daemon now defers delivery with a warning
    	when it is given a non-existent command-line macro name.
    	File:  pipe/pipe.c.
    
    20030810
    
    	Bugfix: dict_ldap had a few harmless memory leaks.  By
    	Liviu Daia.  File: util/dict_ldap.c.
    
    	Feature: support for LDAP URLs in the LDAP parameter
    	"server_host", if Postfix is linked against OpenLDAP.  This
    	allows Postfix to connect to LDAP SSL sources.  By Liviu
    	Daia.  File: util/dict_ldap.c.
    
    
    Boris Mühmer's avatar
    Boris Mühmer committed
    20030811
    
    	Cleanup: produce a warning when host:port specifies a badly
    	formatted numerical port.  Files:  util/find_inet.c,
    	smtp/smtp_connect.c, lmtp/lmtp_connect.c.
    
    
    Boris Mühmer's avatar
    Boris Mühmer committed
    20030822
    
    	Feature: the export_environment and import_environment
    	parameters now accept name=value information that will be
    	entered into the new environment. File: util/clean_env.c.
    
    20030823
    
    	Feature: smtpd_sasl_exceptions_networks parameter to prevent
    	Postfix from offering AUTH  to clients that match the listed
    	networks. Based on code by Ben Rosengart, Panix. Files:
    	conf/sample-auth.cf, smtpd/smtpd.c.
    
    20030902
    
    	Portability: the Postfix master resets the file size to
    	the largest possible off_t value when the actual limit
    	appears to overflow the off_t range. Files: util/sys_defs.h,
    	util/file_limit.c. A fine sample of bit banging.
    
    
    Boris Mühmer's avatar
    Boris Mühmer committed
    20030905
    
    	Workaround: Solaris 8 select() claims that a non-blocking
    	socket is readable and then read() fails with EAGAIN. Files:
    	util/timed_read.c and as precautionary measure,
    	util/timed_write.c.
    
    
    Boris Mühmer's avatar
    Boris Mühmer committed
    	Bugfix: dict_register() should not be called from dict_open()
    	in dict_mysql and dict_pgsql.  Liviu Daia.  Files:
    	util/dict_mysql.c, util/dict_pgsql.c.
    
    	Feature: LDAP parameters can now be specified in external
    	files.  This makes it possible to securely store bind
    	passwords for plain auth outside of main.cf (which is world
    	readable).  By Liviu Daia, based on a suggestion by Victor
    	Duchovni and Lamont Jones.  File: util/dict_ldap.c.
    
    	Feature: STARTTLS option for LDAP, if Postfix is linked
    	against OpenLDAP.  By Liviu Daia, amended by Victor Duchovni.
    	File:  util/dict_ldap.c.
    
    	Cleanup: connections to LDAP sources are now postponed
    	until they are actually needed.  By Liviu Daia.  File:
    	util/dict_ldap.c.
    
    
    Boris Mühmer's avatar
    Boris Mühmer committed
    	The 20030905 Solaris workaround triggers too many warnings.
    	TCP sockets are back to blocking, and keepalives are turned
    	on to kill off dead sockets, as suggested by Leandro Santi.
    
    Boris Mühmer's avatar
    Boris Mühmer committed
    	Files: master/{single,multi}_server.c, smtpd/smtpd.c,
    	util/sys_defs.h.
    
    20030909
    
    	Bugfix: the LMTP session caching code had problems with
    	SASL authentication after the first connection, and pipelining
    
    Boris Mühmer's avatar
    Boris Mühmer committed
    	was working poorly.  Fix by Victor Duchovni, Morgan Stanley.
    
    Boris Mühmer's avatar
    Boris Mühmer committed
    	Files: lmtp/lmtp.c, lmtp/lmtp_proto.c.
    
    20030912
    
    	Workaround: besides SMTP server sockets, SMTP client sockets
    	can also hang on Solaris, as reported by Leandro Santi. In
    	order to deal with this at the root, all connection management
    	is now done by sane_accept() and sane_connect().  Both turn
    	on keepalives on Solaris.
    
    20030913
    
    	Safety: set-gid commands don't trust TZ.  File: msg_syslog.c.
    
    
    Boris Mühmer's avatar
    Boris Mühmer committed
    20030914
    
    	Address extension propagation wasn't documented enough when
    	it was added to Postfix. Based on patches by Roman Neuhauser.
    
    	Added clarifying notes to main.cf, master.cf and access by
    	Dean Gibson.
    
    	In header/body_checks, DUNNO is now the preferred action
    	instead of the now deprecated OK. This may confuse fewer
    	people.
    
    	In header/body_checks, allow text after IGNORE and DUNNO,
    	suggested by Victor Duchovni, Morgan Stanley.  File:
    	src/cleanup/cleanup_message.c.
    
    	Feature: reject_rhsbl_helo. File: smtpd/smtpd_check.c.
    
    	Bugfix? The LMTP and SMTP clients now send "MAIL FROM:<sender>
    	AUTH=<>" when SASL authenticated. Suggested by by Victor
    	Duchovni, Morgan Stanley. Files: smtp/smtp_proto.c,
    	lmtp/lmtp_proto.c.
    
    20030915
    
    	Bugfix: mail rejected by the before-queue content filter
    	was mis-labeled as a software error; it should be labeled
    	as a policy error instead. File: smtpd/smtpd.c.
    
    	Cleanup: postcat is now null-byte transparent. File:
    	postcat/postcat.c.
    
    20030916
    
    	Feature: ``check_{sender,recipient}_mx_access maptype:mapname''
    	applies the named Postfix access table to the MX host name
    	and IP addresses for the sender or recipient address. If
    	no MX record is found, the A record is used instead. File:
    	smtpd/smtpd_check.c.
    
    	Feature: ``check_{sender,recipient}_ns_access maptype:mapname''
    	applies the named Postfix access table to the DNS server
    	hostname and IP addresses for the sender or recipient
    	address. If no NS record is found, the parent domain is
    	used instead. File: smtpd/smtpd_check.c.
    
    20030917
    
    	Feature: ``check_helo_{ns,mx}_access maptype:mapname'',
    	same semantics as sender and recipient.
    
    	Multiple LDAP lookup tables in the one Postfix process now
    	share one LDAP connection. Code by Victor Duchovni, Morgan
    	Stanley.  File: util/dict_ldap.c.
    
    	Performance: with prefix_domain specified for an LDAP lookup
    	table, lookups of @domain are skipped. Code by Victor
    	Duchovni, Morgan Stanley.  File: util/dict_ldap.c.
    
    	Safety: check_mumble_{mx,ns}_access refuses to be used for
    	whitelisting. The Postfix SMTP server will reject the
    	request with "451 server configuration error" and will log
    	a warning explaining why. File: smtpd/smtpd_check.c.
    
    20030918
    
    	Bugfix: check_mumble_ns_access did not correctly look up
    	NS records of parent domains, causing mail to be deferred
    	with a 450 status code. File: smtpd/smtpd_check.c.
    
    20030919
    
    	Robustness: check_mumble_{mx,ns}_access skip over DNS lookup
    	failures instead of deferring mail. This is not as bad as
    	it appears to be because the restrictions can't be used
    	for whitelisting.  File: smtpd/smtpd_check.c.
    
    20030920
    
    	Bugfix: the 20030917 LDAP connection sharing code introduced
    	a compilation problem with non-OpenLDAP implementations.
    	Fix by Liviu Daia. File: util/dict_ldap.c
    
    	Compatibility: the LDAP server_host parameter now supports
    	all the usual Postfix list element delimiters. Some LDAP
    	libraries support just SPACE, others SPACE and ",". Postfix
    	now normalizes the host list into a space separated format.
    	This is less surprising to Postfix users used to the full
    	range of delimeters in other contexts. Implemented by Liviu
    	Daia. File: util/dict_ldap.c
    
    	Bugfix: after returning too old mail, the bounce daemon
    	now locks the original queue file and deletes deferred
    	recipients, to avoid repeated bounce notifications when
    	the queue manager is restarted. Files:  bounce/*.[hc],
    	global/bounce_log.[hc], global/{bounce,defer}.[hc] and
    	everything that invokes these routines including queue
    	manager and delivery agents.
    
    20030922
    
    	Feature: "XADDR address hostname" SMTP command, for SMTPD
    	restriction debugging, and for sites with fetchmail-like
    	software that extracts client information from the first
    	Received:  header. The smtpd_authorized_xaddr_clients
    	parameter specifies what clients are allowed to use XADDR
    	(default: none).  Files:  smtpd/smtpd.c.
    
    20031015
    
    	Workaround: smtpd access maps should not apply subdomain
    	name magic to numerical hostnames. File: smtpd/smtpd_check.c.
    
    	Safety: the local delivery agent now defers delivery when
    	alias lookup produces an empty result. File: local/alias.c.
    
    20031019
    
    	Workaround: disable request/reply size limit in attr_scan*.c
    	to prevent mail from getting stuck when rewriting a malformed
    	message header.  This limit was turned on with snapshot
    	20030715 to harden the protocol that is used by SMTPD policy
    	delegation. A "no code change" workaround is to specify
    	"header_size_limit = $line_length_limit".  The proper fix
    	is to enforce request/reply size limits only for data from
    	outside of Postfix. Problem reported by Brandon Mullenberg,
    	Dialup USA. Files:  util/attr_scan*.c.
    
    	Feature: "XLOGINFO address hostname" SMTP command, so that
    	Postfix daemons behind SMTPD pass-through proxies log useful
    	client name/address information instead of localhost[127.0.0.1].
    	The smtpd_authorized_xloginfo_clients parameter specifies
    	what clients are allowed to use XLOGINFO (default: none).
    	Files:  smtpd/smtpd.c.
    
    	Cleanup: renamed the authorized_verp_clients parameter to
    	smtpd_authorized_verp_clients for consistency.
    
    20031021
    
    	Workaround: the demo greylist script now uses BTREE instead
    	of HASH files for hopefully better stability. The real fix
    	is to use a single updater process that serves multiple
    	clients. That approach seems to work well with the verify
    	daemon. File: examples/smtpd-policy/smtpd-policy.pl.
    
    20031022
    
    	Safety: the SMTP server now warns when the queue_minfree
    	value is less than twice the message size limit. File:
    	smtpd/smtpd.c.
    
    	Safety:  the SMTP server no longer accepts mail when the
    	amount of free space is less than twice the message size
    	limit.  File: smtpd/smtpd_check.c.
    
    	Safety: log a warning and defer mail when canonical or
    	virtual lookups return a non-address result (like a string
    	that contains no address). File: global/mail_addr_map.c.
    
    	Safety: log a warning and defer mail when any map lookup
    	returns an empty string result, and explain that "no result"
    	is expected in case of a "not found" condition. This happens
    	with incorrectly implemented SQL or LDAP tables. File:
    	global/maps_find.c.
    
    20031023
    
    	Bugfix: the MYSQL and PGSQL modules invoked dict_register().
    	This was fixed a while ago but never made it into the
    	distribution. Files: util/dict*sql.c.
    
    	Robustness: added three ISSPACE() calls in the smtpd proxy
    	parser. File: smtpd/smtpd_proxy.c.
    
    20031024
    
    
    Boris Mühmer's avatar
    Boris Mühmer committed
    	Portability: added localhost to mydestination for sites
    	that turn off append_dot_mydomain. File: global/mail_params.h.
    
    Boris Mühmer's avatar
    Boris Mühmer committed
    20031027
    
    	Portability: MacOS X Bind8 compatibility. File: makedefs.
    
    
    Boris Mühmer's avatar
    Boris Mühmer committed
    20031103
    
    	Robustness: flush pipelined "." and "quit" replies to avoid
    	repeated deliveries in case of a program crash (you know,
    	the kind of thing that happens before Postfix release :-).
    	File:  smtpd/smtpd.c.
    
    20031105
    
    	Portability: turn off NETINFO support for MacOS X Panther
    	by default. Files: makedefs, util/sys_defs.h.
    
    20031106
    
    	Feature: the sample greylist policy server is now case
    	insensitive.  File: examples/smtpd-policy/smtpd-policy.pl.
    
    20031103-20031110
    
    	Feature: preliminary defense against SMTP clients that
    	hammer the SMTP server with too many simultaneous or
    	successive connection attempts, with a whitelist capability
    	to disable the restriction for authorized clients.  Most
    	work is implemented by a new "anvil" server.  Parameters:
    	smtpd_client_connection_count_limit, smtpd_client_connection-
    	_rate_limit, smtpd_client_connection_limit_exceptions, and
    	client_connection_rate_time_unit.  Documentation:  smtpd(8),
    	anvil(8), sample-smtpd.cf. Files:  smtpd/smtpd.c,
    	global/anvil_clnt.[hc], anvil/anvil.c.  The anvil server
    	logs peak count and rate information per client when it
    	terminates after running out of work or after "postfix
    	reload".
    
    
    Boris Mühmer's avatar
    Boris Mühmer committed
    	Cleanup: Postfix now supports the /0 netmask (match every
    	address).  This is useful as a catch-all pattern at the
    	end of a table.  Files:  util/dict_cidr.c, util/match_ops.c.
    
    
    Boris Mühmer's avatar
    Boris Mühmer committed
    	Cleanup: don't report that $queue_directory/etc/filename
    	differs from /etc/filename when /etc/filename does not
    	exist.  File: conf/postfix-script.
    
    
    Boris Mühmer's avatar
    Boris Mühmer committed
    20031112
    
    	Feature: client_connection_status_update_time parameter
    	controls periodic logging of maximal connection counts or
    	rates.  The default logging interval is 10 minutes.
    
    	Feature: "make makefiles WARN=stuff..." overrides the
    	built-in GCC warning options that are used when "make" is
    	invoked from within a source subdirectory. Files:  makedefs,
    	*/Makefile.in.
    
    20031125
    
    	Feature: qmgr logs "queueid: deleted", just like postsuper,
    	when it removes a message from the mail queue.
    
    	Performance: smtpd connects to the cleanup or proxy server
    	AFTER the first valid RCPT TO command, instead of after
    	the first valid MAIL FROM command. This avoid wasting
    	real-time proxy filter resources when mail is stopped by
    	the SMTP server's access blocks.  File: smtpd/smtpd.c.
    
    
    Boris Mühmer's avatar
    Boris Mühmer committed
    20031126
    
    	Bugfix: "panic: mymalloc: requested length 0" when master.cf
    	specified an invalid host name or address.  Postfix now
    	logs more specific information. File:  master/master_ent.c.
    	Reported by several people.
    
    
    Boris Mühmer's avatar
    Boris Mühmer committed
    20031125-20031201
    
    	Feature: XCLIENT support to override the SMTP server's
    	client information for logging and/or access control. This
    	replaces the short-lived XADDR and XLOGINFO extensions.
    	Remotely based on code by Victor Duchovni.  See FILTER_README
    	and SMTPD_PROXY_README for usage details. Files:
    	smtpd/{smtpd,smtpd_check,smtpd_proxy,smtpd_xclient}.c
    	smtp/smtp_smtp_proto.c, *qmgr/qmgr_message.c,
    	global/deliver_request.c.
    
    20031202
    
    	Cleanup: postfix-files now has support for files that are
    	no longer part of Postfix. When upgrading Postfix, the
    	post-install script gives the user a reminder. Files:
    	conf/postfix-files, conf/post-install.
    
    20031203
    
    	Support for SMTPD access map actions (FILTER, REDIRECT,
    	HOLD or DISCARD) that are delegated to the cleanup server,
    	but can trigger before the first valid recipient address
    	is accepted (and thus, before a cleanup server connection
    	is available).  Files:  smtpd/{smtpd,smtpd_state,smtpd_check}.c.
    
    20031204
    
    	Bugfix: conf/post-install didn't skip non-existent obsolete
    	files.  Victor Duchovni.
    
    	Minor cleanups of the xclient error messages; xclient
    	command lookup tables. File: smtpd/smtpd.c.
    
    20031206
    
    	Feature: reject_sender_login_mismatch allows multiple owners
    	of a sender address.  Code by Liviu Daia.  Files:
    	smtpd/smtpd_check.c and documentation.
    
    	reject_sender_login_mismatch is now implemented by elementary
    	features reject_unauthenticated_sender_login_mismatch
    	(reject if the client is not SASL logged in but the sender
    	address has an owner in smtpd_sender_login_maps) and
    	reject_authenticated_sender_login_mismatch (reject if the
    	client is SASL logged in but does not own the sender
    	address).  Code by Liviu Daia.  Files: smtpd/smtpd_check.c
    	and documentation.
    
    20031207
    
    	Bugfix: fallback_transport and mailbox_transport were broken
    	because the deliver_pass.c module was not updated for the
    	changed message delivery protocol.
    
    20031211
    
    	Safety: in dynamically growing data structures, update the
    	length info after (instead of before) updating the data
    	size. Files:  util/argv.c, util/inet_addrlist.c, util/intv.c,
    	util/mvect.c, util/vstring.c, global/recipient_list.c,
    	*qmgr/qmgr_rcpt_list.c.
    
    20031212
    
    	Cleanup: separate extensions XCLIENT (impersonate SMTP
    	client) and XFORWARD (down-stream logging of up-stream MTA
    	and/or message information, not necessarily SMTP related).
    	The protocol is extensible: the server advertises what
    	attributes XCLIENT or XFORWARD will accept, and it is an
    	error to send an unsupported attribute.  No xtext encoding
    	is used, since no attribute currently needs it.  See also:
    	XCLIENT_README and XFORWARD_README.
    
    20031214
    
    	Feature: XFORWARD support in the LMTP client.
    
    
    Boris Mühmer's avatar
    Boris Mühmer committed
    20031215
    
    	Safety: updated mail_queue_id_ok() for long fast flush
    	logfile names. File: global/mail_queue.c.
    
    	Robustness: save and restore the resolver _res.options
    	settings before and after DNS lookup, to avoid surprises
    	in third-party code. This may eliminate some "localhost
    	not found" problems. File: dns/dns_lookup.c.
    
    
    Boris Mühmer's avatar
    Boris Mühmer committed
    20031216
    
    	Cleanup:  easier to parse mailq output (no more space
    	between short queue ID and message status).  File:
    	showq/showq.c.
    
    20031216-21
    
    	Cleanup: the SMTP client now moves on to the next MX host
    	or fallback relay when delivery fails in the middle of an
    	SMTP session. This includes both broken connections and
    	4xx SMTP server replies.  Files:  smtp/smtp.c, smtp_rcpt.c,
    	smtp/smtp_connect.c, smtp_trouble.c.
    
    	Configuration parameters: smtp_mx_address_limit (limit the
    	list of IP addresses from MX lookup), and smtp_mx_session_limit
    	(limit the number of actual SMTP sessions per delivery
    	attempt, ignoring unusable MX IP addresses).
    
    	The new code centers around a mark-and-sweep algorithm
    	(replacing code that twiddled the rcpt->offset structure
    	member), with paranoid sanity checks to ensure that every
    	recipient is explicitly accounted for.
    
    20031217
    
    	Update: LDAP client logging (Liviu Daia) and LDAP client
    	documentation (Victor Duchovni). Files: util/dict_ldap.c,
    	conf/sample-ldap.cf, README_FILES/LDAP_README.
    
    
    Boris Mühmer's avatar
    Boris Mühmer committed
    20031222
    
    	Cleanup: shaved half the worst-case bits off the cleanup
    	duplicate address filter footprint. After discussion with
    	Victor Duchovni. File: cleanup/cleanup_out_recipient.c.
    
    
    Boris Mühmer's avatar
    Boris Mühmer committed
    	Safety: added "mail loops to myself" logic for destinations
    	that don't have an MX host.  File: smtp/smtp_addr.c.
    
    
    Boris Mühmer's avatar
    Boris Mühmer committed
    	Workaround: turn off "mail loops to myself" for non-MX
    	destinations because it breaks SMTP-based content filters.
    	Fix is to turn off loop detection when a non-default TCP
    	port is specified.  File: smtp/smtp_addr.c.
    
    
    Boris Mühmer's avatar
    Boris Mühmer committed
    	Bugfix: restore errno after write failure in SIGCHLD handler.
    
    Boris Mühmer's avatar
    Boris Mühmer committed
    	Leandro Santi (who got the idea from Hernan Perez Masci).
    	File: master/master_sig.c.
    
    	Bugfix: the auto_clnt module disconnected too early, causing
    	unnecessary work by the anvil server.
    
    	Cleanup: eliminated binary hashes from anvil server. Anvil
    	client information is now stored on top of its VSTREAM.
    
    20031226
    
    	Feature: bounce_queue_lifetime parameter (default:
    	$maximal_queue_life_time) that bounds the time that
    	MAILER-DAEMON messages spend in the queue before they are
    	considered undeliverable.
    
    	Feature: disable "mail loops back to myself" protection
    	when SMTP mail is sent to a non-standard port. This makes
    	setting up content filters less painful.
    
    	Cleanup: disallow bare x.x.x.x numeric IP addresses in
    	email addresses. The form user@[x.x.x.x] is still allowed.
    
    	Cleanup: cleaned up the naming of internal symbols in the
    	SMTP client.
    
    20031231
    
    	Bugfix: stricter address syntax test broke "sendmail -bs".
    	File: smtpd/smtpd.c.
    
    20040101
    
    	Cleanup: the Postfix SMTP server rejects a MAIL FROM address
    	that matches a local, virtual or relay domain, while the
    	address is not listed in the corresponding local, virtual
    	or relay recipient table.
    
    	Feature: the reject_unlisted_sender(recipient) SMTPD access
    	restriction rejects an address that matches a local, virtual
    	or relay domain, while the address is not listed in the
    
    Boris Mühmer's avatar
    Boris Mühmer committed
    	corresponding local, virtual or relay recipient table.
    
    Boris Mühmer's avatar
    Boris Mühmer committed
    
    	Compatibility: the check_recipient_maps restriction works
    	like reject_unlisted_recipient, but will eventually be
    	removed from Postfix.
    
    20040102
    
    	Misc documentation cleanup by Loic Minier.
    
    Boris Mühmer's avatar
    Boris Mühmer committed
    
    20040104
    
    	Workaround: MacOSX dumps core on the 20030913 TZ censoring
    	code. We explictly set TZ=UTC, which will produce incorrect
    	results when "mailq" formatting is moved from the showq
    	daemon to the postqueue command.   File: msg_syslog.c.
    
    
    Boris Mühmer's avatar
    Boris Mühmer committed
    	Feature: after mail is requeued with "postsuper -r", the
    	pickup server logs the old queue ID together with the new
    	queue ID.  Victor Duchovni. File: pickup/pickup.c.
    
    	Feature: smtpd_sasl_application_name parameter (default:
    	smtpd) to control the name of the SASL configuration file
    	used by the Postfix SMTP server. Liviu Daia. Files:
    	mail_params.h, smtpd.c, smtpd_sasl_glue.c.
    
    	Cleanup: the LDAP client configuration parser is now shared
    	between the LDAP, MySQL, and PGSQL clients.  Liviu Daia.
    	Files: global/cfgparser.[hc], global/dict_ldap.c,
    	global/dict_mysql.c, global/dict_pgsql.c and documentation.
    
    	Cleanup: moved "util" modules with dependencies on higher-level
    	"global" code from the util directory to the global directory:
    	util/dict_open.c, global/cfgparser.[hc], global/dict_ldap.c,
    	global/dict_mysql.c, global/dict_pgsql.c, global/mail_dict.c.
    
    	Cleanup: the new queue manager nqmgr replaces the default
    	queue manager qmgr, leaving behind a hard link for backwards
    	compatibility. The old queue manager remains available as
    	as oqmgr but will eventually be removed.
    
    
    Boris Mühmer's avatar
    Boris Mühmer committed
    	Bugfix: vstring_get() etc. now return VSTREAM_EOF when they
    	terminate prematurely, instead of returning the last