Skip to content
HISTORY 619 KiB
Newer Older
Boris Mühmer's avatar
Boris Mühmer committed
	is made available as "nqmgr".

20000528

	Feature: the SMTP client SASL password file can contain
	entries for destination domain names (the address remote
	part) not just mail server hostnames. File: smtp_sasl_glue.c.

	Feature: smtpd_sasl_local_domain parameter (default:
	$myhostname) to specify the local SASL authentication realm.
	File: smtpd_sasl_glue.c.

	Feature: specify "body_checks=regexp:/file/name" for a very
	crude one line at a time message body content filter.  This
	feature uses the same filtering syntax as the header_checks
	feature.  File:  cleanup/cleanup_message.c. See also the
	conf/sample-filter.cf file.

20000530

	Feature: full content filtering through external software.
	This uses existing interfaces for sending mail to the
	external content filter and for injecting it back into
	Postfix.  Details in FILTER_README.  Files: pickup/pickup.c,
	smtpd/smtpd.c, qmgr/qmgr_message.c.

20000531

	More SASL feedback by Liviu Daia, regarding the use of
	authentication realms. File smtpd/smtpd_sasl_glue.c.

	Added a simple shell-script based content filtering example
	to the FILTER_README file.

	Content filtering support for nqmgr by Patrik Rak.  File:
	nqmgr/qmgr_message.c.

	Renamed "content inspection" etc. to "content filtering"
	in anticipation of a new hook for content inspection that
	only inspects mail without re-injecting it into Postfix.

20000601

	Feature: limit the size of pipe mailer deliveries with the
	size=nnn command-line attribute. Patch by Andrew McNamara.

20000603

	Bugfix: don't try to do SASL authentication when running
	in stand-alone (sendmail -bs) mode. Fix by Liviu Daia.

	Bug: the unauthorized pipelining test fails with single
	recipient mail when smtpd_delay_reject = yes.

20000617

	Bugfix: conf/sample-ldap.cf was no longer up to date with
	reality. Patch by Lamont Jones, HP.

	Bugfix: the maildir delivery routine left temporary files
	lying around after unsuccessful delivery (problem reported
	by Brian Laughton @ Corp.Axxent.Ca).

20000621

	AIX 4.x had POSIX regular expression support all the time
	I was working on Postfix. Better find out late than never.

20000623

	Bugfix: the SMTP server did not reset the so-called junk
Boris Mühmer's avatar
Boris Mühmer committed
	command counter after successful delivery (Mark Hoffman @
	wallst.com).  File: smtpd/smtpd.c.
Boris Mühmer's avatar
Boris Mühmer committed
4074 4075 4076 4077 4078 4079 4080 4081 4082 4083 4084 4085 4086 4087 4088 4089 4090 4091 4092 4093 4094 4095 4096 4097 4098 4099 4100 4101 4102 4103 4104 4105 4106 4107 4108 4109 4110 4111 4112 4113 4114 4115 4116 4117 4118 4119 4120 4121 4122 4123 4124 4125 4126 4127 4128 4129 4130 4131 4132 4133 4134 4135 4136 4137 4138 4139 4140 4141 4142 4143 4144 4145 4146 4147 4148 4149 4150 4151 4152 4153 4154 4155 4156 4157 4158 4159 4160 4161 4162 4163 4164 4165 4166 4167 4168 4169 4170 4171 4172 4173 4174 4175 4176 4177 4178 4179 4180 4181 4182 4183 4184 4185 4186 4187 4188 4189 4190 4191 4192 4193 4194 4195 4196 4197 4198 4199 4200 4201 4202 4203 4204 4205 4206 4207 4208 4209 4210 4211 4212 4213 4214 4215 4216 4217 4218 4219 4220 4221 4222 4223 4224 4225 4226 4227 4228 4229 4230 4231 4232 4233 4234 4235 4236 4237 4238 4239 4240 4241 4242 4243 4244 4245 4246 4247 4248 4249 4250 4251 4252 4253 4254 4255 4256 4257 4258 4259 4260 4261 4262 4263 4264 4265 4266 4267 4268 4269 4270 4271 4272 4273 4274 4275 4276 4277 4278 4279 4280 4281 4282 4283 4284 4285 4286 4287 4288 4289 4290 4291 4292 4293 4294 4295 4296 4297 4298 4299 4300 4301 4302 4303 4304 4305 4306 4307 4308 4309 4310 4311 4312 4313 4314 4315 4316 4317 4318 4319 4320 4321 4322 4323 4324 4325 4326 4327 4328 4329 4330 4331 4332 4333 4334 4335 4336 4337 4338 4339 4340 4341 4342 4343 4344 4345 4346 4347 4348 4349 4350 4351 4352 4353 4354 4355 4356 4357 4358 4359 4360 4361 4362 4363 4364 4365 4366 4367 4368 4369 4370 4371 4372 4373 4374 4375 4376 4377 4378 4379 4380 4381

