Skip to content
Snippets Groups Projects
HISTORY 629 KiB
Newer Older
  • Learn to ignore specific revisions
  • 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