20000625

	Cleanup: remove Content-Length from incoming mail. The
	sender has no authority over the format of mail as stored
	by the receiving system. File: global/header_opts.h.

	Feature: rewrite Mail-Followup-To: as sender. Files:
	global/header_opts.[hc].

	Cleanup: rewrite Reply-To, Errors-To, Return-Receipt-To as
	sender, so that address masquerading works as expected.
	Files: global/header_opts.c.

	Feature: specify "require_home_directory = yes" to prevent
	mail from being delivered to a user whose home directory
	is not mounted. File: local/dotforward.c.

	Cleanup: the pipe deliver agent no longer appends a blank
	line when the F flag (prepend From_ line) is specified.
	Specify the B flag if you need that blank line. The local
	delivery agent no longer appends a blank line to mail that
	is delivered to external command. Files:  pipe/pipe.c,
	global/mail_copy.[hc].

20000708

	Portability: support for NEXT/OPENSTEP requires extra
	include file in util/watchdog.c (Masaki Murase).

20000715

	Added macros to turn on vstream/vstring/etc. format string
	checking by gcc, in addition to the checking that was
	already implemented with printfck.  File: util/sys_defs.h,
	the macros for PRINTFLIKE and SCANFLIKE. Problem - unlike
	the printfck tool, gcc finds format argument type mismatches
	only in code that isn't #ifdef-ed out.

20000718

	Robustness: make_dirs() now continues when a missing
	directory is created by another process.

20000720

	Feature: the queue manager now logs the number of recipients
	when opening a queue file (a zero recipient count is logged
	with older queue files). File: global/opened.c.

20000726

	Robustness: added watchdog_pat() routine to keep the watchdog
	quiet if a client stays connected for a lot of time. Files:
	util/watchdog.[hc], smtpd/smtpd.c.

20000729

	Robustness: if relayhost is specified but the host does
	not exist, defer mail instead of bouncing it (which would
	lose the mail if the bounce would have to be delivered to
	that same non-existent relayhost). Problem reported by
	Chris Cooper @ maths.ox.ac.uk. File: smtp/smtp_connect.c.

20000821

	Feature: added -r (replace key+value) option to postalias
	and postmap.

	Cleanup: smtpd now replies with 555 when the client sends
	unrecognized RCPT TO parameters, as required by RFC 1869
	(problem report by Robert Norris @ its.monash.edu.au).
	File: smtpd/smtpd.c.

20000822

	Logging: the SMTP server's SASL code logs the authentication
	method along with an authentication failure. Suggested by
	Ronald F. Guilmette @ monkeys.com.

	Workaround: some systems have file size resource limits
	that cannot be represented with the off_t type that is used
	by standard functions such as lseek(2). Problem reported
	by Blaz Zupan @ amis.net.

20000823

	Feature: all this discussion about when to reject mail and
	when not made me decide to implement a TCP-based map type
	so that it becomes relatively simple to implement dynamic
	access controls, for example, hold off mail from an unknown
	client or sender until we have completed some investigation,
	after which we will either reject or accept.

	However, this code is turned off until it is finished.

20000905

	Robustness: the dns client now rejects malformed domain
	names rather than depending on the DNS to report that the
	name does not exist. Linux returns a rather misleading
	server failure code as found out by Patrik Rak. File:
	dns/dns_lookup.c.

20000911

	Feature: added IGNORE keyword to header_checks and body_checks
	to pretend that certain data does not exist. File:
	cleanup/cleanup_message.c.

20000911

	Bugfix: the SASL code did not allow MAIL FROM... AUTH=sender
	without prior authentication. The RFC allows this, although
	one wonders what the reasoning behind this is. File:
	smtpd/smtpd_sasl_proto.c.

20000913

	Bugfix: the rmail script did not handle remote UUCP systems
	that send a from_ line with unqualified envelope sender.
	Reported by Luciano Mannucci.

	Compatibility: don't insert Sender: header lines. Sendmail
	has not done so for at least 10 years, if it ever did.
	Problem reported by Brad Knowles. File: cleanup/cleanup_message.c.

20000916

	Bugfix: when propagating an address extension in a virtual
	or canonical mapping, cleanup accesses memory that is no
	longer allocated. This can happen when the result address
	length is more than 100 characters.  Problem reported by
	Adi Prasaja @ satunet.com. File: global/mail_addr_crunch.c.

	Bugfix: fixed a misleading error message when the cleanup
	server reaches the queue file size limit. Fix by Robby
	Griffin @ MIT.EDU.  File: cleanup/cleanup_extracted.c.

20000917

	Bugfix: postalias -i would complain about duplicate entries
	for the Sendmail-compatible @ entry and for the NIS-compatible
	YP_LAST_MODIFIED and YP_MASTER_NAME entries.

20000918

	Gross hack: prevent looping on a bad recipient by always
	forwarding recipients in :include: files to a new mail
	delivery request, even when owner-listname is not set.
	File: local/recipient.c.

20000919

	Convenience: INSTALL.sh now imports default settings from
	the process environment, in order to make scripting easier.

	Robustness: INSTALL.sh now systematically skips over CVS,
	RCS and SCCS cruft.

	Portability: another fix for NEXTSTEP (Masaki MURASE).
	File: util/spawn_command.h.

20000920

	Cleanup: in a transport table entry, do not ignore port
	numbers specified as [host]:port. In fact, this is now
	becoming the preferred form, in order to avoid parsing
	problems with IPV6 addresses. Postfix supports both forms,
	but future versions will print a warning for the old form.
	Problem reported by Claus Fischer @ werhats.at

	Bugfix: missing initialization for state->sasl_method can
	cause permit_sasl_authenticated to always succeed.  Report
	and fix by Lutz Jaenicke @ aet.TU-Cottbus.DE.

	FAQ: added notes about how to delete, copy or restore queue
	files in a safe manner.

20000921

	File reorganization. No code change except Makefiles. All
	sources are pushed down by one directory level to keep file
	listings usable. Released as 20000922, so that I have a
	reference to run "diff -cr against.

	Bugfix: the spawn service was installed without man pages.

	Portability: MacOSX hints and tips by Joe Block, University
	of Central Florida School of Optics/CREOL

	Portability: The MacOSX gcc compiler does not understand
	the new printf_like/scanf_like attributes. File: util/sys_defs.h.

20000922

	nqmgr update from Patrik Rak for the changed queue manager
	to delivery agent protocol.

	Lame feature: syslog_facility parameter to control where
	syslogd sends Postfix logging (default: syslog_facility =
	mail).  However, errors during command-line parsing are
	still logged with the default syslog facility, as are errors
	while processing the main.cf file (surprise).  Based on
	code by Andrew McNamara.

20000923

	Cleanup: new bounce logfile API so that Postfix can change
	to an extensible bounce logfile format with per-recipient
	sender addresses (needed for VERP and for reporting local
	list delivery problems to the list owner) and other
	attributes.  File:  global/bounce_log.[hc].

	Cleanup: replaced the ad-hoc logfile parsing code in showq
	by something that uses the generic bounce logfile API.

20000924

	Feature: Postfix bounced mail and delayed mail notifications
	now have the standard RFC 1894 form (DSN). The bounce
	service now uses the generic bounce logfile API.  File:
	bounce/bounce_notify_service.c, bounce/bounce_notify_util.c.

	Cleanup: deleted the per-recipient bounce protocol.  Future
	bounce logfiles will support per-recipient bounce addresses.
	Files:  global/bounce.c, bounce/bounce_recip_service.

20000925

	Workaround: sendmail allows MAIL FROM and RCPT TO envelope
	addresses like <the dude <dude@site>> so we will never get
	rid of them. To disallow, specify "strict_rfc821_envelopes
	= yes".  File: smtpd/smtpd.c.

20000926-20001003

	Feature: a "flush" server that keeps per-destination records
	of deferred mail. It is the basis of a faster ETRN and
	"sendmail -qRsite" implementation. This code was rewritten
	half a dozen times.

20000928

	Bugfix: the stricter dns_lookup() argument checks revealed
	that Postfix was doing DNS lookups for domain literals
	([ip.address]) when expanding aliases in MAIL FROM and RCPT
	TO address parameters.  Reported by Jim Littlefield. File:
	smtp/smtp_unalias.c.

	Documentation: added text on the biff=yes/no parameter to
	conf/sample-local.cf (text provided by Paul Wagland,
	relational-consultancy.com.

	Robustness? Log errors from SASL library code as warnings
	not as fatal errors. Files: smtp*/*glue.c.

20001001

	Feature: in master.cf, specify ? after wakeup time to avoid
	waking up services that aren't being used.

20001003

	Feature: the fast flush refresh and purge time interval
	parameters can now be specified in user-specified units by
	providing an appropriate suffix:  s (seconds), m (minutes),
	h (hours), d (days), w (weeks).  unit.  This was needed so
	that I could test the flush server code in a reasonable
	way (its timeouts are normally specified in days or hours,
	and I don't have that much time for testing).  Other Postfix
	time interval parameters will be migrated as time permits.
	Files:  conf/sample-flush.cf, global/mail_conf_time.c,
	postconf/postconf.c.

	Unfeature: qmgr_hog_factor is now disabled by default. It
	was just too confusing. If you don't know what this means,
	do not worry.

20001005

	Cleanup: after "postfix reload" do not penalize mail that
	was in the active queue, but make it ready for immediate
	delivery so that ETRN etc. works as intended. Files:
	*qmgr/qmgr.c, *qmgr/qmgr_active.c.

	Portability: Redhat 7 library interfaces have changed
	incompatibly, which breaks existing software. File makedefs.

	Consistency: the fallback_relay parameter did not understand
	the [] or host:port syntax, and there was no way to suppress
	MX record lookups. Files: smtp/smtp_addr.c, smtp/smtp_connect.c.

	Convenience: you can now specify multiple SMTP destinations
	in the relayhost or fallback_relay configuration parameters.
	The specified destinations will be tried in the specified
	order. File:  smtp/smtp_connect.c.

	Many typographical corrections by Matthias Andree.

20001024

	Documentation: the canonical, virtual etc. manual pages
	did not document the effect of leading whitespace.

20001025

	Bugfix: virtual map expansion stopped too early with
Boris Mühmer's avatar
Boris Mühmer committed
	self-referential aliases. Reported by Michael Douglass @
	datafoundry.net. File: cleanup/cleanup_map1n.c.
Boris Mühmer's avatar
Boris Mühmer committed

20001026

	Horror:  postmap and postalias (newaliases) silently lose
	the file lock while building a lookup table with Berkeley
	DB 2.x and later on Solaris, HP-UX, IRIX, and UNIXWARE.
	The result is that table lookups fail while the table is
	being built, so that mail is lost.  In order to avoid this
	misbehavior one has to use an undocumented feature that is
	NOT available with the DB1.85 compatibility interface.
	Therefore, Postfix now supports three Berkeley DB programming
	interfaces of increasing complexity. File: util/dict_db.c.

	Bugfix: some character manipulations were not portable for
	signed/unsigned characters. Files: global/quote_821_local.c,
	global/quote_822_local.c.

	Workaround: apparently, some software sends SMTP mail that
	begins with "From sender time-stamp". Sendmail silently
	ignores such RFC violating garbage, and therefore Postfix
	needs to jump another hoop.  File: smtpd/smtpd.c.

20001028

	Bugfix: the flush server tried to access config files after
	going to the chroot jail. Found by Lutz Jaenicke, TU-Cottbus.DE.
	File: flush/flush.c.

	Update: revised LDAP module from primary maintainer John
	Hensley, with contributions from many other people. Files:
	util/dict_ldap.c, LDAP_README.

	Update: LINUX2 chroot setup script by Matthias Andree,
	uni-dortmund.de.

	Feature: specify unix:/path/name for LMTP connections over
	UNIX-domain sockets, and specify inet:host or inet:host:port
	for IPV4. If no unix: or inet: is specified, IPV4 is assumed.
	File: lmtp/lmtp_connect.c.

	Feature: added UNIX-domain support to the smtpstone test
	programs in order to test the LMTP client UNIX-domain
	support.

20001030

	Bugfix: further testing in preparation for 19991231-pl10
	revealed that the DB map code was now broken for every
	platform.

20001031

	Performance: the slow start (gradually increase number of
	parallel connections to the same site) was too gentle and
	Postfix would back off too quickly. Files: qmgr/qmgr_queue.c
	and nqmgr/qmgr_queue.c.

20001101

	FAQ update by Ralph Hildebrandt.

20001104

	Portability: RedHat Linux has changed incompatibly, again.
	Fixed with the help of Matthias Andree.  File: makedefs.

20001109

	Cleanup: changed prototype of internal function that did
	not return a useful result. File: src/util/vstream_popen.c.

20001110

	Workaround: the Debian post install script passes an open
	file descriptor into the master server and waits forever.
	Reported by Lamont Jones. File: master/master.c.

20001114

	Compatibility: added sendmail -G (gateway submission) option
	for compatibility with the sendmail rmail command. Requested
	by David Gilbert, Velocet Communications.

20001116

	Documentation: added MAILER-DAEMON to the list of sample
	masquerade_exceptions settings in conf/sample-rewrite.cf.
	Suggested by Karl O. Pinc, pop.artic.edu.

	Performance: the slow start (gradually increase number of
	parallel connections to the same site) was too gentle and
	Postfix would back off too quickly. Files: qmgr/qmgr_queue.c
	and nqmgr/qmgr_queue.c. Yup, changed the same code, again.
	We now allow for a margin above the actual concurrency,
	with the size of the initial destination concurrency.
	Final solution by Patrik Rak.

	Bugfix: the recipient home directory test broke mailbox_transport
	support for non-UNIX recipients.  File:  local/recipient.c.

20001117

	Robustness: additional integrity tests for the nqmgr by
	Patrik Rak. File: nqmgr/qmgr_message.c.

20001118

	Bugfix: the new LDAP client code did not work properly if
	the new ldap_domain parameter was not specified. LaMont
	Jones, HP.  File: util/dict_ldap.c.

	Feature: the soft_bounce safety net is extended to the SMTP
	server. With "soft_bounce = yes", The SMTP server changes
	all 5xx (reject) replies into 4xx (try again) replies.

	Documentation: the virtual(5) man page now documents both
	Postfix-style virtual domains and Sendmail-style virtual
	domains, including their interaction with local usernames,
	aliases and mailing lists. Hopefully, this ends some of
	the confusion surrounding virtual domain support. Updated
	several FAQ entries concerning virtual domain support.

	Documentation: added FAQ entry for the biff service.

20001119

	Bugfix: per-destination queue names were case sensitive so
	that the same site could have multiple queues.  Reported
	by Patrik Rak. Files: *qmgr/qmgr_message.c.

20001120

	Bugfix: per-destination deferred mail logfiles were case
	sensitive so that the same site could have multiple deferred
	mail logfiles, so that not all mail would be flushed with
	ETRN. Reported by Ralph Hildebrandt. Files:  flush/flush.c.

	Portability: added (int) casts to printf-like arguments
	that specify the width of %*letter conversions.  On some
	systems, sizeof and pointer difference expressions are
	wider than an int.  Reported by Valentin Nechayev @ lucky.net.

20001121:

	Compatibility: Postfix now retries delivery when an external
	command is killed by a signal, because people expect such
	behavior from Sendmail. File: global/pipe_command.c.

20001123-30

	Feature: mailbox locking is now configurable. The configuration
	parameter name is "mailbox_delivery_lock". Depending on
	the operating system one can specify one or more of "flock",
	"fcntl" and "dotlock". Use "postconf -l" to find out what
	locking methods Postfix supports. The default setting is
	system dependent.  All mailbox file opens are now done by
	one central mbox_open() routine. This affects the operation
	of the postlock command, and of local delivery to mailbox
	or /file/name.  Files: util/safe_open.c, util/myflock.c,
	global/deliver_flock.c, global/mbox_conf.c, global/mbox_open.c.
Boris Mühmer's avatar
Boris Mühmer committed
	local/mailbox.c, local/file.c, postlock/postlock.c.
Boris Mühmer's avatar
Boris Mühmer committed

	Compatibility: the old sun_mailtool_compatibility parameter
	is being phased out. It still works (by turning off
	flock/fcntl locks), but logs a warning as a reminder that
	it will go away.

	Compatibility: when delivering to /file/name, the local
	delivery agent now logs a warning when it is unable to
	create a /file/name.lock file, and then delivers the mail
	(older Postfix versions would silently deliver).

20001202

	Feature: specify "smtp_never_send_ehlo = no" to disable
	ESMTP.  Someone asked for this long ago. Files:  smtp/smtp.c,
	smtp/smtp_proto.c.

	Feature? Bugfix? The smtp client now skips server replies
	that do not start with "CODE SPACE" or with "CODE HYPHEN",
	and flags them as protocol errors. Older versions silently
	treat "CODE TEXT" as "CODE SPACE TEXT".  File:  smtp/smtp_chat.c.

20001203

	Documentation: postmap(1) and postalias(1) did not document
	the process exit status for "-q key".

20001204

	Bugfix: the Postfix master daemon no longer imported
	MAIL_CONF and some other necessary environment parameters.
	Postfix now has explicit "import_environment" and
	"export_environment" configuration parameters that control
	what environment parameters are shared with non-Postfix
	processes. Files: util/clean_env.c, util/spawn_command.c,
	util/vstream_popen.c, global/pipe_command.c, and everything
	that invokes this code.

20001208

	Bugfix: while processing massive amounts of one-recipient
	mail, qmgr could deadlock for 10 seconds while sending a
	bounce message. All queue manager bounce send requests are
	now implemented asynchronously.  Files: global/abounce.[hc]
	(asynchronous bounce client), qmgr/qmgr_active.c.  Problem
	reported by El Bunzo (webpower.nl) and Tiger Technologies
	(tigertech.com).

20001209

	Feature: mailbox_transport and fallback_transport can now
	have the form transport:nexthop, with suitable defaults
	when either transport or nexthop are omitted, just like in
	the Postfix transport map. This allows you to specify for
	example, "mailbox_transport = lmtp:unix:/file/name". File:
	global/deliver_pass.c.

20001210

	Bugfix: the local_destination_concurrency_limit paramater
	no longer worked as per-user concurrency limit but instead
	worked as per-domain limit, so that the limit of "2" in
	the default main.cf files resulted in poor local delivery
	performance.  Files:  qmgr/qmgr_message.c, qmgr/qmgr_deliver.c.
	Problem reported by David Schweikert (ee.ethz.ch) and Dallas
	Wisehaupt (cynicism.com).

20001210

	Feature: support for MYSQL connections over UNIX-domain
	sockets by Piotr Klaban.  Files: util/dict_mysql.c,
	MYSQL_README.

20001211

	Small dirt: postconf -m produced too much output due to a
	missing "else", and the optional SASL code needed a fix
	for the changed name_mask API.

20001212

	Workaround: due to an error, record type L for "filter
	transport name" was the same as that for the already existing
	record type L for "record not ending in newline", causing
	the pickup daemon to discard all records not ending in
	newline. The code cannot be changed without breaking
	compatibility with queued mail, so the pickup server is
	changed to discard type L records only from the message
	envelope, not from the content. File: pickup/pickup.c.

20001213

	Bugfix: dict_ldap did not properly initialize a handle
	after connection timeout. Problem reported by Alain Thivillon.
	File: util/dict_ldap.c.

20001214

	Feature: local_transport and default_transport now also
	understand the transport[:destination] notation, so that
	all transport config parameters are similar again. File:
	trivial-rewrite/resolve.c, trivial-rewrite/transport.c.

	Code cleanup: mailbox_transport and fallback_transport no
	longer allow the user to omit the transport part of a
	transport:destination specification. That just did not make
	any sense at all. The :destination part is still optional.
	File: global/deliver_pass.c.

	Feature: most time-related configuration parameters take
	a one-letter suffix that specifies the time unit:  s
	(second), m (minutes), h (hours), d (days), w (weeks).
	"postconf -d" output includes the default time unit. Files:
	many.

	Code cleanup: in a CONFIG_TIME_TABLE, the default time unit
	is now always the last character of a default time value.
	It is no longer necessary to specify the default time unit
	separately. This change means that it will not be possible
	to specify default values in the form of function calls,
	but that was unused anyway.  Files: global/mail_conf_time.c,
	and user code.

20001217

	Bugfix: reorganized some code in the MYSQL client to end
Boris Mühmer's avatar
Boris Mühmer committed
	a number of memory allocation/deallocation problems.  This
	code needs more work. File: dict_mysql.c.
Boris Mühmer's avatar
Boris Mühmer committed

20001218

	Bugfix: the MYSQL client did not provide function pointers
	for unimplemented operations, causing "postmap -d" to dump
	core instead if issuing an error message. This is what I
	get for accepting code that I cannot test myself.

20001221

	Code cleanup: configuration parameters that are $name
	expanded at run-time now have their own data type hierarchy
	instead of being piggy-backed on top of strings that are
	$name expanded at program initialization time.  Files:
	global/mail_conf.h, global/mail_conf_raw.c, and code that
	calls it.

20001230

	Update: replaced the default rbl.maps.vix.com setting by
	the current blackholes.mail-abuse.org.

20010102

	Code cleanup: the queue manager is a bit greedier with
	allocating a delivery agent. Problem pointed out by Patrik
	Rak. All bugs in the solution are mine.  Files:
	*qmgr/qmgr_active.c.

20010105

	Bugfix: the FILTER_README shell script example did not
	correctly pass exit status to the parent.

	Bugfix: soft errors in client hostname lookups would be
	treated as hard errors. Fix by Michael Herrmann
	(informatik.tu-muenchen.de). File: smtpd/smtpd_peer.c.

20010110

	Bugfix: the mkdir() EEXIST race condition workaround was
	not complete.  Matthias Andree, Daniel Roesen.  Files:
	global/mail_queue.c, util/make_dirs.c.

20010111

	Portability: IRIX 6.5.10 defines sa_len as a macro, causing
	a name collision with a variable used by Postfix. Roberto
	Totaro, enigma.ethz.ch. File:  smtpstone/smtp-source.c.

20010116

	Bugfix: REJECT by header/body_checks was flagged in smtpd
	as a bounce, should be policy, in order to make postmaster
	notifications more consistent. File: smtpd/smtpd.c.

	Merged updated chroot setup procedure by Matthias Andree.
	Files: examples/chroot-setup/LINUX2.

20010117

	Formatting: changed the seconds and days formats in the
	"your mail is delayed" text so that it does not switch to
	scientific notation. File: bounce/bounce_notify_util.c.

20010119

	Feature: SASL support for the LMTP client. Recent CYRUS
	software requires this for Postfix over TCP sockets.

20010120

	Bugfix: the 20001005 revised fallback_relay support caused
	Postfix to send mail to the fallback even when the local
	machine was an MX host for the final destination. Result:
	mailer loop. Found by Laurent Wacrenier (teaser.fr).  Files:
	smtp/smtp_connect.c, smtp/smtp_addr.c.

20010121

	Workaround: specify "broken_sasl_auth_clients = yes" in
Boris Mühmer's avatar
Boris Mühmer committed
	order to support old Microsoft clients that implement a
	non-standard version of RFC 2554 (AUTH command).
Boris Mühmer's avatar
Boris Mühmer committed

	Workaround: Lotus Domino 5.0.4 violates RFC 2554 and replies
	to EHLO with AUTH=LOGIN. File: smtp/smtp_proto.c.

20010125

	Code cleanup: wrote creator/destructor for dictionary
	objects that provides default methods that trap all attempts
	to perform an unimplemented operation. Based on an ansatz
	by Laurent Wacrenier (teaser.fr).  Files: util/dict*.[hc].

	Code cleanup: INSTALL.sh does not ask questions when stdin
	is not connected to a tty (as in: make install</dev/null).
	To automate a customized install, the script imports
	environment variables for install_root etc.

20010127

	Workaround: randomize the delay between attempts to lock
	a file, so that multiple bounce or defer servers are less
	likely to retry all at the same time.  likely.  File:
	util/rand_sleep.c, global/deliver_flock.c, global/dot_lockfile.c.

20010128

	Code cleanup: complaints about invalid or numeric hostnames
	either provide specific context or are removed as redundant.
	Files:  util/valid_hostname.c dns/dns_lookup.c.

	Code cleanup: new mailbox_size_limit parameter (default:
	20MB).  Until now, the mailbox size limit was the same as
	the message size limit, due to artefact of implementation.
	Files: global/mail_params.h, local/local.c.

	Bugfix: fix for the ldap_domains parameter, both semantics
	and documentation by LaMont Jones. Files:  LDAP_README,
	conf/sample-ldap.cf, util/dict_ldap.c.

	Update: merged in the virtual delivery agent by Andrew
	McNamara.  See VIRTUAL_README for detailed examples.

	Update: merged a re-vamped nqmgr by Patrik Rak.

20010129

	Tweak: several little nqmgr tweaks by Patrik Rak. Files:
	global/mail_params.h, nqmgr/qmgr_job.c.

	Bugfix: the virtual delivery agent did not save maps_find()
	results timely. J?rgen Thomsen, postfix.jth.net. File:
	virtual/mailbox.c.

	Security: disallow regexp tables in the virtual delivery
	agent.  The $1 etc. substitution mechanism gives too much
	power to the sender. File: virtual/mailbox.c.

	Cleanup: clarified documentation and boundary cases in the
	random_sleep() routine.

	Bugfix: the MISSING_USLEEP feature was used backwards.
	Patrik Rak. File: util/random_sleep.c.

20010130

	Workaround: Linux usleep() is void, BSD/Solaris usleep()
	returns int, don't use it. File util/random_sleep.c.

	Made local maildir bounce/defer handling mode consistent
	with local mailbox delivery. File local/maildir.c.

	The smtp client now defers delivery when all MX hosts have
	no A record. File: smtp/smtp_addr.c

	Bundled the man2html and postlink quick hacks so people
	can do their own manual page processing. See scripts in
	the mantools directory.

	Documentation: updated the reference to sendmail in the
	html/index.html page.

	Documentation: added note about the Cisco PIX "fixup smtp"
	bug that causes mail delivery problems when "." and "CRLF"
	arrive in separate packets. File:  html/faq.html.

20010201

	Bugfix: another missing initialization in the mysql client.
	File: util/dict_mysql.c.

	Sanitized time routine by Patrik Rak, to make his nqmgr
	robust against people who set their clock back.  Files:
	util/sane_time.[hc].

	Bumped the default mailbox file size limits to 50MB.

20010202

	Bugfix: fixed the way the master resets the file size limit
	to avoid problems when a Postfix daemon updates a queue
	file.  The file size limit is now increased to INT_MAX if
	it is smaller than INT_MAX, so that it is less likely to
	interfere than the old setting of message_size_limit.

	Feature: disable mailbox size limits for the local and
	virtual delivery agents by setting mailbox_size_limit or
	virtual_mailbox_limit to zero.

20010203

	Update: null candidate patch from Patrik Rak. Files:
	nqmgr/qmgr_entry.c nqmgr/qmgr_job.c nqmgr/qmgr_message.c.

	Cleanup: added one gruesome command to the postlink script
	for hyperlinking nroff manual page output. Word abbreviation
	broke some <a href...> </a> instances across line boundaries.
	sed(1) is an amazing tool.  File: mantools/postlink.

20010204

	Laid the ground work for logging of table accesses. This
	will give more insight into how Postfix uses its lookup
	tables. User interface comes later.  File:  util/dict_debug.c.

20010216

	Bugfix: the pipe delivery agent expanded $size as if it
	were a recipient, instead of expanding it as $nexthop or
	as $sender. Reported by Michael Tokarev. File: pipe/pipe.c.

20010221

	Bugfix: poor LMTP performance for domains that are listed
	in $mydestination, because Postfix would send one recipient
	at a time, with multiple deliveries of recipients of the
	same message in parallel; a similar problem could exist
	with virus scanning and with firewall relay hosts that
	forward mail for $mydestination to an inside machine. This
	behavior is now changed to depend on the transport-specific
	xxx_destination_recipient_limit parameter.  This also means
	that you can now get qmail behavior for SMTP deliveries by
	setting smtp_destination_recipient_limit=1.  File:
	{qmgr,nqmgr}/qmgr_message.c.

	Workaround: Solaris socketpair() can fail with EINTR. Added
Boris Mühmer's avatar
Boris Mühmer committed
	a sane_socketpair.c module that joins the ranks of the
	other sane_whatever workarounds. Reported by Andrew McNamara.
Boris Mühmer's avatar
Boris Mühmer committed
	File: util/sane_socketpair.[hc]

20010222

	Documentation: the default main.cf file has a prominent
	warning that mynetworks should be properly configured in
	order to reject unauthorized mail relay requests from
	strangers.

	Documentation: the INSTALL document, section "mandatory
	configuration file edits" has a section that explains that
	mynetworks should be properly configured in order to reject
	unauthorized mail relay requests from strangers.

20010223

	Documentation: the basic.html document has a section that
	explains that mynetworks should be properly configured in
	order to reject unauthorized mail relay requests from
	strangers.

	Feature: new "mynetworks_style" parameter that controls
	how mynetworks (trusted networks) is derived from the
	inet_interfaces (machine interfaces) setting. Specify
	"class" for entire class A, B, C networks; "subnet" for
	the local subnets only; or "host" for maximal privacy.
	Files:  util/inet_addr_local.[hc], global/own_inet_addr.[hc],
	global/mynetworks.[hc], postconf/postconf.c.

	Portability: MACOSX patches by Gerben Wierda.

	Portability: Solaris /dev/null is a symlink, which tripped
Boris Mühmer's avatar
Boris Mühmer committed
	up the code to safely open a file before local delivery.
	We now grudgingly allow symlinks owned by root. File:
	util/safe_open.c.
Boris Mühmer's avatar
Boris Mühmer committed

20010224

	Bugfix: "postconf mynetworks" ignored the inet_interfaces
	setting. That was a very old one. File: postconf/postconf.c.

	INCOMPATIBLE CHANGE: POSTFIX NO LONGER RELAYS MAIL FOR
	CLIENTS IN THE ENTIRE CLASS A/B/C NETWORK. POSTFIX BY
	DEFAULT RELAYS MAIL FOR CLIENTS IN THE LOCAL SUBNETWORK.
	Specify "mynetworks_style = class" to get the old behavior.

20010225

	Portability: master sigchld handler based on writing to a
	pipe, so that the master wakes up from select(). Based on
	code by Erik Forsberg, Linkoping University, Sweden.  File:
	master/master_sig.c. Disabled until after the major release.

	Code cleanup: Postfix should now run with no alias database.

	Code cleanup: local_destination_recipient_limit and
	local_destination_concurrency_limit have become first-class
	configuration parameters. Files: global/mail_params.h,
	*qmgr/qmgr.c, postconf/postconf.c.

20010226

	Documentation suggestions by Lars Hecking and Richard
	Huxton, Matthias Andree and many others.

	Code cleanup: some queue/transport operations need to be
	moved, after the code cleanup of the recipient/concurrency
	limit handling. Patrik Rak.  Files: *qmgr/qmgr_message.c.

20010301

	Feature: configurable name in syslog output (default:
	"syslog_name = postfix") so that different Postfix instances
	can be recognized by their logging. File: global/mail_task.c.

20010313

	Workaround for logic mismatch in nqmgr that was exposed
	with the introduction of the asynchronous bounce client.
	Patrik Rak.

20010313

	Bugfix: the RFC 822 untokenizer quoted newlines inside
	comments. File: global/tok822_parse.c.

20010316

	Cleanup: removed an extraneous warning when a queue file
	write error happened.

20010321

	Workaround: LMTP connection caching never worked for
	destinations starting with unix: or inet:. File:
	lmtp/lmtp_connect.c.

20010322