4.10.0

2011-11-13  Sam Varshavchik  <mrsam@courier-mta.com>

	* imapd.c (main): Open IMAPDEBUGFILE only if it exists already.
	(do_expunge): Optionally log deletions. Based on a patch by
	William Yodlowsky <wyodlows@andromeda.rutgers.edu>.

	* pop3dserver.c (cleanup): Optionally log deletions. Based on a patch by
	William Yodlowsky <wyodlows@andromeda.rutgers.edu>.

	* imapd.dist.in (IMAP_MOVE_EXPUNGE_TO_TRASH): Officially document how
	IMAPDEBUGFILE works.

2011-10-28  Sam Varshavchik  <mrsam@courier-mta.com>

	* imapscanclient.c: Postpone Y2038K for a while, for uid validities.

2011-10-22  Sam Varshavchik  <mrsam@courier-mta.com>

	* liblock/mail.c (dotlock_exists): Handle getting here because of a
	recycled pid.

	* unicode/unicode.c (init_default_chset): Handle NULL from setlocale().

2011-09-06  Sam Varshavchik  <mrsam@courier-mta.com>

	* rfc2045/reformime.c (main2): Fixed segfault on some arches from an
	initial null given to strtok.

2011-08-14  Sam Varshavchik  <mrsam@courier-mta.com>

	* rfc2045/reformime.c (main2): On ia64 and arm, argv is in readonly
	memory.

2011-08-04  Michiel Boland <michiel@boland.org>

	* pop3dserver.c (openpop3dlist): Try a few times to reopen pop3dsizelist
	if it fails with ESTALE.

2011-07-11  Sam Varshavchik  <mrsam@courier-mta.com>

	* pop3d.dist.in: Add AUTHSERVICE settings. They've been supported
	all along.

2011-06-19  Sam Varshavchik  <mrsam@courier-mta.com>

	* Fix gcc 4.6 warnings

	* courier-imap.spec.in: switch to systemd. Remove script used when
	upgrading from ancient pre-sysconftool versions.


2011-05-25  Sam Varshavchik  <mrsam@courier-mta.com>

	* Fix autoconf warnings.

4.9.3

2011-05-22  Sam Varshavchik  <mrsam@courier-mta.com>

	* msgenvelope.c (msgappends): Fix a fatal error upon encountering
	8-bit header content. Heuristically try to interpret it as UTF-8, and
	just ignore invalid UTF-8 sequences.

4.9.2

2011-05-17  Sam Varshavchik  <mrsam@courier-mta.com>

	* rfc2045/rfc2045cdecode.c: Tolerate lowercase hexadecimal characters
	in quoted-printable-encoded content.

2011-05-06  Thomas Jacob <jacob@internet24.de>

	* unicode/unicode.c: Compilation fixes.

4.9.1

2011-04-11  Sam Varshavchik  <mrsam@courier-mta.com>

	* tcpd/libcouriertls.c (tls_create): Remove SSLv2_method().
	(tls_create): Remove "!SSLv2" from the default TLS_CIPHER_LIST.

2011-04-07  Sam Varshavchik  <mrsam@courier-mta.com>

	* mkimapdcert.in (prefix): Create imapd.pem with 600 perms.

	* mkpop3dcert.in (prefix): Create pop3d.pem with 600 perms.

4.9.0

2011-03-19  Sam Varshavchik  <mrsam@courier-mta.com>

	* unicode/unicode.h: Added unicode_isspace().

	* unicode/unicode_wordbreak.c: Implementation of tr29.

	* unicode/unicode.h: unicode_lb_set_opts(), plus derivatives: set
	artbirary linebreaking options. Two options that tailor the unicode
	linebreaking algorithm.

2011-03-06  Sam Varshavchik  <mrsam@courier-mta.com>

	* unicode/unicode.c (convert_flush_iconv): Save errno in case it
	gets clobbered by the callback function.

2011-02-26  Sam Varshavchik  <mrsam@courier-mta.com>

	* unicode/unicode.h (mail): Added iterator-based conversion functions
	to/from unicode chars.

2011-02-24  Sam Varshavchik  <mrsam@courier-mta.com>

	* unicode/unicode.c (save_unicode): Optimize buffering of
	unicode characters.

2011-02-17  Sam Varshavchik  <mrsam@courier-mta.com>

	* unicode/unicode.h: Adjust unicode_wcwidth() to return 0 for BK, CR,
	LF, CM, NL, WJ, ZW characters.

2011-02-16  Sam Varshavchik  <mrsam@courier-mta.com>

	* unicode/unicode.h: Internal implementation if tr14, linebreaking
	rules.

2011-01-24  Sam Varshavchik  <mrsam@courier-mta.com>

	* rfc822/rfc2047.c (rfc2047_encode_callback): Rewrite broken logic.

	* unicode/unicode.c (deinit_iconv): Incomplete multibyte character
	remaining at the end of conversion was falsely being reported as
	a callback failure, rather than a conversion failure.

2011-01-22  Sam Varshavchik  <mrsam@courier-mta.com>

	* Check if -liconv is needed to get iconv.

	* Clean up leftover unicode-related crud in configure scripts.

2011-01-22  Gordon Messmer <yinyang@eburg.com>

	* rfc1035/rfc1035mksocket.c (rfc1035_mksocket): Set IPV6_V6ONLY
	socket option to OFF for IPv6 sockets, if the system default is on.

2011-01-22  Sam Varshavchik  <mrsam@courier-mta.com>

	* Removed the last remains of the old unicode mapping code.

	* unicode/unicode.c (init_default_chset): Import additional logic
	from the cone tree: CHARSET and MM_CHARSET environment variables
	override locale's charset indication. If unable to determine locale,
	parse lang.codeset@modifier string in LANG.

	* rfc822/encodeautodetect.c (libmail_encode_autodetect): Remove obsolete
	unicode API. Determine encoding with heuristics based entirely on
	the content. Remove charset arg, replace with "use7bit", to force
	qp or base64, instead of 8bit. Take a binaryflag param that gets set
	to indicate whether base64 was selected based on binary content.

	* pcp/pcp.c (usage): Unicode API update.

	* rfc822/rfc2047.c (rfc2047_encode_str): Removed
	rfc2047_encode_callback_base64, invoked from rfc2047_encode_str().
	Rewrite rfc2047_encode_str() to use the new unicode API.

2011-01-22  Sam Varshavchik  <mrsam@courier-mta.com>

	* rfc822/rfc2047u.c: Unicode API updates.

	* unicode/unicode.h: Replace unicode_x_imap_modutf7 with a #define.
	Eliminted unicode_x_smap_modutf7, replaced with
	unicode_x_imap_modutf7, a space, and blacklisted chars.

	* unicode/unicodecpp.C (convert_tocase): C++ binding for
	libmail_u_convert_tocase().

	* unicode/unicode.c (init_default_chset): Map GNU libc nl_langinfo()
	return of "ANSI_X3.4*" to "US-ASCII".

2011-01-17  Sam Varshavchik  <mrsam@courier-mta.com>

	* unicode/unicode_ultcase.c (unicode_tc): Convert test character
	to lowercase first, before converting to titlecase -- UnicodeData
	does not specify an uppercase char's titlecase, directly.

	* maildir/maildirsearch.h (mail): New C++ binding method -
	getSearchLen().

2011-01-16  Sam Varshavchik  <mrsam@courier-mta.com>

	* unicode/unicode.h: Define C++ binding for libmail_u_convert(),
	mail::iconvert.

	* maildir/maildirsearch.h (mail): Convert the C++ binding to use
	the unicode-aware, case-insensitive, whitespace-collapsing algorithm.


2011-01-15  Sam Varshavchik  <mrsam@courier-mta.com>

	* unicode/unicode.c (unicode_default_chset): New function calculates
	the default system unicode charset based on the global locale.
	(libmail_u_convert_init): Support a phony character set used to
	encode unicode folder names for IMAP (and SMAP). Passing the
	phony character set name to libmail_u_convert_init() encodes or
	decodes to the phony character set. For converting to the phony
	character set, libmail_u_convert_init() sets up an iconv conversion to
	UCS-2, then wraps it into a module that converts UCS-2 to the phony
	character set. For converting from the phony character set,
	libmail_u_convert_init() sets up an iconv conversion from UCS-2, then
	wraps it into a module that converts the phony character set to UCS-2.
	(libmail_u_convert_tocbuf_init): A wrapper to libmail_u_convert_init()
	that converts to native UCS-4, and saves it into a malloc-ed
	unicode_char array.
	(libmail_u_convert_tocbuf_toutf8_init): Convenience wrapper for
	converting to UTF-8.
	(libmail_u_convert_tocbuf_fromutf8_init): Convenience wrapper for
	converting from UTF-8.
	(libmail_u_convert_toutf8): Convenience wrapper that converts
	a text string to UTF-8 and returns a malloced buffer with the
	converted string.
	(libmail_u_convert_fromutf8): Convenience wrapper that converts
	a UTF-8 string to another charset, and returns a malloced buffer with
	the converted string.
	(libmail_u_convert_tobuf): Convenience wrapper that converts a
	character string and returns the converted string in a malloced
	buffer.
	(libmail_u_convert_fromu_init): Convenience wrapper that sets up
	a conversion of text to native unicode_chars.
	(libmail_u_convert_uc): Convenience wrapper for passing unicode chars
	through libmail_u_convert().

	* rfc2045/rfc2646create.c (rfc2646create_alloc): Replace unicode
	struct pointer argument with a character set string name.
	Use libmail_u_convert_fromu_init() and libmail_u_convert_tou_init()
	instead of the obsolete unicode functions.

	* rfc2045/rfc2231.c: Replace the unicode struct pointer argument with
	a character set string. Use libmail_u_convert_tobuf() instead of the
	obsolete unicode functions.

	* rfc2045/rfc2045decodemimesectionu.c (rfc2045_decodetextmimesection):
	Add a return value indication of a failed conversion to the requested
	character set.

	* maildir/maildirinfo.c: Use libmail_u_convert_tobuf() instead of the
	obsoleted unicode functions.

2011-01-09  Sam Varshavchik  <mrsam@courier-mta.com>

	* all: Replace all usage of internal unicode tables with iconv.
	Courier-IMAP now supports searching text given in any character set
	that's supported by iconv. The internal unicode library is still used
	for converting unicode to/from lower/uppercase, for functionality
	not directly available in iconv. Pretty much a rewrite of the entire
	search/sort/thread implementation.

2011-01-08  Sam Varshavchik  <mrsam@courier-mta.com>

	* all: Major rewrite of rfc2045 parsing functions, adding an abstraction
	layer for reading the contents of the parsed rfc 2045 message, rather
	than reading from a plain file descriptor.

	* smap.c: New rfc2045src abstraction layer API update.

	* rfc822/rfc822_parsedt.c: Eliminate the dependency on ctype, replaced
	them with macros.

	* rfc822/rfc822hdr.c (rfc822hdr_namecmp): Factor out rfc822hdr_namecmp
	from rfc822hdr_is_addr, and make it usable, generically.

4.8.1

2010-08-21  Sam Varshavchik  <mrsam@courier-mta.com>

	* Makefile.am (imapd.cnf): Compatibility fixes.

2010-08-15  Sam Varshavchik  <mrsam@courier-mta.com>

	* maildir/maildirwatch.c (maildirwatch_alloc): Use alarm() to kill
	the process if FAMOpen() takes more than 15 seconds to return.
	Should prevent a hung process if FAM/Gamin is fubared.

2010-07-11  Sam Varshavchik  <mrsam@courier-mta.com>

	* pop3dserver.c: Make printed() and putchar() macros.

2010-07-01  Sam Varshavchik  <mrsam@courier-mta.com>

	* imapd.cnf pop3d.cnf (default_md): added default_md = sha1

2010-06-28  Sam Varshavchik  <mrsam@courier-mta.com>

	* rfc822/rfc822.c (rfc822_print_common_nameaddr): Prevent segfault if
	address decode fails.

	* Fix make check failure when libidn is not available.

2010-05-31  Sam Varshavchik  <mrsam@courier-mta.com>

	* Rebuilt man pages with updated stylesheets.

4.8.0

2010-05-30  Mr. Sam  <mrsam@courier-mta.com>

	* tcpd/configure.in: Check if explicit linking with libgpg-error is
	required.

2010-03-20  "Stefan Hornburg (Racke)" <racke@linuxia.de>

	* imapd.c (main): Fix typo in alert message.

2010-03-18  Hugo Monteiro <hugo.monteiro@fct.unl.pt>

	* Big quota patch (with some changes).

2010-03-12  Sam Varshavchik  <mrsam@courier-mta.com>

	* imapd.c (main): Dummy FAM/Gamin initialization, report an error
	during login, upon a failure.

2010-03-10  Sam Varshavchik  <mrsam@courier-mta.com>

	* imapd.c (imapenhancedidle): Make FAM error more meaningful.

2010-02-25  Bernard Quatermass <bernard@quatermass.co.uk>

	* pop3dserver.c (main): "disableinsecurepop3" account option disables
	non-SSL logins.

	* imapd.c (chkdisabled): "disableinsecureimap" account option disables
	non-SSL logins.

4.7.0

2009-11-22  Sam Varshavchik  <mrsam@courier-mta.com>

	* rfc822/rfc822.c: Removed rfc822_praddr().

	* rfc822/rfc822_getaddr.c (rfc822_getaddr): Implement rfc822_getaddr()
	by calling rfc822_display_addr_tobuf(), instead of rfc822_praddr().

	* rfc822/testsuite.c (doaddr): Remove rfc822_addrlist() and
	rfc822_namelist().

2009-11-21  Sam Varshavchik  <mrsam@courier-mta.com>

	* msgenvelope.c (doenva): Replace rfc822_getname() by
	rfc822_display_name_tobuf() with a NULL character set.

	* rfc822/rfc822_getaddr.c: Remove rfc822_prname() and
	rfc822_prname_orlist(), replaced by rfc822_display_name() with a NULL
	character set.

	* rfc822/rfc2047u.c (rfc822_display_name): Semantical change --
	without an explicit name, display the address as the name. If the
	requested character set is NULL, do not decode RFC2047-encoded content,
	return it as is.

2009-11-17  Sam Varshavchik  <mrsam@courier-mta.com>

	* rfc2045/rfc2045reply.c (mkreply): Fix logic for locating the
	name used for salutation.

	* rfc822/rfc2047u.c (rfc2047_print_unicodeaddr): Fix several formatting
	issues with deprecated RFC 822 distribution lists: spurious comma
	adter the last address, pass the space after the ':' as a separator
	character.

	* rfc822/rfc2047.c (counts2/save): Fix line-wrapping of encoded
	addresses.

	* rfc822/rfc2047u.c (rfc822_display_addr_tobuf): New function.

2009-11-14  Sam Varshavchik  <mrsam@courier-mta.com>

	* rfc822/rfc822.c (rfc822_print_common): Rewrite.

	* rfc822/rfc2047u.c (rfc822_display_name_int): Fixed various rules for
	encoding names to be more MIME compliant.
	(rfc822_display_addr_str): Renamed from rfc822_display_addr(), for a
	consistent API.
	(rfc822_display_addr): New function, decode the wire format of a single
	address. Names are MIME decoded, addresses are IDN-decoded.
	(rfc2047_print_unicodeaddr): Do not output a dummy name for an
	address without one.
	(rfc822_display_addr_str_tobuf): New function, version of
	rfc822_display_addr_str() that collects the output into a buffer.

	* rfc822/rfc2047.c (rfc822_encode_domain): New function -- IDN-encode
	a domain, with an optional "user@".
	(rfc2047_encode_header_addr): Renamed rfc2047_encode_header(), for a
	consistent API.
	(rfc2047_encode_header_tobuf): New function, encode a header from
	displayed format to wire format. Names are encoded using RFC 2047,
	addresses using IDN.

2009-11-08  Sam Varshavchik  <mrsam@courier-mta.com>

	* rfc822/rfc2047.h: Expose raw RFC 2047 decoding function,
	rfc2047_decoder().

	* rfc822/rfc822hdr.c (rfc822hdr_is_addr): New function.

	* rfc822/rfc822.c (tokenize): Tweak the logic for collecting RFC 2047
	atoms.

	* rfc822/rfc2047u.c (rfc822_display_name): New function,
	replaces rfc2047_print().
	(rfc822_display_name_tobuf): New function,
	replaces rfc2047_print().
	(rfc822_display_namelist): New function,
	replaces rfc822_namelist().
	(rfc822_display_addr): New function, replaces rfc2047_print().
	(rfc2047_print_unicodeaddr): Renamed from rfc2047_print_unicode().
	(rfc822_display_hdrvalue): New function, replaces rfc2047_decode(),
	rfc2047_decode_simple(), rfc2047_decode_enhanced().
	(rfc822_display_hdrvalue_tobuf): New function, ditto.

	* rfc822/rfc2047.c: Removed rfc2047_decode(), rfc2047_decode_simple(),
	rfc2047_decode_enhanced(), rfc2047_print().

	* rfc822/Makefile.am: Link against GNU IDN library.

	* thread.c (thread_ref_callback): SUBJECT for THREAD REFERENCES wasn't
	getting converted to UTF-8 at the right point, moved it up into
	search.c

	* search.c (fill_search_header): SUBJECT search key was being
	MIME-decoded twice.

4.6.0

2009-09-05  Gordon Messmer <yinyang@eburg.com>

	* outbox.c (imapd_sendmsg): Renamed sendmsg() to avoid library name
	clash.

2009-08-12  "Hanno Böck" <hanno@hboeck.de>

	* tls: change the default OpenSSL configuration to disable anonymous
	authentication ciphers.

4.5.1

2009-06-27  Sam Varshavchik  <mrsam@courier-mta.com>

	* all: gcc 4.4 fixes

2009-05-28  Sam Varshavchik  <mrsam@courier-mta.com>

	* fetch.c (open_cached_fp): If the message file cannot be opened,
	create a dummy message in its place.

4.5.0

2009-05-09  Sam Varshavchik  <mrsam@courier-mta.com>

	* Documentation refresh.

2009-03-23  Fernando Gozalo <fgozalo@csi.uned.es>

	* pop3dserver.c: s/POP3_STLS/POP3_TLS/, for correct logging.

2008-12-02  Sam Varshavchik  <mrsam@courier-mta.com>

	* imaprefs.c (dorefcreate): Clean up usage of rfc822_threadsearchmsg().
	A malloc() failure wasn't checked correctly.

2008-10-11  Dmitry Osipov <ffar@mail.ru>

	* rfc2045/rfc2045_fromfd.c: Optimize header parsing.

2008-09-20  Sam Varshavchik  <mrsam@courier-mta.com>

	* search.c: Empty MIME entities would always match any SEARCH. Reported
	by Dmitry Osipov.

2008-09-18  Federico Cuello <fedux@lugmen.org.ar>

	* tcpd/configure.in: --without-gnutls forces suppression of GnuTLS when
	OpenSSL is not present.

2008-08-26  Alessandro Vesely <vesely@tana.it>

	* tcpd/libcouriergnutls.c (tls_connect): Fix client certificate request
	settings.

2008-08-24  Mr. Sam  <mrsam@courier-mta.com>

	* tcpd/libcouriergnutls.c (set_cert): Add support for certificates
	signed by an intermediate CA.

2008-07-17  Mr. Sam  <mrsam@courier-mta.com>

	* imapwrite.c (write_error_exit): Dump fatal errors to stderr.

4.4.1

2008-07-14  Sergey <grubberr@gmail.com>

	* configure.in: Compilation with db was broken.
4.4.0

2008-07-11  Mr. Sam  <mrsam@courier-mta.com>

	* maildir/maildirquota.sgml: Update descriptions of maildir quotas.

2008-06-29  Mr. Sam  <mrsam@courier-mta.com>

	* pop3login.c (starttls): Use the couriertls library to invoke
	couriertls, instead of doing it ourselves. SASL authentication did
	not correctly handle the special case of "=" passed as the initial
	response to indicate an empty initial response. Switch to the new
	auth_sasl_ex() API.

	* pop3dcapa.c (pop3_externalauth): Check the environment variables
	for subject fields set by couriertls. Advertise the AUTH EXTERNAL
	capability, if they are set.

	* imaplogin.c (starttls): Use the couriertls library to invoke
	couriertls, instead of doing it ourselves.

	* capability.c (imap_externalauth): Check the environment variables
	for subject fields set by couriertls. Advertise the AUTH=EXTERNAL
	capability, if they are set.

	* authenticate_auth.c (authenticate): SASL authentication did not
	correctly handle the special case of "=" passed as the initial response
	to indicate an empty initial response. Switch to the new auth_sasl_ex()
	API.

	* tcpd/libcouriergnutls.c (oid_name_list): Rename "email" to
	"emailAddress", for compatibility with OpenSSL.

	* tcpd/libcouriergnutls.c (verify_client): Check for the required
	certificate occured in the wrong spot.

	* tcpd/libcouriergnutls.c (tls_connect): Add call to
	gnutls_certificate_set_subject() to actually request the client cert.

	* tcpd/libcouriergnutls.c (tls_certificate_verified): Return an
	indication if the peer's certificate is good.

	* tcpd/libcouriertls.c (tls_certificate_verified): Ditto. Minor bug
	fixes.

	* tcpd/starttls.c (dump_to_fp): Parse Subject: header dumped by
	couriertls, export it in environment variables.

	* tcpd/tlsclient.c (couriertls_get_subject): Retrieve individual
	Subject: fields.

	* tcpd/tlsclient.c (couriertls_export_subject_environment): Export
	parsed Subject: fields to the environment.

2008-06-21  Mr. Sam  <mrsam@courier-mta.com>

	* Optimize IMAP keyword implementation. Faster results in exchange
	for a concurrency tradeoff if two concurrent sessions attempt to
	update keywords for the same message at the same time -- only one will
	win.

2008-06-13  Mr. Sam  <mrsam@courier-mta.com>

	* rfc822_getaddr.c: Backslashed special characters in address names
	weren't being dequoted correctly by rfc822_getname() and
	rfc822_getname_orlist().

2008-05-11  Mr. Sam  <mrsam@courier-mta.com>

	* pop3login.c (main): Add a timeout to the POP3 login stage

2008-05-08  Bernd Wurst <bernd@bwurst.org>

	* gdbmobj/Makefile.am (libgdbmobj_la_LIBADD): Fix makefile

2008-05-08  Mr. Sam  <mrsam@courier-mta.com>

	* bdbobj/Makefile.am: same patch. Also, clean up the rest of the
	makefiles.

2008-05-04  Kouhei Sutou <kou@cozmixng.org>

	* imapd.rc.in, pop3d.rc.in: Fix SSL initialization

2008-04-09  Mr. Sam  <mrsam@courier-mta.com>

	* tcpd/libcouriertls.c (cache_get): Fix TLS session caching.

4.3.1

2008-03-12  Gordon Messmer <yinyang@eburg.com>

	* tcpd/libcouriertls.c (tls_create): Default TLS_PROTOCOL=SSL23,
	TLS_CIPHER_LIST=SSLv3:TLSv1:!SSLv2:HIGH:!LOW:!MEDIUM:!EXP:!NULL@STRENGTH

2008-03-09  Brian Candler <B.Candler@pobox.com>

	* imapd.c (is_smap): Compilation failure fix.

2008-03-07  Mr. Sam  <mrsam@courier-mta.com>

	* courier-imap.spec - fix SSL build prerequisites.

2008-03-07  Bernd Wurst <bernd@bwurst.org>

	* many: update description of SSL/TLS-related settings in several
	configuration files.

2008-01-26  Mr. Sam  <mrsam@courier-mta.com>

	* imapd.c (main): New setting in the IMAP config file,
	IMAP_MAILBOX_SANITY_CHECK -- disable sanity check on the homedir
	and maildir ownership.

2008-01-04  Mr. Sam  <mrsam@courier-mta.com>

	* all: Explicitly make stderr line-buffered.

2007-12-08  "Stefan Hornburg (Racke)" <racke@linuxia.de>

	* imapd.c (main): Suppress spurious error message

4.3.0

2007-11-21  Mr. Sam  <mrsam@courier-mta.com>

	* tcpd/libcouriergnutls.c (tls_connect): TLS_MIN_DH_BITS setting,
	invokes gnutls_dh_set_prime_bits(). Fix some bugs.

2007-11-18  Mr. Sam  <mrsam@courier-mta.com>

	* tcpd/libcouriergnutls.c (tls_transfer): Fix some bugs.

2007-11-18  Mr. Sam  <mrsam@courier-mta.com>

	* tcpd/libcouriergnutls.c: Fix SSL session caching bug.

2007-11-10  Mr. Sam  <mrsam@courier-mta.com>

	* imapd.c (do_expunge): Remove \Draft flag from messages moved
	to the trash folder upon expunge from the original folder.
	(main): Additional sanity check to check for common courier-authlib
	misconfigurations.

2007-11-04  Mr. Sam  <sam@email-scan.com>

	* Added support for GnuTLS.

2007-10-29  Mr. Sam  <mrsam@courier-mta.com>

	* imapd.c (chk_clock_skew): Make skew check more reliable.

2007-10-23  Mr. Sam  <mrsam@courier-mta.com>

	* couriertls: code cleanup.

4.2.1

2007-10-09  Mr. Sam  <mrsam@courier-mta.com>

	* imapscanclient.c (do_imapscan_maildir2): Avoid a double-fclose()
	in marginal situations.

2007-10-06  Mr. Sam  <mrsam@courier-mta.com>

	* tcpd/starttls.c (main): Prime the OpenSSL entropy pool on platforms
	that don't have a ready source available.

2007-10-03  Mr. Sam  <mrsam@courier-mta.com>

	* Provide a default TCPREMOTEPORT when started from the command line.

4.2.0

2007-09-25  "Johnny C. Lam" <jlam-courier@buildlink.org>

	* liblock/lockdaemon.c (OPEN_MAX): Use OPEN_MAX, instead of hardcoded
	99

2007-09-25  Mr. Sam  <mrsam@courier-mta.com>

	* liblock/lockdaemon.c (OPEN_MAX): Even better, use
	sysconf(_SC_OPEN_MAX), where available.

2007-09-21  Mr. Sam  <mrsam@courier-mta.com>

	* imapd.c (chk_clock_skew): Try to autodetect clock skew.

2007-09-20  Adam Hasselbalch Hansen <ahh@one.com>

	* Include remote port number in IMAP and POP3 logs.

2007-08-29  Mr. Sam  <mrsam@courier-mta.com>

	* tcpd/tcpd.c (doit): Ignore SIGPIPE errors in couriertcpd, preventing
	couriertcpd from being terminated if the stderr logger crashes.

2007-07-26  Mr. Sam  <sam@email-scan.com>

	* COPYING: GPL 3

	* mailboxlist.c (folder_entry): Optimization: skip over folders
	not in the current scope, avoiding unnecessary overhead of checking
	their ACLs.

2007-07-01  Mr. Sam  <sam@email-scan.com>

	* configure.in (mydatadir): Updated PAM config file for Fedora 7.

2007-06-30  Mr. Sam  <mrsam@courier-mta.com>

	* Misc fixes for automake 1.10

4.1.3

2007-04-16  Mr. Sam  <mrsam@courier-mta.com>

	* maildir/maildirkeywords2.c (maildir_kwImport): Properly clean up
	after a malloc failure.

	* maildir/maildirshared.c (do_maildir_shared_sync): Plug a leak
	when syncing old-style shared folders.

2007-04-15  Mr. Sam  <mrsam@courier-mta.com>

	* unicode/eucjp.c (c2u): Check for malloc failure.
	(u2c): Ditto.

	* unicode/shiftjis.c (c2u): Ditto.

	* unicode/shiftjis.c (u2c): Ditto.

	* unicode/ksx1001.c (c2u_euckr_doconv): Ditto.

	* unicode/ksx1001.c (u2c_euckr_doconv): Ditto.

	* maildir/maildirnewshared2.c (maildir_shared_cache_read): Clarify
	calling convention, and check for invalid arguments to this function.

	* maildir/maildirkeywords2.c (doReadKeywords2): Eliminate dead code.

2007-04-05  Mr. Sam  <mrsam@courier-mta.com>

	* Update man pages and documentation to Docbook XML V4.4

2007-02-25  Mr. Sam  <mrsam@courier-mta.com>

	* More configure script cleanup

2007-02-25  Kurt Roeckx <kurt@roeckx.be>

	* Clean up configure scripts

2007-02-25  Mr. Sam  <mrsam@courier-mta.com>

	* rfc822/rfc822.c (parseaddr): rfc822a_alloc() would corrupt and
	misparse RFC2047-encoded atoms.

4.1.2

2006-09-19  Josip Rodin <joy@entuzijast.net>

	* maildirmake: Clarify some error messages.

	* maildir/maildirmake.sgml: Documentation fixup.

	* maildrop/maildropex.sgml: Documentation fixup.

2006-09-05  Mr. Sam  <mrsam@courier-mta.com>

	* imap: message files created by the IMAP server will use the umask
	setting.

2006-06-23  Peter Bieringer <pb@bieringer.de>

	* mainloop.c (sigexit): Try to log bandwidth usage before getting
	killed by a signal.

2006-05-29  Sergiy Zhuk <serge@yahoo-inc.com>

	* imapd.c (quotainfo_out): Fix 64-bit issue with quota indication.

2006-05-26  Mr. Sam  <mrsam@courier-mta.com>

	* all: Fix many compiler warnings.

4.1.1

2006-04-14  Mr. Sam  <mrsam@courier-mta.com>

	* liblock/lockdaemon.c: Fixed some compiler warnings.

2006-04-13  Mr. Sam  <mrsam@courier-mta.com>

	* tcpd/libcouriertls.c (tls_create): Fix segfault if non-cert files
	were found in the cert dir.

2006-03-25  "Serhij Dubyk / Сергій Дубик" <dubyk@library.lviv.ua>

	* unicode: Added koi8-u character set.

2006-03-17  Brian Candler <B.Candler@pobox.com>

	* imapd.c (quotainfo_out): Fix quota calculations on 32 bit platforms
	with 64 bit off_t.

2006-03-04  Gordon Messmer <yinyang@eburg.com>

	* soxwrap/sconnect.c (s_connect): Don't assume that connect() of
	a non-blocking socket always fails with EINPROGRESS

4.1.0

2006-02-23  Alain NAKACHE <alain@alinto.net>

	* imapd.dist.in (IMAP_ACL): New capability to control announcements
	of IMAP ACL support (on by default).

2006-02-07  Mr. Sam  <mrsam@courier-mta.com>

	* maildir/maildirquota.c (statsubdir): Fix quota race condition
	check optimization.

2006-01-22  Mr. Sam  <mrsam@courier-mta.com>

	* Makefile/configure: upgrade libtool/autoconf/automake toolchain.
	Workaround for broken libtool's mkinstalldirs macro.

	* tcpd/libcouriertls.c: Fix gcc 4 warning.

	* tcpd/tcpd.c: Ditto.

	* tcpd/tlspasswordcache.c: Ditto.

	* rfc822/rfc2047.c (encodebase64): Ditto.

	* rfc822/rfc822.c (parseaddr): Ditto.

	* libhmac/hmac.c (dohashkey): Ditto.

2006-01-12  Mr. Sam  <mrsam@courier-mta.com>

	* thread.c (dosortmsgs): Skip going through the motions of outputing
	the results of a SORT if # of sorted messages is 0.

2006-01-12 John Morrissey <jwm@horde.net>

	* maildir/maildirquota.c (do_deliver_warning): Fix quota warning
	message delivery.

2006-01-03  Mr. Sam  <mrsam@courier-mta.com>

	* imapd.c (quotainfo_out): Adjusted casting to work better with large
	quotas.

2005-10-04  Sergiy Zhuk <serge@yahoo-inc.com>

	* imapd.c (do_imap_command): Have RENAME also create
	courierimapuidlist.

	* maildir/maildirrename.c: Ditto - reset courierimapuidlist in
	renamed directories.

2005-11-21  Mr. Sam  <mrsam@courier-mta.com>

	* smapsnapshot.c (restore_snapshot2): Fix some file descriptor leaks.

2005-11-15  Mr. Sam  <mrsam@courier-mta.com>

	* rfc2045/rfc2045rewrite.c: Cleanup.  Remove duplicate quoted-printable
	implementation, use one in rfc822/encode.c

	* rfc822/encode.c (quoted_printable): encode spaces that precede a
	newline.

2005-10-04  Sergiy Zhuk <serge@yahoo-inc.com>

	* imapd.c (do_imap_command): Have RENAME also create
	courierimapuidlist.

2005-09-30  Sergiy Zhuk <serge@yahoo-inc.com>

	* imapd.c (do_imap_command): Have CREATE create courierimapuidllist.

2005-09-30  Mr. Sam  <mrsam@courier-mta.com>

	* imap/pop3: log total bytes sent/received in IMAP and POP3 sessions
	(based on a patch by Peter Bieringer <pb@bieringer.de>.

4.0.6

2005-09-23  Mr. Sam  <mrsam@courier-mta.com>

	* maildir/Makefile.am: skip parts of make check if libpcre is not
	installed

2005-09-22  Mr. Sam  <mrsam@courier-mta.com>

	* maildir/maildirpurgetmp.c (maildir_purge): When autopurging messages
	from a folder based on their timestamp, scan 'new' in addition to
	'cur', otherwise mail delivered to the folder directly never gets
	purged, unless the folder is open.

4.0.5

2005-09-07  Mr. Sam  <mrsam@courier-mta.com>

	* maildir/Makefile.am (testmaildirfilter_LDADD): Move -lpcre to LDADD,
	from LDFLAGS.

2005-08-20  Mr. Sam  <mrsam@courier-mta.com>

	* waitlib/waitlib.c: probe for sigprocmask(), and use it if available.

2005-08-16  Mr. Sam  <mrsam@courier-mta.com>

	* imapd.c (do_msgset): Fix handling of invalid sequence number of 0.

2005-08-11  Mr. Sam  <mrsam@courier-mta.com>

	* search.c (search_oneatatime): Fix NOT operator on content searches.

4.0.4

2005-07-16  Mr. Sam  <mrsam@courier-mta.com>

	* configure.in: Update to automake 1.9, autoconf 2.59, libtool 1.5.6,
	gettext 0.14.1.

2005-07-15  Mr. Sam  <mrsam@courier-mta.com>

	* imap: Implemented account groups, administrator group.

2005-07-04  Mr. Sam  <mrsam@courier-mta.com>

	* pop3d.dist.in: Add PLAIN to POP3AUTH_ORIG.

2005-07-01  Brian Candler <B.Candler@pobox.com>

	* imap: add LOGGEROPTS and SSLLOGGEROPTS configuration settings
	which are passed to courierlogger to set the application name for
	syslog.

	* INSTALL.html.in: Update documentation, add DEFDOMAIN setting to
	imapd and pop3d config files.

2005-07-01  Mr. Sam  <mrsam@courier-mta.com>

	* INSTALL.html.in: --with-syslog was moved to courier-authlib.

2005-06-29  Mr. Sam  <mrsam@courier-mta.com>

	* mkimapdcert.in: Set umask before creating the cert file, to close
	off a theoretical snoop.
	* mkpop3dcert.in: Ditto.

	* imapd.c: New OUTBOX_MULTIPLE_SEND option.

2005-06-29  Brian Candler <B.Candler@pobox.com>

	* tcpd/tcpd.c: Added --accesslocal option.

2005-06-18  Mr. Sam  <mrsam@courier-mta.com>

	* courier-imap.spec.in (License): Replaces obsolete Copyright: header.
	* smap: SMAP EXPUNGE >100 msg ranges was broken. 

2005-06-11  Mr. Sam  <mrsam@courier-mta.com>

	* COPYING.GPL: New FSF address.

2005-06-03  Mr. Sam  <mrsam@courier-mta.com>

	* courier-imap.spec.in: Clean up spec file.

2005-05-18  "Hrvoje Habjanić" <hrvoje.habjanic@zg.t-com.hr>

	* Reorder include files, to compile on SunOS & OSFx.

	* Workaround for bugs on some platforms' select().

	* soxwrap needs a configure check for socklen_t.

4.0.3

2005-05-08  Mr. Sam  <mrsam@courier-mta.com>

	* courier-imap.sysvinit: Remove init lock file upon stop.

2005-04-03  Giulio Cervera <giulio@edspa.it>

	* PROXY_HOSTNAME: new setting in imap and pop3 config file overrides
	gethostname() when checking if a proxy connection is required.

4.0.2

2005-02-26  Mr. Sam  <mrsam@courier-mta.com>

	* msgbodystructure.c (msgbodystructure): Fix MSGBODYSTRUCTURE response
	for a corrupted content-type of "text".

2005-02-19  Mr. Sam  <mrsam@courier-mta.com>

	* courierauthdebug.h: Macro dprintf conflicts with new glibc.

2005-02-16  Mr. Sam  <mrsam@courier-mta.com>

	* Various: Replace "env -" with "env -i" -- portability.

	* configure.in: Fix sourcing of ./conftest2.

2005-02-08  Mr. Sam  <mrsam@courier-mta.com>

	* Makefile.am: Fix README.proxy getting clobbered by make clean.

2005-01-27  Andres Salomon <dilinger@voxel.net>

	* rfc2045/reformime.sgml: Fix typo.

4.0.1

2005-01-04  Andreas Erhart <andi@zollhaus.net>

	* imaplogin.c (login_callback): Fix imap proxy code.

4.0.0

2004-12-04  Brian Candler <B.Candler@pobox.com>

	* imap: fix disconnection syslog messages.

2004-11-29  Brian Candler <B.Candler@pobox.com>

	* pop3dserver.c (main): Fix error message when chdir fails.

2004-11-24  Mr. Sam  <mrsam@courier-mta.com>

	* imapd.dist.in: Add IMAP_UMASK, which resets umask in the imapd
	startup script.  Derived from Ted Zlatanov <tzz@lifelogs.com>'s patch.

2004-11-20  Brian Candler <B.Candler@pobox.com>

	* Additional debugging cleanup.

2004-11-09  Brian Candler <B.Candler@pobox.com>

	* sharedindexsplit: Various fixes, imported from courier-authlib.

2004-11-12  Mr. Sam  <mrsam@courier-mta.com>

	* courier-imap.spec: Don't grab ownership of /var/run.  Drop
	redefinition of the %configure macro.

	* maildir: maildir_newshared_disabled turns off new-style shared
	folders. maildir_acl_disabled disables ACL support.

	Account option "disableshared=1" disables virtual shared folders
	and ACLs.

2004-11-09   Brian Candler <B.Candler@pobox.com>

	* imap/pop3: minor cleanup.

2004-11-05  Mr. Sam  <mrsam@courier-mta.com>

	* pop3dserver.c (main): Authenticated address is in AUTHENTICATED,
	not AUTHADDR, now.

2004-11-03  Mr. Sam  <mrsam@courier-mta.com>

	* Makefile.am (SUBDIRS): Ok, only build in bdbobj/gdbmobj according 
	to what autoconf finds.

2004-10-30  Mr. Sam  <mrsam@courier-mta.com>

	* imaplogin.c (login_imap): Implemented IMAP proxying.

	* pop3login.c (login_pop3): Implemented POP3 proxying.

2004-10-20  Mr. Sam  <mrsam@courier-mta.com>

	* Factored out courier-authlib.

3.0.8

2004-09-06  Mr. Sam  <mrsam@courier-mta.com>

	* imaptoken.c (bye_msg): IMAP disconnect message includes session
	length and STLS mode, for logging purposes.

	* pop3dserver.c (acctout): POP3 disconnect message includes session
	length, and STLS mode, for logging purposes.

2004-09-01  Marc Horowitz <marc@mit.edu>

	* search.c (fill_search_veryquick): Negative SEARCH UID does not
	get short-circuited.

2004-08-12  Mr. Sam  <mrsam@courier-mta.com>

	* imapd.c (do_imap_command): [READ-WRITE] and [READ-ONLY] reflect
	ACL rights.

2004-08-06  Mr. Sam  <mrsam@courier-mta.com>

	* authlib/configure.in: Fix usage of mysql_config

2004-08-05  Mr. Sam  <mrsam@courier-mta.com>

	* testsuite (IMAP_SHAREDINDEXFILE): Fix a bash-ism.

3.0.7

2004-07-27  Mr. Sam  <mrsam@courier-mta.com>

	* Makefile.am (EXTRA_DIST): Removed FAQ (see the main Courier FAQ
	on http://www.courier-mta.org/FAQ.html).
	(EXTRA_DIST): Moved README.imapkeywords.html to the maildir
	subdirectory.

2004-07-21  Mr. Sam  <mrsam@courier-mta.com>

	* authlib/authmysqllib.c (auth_mysql_getuserinfo): Fix options field.

3.0.6

2004-07-18  Mr. Sam  <mrsam@courier-mta.com>

	* imapscanclient.c (fnamcmp): Ignore :s when comparing filenames
	during maildir scan (fixes anomalous cases with nonstandard filenames).

2004-07-12  Mr. Sam  <mrsam@courier-mta.com>

	* outbox.c (is_outbox): Make OUTBOX work again.

2004-06-27  Mr. Sam  <mrsam@courier-mta.com>

	* all: Update GNU toolchain.

	* rfc1035/rfc1035qptr.c (ptr): IPv6 reverse DNS lookups switch to
	ip6.arpa.

2004-06-18  Mr. Sam  <mrsam@courier-mta.com>

	* authlib/authldaplib.c: Conditionally define LDAP_OPT_SUCCESS if
	not defined by <ldap.h>.

2004-06-18  Laurent Wacrenier <lwa@teaser.fr>

	* maildir/maildirquota.c (docount): Fix quota parsing bug on 64bit
	off_t systems.

2004-06-13  John Morrissey <jwm@horde.net>

	* imap: Add MAILDIRPATH setting to imapd-ssl and pop3d-ssl
	configuration files.

2004-06-13  Mr. Sam  <mrsam@courier-mta.com>

	* smap.c (dump_hdrs): Added FETCH RAWHEADERS command.

2004-06-12  Mr. Sam  <mrsam@courier-mta.com>

	* liblog/logger.c (startchild): Close stderr after initializing
	the monitored process.  Fixed hanging file descriptor to the terminal.

3.0.5

2004-06-06  Mr. Sam  <mrsam@courier-mta.com>

	* rfc2045/rfc2045.h: Clean up and re-factor out MIME header parsing
	into a new function: rfc2045_parse_mime_header.

2004-05-24  Mr. Sam  <mrsam@courier-mta.com>

	* authlib/configure.in: Add #include <sys/types.h> in probe for
	-lresolv.

2004-05-19  Mr. Sam  <mrsam@courier-mta.com>

	* maildir/maildirquota.c (do_deliver_warning): Make quota warning
	message work correctly with NFS.
	(do_maildir_openquotafile): Make quota calculations 64bit-safe (based
	on patch from Michael Kefeder <ml@weird-birds.org>).

2004-05-18  Mr. Sam  <mrsam@courier-mta.com>

	* mailboxlist.c (maildir_shared_index_file): Complain if shared
	index file does not exist.

2004-05-17  Hatuka*nezumi - IKEDA Soji <nezumi@jca.apc.org>

	* all: Improve MIME encoding of message headers for East Asian
	character sets.

2004-05-17  Mr. Sam  <mrsam@courier-mta.com>

	* capability.c (imapcapability): Announce XMAGICTRASH capability

	* imapd.c (do_imap_command): Fix #shared in NAMESPACE reply

3.0.4

2004-05-09  Mr. Sam  <mrsam@courier-mta.com>

	* authlib/authpgsqllib.c: fixed dash-extensions

2004-05-09  Jeff Potter <jpotter-courier@codepuppy.com>

	* authlib/authmysqllib.c: fixed dash-extensions

2004-05-09  Mr. Sam  <mrsam@courier-mta.com>

	* makedat/makedat.in: Skip subdirectories named "CVS".  Allows all
	directory-based lists (makesmtpaccess, etc...) to be managed via CVS.

2004-05-08  Brian Candler <B.Candler@pobox.com>

	* pop3dserver.c (do_retr): If error occured during RETR drop the
	connection (only sane thing to do).

2004-05-02  Brian Candler <B.Candler@pobox.com>

	* authlib: additional debugging.

	* maildir/maildirquota.c: additional debugging.

2004-05-07  Mr. Sam  <mrsam@courier-mta.com>

	* rfc1035/rfc1035qa.c (we_have_that_ipv4): Fix pointer comparison.

	* rfc1035/rfc1035dumprrdata.c (rfc1035_dumprrdata): Fix pointer
	comparison.

	* maildir/maildirkw.c (doit_locked): Fix pointer comparison.

	* maildir/maildirfilter.h: Compilation fix.

2004-04-24  Brian Candler <B.Candler@pobox.com>

	* authlib/authdaemond.c (authnext): Do not report unknown
	authentication modules -- unwanted noise.

2004-04-24  Mr. Sam  <mrsam@courier-mta.com>

	* liblog/courierlogger.sgml: courierlogger man page.

2004-04-23  Brian Candler <B.Candler@pobox.com>

	* liblog/courierlogger: New courierlogger.

	* pop3dserver.c (scancur): Report an error if authentication module
	started pop3d in a wrong directory.

	* Makefile.am: Do not overwrite existing PAM configuration files.

2004-04-20  Brian Candler <B.Candler@pobox.com>

	* authlib/authmysqllib.c (auth_mysql_getuserinfo): More SQL fixes.

	* maildir/maildirgetnew.c (do_maildir_getnew): Fix infinite loop if
	rename() syscall fails.

2004-04-19  Brian Candler <B.Candler@pobox.com>

	* authlib/authtest.c: Additional logging messages.

	* Documentation fixes.

2004-04-18  Mr. Sam  <mrsam@courier-mta.com>

	* liblog: new directory for courierlogger, moved out of tcpd.

2004-04-17  Brian Candler <B.Candler@pobox.com>

	* all: additional logging.

2004-04-11  Brian Candler <B.Candler@pobox.com>

	* all: additional logging messages.  Set log level via --with-syslog

2004-04-11  Mr. Sam  <mrsam@courier-mta.com>

	* thread.c (thread_ref_callback): MIME-decode the subject header
	to UTF-8 before running the THREAD REFERENCES algorithm.

	* rfc822/rfc2047.c (a_rfc2047_encode_str): Improve compliance with
	RFC 2047 for MIME-encoded recipient lists.
	(rfc2047_encode_callback): New argument: qp_allow - function that
	indicates acceptable characters in QP-encoded words.
	(rfc2047_encode_str): Ditto.
	(rfc2047_qp_allow_any, rfc2047_qp_allow_comment) 
	(rfc2047_qp_allow_word): Possible arguments to qp_allow for various
	situations.

2004-04-09  Mr. Sam  <mrsam@courier-mta.com>

	* rfc2045/rfc2045cdecode.c (do_decode_base64): Long overdue - use
	a precomputed base64 decoding table.

	* rfc822/encode.c: Moved rfc2045/rfc2045encode.c here, renamed all
	functions to use the libmail_ prefix.

3.0.3

2004-03-31  Mr. Sam  <mrsam@courier-mta.com>

	* imapd.c (do_expunge): Fix expunge from Trash when
	IMAP_MOVE_EXPUNGE_TO_TRASH is set.

2004-03-25  Brian Candler <B.Candler@pobox.com>

	* imap/imapd.dist.in: Clarify AUTHMODULES setting.

	* imap/pop3d.dist.in: Clarify AUTHMODULES setting.

2004-03-25  Ondrej Jombik <nepto@pobox.sk>

	* fetch.c (fetchitem): Fix sigsegv caused by null ptr deref on open
	error.

2004-03-21  Mr. Sam  <mrsam@courier-mta.com>

	* imapd.c (getacl_cb): Fix negative rights for ACL1.
	(acl2_identifier): Ditto.

2004-03-17  Mr. Sam  <mrsam@courier-mta.com>

	* testsuite (OPTIONS): Fix a bash-ism.

	* smaptestsuite (IMAP_SHAREDINDEXFILE): Ditto.

3.0.2

2004-03-16  Matthew Kanar <mattkanar@hotmail.com>

	* authlib/authvchkpw.c: Fix password changes.

2004-03-16  Oliver Lehmann <oliver@FreeBSD.org>

	* sv-make_timezonelist.pl: Timezone file location on FreeBSD.

2004-03-13  Mr. Sam  <mrsam@courier-mta.com>

	* imapd.c (acl_read_folder): Add the 'x' right for filesystem-based
	shared folders, even though it's not true; but it's needed for ACL1
	compatibility.

2004-03-11  Mr. Sam  <mrsam@courier-mta.com>

	* authlib/configure.in: netinet/in.h needs sys/types.h on xBSD.

	* courier/configure.in: Ditto.

2004-03-10  Mr. Sam  <mrsam@courier-mta.com>

	* maildir/maildirkeywords.h: Sun C++ compiler fix.

3.0.1

2004-03-09  Mr. Sam  <mrsam@courier-mta.com>

	* maildir/maildirrename.c (scan_aclhier2_rename): Check dirp is not
	NULL before closing it.
	* maildir/maildirrename.c (scan_maildir_rename): Ditto.

	* maildir/maildirmake2.c (maildir_del): xBSD portability fix.

3.0.0

2004-03-02  Mr. Sam  <mrsam@courier-mta.com>

	* authlib/configure.in: BSD needs netinet/in.h before resolv.h

2004-02-18  Mr. Sam  <mrsam@commodore.email-scan.com>

	* Various fixes for the X86-64 platform.

2004-02-15  Mr. Sam  <mrsam@courier-mta.com>

	* maildir/maildiraclt.c (maildir_acl_canlistrights): New function
	moved from imap code, to be shared by sqwebmail.

2004-02-11  Mr. Sam  <mrsam@courier-mta.com>

	* smap.c (do_listcmd): Fix SMAP ACL.

	* unicode/big5.c (c2u_doconv): C portability fix.
	gb2312: ditto.

2004-02-09  IKEDA Soji <nezumi@jca.apc.org>

	* Big5, euc-jp, gb2312, ksx1001, shiftjis: let these functions handle
	their own conversion errors.

2004-02-07  IKEDA Soji <nezumi@jca.apc.org>

	* Big5:  Add non-hanzi maps.  Add ETen extension.  Add Big5-HKSCS
	charset.

	* Gb2312: Add non-hanzi maps.

	* Let iso2022-jp functions handle their own conversion errors.

2004-02-07  Jan Zimmerschied <jan@z4fun.de>

	* RPM spec file for SUSE.

2004-02-02  IKEDA Soji <nezumi@jca.apc.org>

	* iso2022jp.h: Maps for CJK Compatibility Ideographs has been added.

	* ksx1001.c: New character sets: ISO-2022-KR, EUC-KR, CP949,
	ISO-2022-JP-1.

2004-02-01  Mr. Sam  <mrsam@courier-mta.com>

	* fetch.c (fetchitem): Optimization: do not open the message file
	for UID and FLAGS fetches - not necessary.

	* unicode/iso88597.c: Updated from unicode.org.

	* unicode/unicode_ultcasetab.c: Updated from unicode.org

2004-02-01  IKEDA Soji <nezumi@jca.apc.org>

	* iso2022jp.pl / iso2022jp.h: JIS X 0208 mapping has been updated
	based on latest regional standard (JIS X 0208:1997) and some vendor 
	standards. Errorneous (lacking or false) mappings has been fixed.
	Support for older JIS X 0208 (JIS C 6226:1978) mapping was added.
	JIS X 0212:1990 mapping was added.

	* iso2022jp.c: Converters became (upper-)compatible with ISO-2022-JP 
	(RFC1468 / JIS X 0208:1997 Annex 2) and ISO-2022-JP-1 (RFC2237).
	Buffer overflow vulnerability (when Unicode character is out 
	of BMP range) has been closed. Convert error handling was implemented.

	* shiftjis.c: Broken SHIFT_JIS converters has been fixed and became 
	(upper-)compatible with Shifted Encoding Method (JIS X 0208:1997
	Annex 1). Buffer overflow vulnerability (when Unicode character is out 
	of BMP range) has been closed. Convert error handling was implemented.

	* eucjp.c: New converters for EUC-JP.

2004-01-24  Mr. Sam  <mrsam@courier-mta.com>

	* maildir/maildirinfo.c: replace getenv("AUTHENTICATED") with an
	extra parameter.

2004-01-23  Alessandro Vesely <vesely@tana.it>

	* tcpd/tcpd.c (parseaddr): One-liner.

2004-01-23  Jan Zimmerschied <jan@z4fun.de>

	* Add MAILDIRPATH to config files, that defines the default Maildir
	location in the startup script.  Fix autoconf paths in the config
	files.

2004-01-23  Mr. Sam  <mrsam@courier-mta.com>

	* authlib/authmysqllib.c (auth_mysql_getuserinfo): It's really
	named MYSQL_AUXOPTION_FIELD.

2004-01-19  Mr. Sam  <mrsam@courier-mta.com>

	* Cleanup: move shared.[ch] and mailbox.[ch] modules to libmaildir.a,
	for potential reuse by sqwebmail.

2004-01-18  Mr. Sam  <mrsam@courier-mta.com>

	* Implement account options: disableimap, disablepop3, sharedgroup.

	* Courier-IMAP: Move courierlogger from libexecdir to sbindir

	* authdaemond: replace stderr diagnostics to syslog().  authdaemond's
	stderr doesn't go anywhere.

2004-01-13  Mr. Sam  <mrsam@courier-mta.com>

	* Rebuild all docbook SGML stuff.

	* Fix SMAP testsuite.

2004-01-13  Michael Bowe <mbowe@pipeline.com.au>

	* authvchkpw update.
	
2004-01-12  Mr. Sam  <mrsam@courier-mta.com>

	* mailboxlist.c (list_newshared_shortcut): Fix list #shared.%.%, for
	Mozilla.

	* imapd.c (do_imap_command): ACL fixes.  Quota fixes.

2004-01-11  Mr. Sam  <mrsam@courier-mta.com>

	* smap.c: Fix SMAP ACL implementation.

	* imapd.c (aclstore): Fix gcc-ism.

2004-01-10  Michael Bowe <mbowe@pipeline.com.au>

	* authvchkpw update.
	
2004-01-10  Mr. Sam  <mrsam@courier-mta.com>

	* imap: Implement virtual shared folders + ACL.

2003-12-27  Mr. Sam  <mrsam@courier-mta.com>

	* maildir/maildirmake2.c (maildir_make): Fix memory leak.

	* maildir/maildirkeywords2.c (doReadKeywords2): Fix memory leak
	when keywords are not enabled.

2003-12-25  Mr. Sam  <mrsam@courier-mta.com>

	* unicode/unicode.h: Formal unicode structure for IMAP's modified-UTF7
	coding.

2003-12-23  Mr. Sam  <mrsam@courier-mta.com>

	* rfc1035/configure.in: Fix --with-ipv6 option parsing.

2003-12-20  Mr. Sam  <mrsam@courier-mta.com>

	* imapd.c (do_imap_command): Drop kludge for Sun's StarOffice.

2003-12-13  Mr. Sam  <mrsam@courier-mta.com>

	* smap.c: Remove legacy SHARED support from SMAP1.

2003-12-12  Mr. Sam  <mrsam@courier-mta.com>

	* imapscanclient.c (do_imapscan_maildir2): autocreate
	courierimapkeywords directory if a folder doesn't have it.

2003-12-07  Mr. Sam  <mrsam@courier-mta.com>

	* imapd.c (set_namespace_options):  Drop #allfolders hack.  Conflicts
	with new ACL code.
	* README.html (href): Remove #allfolders description.

2003-12-03  Mr. Sam  <mrsam@courier-mta.com>

	* fetchinfo.c (alloc_headerlist): Allow header names to be
	quoted (+more).

2003-11-30  Mr. Sam  <mrsam@courier-mta.com>

	* mailboxlist.c (mailbox_scan): Replaced mailbox_list() with a
	callback-based mailbox_scan(), fixing empty reference name case
	along the way.  The mailboxes are listed in the callback function.

2003-11-29  Mr. Sam  <mrsam@courier-mta.com>

	* maildir/maildirdelfolder.c: maildir_mddelete superceded by
	maildir_del().


2003-11-28  Mr. Sam  <mrsam@courier-mta.com>

	* maildir/maildirshared2.c (maildir_shareddir): Move maildir_shareddir
	from maildirshared.c, so that a reference to this function does not
	pull in the entire db dependency tree.

2.2.1

2003-12-19  Mr. Sam  <mrsam@courier-mta.com>

	* unicode: Fix toupper_func/tolower_func/totitle_func for shiftjis,
	big5, utf8, utf7, iso2022jp: function may return a NULL even when
	requested to ignore conversion errors.

2003-12-17  Mr. Sam  <mrsam@courier-mta.com>

	* authlib/authmysqllib.c (get_variable): Fix warning.

2003-12-09  Mr. Sam  <mrsam@courier-mta.com>

	* maildir/maildirrename.c (validrename): Rename foo to foo.bar is not
	kosher.  Compile list of directories to rename first, sort, then
	rename.

2003-11-27  Mr. Sam  <mrsam@courier-mta.com>

	* (imapd|pop3d)(-ssl)?.rc: check for missing make install-configure.

2003-11-18  Tim Rice <tim@multitalents.net>

	* rfc822/configure.in: Fix MSG_WARN.

2003-11-15  Mr. Sam  <mrsam@courier-mta.com>

	* Update to automake 1.7.8, autoconf 2.57, libtool-1.5, gettext-0.12.1

2003-10-30  Mr. Sam  <mrsam@courier-mta.com>

	* maildir/maildirlock.c (maildir_lock): Fix double-free() call.

2.2.0

2003-10-27  Mr. Sam  <mrsam@courier-mta.com>

	* search.c (search_body_func): Ignore charset conversion errors when
	doing a SEARCH (GIGO principle).

2003-10-25  Jon Nelson <jnelson-courier@jamponi.net>

	* imapd.c (main): Reset umask before opening the debug file.

2003-10-21  Mr. Sam  <mrsam@courier-mta.com>

	* Makefile.am (userdb.8): Respect $(EXEEXT)

	* tcpd: Respect $(EXEEXT)

	* authlib: Respect $(EXEEXT)

	* libhmac: Respect $(EXEEXT) 

	* rfc2045/testsuite: Fix enable-mimecharset breaking make check.

2003-10-20  Mr. Sam  <mrsam@courier-mta.com>

	* rfc822/rfc2047u.c (rfc2047_print_unicode): Unicode-aware version of
	rfc2047_print().

2003-10-13  Mr. Sam  <mrsam@courier-mta.com>

	* imapd.c (imap_addRemoveKeywords): Remove duplicate message sequence
	numbers from message list (causes infinite loop due in keyword
	support for +FLAGS/-FLAGS).
	* maildir/maildirkeywords2.c (read_updates): Ditto.

2003-10-05  Mr. Sam  <mrsam@courier-mta.com>

	* imapscanclient.c (do_imapscan_maildir2): Workaround for filesystems
	that keel over if files are deleted in the directory that's being
	read at the same time.
	* maildir/maildirgetnew.c (do_maildir_getnew): Ditto.

	* pop3dserver.c (main): Replaced scannew with maildir_getnew().

	* pop3dserver: Fix upgrades from pre-courierpop3dsizelist.

2003-10-02  Mr. Sam  <mrsam@courier-mta.com>

	* imapd.c: When IMAP_MOVE_EXPUNGE_TO_TRASH is set, be smart and
	do not move to Trash a message that's been expunged after it was
	copied to another folder.

2003-09-29  Mr. Sam  <mrsam@courier-mta.com>

	* imapd.c (store_mailbox): Optimize APPEND performance.  Based on a
	patch by Anssi Raittila <Anssi.Raittila@tecnomen.fi>.

2003-09-25  Mr. Sam  <mrsam@courier-mta.com>

	* bdbobj/bdbobj.c (bdbobj_open): Fix dbf_open call for db 3.x

2003-09-22  Mr. Sam  <mrsam@courier-mta.com>

	* smap.c:  getenv("MAILDIRQUOTA") as last argument to
	maildir_quota_add_start().

2003-09-22  Brian Candler <B.Candler@pobox.com>

	* imapd.c: getenv("MAILDIRQUOTA") as last argument to
	maildir_quota_add_start().

2003-09-21  Mr. Sam  <mrsam@courier-mta.com>

	* courier-imap.sysvinit.in: Fix splat-bang.

	* userdb/makeuserdb.in: Make sure makeuserdb emits a trailing
	newline after each processed file.
2.1.2

2003-09-01  Sergio Gelato <Sergio.Gelato@astro.su.se>

	* Set timestamp on new message file after it is moved from tmp to new.

2003-08-27  Mr. Sam  <mrsam@courier-mta.com>

	* smap.c (applyflags): Fix SMAP STORE KEYWORDS again.

2003-08-26  Mr. Sam  <mrsam@courier-mta.com>

	* smap.c (smap): Fix SMAP STORE KEYWORDS.

	* tcpd/starttls.c (connect_completed): Initialize
	TLS_CONNECTED_PROTOCOL before running the wrapped child process.

	* tcpd/libcouriertls.c (tls_connecting): New function checks if
	SSL/TLS negotiation is still in progress on a non-blocking socket.

2.1.1

2003-08-18  Mr. Sam  <mrsam@courier-mta.com>

	* imapd.c (addRemoveKeywords): Do nothing unless keywords are
	enabled (fix CPU spin if IMAP_KEYWORDS are manually disabled).

	* unicode/unicode.h: Introduce new character set flag: UNICODE_USASCII
	which designates whether the character set is a proper us-ascii
	superset.  All character sets are marked as UNICODE_USASCII except the
	following character sets: IBM864/CP864, UTF-7, ISO-2022-JP.
2.1

2003-08-17  Mr. Sam  <mrsam@courier-mta.com>

	* authlib/authpgsqllib.c (auth_pgsql_getuserinfo): Fix memory
	corruption with custom select clause is enabled and long userids.

	* authlib/authmysqllib.c (auth_mysql_getuserinfo): Fix memory
	corruption with custom select clause is enabled and long userids.

2003-08-09  Mr. Sam  <mrsam@courier-mta.com>

	* imap/smap: attempt to detect whether someone else modified
	keywords while we were doing +KEYWORDS or -KEYWORDS, and, if so,
	rerun these commands.

2003-08-03  Mr. Sam  <mrsam@courier-mta.com>

	* Added the maildirkw command+man page.

2003-08-02  Mr. Sam  <mrsam@courier-mta.com>

	* bdbobj/bdbobj.c (bdbobj_open): Fix for DB 4.1 API.

2003-08-01  Mr. Sam  <mrsam@courier-mta.com>

	* Moved keyword support code into libmaildir.a.   Major cleanup.

2003-07-31  Mr. Sam  <mrsam@courier-mta.com>

	* imapscanclient.c: Keyword support cleanup.

	* imapd.c (bye): Clean up after an aborted APPEND.

2003-07-29  Mr. Sam  <mrsam@courier-mta.com>

	* authlib/configure.in: Add notice to forward all vpopmail
	questions to the vpopmail mailing list.

2003-07-24  James A Baker <jabaker@mac.com>

	* authlib/README.authmysql.html: Cleanup.

	* authlib/README.authpostgres.html: Cleanup.

	* imap/FAQ.html: Cleanup.

	* imap/README.html: Cleanup.

	* maildir/README.maildirfilter.html: Cleanup.

	* maildir/README.sharedfolders.html: Cleanup.

2003-07-24  Mr. Sam  <mrsam@courier-mta.com>

	* imapscanclient.c: Create an API layer for the keyword read/update
	functionality in imapscan_readKeywords(), divorcing the implementation
	from the IMAP-specific data structure, in preparation for moving
	the entire logic into the generic maildir library.

	* smap.c (createSearch): Added SMAP SEARCH [range] command.

2003-07-22  Mr. Sam  <mrsam@courier-mta.com>

	* smap.c (createSearch): Added SMAP SEARCH ALL command.

2003-07-20  Mr. Sam  <mrsam@courier-mta.com>

	* testsuite: Replace find with chmod -R, more portable.

2003-07-19  Mr. Sam  <mrsam@courier-mta.com>

	* imapscanclient.c: Move #define of KEYWORDDIR to maildirwatch.h

	* imapd: Plug several memory leaks found by valgrind.  One of the
	leaks is in libfam.  Reported the bug upstream.

	* maildirwatch: Use a single FAM connection, where possible, in order
	to minimize libfam leak.  Open another FAM connection only if the
	first one breaks.

	* pop3dserver.c (print_uidl): Redo UIDL computation once again.
	Version 2 UIDL format is upwards compatible from version 0/1
	courierpop3dsizelist formats, preserving legacy UIDLs.  See comments
	for the description of error recovery from out-of-disk space
	(quota-related) issues.

2003-07-18  Brian Candler <B.Candler@pobox.com>

	* smaptestsuite: Ignore leading space from wc -l, differs between
	platforms.

2003-07-17  Mr. Sam  <mrsam@courier-mta.com>

	* imapscanclient.c: Rename new keyword update files after installing
	a new :list file.

	* tcpd/tcpd.c (mksockets): Use AF_INET for binds to IPv4 addresses,
	even on IPv6-capable machines.

2003-07-16  Mr. Sam  <mrsam@courier-mta.com>

	* imap/smap: Implement custom keywords.  Custom keywords may be
	enabled/disabled in the configuration file.  Additionally, error
	checking has been tightened up: stuff that used to be tolerated,
	such as invalid messages flags, is now reported as an error.

2003-07-14  Mr. Sam  <mrsam@courier-mta.com>

	* search.c (fill_search_preparse): Make SEARCH parse message flags and
	keywords only once, instead of once for each message.
	(search_oneatatime): Move main loop of search iteration into a
	separate function, which evaluates the search criteria for a given
	message only (leave indentation alone, will reindent later).

2003-07-13  Mr. Sam  <mrsam@courier-mta.com>

	* imapd.c (doNoop): Drop automatic FETCH FLAGS of new messages.

2003-07-09  Mr. Sam  <mrsam@courier-mta.com>

	* rfc822/imaprefs.c (rfc822_threadmsgrefs): New function takes
	an array of References: headers, instead of a single References:
	string (merged from the cone tree).

2003-07-08  Mr. Sam  <mrsam@courier-mta.com>

	* pop3dserver.c (sortmsgs): Use time for a new POP3 UID counter.

2.0

2003-06-30  Mr. Sam  <mrsam@courier-mta.com>

	* tcpd/tcpd.c: Typo prevents IPv6 sockets from being created on BSD.

2003-06-22  Mr. Sam  <mrsam@courier-mta.com>

	* authlib/authdaemond.c (start): Fix authdaemon idle processing.

	* pop3dserver.c (cmpmsgs): Ignore maildir message flags when sorting
	message lists (eliminated dup POP3 downloads after 2003-06-18).

2003-06-20  Mr. Sam  <mrsam@courier-mta.com>

	* smap.c: Do not use BUFSIZ to size I/O buffers (make check will fail
	if BUFSIZ != 8192).

2003-06-17  Mr. Sam  <mrsam@courier-mta.com>

	* pop3dserver.c: Generate shorter message UIDs.  UIDs based on the
	filename may be too long for some clients.  Save a counter in
	courierpop3dsizelist that is, essentially, an IMAP UID.

2003-06-12  Mr. Sam  <mrsam@courier-mta.com>

	* tcpd/tlspasswordcache.c (tlspassword_save): Use EIO instead of
	EPROTO (which is not defined everywhere).

	* tcpd/configure.in: More thorough check for OpenSSL 0.9.7.

2003-06-11  Mr. Sam  <mrsam@courier-mta.com>

	* authlib/authldap.schema: Remove duplicate definition of
	virtualdomainuser.

	* maildir/maildirwatch.c (maildirwatch_alloc): Fix test for error
	return from getcwd().

2003-06-05  Mr. Sam  <mrsam@courier-mta.com>

	* tcpd: merge tlspasswordcache from cone's tree.

2003-05-31  Mr. Sam  <mrsam@courier-mta.com>

	* smap.c (hashdr): Fix c++-ism.

2003-05-29  Mr. Sam  <mrsam@courier-mta.com>

	* thread.c (thread_ref_callback): Extra argument to rfc822_threadmsg()
	specifies message date as time_t.

2003-05-27  Mr. Sam  <mrsam@courier-mta.com>

	* Added experimental SMAP protocol.

	* rfc2045/rfc2045header.c: eat leading space when folding header lines.
	

2003-05-19  Mr. Sam  <mrsam@courier-mta.com>

	* maildir/README.maildirquota.html: Clarify that lines in maildirsize
	are padded to 14 character lengths.

1.7.3

2003-05-14  Mr. Sam  <mrsam@courier-mta.com>

	* maildir/maildirdelfolder.c (delsubdir): Sometimes we don't get
	an EISDIR, even though we should <sigh>...

2003-05-14  Stefan Hornburg <racke@linuxia.de>
	
	* userdb/makeuserdb.sgml: Fix command names.

2003-05-14  Mr. Sam  <mrsam@courier-mta.com>

 	* unicode/utf7.c: UTF-7 mapping.

1.7.2

2003-05-01  Mr. Sam  <mrsam@courier-mta.com>

	* authlib: split DEFAULTDELIVERY from MAILDIR for LDAP, MySQL, Postgres
	(used by courier instead of MAILDIR)

2003-04-29  Mr. Sam  <mrsam@courier-mta.com>

	* Replace U+0x00A0 in SGML documentation with spaces.

2003-04-28  Mr. Sam  <mrsam@courier-mta.com>

	* pop3dserver.c (scannew): Do not append :2, to msgs that already
	have it.

2003-04-25  Mr. Sam  <mrsam@courier-mta.com>

	* maildir/maildirdelfolder.c (maildir_mddelete): A more "thorough"
	folder delete.

2003-04-23  Rodrigo Severo <rodrigo.lists@fabricadeideias.com>

	* authlib/authmysqlrc: Fix comments

2003-04-21  Mr. Sam  <mrsam@courier-mta.com>

	* Updated toolchain to automake 1.6.3, autoconf 2.57,
	libtool 1.4.3, gettext 0.11.4, new Docbook style sheets.

	* bdbobj/bdbobj2.c (bdbobj_nextkey): Eliminate 0-length malloc.

2003-04-18  Mr. Sam  <mrsam@courier-mta.com>

	* authlib/authmysqllib.c (validateMyPassword): Rename
	validate_password to validateMyPassword (MySQL 4 conflict).

2003-04-12  Mr. Sam  <mrsam@courier-mta.com>

	* All beta and releases will now be signed by
	http://www.courier-mta.com/KEYS.bin

2003-04-11  Mr. Sam  <mrsam@courier-mta.com>

	* tcpd: configure and makefile cleanup

2003-04-09  Mr. Sam  <mrsam@courier-mta.com>

	* authlib/README.authpostgres.html: Documentation updates.

2003-04-04  Mr. Sam  <mrsam@courier-mta.com>

	* autoconf 2.57 fixes.

2003-04-03  Mr. Sam  <mrsam@courier-mta.com>

	* rfc2045/rfc2045.c (content_location): Plug a leak.

	* unicode/unicode.c (unicode_xconvert): Plug a memory leak.

	* liblock/mail.c (ll_mail_free): Plug a memory leak.

2003-03-22  Alain NAKACHE <alain@cal.fr>

	* authenticate_auth.c (authenticate): Add AUTHSERVICE functionality
	to IMAP SASL, and POP3 plain+SASL authentication methods.
	* pop3login.c (main): Ditto.

2003-03-21  Mr. Sam  <mrsam@courier-mta.com>

	* maildir/maildirpurgetmp.c (maildir_purge): Fix maildir_purge(".");

2003-03-20  Mr. Sam  <mrsam@courier-mta.com>

	* rfc2047.c (rfc2047_encode_callback): Fix MIME encoding of "_".

2003-03-19  Mr. Sam  <mrsam@courier-mta.com>

	* imapscanclient.c (imapscanfail): Explicit error message referring
	to potential fam daemon problems.
	(imapscanfail): Include login id in error message.

	* unicode/iso2022jp.c (read_jis_char): Fix various bugs that result
	in crashes, as a result of invalid character sequences.


1.7.1

2003-03-11  Mr. Sam  <mrsam@courier-mta.com>

	* rfc1035/configure.in: Grok Solaris 8 IPv6 header files.

2003-03-10  "Håvard Lygre" <hklygre@online.no>

	* authlib/authmysqllib.c (auth_mysql_getuserinfo): Fix NULL ptr result
	from mysql.

2003-03-10  Mr. Sam  <mrsam@courier-mta.com>

	* imapscanclient.c (do_imapscan_maildir2): Create tmp file for the new
	courierimapuiddb in the folder's tmp dir.

	* authlib/preauthvchkpw.c (auth_vchkpw_pre): Disable open_smtp_relay()
	until fixed by authvchkpw devs.

2003-03-07  Mr. Sam  <mrsam@courier-mta.com>

	* tcpd/libcouriertls.c (tls_transfer): Fix error recovery - an aborted
	connection negotiation may result in an infinite loop with some
	versions of OpenSSL.

2003-03-06  Mr. Sam  <mrsam@courier-mta.com>

	* maildir/maildirpurgetmp.c (maildir_purge): Adjust quota when
	autopurging Trash --with-trashquota.

	* rfc2045/configure.in: rename config.h to rfc2045_config.h

	* unicode/configure.in: rename config.h to unicode_config.h

2003-03-01  Mr. Sam  <mrsam@courier-mta.com>

	* rfc2045/reformime.c (read_message): Use rfc2045_parse_partial() to
	properly size-up content without trailing newlines.

	* rfc2045/rfc2646create.c (rfc2646create_free): Emit the trailing
	newline.

	* configure.in: Conditionally probe if SA_NOCLDWAIT could be used.
	
	* pcpd.c (start): Use SA_NOCLDWAIT, if blessed by configure.

2003-02-28  Mr. Sam  <mrsam@courier-mta.com>

	* storeinfo.c (do_copy_quota_calc): Fix quota calculation when
	COPYing a deleted message.

2003-02-26  Mr. Sam  <mrsam@courier-mta.com>

	* pop3dserver.c (savepop3dlist): Recover from out-of-disk-space
	situation.

	* imapd.dist.in (IMAP_TRASHFOLDERNAME): Explain how purging works.

	* authlib/success.c (authsuccess): More clear error message.

2003-02-22  Toshikazu Ichikawa <ichikawa@toshikazu.org>

	* unicode/iso2022jp.pl: iso2022jp update.

2003-02-19  Mr. Sam  <mrsam@courier-mta.com>

	* imapd.c (do_expunge): Autocreate INBOX.Trash only if
	IMAP_MOVE_EXPUNGE_TO_TRASH is enabled.

2003-02-17  Mr. Sam  <mrsam@courier-mta.com>

	* imapd.c (do_imap_command): Transform a DELETE of a shared folder
	to an UNSUBSCRIBE.
	(do_imap_command): STATUS won't autosubscribe to a shared folder.

	* authenticate_auth.c (send_auth_reply): Fix SASL response to empty
	client input.

2003-02-15  Mr. Sam  <mrsam@courier-mta.com>

	* msgenvelope.c (msgenvelope): Default reply-to and sender
	headers in ENVELOPE reply to the from header (partially reverting
	2002-08-26, which fixed Pine's misbehavior, but broke Mulberry).

2003-02-12  Mr. Sam  <mrsam@courier-mta.com>

	* INSTALL:  Document that --with-trashquota breaks make check.
	imap/configure.in: If any option is used which is known to break
	make check, issue a friendly error message telling the organic
	entity to rerun configure without those options.

	* imaplogin.c (main): Add [CAPABILITY] tag to the initial greeting.

	* imapd.c (do_imap_command): Recalculate maildir quota after
	a DELETE or RENAME (new function: maildir_quote_recalculate).

2003-02-09  dave@britiany.com

	* search.c (search_internal): Optimize SORT by not parsing the
	entire message, when we only want the headers.

2003-02-09  Mr. Sam  <mrsam@courier-mta.com>

	* maildir/maildirwatch.c: Fix timeout.

2003-01-30  Mr. Sam  <mrsam@courier-mta.com>

	* rfc2045/rfc2045encode.c: clean up base64/qp encoding.

	* tcpd/configure.in: Handle kerberized openssl 0.9.7

	* configure.in: Fix search path for binaries.

1.7.0

2003-01-25  Mr. Sam  <mrsam@courier-mta.com>

	* Final maildir creation revision.

	* authlib/authmysqllib.c (append_username): Same fix as authpgsqllib,
	even though mysql does not need it.

2003-01-23  Mr. Sam  <mrsam@courier-mta.com>

	* authlib/authpgsqllib.c (append_username): Escape 's too.

	* imapd.c (main): Implement IMAP UIDPLUS (RFC 2359)
	(do_imap_command): Reset renamed folders' UIDVs.

	* imapd.dist.in (IMAP_CAPABILITY): Add UIDPLUS

2003-01-20  Mr. Sam  <mrsam@courier-mta.com>

	* maildir/maildircreate.c (maildir_tmpcreate_fd): Move maildir create
	retry loop into maildir_tmpcreate_fd.

2003-01-19  Mr. Sam  <mrsam@courier-mta.com>

	* maildir/maildircreate.c: Removed old maildir creation code.

	* maildir/maildircreateh.c: Optimizations.

2003-01-17  Mr. Sam  <mrsam@courier-mta.com>

	* imapd.c (maildir_mkfilename): Fix maildir_mkfilename().

	* storeinfo.c (copy_message): Use fixed maildir_mkfilename().

	* imapscanclient.c (imapscan_maildir): Convert to the new maildir
	creation library.
	(do_imapscan_maildir2): Ditto.

	* maildir/maildirshared.c: Convert to the new maildir creation
	library.

2003-01-16  Mr. Sam  <mrsam@courier-mta.com>

	* pop3dserver.c (savepop3dlist): Converted to the new maildir
	creation library.

	* maildir/deliverquota: Initial implementation of new maildir
	creation library.  Converted deliverquota.

2003-01-14  Mr. Sam  <mrsam@courier-mta.com>

	* imap/storeinfo.c (copy_message): Use maildir_movetmpnew.

	* imap/imapd.c (store_mailbox): Use maildir_movetmpnew.

	* maildir/deliverquota.c (deliver): Use maildir_movetmpnew.

	* maildir/maildircreateh.c (maildir_try_create_hostname): Include
	microseconds in message filename.
	(maildir_movetmpnew): Encapsulate move from tmp to new by trying
	link first, and only if it fails with exdev try rename.


2003-01-13  Mr. Sam  <mrsam@courier-mta.com>

	* pop3dserver.c (sortmsgs): Only update courierpop3dsizeslist when
	necessary.

2003-01-08  Mr. Sam  <mrsam@courier-mta.com>

	* imapd.c (main): imapd --version prints my version.

	* pop3dserver.c: Create courierpop3dsizelist to cache POP3-sizes of
	individual messages.

2003-01-03  "Thomas T. Thai" <tom@minnesota.com>

	* Custom query patch for authpgsql

1.6.2

2002-12-23  Mr. Sam  <mrsam@courier-mta.com>

	* configure.in: Use ulimit -v instead of ulimit -d, if available.

	* rfc2047.c (rfc2047_encode_callback): Fix hang on
	locales where isspace(U+0x00A0) is true.

2002-12-20  Mr. Sam  <mrsam@courier-mta.com>

	* imapd.c (do_imap_command): Clarify DELETE error message.
	(do_imap_command): Prohibit RENAME of currently open mailbox.

2002-12-18  Mr. Sam  <mrsam@courier-mta.com>

	* imap: move hier_rename into libmaildir.a, for recycling.

	* testsuite: Use 'touch -t' 

2002-12-11   Brian Candler <B.Candler@pobox.com>

	* tcpd/tcpd.c: couriertcpd -denymsg option

2002-12-11  John D. Rowell <jdrowell@exerciseyourbrain.com>

	* md5/md5_hash.c:  Rename md5_has to md5_hash_courier (namespace
	conflict with postgres).

2002-11-25  Mark Anthony Lisher <markal@markal.net>

	* imaptoken.c (nexttoken_nouc_okbracket): LOGIN parsing patch.

2002-11-23  Mr. Sam  <mrsam@courier-mta.com>

	* courier-imap.spec.in:  Include UTF-8, now that new Red Hat installs
	use UTF-8.

2002-11-23  John Morrissey <jwm@horde.net>

	* Move quota warning code from deliverquota to libmaildir.a,
	to be reused by maildrop.

2002-11-17  Mr. Sam  <mrsam@courier-mta.com>

	* unicode/mkultcase.pl: Fix titlecase mapping.

	* unicode: all unicode functions now receive the ptr to the unicode
	structure as their first argument.  Added a flags field to the unicode
	structure to describe charset properties (multibyte, utf, uses shift
	sequences...)

2002-11-17  Mr. Sam  <mrsam@courier-mta.com>

	* courier-imap.sysvinit.in: Fix pop3 cert file check.

1.6.1

2002-11-07  Mr. Sam  <mrsam@courier-mta.com>

	* imapscanclient.c (imapscan_maildir): Recover if FAM dies.

2002-10-31  Aki Immonen <aki@golftalma.fi>

	* imapd.c (main): Configurable Trash Folder Name.

2002-10-29  Mr. Sam  <mrsam@courier-mta.com>

	* courier.spec.in (BuildPreReq): Fix build prereqs.

1.6
	
2002-10-25  Mr. Sam  <mrsam@courier-mta.com>

	* pop3dcapa.c (pop3dcapa): It's STLS.

	* imap/pop3 - fixed initscripts, again.

2002-10-23  Mr. Sam  <mrsam@courier-mta.com>

	* thread.c (printthread): Fix THREAD REFERENCES.

2002-10-15  Mr. Sam  <mrsam@courier-mta.com>

	* authlib/debug.c (auth_debug_login_init): Make it work if
	DEBUG_LOGIN_ENV is not set.

2002-10-14  Olivier Girondel <olivier.girondel@cw.com>
	
	* authlib/authldaplib.c (authldap_read_config): LDAP_FILTER fix.

2002-10-13  Mr. Sam  <mrsam@courier-mta.com>

	* imapd.c (imapenhancedidle): Added libfam-based IDLE implementation.
	Updated man page.

2002-10-07  Mr. Sam  <mrsam@courier-mta.com>

	* Major toolchain upgrade - gcc 3.2, automake 1.6, autoconf 2.53,
	libtool 1.4.

2002-10-03  Mr. Sam  <mrsam@courier-mta.com>

	* maildir/*.c: various cleanups.

2002-10-02  Mr. Sam  <mrsam@courier-mta.com>

	* imapd.c (dirsync): new configure switch --with-dirsync.

2002-09-30  Ragnar Kurm <ragnar@uninet.ee>

	* Added DEBUG_LOGIN_ENV to imap and pop3 config files that produces
	additional login diagnostics

2002-09-28  Mr. Sam  <mrsam@courier-mta.com>

	* imapd.c (noop): Return updated message flags if called within IDLE,
	even with workaround enabled.

	* courier-imap.spec.in: add fam-devel to build-prereq.

	* IMAP_USELOCKS: Switch from flocks to dotlocks.  Time out stale
	network dotlocks after 120 seconds.  Use FAM, if available, while
	waiting on a dotlock file to go away.  Update config file comments.

	* maildir/maildirwatch.[ch]: Abstraction layer wrapping SGI's
	File Alteration Monitor, if it's available.

	* imapd.c (do_imap_command): Handle IDLE in authenticated state as,
	essentially, a NOOP.  Enable IDLE in the default CAPABILITIES
	string (but keep the same version string, so sysconftool will not
	touch an existing CAPABILITIES setting on an upgrade).	

2002-09-21  Mr. Sam  <mrsam@courier-mta.com>

	* autobloat: check for gmake, check for gcc in top level makefile.

2002-09-20  Mr. Sam  <mrsam@courier-mta.com>

	* msgbodystructure.c (msgbodystructure): Update for the RFC 2231-
	related changed in librfc2045.a

2002-09-14  Mr. Sam  <mrsam@courier-mta.com>

	* pop3login.c (main): Allow spaces in POP3 login id and password.

2002-09-10 Alessandro Vesely <vesely@tana.it>

	* authlib/authdaemond.c: Fix error logging.

2002-09-09  Mr. Sam  <mrsam@courier-mta.com>

	* search.c (fill_search_veryquick): Fix search for \Draft

2002-08-28  Mr. Sam  <mrsam@courier-mta.com>

	* pop3login.c (starttls): For completeness sake, implement POP3 STLS.

2002-08-26  Mr. Sam  <mrsam@courier-mta.com>

	* msgenvelope.c (msgenvelope): Do not default reply-to and sender
	headers in ENVELOPE reply to the from header, and do not default
	the name to the address if the name is not specified for an address.

2002-08-19  Mr. Sam  <mrsam@courier-mta.com>

	* authlib/authdaemond.c (start): After 5 mins of inactivity call
	the newly-defined module 'idle' function.

2002-08-13  Brian Candler <B.Candler@pobox.com>

	* Makefile.am: cleanup

2002-08-12  Mr. Sam  <mrsam@courier-mta.com>

	* tcpd/libcouriertls.c: fix error reporting (esp at shutdown)

	* maildir/maildirsearch.h: added a C++ wrapper.

	* imap/utf8.c: cleanup, exposed internal unicode-to-utf8 conversion
	function.

2002-08-11  Mr. Sam  <mrsam@courier-mta.com>

	* imap: cleanup: extracted text search macros into a separate module
	in the maildir directory (for potential code reuse).

2002-08-11  Brian Candler <B.Candler@pobox.com>

	* initscripts/*.in: fix paths.

2002-08-08  Mr. Sam  <mrsam@courier-mta.com>

	* rfc2047.c (rfc2047_encode_callback): Fix MIME encoding of words
	with = and ? characters.

1.5.3

2002-08-07  Mr. Sam  <mrsam@courier-mta.com>

	* tcpd/libcouriertls.c (tls_destroy): it looks like SSL_CTX_free
	might invoke the ssl/tls cache call.  Free tls_info after
	SSL_CTX_free comes back.  Explicitly call SSL_CTX_flush_sessions to
	work around a bug in OpenSSL which blows away application data prior
	to calling SSL_CTX_flush_sessions in SSL_CTX_free().

2002-08-05  Mr. Sam  <mrsam@courier-mta.com>

	* courier-imap.spec.in: Fix %is_not_mandrake.

1.5.2

2002-08-01  Mr. Sam  <mrsam@courier-mta.com>

	* tcpd/tcpd.c (sighup): Reestablish handler for SIGHUP, after catching
	it.

2002-07-26  Mr. Sam  <mrsam@courier-mta.com>

	* authlib/configure.in: Fix invocation of pg_config.

	* authlib/authsyschangepwd.c (dochangepwd): Call setsid() and
	setlogin() on OpenBSD (make webmail passwd change work).

2002-07-15  Mr. Sam  <mrsam@courier-mta.com>

	* tcpd/tlscache.c (doadd): Fix tlscache file corruption on platforms
	where sizeof(off_t) != sizeof(size_t).

2002-07-14  Mr. Sam  <mrsam@courier-mta.com>

	* maildir/maildirquota.c (maildir_quota_delundel_end): Typo fix.

	* libcouriertls:  By George, I think I've got it.  Implement
	orderly SSL/TLS session shut down.  The libcouriertls library is now
	fully event-driven; SSL/TLS errors are properly reported; an error
	is reported if the SSL/TLS connection was closed without an orderly
	shut down.

2002-07-13  Mr. Sam  <mrsam@courier-mta.com>

	* libcouriertls: The saga continues.  Suppress whining on
	SSL_ERROR_ZERO_RETURN

2002-07-12  Mr. Sam  <mrsam@courier-mta.com>

	* couriertls: more cleanup, better error reporting.

	* couriertls: Fix tlscache make check

2002-07-09  Mr. Sam  <mrsam@courier-mta.com>

	* Renamed logger to courierlogger

2002-07-07  Yu Kobayasi <mail@yukoba.jp>

	* shift-JIS encoding.  Search in iso-2022-jp and shift-JIS.

2002-07-02  "Chris Rodgers" <courier-imap@bulk.rodgers.org.uk>

	* Patch to let the server run on Cygwin.  Modified, untested,
	patch uses AC_CANONICAL_HOST to replace the ':' character with '!'
	for -cygwin targets.

2002-06-30  Mr. Sam  <mrsam@courier-mta.com>

	* fetch.c (dofetchmsgbody): Fix BODY[n] for message/rfc822 MIME
	sections.

2002-06-27  Mr. Sam  <mrsam@courier-mta.com>

	* courier-imap.spec.in: some tweaks for mandrake.

2002-06-26  Mr. Sam  <mrsam@courier-mta.com>

	* authlib/authldap: fix a parsing bug that causes a crash if
	LDAP_MAILROOT is left undefined.

2002-06-23  Mr. Sam  <mrsam@courier-mta.com>

	* couriertls: code cleanup of the SSL/TLS wrapper.  Code cleaned up
	and modularized as libcouriertls.a, with a mini-API library.
	Implemented SSL/TLS session caching.

	* imapd.dist, pop3d.dist: new configuration settings for the
	SSL/TLS session cache file.

2002-06-27  Mr. Sam  <mrsam@courier-mta.com>

	* authlib/authldaplib.c: Fix null ptr deref in new LDAP_MAILROOT
	code.

1.5

2002-06-13  Mr. Sam  <mrsam@courier-mta.com>

	* maildir/maildirquota.h: Renamed maildirsize struct member to
	maildirsizefile - some compiler is having a cow about a struct member
	having the same name as the struct.

2002-06-12  Mr. Sam  <mrsam@courier-mta.com>

	* outbox.c (check_outbox): Bug fix.

	* maildir/maildirquota.c (do_maildir_openquotafile): Fix quotas
	on FreeBSD (fcntl("/dev/null", F_SETFL) doesn't work on FreeBSD)

	* authlib/cryptpassword.c: Added missing include of stdlib.h

2002-06-11  Mr. Sam  <mrsam@courier-mta.com>

	* authlib/authldaprc: Added LDAP_MAILROOT

2002-06-10  Mr. Sam  <mrsam@courier-mta.com>

	* outbox.c (check_outbox): More detailed error reporting.

2002-06-09  Mr. Sam  <mrsam@courier-mta.com>

	* numlib/strofft.c: off_t may be negative.

	* +++ maildirquota API update +++

	   + allows documented way to change the set quota on a maildir

	   + major internal cleanup, established a sane API library

	External changes:

	   + quota no longer set by deliverquota or MAILDIRQUOTA, new -q
	     option to maildirmake.  Both deliverquota, maildrop, and
	     Courier now read the maildirsize no matter what, and observe
	     the quota

	   + maildirmake and deliverquota now installed by the Courier-IMAP,
	     maildrop, and sqwebmail standalone builds.

	   + updated README.maildirquota, and man pages to reflect all these
	     changes.

2002-06-06  Mr. Sam  <mrsam@courier-mta.com>

	* thread.c (printos): Sort threads by starting thread date.

2002-06-05  Mr. Sam  <mrsam@courier-mta.com>

	* pop3dserver.c (main): Check the sticky bit, just like IMAP.

2002-06-05  James F.Hranicky <jfh@cise.ufl.edu>

	* imapd.c (main): Log to stderr if failed to chdir to the maildir.

2002-06-02  Mr. Sam  <mrsam@courier-mta.com>

	* outbox.c: Added #include <signal.h>

2002-05-29  Mr. Sam  <mrsam@courier-mta.com>

	* outbox.c: Added the OUTBOX feature.

2002-05-26  Ron van den Dungen <ron@dse.nl>

	* authlib/authmysqllib.c (do_connect): Fix server connect via
	filesystem socket.

1.4.6

2002-05-22  Mr. Sam  <mrsam@courier-mta.com>

	* fetch.c (dofetchmsgbody): Fix BODY[x.MIME] replies for
	message/rfc822 sections.

2002-05-20  Mr. Sam  <mrsam@courier-mta.com>

	* rfc822_parsedt.c (rfc822_parsedt): Ignore obviously invalid years
	(someone else can worry about Y10K).

2002-05-09  Mr. Sam  <mrsam@courier-mta.com>

	* authlib/Makefile.am (libauth-modules): Get rid of some cruft in
	the Makefile.

2002-05-08  Norihisa Washitake <nori@washitake.com>

	* iso-2022-jp charset update

2002-05-07  Keith T. Garner <kgarner@kgarner.com>

	* authlib: Additional LDAP authentication filter. 

2002-05-07  John Morrissey <jwm@horde.net>

	* authlib: Solaris LDAP fix.

1.4.5

2002-04-30  Mr. Sam  <mrsam@courier-mta.com>

	* unicode/big5.c (c2u): Fixed a crash caused by invalid big5 chars.

2002-04-17  Norihisa Washitake <nori@washitake.com>

	* iso-2022-jp unicode map.

2002-04-07  Mr. Sam  <mrsam@courier-mta.com>

	* rfc822/rfc822_mkdate.c (rfc822_mkdate_buf): Explicit (int) cast gets
	the file compiled under Cygwin.

2002-04-06  Mr. Sam  <mrsam@courier-mta.com>

	* imapd.c (do_imap_command): If SELECT fails, close the old folder
	anyway.

1.4.4

2002-03-26  Mr. Sam  <mrsam@courier-mta.com>

	* authlib/authldaplib: Added an option to implement two-stage
	LDAP lookups, for authentication purposes.

2002-03-22  Mr. Sam  <mrsam@courier-mta.com>

	* courier/doc/FAQ.html: Added Tru64 gmake check failure. 

2002-03-21  Mr. Sam  <mrsam@courier-mta.com>

	* authlib/configure.in: Fix broken vpopmail_home test.

2002-03-14  Brian Candler <B.Candler@pobox.com>

	* maildir/maildirmkdir.c (maildir_mkdir): Create tmp subdir last,
	when creating a maildir.

2002-03-13  James Collier <james.collier@fifthweb.net>

	* tcpd/starttls.c (ssl_verify_callback): Fix client peer certificate
	check.

2002-03-06  Mr. Sam  <mrsam@courier-mta.com>

	* waitlib/configure.in: Fix check for sighold() function.

2002-03-01  "Peter C. Norton" <spacey-courier@lenin.nu>

	* Added authlib/README.authpostgres.html

2002-03-01  Mr. Sam  <mrsam@courier-mta.com>

	* fix configure and makefile scripts for autoconf 2.52 and automake 1.5

2002-02-27  Mr. Sam  <mrsam@courier-mta.com>

	* authlib/configure.in: Replace test ~vpopmail (home directory) with
	a Perl script (~username not supported by Solaris's sh).

1.4.3

2002-02-25  Mr. Sam  <mrsam@courier-mta.com>

	* imap/imapd.c: fix GETQUOTAROOT response

	* imap/testsuite: dump imapd output to a file instead of /dev/null,
	BSD's fcntl(O_NONBLOCK) chokes on /dev/null.

2002-02-24  Mr. Sam  <mrsam@courier-mta.com>

	* imapscanclient.c: fix UIDNEXT in the STATUS response to take into
	account new mail.

2002-02-20  Mr. Sam  <mrsam@courier-mta.com>

	* couriertls, imapd: set socket into non-blocking mode, to correctly
	implement POSIX select() semantics.

2002-02-17  Mr. Sam  <mrsam@courier-mta.com>

	* searchinfo.c: allow numerical SEARCH strings without quoting.

2002-02-15  Mr. Sam  <mrsam@courier-mta.com>

	* authlib/configure.in: Link against $CRYPTLIBS when probing for
	open_smtp_relay()

2002-02-02  Mr. Sam  <mrsam@courier-mta.com>

	* rfc1035: Fix rfc1035search functions if the original rfc1035
	library call did not use a FAQDN.

2002-02-02  Ken Jones <kbo@inter7.com>

	* authvchkpw update: vpopmail 5.2

2002-01-28  Mr. Sam  <mrsam@courier-mta.com>

	* imapscanclient.c (do_imapscan_maildir2): Fix uninitialized nextuid
	variable when folder without courierimapuiddb is opened read-only.

2002-01-25  Mr. Sam  <mrsam@courier-mta.com>

	* rfc2045/rfc2045.c (doline): Fix incorrect calculation of the
	end of a multipart MIME section that's inside another multipart
	MIME section.

1.4.2

2002-01-17  Bob Pepin <bob@gms.lu>

	* thread.c (printthread): Fix THREAD REFERENCES.

2002-01-12  Mr. Sam  <mrsam@courier-mta.com>

	* authlib/authldaplib.c (auth_ldap_do): Escape punctuation in
	userid string.

2002-01-08  Tomas Fasth <tomas@euronetics.se>

	* imapd.c (imapidle): Call noop() before entering IDLE.

2002-01-08  Oliver Hitz <oliver@net-track.ch>

	* authlib/Makefile.am (libauth-modules):  Fix Makefile build
	with no authentication modules selected.

2002-01-07  Pawel Wilk <siefca@kernel.pl>

	* authlib/authmysqllib.c: Major update to the authmysql driver
	that adds the option to create hand-crafted SQL queries.

1.4.1
	
2001-12-28  Iustin Pop <iusty@intensit.de>

	* authldap: if LDAP_TLS and LDAP_AUTHBIND were enabled, use TLS for
	the authenticated bind also.

2001-12-23  Mr. Sam  <mrsam@courier-mta.com>

	* Converted couriertls and couriertcpd man pages to Docbook.

2001-12-22  Mr. Sam  <mrsam@courier-mta.com>

	* authpam: Fix failover to the next auth module if userid not found.

2001-12-08  Mr. Sam  <mrsam@courier-mta.com>

	* Converted maildir documentation to Docbook SGML

2001-12-07  Mr. Sam  <mrsam@courier-mta.com>

	* search.c (fill_search_header): Fix THREAD REFERENCES.

1.4.0

2001-12-04  Mr. Sam  <mrsam@courier-mta.com>

	* mailboxlist.c (do_mailbox_list): Get rid of an illegal free()
	triggered by LIST #allfolders.

2001-12-01  Mr. Sam  <mrsam@courier-mta.com>

	* imap: convert imapd documentation to Docbook SGML

2001-11-28  Bill Shupp <hostmaster@shupp.org>

	* imaplogin.c (do_imap_command): Added AUTHSERVICE configuration
	setting.

2001-11-27  Mr. Sam  <mrsam@courier-mta.com>

	* authlib/authmod.c (authmod_success): Adjust error reporting after
	a failed exec().

2001-11-25  John Morrissey <jwm@horde.net>

	* authlib/authldaplib.c: make user uid/gid optional, default to global
	uid/gid.

2001-11-24  Mr. Sam  <mrsam@courier-mta.com>

	* Begin conversion of man/html documentation to Docbook SGML.
	Created a docbook directory in CVS, and added it to all modules.
	This directory won't get packaged into tarballs, the tarballs will
	have just the compiled man and html documentation, and the docbook
	directory (module name 'docbook-scripts') will contain only the
	scripts to convert SGML to HTML and MAN.

	* Converted authlib and userdb man/html pages to sgml.

2001-11-23  Mr. Sam  <mrsam@courier-mta.com>

	* msgenvelope.c (read_header): Suppress \r-s from ENVELOPE
	reply, because of Outlook.

2001-11-23  Brian Candler <B.Candler@pobox.com>

	* pop3dserver.c: Reply with -ERR if maildir does not exist.

2001-11-18  Mr. Sam  <mrsam@courier-mta.com>

	* authlib/authldaplib.c (auth_ldap_do): Fix incorrect soft/hard
	error indication for a failure in ldap_search_st().

2001-11-17  Mr. Sam  <mrsam@courier-mta.com>

	* configure.in (all): use a different test for -lnsl and -lsocket
	that works on BSD/I.

2001-11-13  Mr. Sam  <mrsam@courier-mta.com>

	* imapd.c (append_flags): Use maildir flag D for Drafts

2001-11-13  "Oliver Blasnik" <oliver.blasnik@nextra.de>

	* Partial support of the IMAP QUOTA extension.

1.3.12

2001-11-03  Jeff King <peff@peff.net>

	* STATUS won't clear the \Recent flag.

2001-11-03  Abhijit Menon-Sen <ams@wiw.org>

	* rfc2045/rfc2045.c (rfc2045_free): Plug a memory leak.

2001-11-01  Mr. Sam  <mrsam@courier-mta.com>

	* clean up rfc1035, md5, sha1, libhmac, configure scripts.

2001-10-14  Mr. Sam  <mrsam@courier-mta.com>

	* courier-imap.spec.in: sqwebmail.spec: stub out call to libtoolize in
	configure.in - messes up RH 7.1 builds

2001-10-07  Mr. Sam  <mrsam@courier-mta.com>

	* msgenvelope.c (msgappends): If we find illegal 8-bit header content,
	re-encode it using MIME encoding that specifies x-unknown charset.

2001-10-06  Vittorio Ballestra <vittorio.ballestra@infogestnet.it>

	* Added experimental PostgreSQL authentication module.

2001-10-01  Mr. Sam  <mrsam@courier-mta.com>

	* Parser: allow [ and ] characters in search strings.

2001-09-27  Mr. Sam  <mrsam@courier-mta.com>

	* courier-imap: fix INSTALL_SCRIPT in the top level Makefile

2001-09-22  Mr. Sam  <mrsam@courier-mta.com>

	* storeinfo,c: return UID in FETCH response to a UID STORE.  Problem
	noted by Nic Ferrier <nferrier@tf1.tapsellferrier.co.uk>

2001-09-18  Mr. Sam  <mrsam@courier-mta.com>

	* Enigma update - rebuild autoconf/automake.

1.3.11

2001-09-10  HIROSHI OOTA <oota@LSi.nec.co.jp>

	* imapscanclient.c (fnamcmp): Explicitly sort maildir filenames
	by timestamp value first.

2001-09-05  Mr. Sam  <mrsam@courier-mta.com>

	* testsuitefix.pl: Sort expected LSUB output, in addition to LIST.

2001-08-30  Mr. Sam  <mrsam@courier-mta.com>

	* fetch.c (dofetchmsgbody): Correctly find message/rfc822 inside
	another message/rfc822.

2001-08-29  James Knight <jknight@fuhm.net>
	
	* search.c (search_evaluate): Speed up searches by correcting an
	inefficient evaluation search order.

2001-08-26  Mr. Sam  <mrsam@courier-mta.com>

	* Added unicode mappings for windows-874/tis-620.  Refresh to
	Unicode 3.1.1

2001-08-25  Lars Uffmann <lu@mediaways.net>

	* imapd.c (do_imap_command): Rename entire folder hierarchy even if
	no trailing "."

1.3.10

2001-08-15  Mr. Sam  <mrsam@courier-mta.com>

	* authldap: Added experimental LDAP_TLS option.

	* logger: use LOG_WARNING and LOG_ALERT for WARN: and ALERT: messages.

	* couriertcpd: added -warn option - warn message logged when number
	of connections exceeded.  Alert message logged when number of
	connections is at its maximum.

2001-08-12  Mr. Sam  <mrsam@courier-mta.com>

	* authlib/authldaplib.c (ldapopen): LDAP_OPT_DEREF is not available
	in openldap 1.0

2001-08-10  Mr. Sam  <mrsam@courier-mta.com>

	* tcpd/tcpd.c (run): Add perror() after a failed exec.

2001-08-07  Mr. Sam  <mrsam@courier-mta.com>

	* Fix --with-random configure.in option.  Problem noted by William
	Hue <williamhue@telus.net>

1.3.9

2001-08-06  Mr. Sam  <mrsam@courier-mta.com>

	* maildir/maildirshared.c (maildir_shared_subscribe): Fix a bug in
	shared folder subscribe logic.
	Problem noted by Vojtech Karny <karny@datalite.cz>

	* maildir/maildirmake.c (add): Explicitly fseek() to start of file,
	for system where fopen("a+") initially positions to EOF.
	Problem noted by Vojtech Karny <karny@datalite.cz>

2001-08-05  Mr. Sam  <mrsam@courier-mta.com>

	* Re-sync with the Courier tree (some gcc3 compilation fixes,
	authdaemon now always built by default).

2001-08-01  Mr. Sam  <mrsam@courier-mta.com>

	* authlib/authmysql.h: Drop mysql/ prefix from paths to mysql header
	files (should be included in mysql_config).

2001-07-29  Mr. Sam  <mrsam@courier-mta.com>

	* imapd.rc.in, pop3d.rc.in: - source the non-ssl config file after the
	ssl config file.

2001-07-25  inter7.com

	* Update authvchkpw module.

2001-07-24  Mr. Sam  <mrsam@courier-mta.com>

	* imaplogin.c (do_imap_command): Generate an error message after
	a SASL authentication failure.

2001-07-24  Christophe Sollet <csollet@coleebris.com>

	* authlib/authldaplib.c (authldap_read_config):  Add LDAP_DEREF option
	to authldaprc that sets the LDAP_OPT_DEREF option.

2001-07-24  Mr. Sam  <mrsam@courier-mta.com>

	* maildir/maildirquota.c (qcalc): Prevent a division by 0 if
	someone specified a quota of 0.

2001-07-13  Mr. Sam  <mrsam@courier-mta.com>

	* imapd.dist.in (AUTHMODULES_ORIG): Fixed typo noted by
	kherron@newsguy.com

2001-07-07  Mr. Sam  <mrsam@courier-mta.com>

	* authlib/authdaemond.c (start): close stdin/stdout/stderr after
	becoming a background process.

2001-07-03  Mr. Sam  <mrsam@courier-mta.com>

	* imap, pop3, webmail, ldap, mysql: minor changes to the default
	settings in associated configuration files, to accomodate webadmin.
	Be sure to verify your system configuration after doing make
	install-configure

2001-07-01  Mr. Sam  <mrsam@courier-mta.com>

	* authlib/authldap.schema: Added - a sample LDAP schema.

2001-06-25  Mr. Sam  <mrsam@courier-mta.com>

	* Disable MSIE 6.0 smart tags in all html files

2001-06-23  Mr. Sam  <mrsam@courier-mta.com>

	* tcpd/tcpd.c (doit): Fix initialization of socklen_t.

2001-06-22  Mr. Sam  <mrsam@courier-mta.com>

	* imapd.c (do_imap_command): Add TRYCREATE response to APPEND
	(modified version of Olivier Girondel <ogirondel@isdnet.net>'s
	patch).

2001-06-22  Matthias Andree <ma@dt.e-technik.uni-dortmund.de>

	* pop3login.c (main): Do not abort after a SASL failure.

2001-06-22  Mr. Sam  <mrsam@courier-mta.com>

	* configure.in: SCO needs -lsocket for inet_addr().

1.3.8.2

2001-06-13  "Sergei V. Rozinov" <rvs@monster.icc.ru>

	* tcpd/tcpd.c (doit): Fix uninitialized arg to accept().

2001-06-06  Mr. Sam  <mrsam@courier-mta.com>

	* imapd.c (emptytrash): The IMAP_EMPTYTRASH setting can now
	be set to automatically purge multiple folders.  Loosely based
	on a suggestion by John Morrissey <jwm@horde.net>.

	* liblock/lockdaemon.c: fix several improper tests for failed fopen().

2001-05-20  "John A. Barbuto" <jbarbuto@bizland-inc.com>

	* Add quota support to authmysql.

2001-05-12  Mr. Sam  <mrsam@courier-mta.com>

	* authlib/authlib.html.in: authldap and authmysql are now battle-
	tested, and are no longer marked "experimental".

	*.dist.in: Document ability to listen on multiple ports.  Bump
	the version tag of the PORT/SSLPORT setting, since it's not
	backwards/forwards compatible (and let sysconftool do its job).

2001-05-11  Mr. Sam  <mrsam@courier-mta.com>

	* couriertcpd: reworked code to create and accept connection on
	multiple sockets.  If succeed in creating a wildcard IPv6 socket,
	try to create a wildcard IPv4 socket on the same port (xBSD's
	stack does not accept IPv4 connections on wildcard IPv6 sockets).

1.3.8.1

2001-05-10  Mr. Sam  <mrsam@courier-mta.com>

	* imapd.c (is_reserved): Remove INBOX.Drafts from list of reserved
	folders.

1.3.8

2001-04-24  "Roland Hänel" <rh@ginko.net>  

	* authlib/authmysql: applied patch to replace the remaining
	hardcoded mysql table field names with configurable values from
	authmysqlrc.

2001-04-19  Mr. Sam  <mrsam@courier-mta.com>

	* imapd.c (get_flagname): Fix spelling of the experimental \Draft
	flag.

	* msgenvelope.c (doenva): Fix garbage ENVELOPE reply for certain
	corrupted mail headers.

2001-04-18  Mr. Sam  <mrsam@courier-mta.com>

	* authlib: added sha1 cipher, configured CRAM-SHA1 authentication.

	* imapd-ssl.dist.in (TLS_STARTTLS_PROTOCOL): Created this setting
	that'll be used instead of TLS_PROTOCOL for the IMAP STARTTLS
	command.  Ditto for POP3

2001-04-17  Mr. Sam  <mrsam@courier-mta.com>

	* tcpd/starttls.c (create_tls): Log an error if
	PEM_read_bio_DHparams() call fails.

	* rfc822.c (rfc822t_alloc): Explicitly cast arg to (void *).

	* authlib/configure.in (AUTHLDAP): Test for -lresolv before -lber.

2001-04-14  Mr. Sam  <mrsam@courier-mta.com>

	* authlib/authldap: minor fixes for OpenLDAP 2.0.7.  Suppress a
	spurious ldap_get_values msg.  Fail authentication completely if LDAP
	server is unreachable (installing of falling over to the next
	authentication mode).  IMPORTANT: some people might be relying on
	this behavior to fail over to another authentication module.  Make
	sure to note this in release notes.

2001-04-13  Mr. Sam  <mrsam@courier-mta.com>

	* couriertls: reformat information returned by -printx509.  Break
	down X.509 subjects by field, also provide information on the
	negotiated cipher.

2001-04-12  Mr. Sam  <mrsam@courier-mta.com>

	* SSL simplification project: Replace TLS_PEERCERTDIR and TLS_OURCACERT
	with a single TLS_PEERCERTS setting.

	* Cosmetic fixes.  Replace // with /* */ comments in some .c files
	and replace return of void datatype with an explicit return.
	Other misc stuff too.

2001-04-11  Mr. Sam  <mrsam@courier-mta.com>

	* userdb/makeuserdb.html.in: Fix some documentation typos.

	* authlib/authldaplib.c: refuse to authenticate if we end up running
	as uid 0 or gid 0, this indicates a config file problem.

	* courier-imap.spec.in: update for RPM 4.0.2.  Fix broken ldap and
	mysql subpackaging.

2001-04-10  Mr. Sam  <mrsam@courier-mta.com>

	* imapd.c (imapidle): Renamed idle() to imapidle(), to avoid clashing
	with libc5.

2001-04-08  Mr. Sam  <mrsam@courier-mta.com>

	* authlib/authmysqllib.c (auth_mysql_getuserinfo): Better error
	recovery when the mysql server goes down (from
	oliver.blasnik@nextra.de).

2001-04-07  Mr. Sam  <mrsam@courier-mta.com>

	* rfc2045/rfc2045.c (rfc2045_mimepos): Fix a long-time glitch where
	a garbled message with no body will have its headers logically placed
	in the body section, and the supposed headers will be NULL -- this was
	a benign artifact of the parsing logic.

	* Dropped TLS_ALLOWSELFSIGNEDCERTS option from config files - not
	used by Courier-IMAP.

	* Added /usr/local/bin to AC_PATH macros in all configure.in scripts.

2001-04-06  Alexei Batyr' <lehel@pcmag.ru>

	* imapd.c (get_message_flags): Fix reporting of \Draft flag.

1.3.7

2001-04-01  Mr. Sam  <mrsam@courier-mta.com>

	* imapd.c (get_message_flags): Fix potential NULL ptr deref.

2001-03-26  Mr. Sam  <mrsam@courier-mta.com>

	* authlib/preauthvchkpw.c: add configure script probe for the
	existence of vlogauth()

1.3.6

2001-03-23  Mr. Sam  <mrsam@courier-mta.com>

	* Makefile.am: Fix RANDFILE in imapd.cnf and pop3d.cnf

	* search.c (is_in_set): Bugfix: make search 1:* work correctly.

2001-03-16  Mr. Sam  <mrsam@courier-mta.com>

	* rfc1035.h: drop include of netinet6/in6.h

2001-03-13  Mr. Sam  <mrsam@courier-mta.com>

	* index.html: add a link to the article in SecurityFocus

2001-03-11  Mr. Sam  <mrsam@courier-mta.com>

	* pop3dserver.c (acctout): Fix POP3 LOGOUT going out to syslog as
	an error.

2001-02-28  Mr. Sam  <mrsam@courier-mta.com>

	* authlib/authmysqllib.c (doconnect): Applied a modified version
	of a patch by John Callaghan <jpc@msu.edu> that periodically
	checks for a dead MySQL connection, and resets it.

2001-02-28  Mark Anthony Lisher <markal@iname.com>

	* tcpd/starttls.c (dossl): read CERTFILE.ipaddress if it exists, to
	allow multiple certs for multihomed SSL servers.

2001-02-28  Tommi Virtanen <tv-nospam-42b34d@hq.yok.utu.fi>

	* imaptoken.c (do_readtoken): abort if client imap token was truncated
	due to excessive size.

1.3.5

2001-02-26  Tomas Fasth <tomas@euronetics.se>
	* mainloop.c (mainloop): cut off clients that keep sending
        junk, non-stop.

2001-02-21  Mr. Sam  <mrsam@courier-mta.com>

	* imapd.c (idle): Applied IDLE patch (Tomas Fasth), with some
	modifications.

2001-02-20  Mr. Sam  <mrsam@courier-mta.com>

	* fetch.c (rfc822): Additional FETCH attributes need to be included
	in transfer totals

1.3.4

2001-02-18  Mr. Sam  <mrsam@courier-mta.com>

	* maildir/deliverquota.c: replace snprintf with sprintf, for better
	compatibility.

2001-02-15  Mr. Sam  <mrsam@courier-mta.com>

	* unicode/utf8.c (unicode_utf8_tou): Fixed memory corruption in
	UTF8 module.

2001-02-11  Mr. Sam  <mrsam@courier-mta.com>

	* imapd.c (do_imap_command): log number of bytes transferred from
	headers and body (in LOGOUT and DISCONNECTED syslog messages).

	* pop3dserver.c (main): log number of bytes transferred by TOP and
	RETR commands (in LOGOUT, DISCONNECTED, and TIMEOUT messages).

2001-02-09  Mr. Sam  <mrsam@courier-mta.com>

	* Patch: tobi@tobi.nu - replace --with-dyn-mysql with --with-mysql-libs
	and --with-mysql-includes

2001-02-08  Chris Seawood <cls@radiate.com>

	* authlib: Added check for open_smtp_relay in -lvpopmail

2001-02-06  Mr. Sam  <mrsam@courier-mta.com>

	* Makefile.am: remove -MAKEFLAGS

2001-02-02  Mr. Sam  <mrsam@courier-mta.com>

	* authlib/authpam.c: update for Linux-PAM 0.74 (get rid of
	pam_set_item PAM_AUTHTOK).

	* imap/configure.in: probe for existence of /etc/pam.d/system-auth,
	and use that instead of pam_pwdb.so

2001-01-25  Mr. Sam  <mrsam@courier-mta.com>

	* Added a hook for passing some additional flags to the
	RPM spec script, using --define 'xflags [flags]' option.

1.3.2
	
2001-01-25  Mr. Sam  <mrsam@courier-mta.com>

	* Fix big5/gb2312 conversion logic.

2001-01-19  Mr. Sam  <mrsam@courier-mta.com>

	* Fix authldap connection failure recovery    (Brian Candler)

2001-01-16  Mr. Sam  <mrsam@courier-mta.com>

	* Update INSTALL to reflect new upgrade instructions.

1.3.1
	
2001-01-14  Mr. Sam  <mrsam@courier-mta.com>

	* imaprefs.c: updates for thread-06.txt

2001-01-13  Mr. Sam  <mrsam@courier-mta.com>

	* authlib/configure.in: added --with-dyn-mysql option to specify
	MySQL installation directory to dynamically link with vpopmail.

	* imaptoken.h (IT_MAX_ATOM_SIZE): Set to 16384.  Should be enough
	(UW-IMAP limits entire commands to 8192).

2001-01-01  Mr. Sam  <mrsam@courier-mta.com>

	* imapd.c (do_imap_command): Do not expunge upon CLOSE of a read-only
	mailbox.

	* Makefile: tweak testsuite to sort LIST output (meant to do that
	a while ago).

2000-12-27  Mr. Sam  <mrsam@courier-mta.com>

	* tcpd.c: Fixed a compilation error in --without-tcpddns option.

2000-12-25  Mr. Sam  <mrsam@courier-mta.com>

	* deliverquota: optionally deliver a warning message to the maildir
	when quota is about to be exceeded.

1.3.0
	
2000-12-22  Mr. Sam  <mrsam@courier-mta.com>

	* reftest.c: fix dependency on qsort order.

2000-12-19  Mr. Sam  <mrsam@courier-mta.com>

	* courier-imap.spec.in: add -q flag to %setup to suppress lots of
	stuff we don't care for.

	* unicode/README tells you how to go about adding code for additional
	character sets.

2000-12-16  Mr. Sam  <mrsam@gwl.email-scan.com>

	* rfc2045: boundary= in a non-multipart MIME section would screw
	things up.

2000-12-15  Mr. Sam  <mrsam@courier-mta.com>

	* unicode: add gb2312 encoding.

2000-12-12  Mr. Sam  <mrsam@courier-mta.com>

	* unicode: add big5 encoding.

2000-12-11  Mr. Sam  <mrsam@courier-mta.com>

	* imapd.c: Call setlocale() to make sure we use ASCII ctype
	conversions.

	* thread/sort: some logic adjustments.

2000-12-10  Mr. Sam  <mrsam@gwl.email-scan.com>

	* Added sysconftool support.

2000-12-04  Mr. Sam  <mrsam@courier-mta.com>

	* authldaplib.c - fix check for openldap V2.

2000-11-30  Mr. Sam  <mrsam@courier-mta.com>

	* Make LDAP_DOMAIN optional.

2000-11-29  Mr. Sam  <mrsam@courier-mta.com>

	* pop3login.c (main): remove " " from terminating token for PASS.

	* pop3dserver.c: Fix error handling of bad message numbers+others.

2000-11-27  Mr. Sam  <mrsam@courier-mta.com>

	* pop3dserver.c: Fix a bug in TOP command.

	* imapd.c: Implement hierarchical folder rename.

2000-11-26  Mr. Sam  <mrsam@courier-mta.com>

	* Migrated rfc822t_alloc() with rfc822t_alloc_new().

2000-11-23  Mr. Sam  <mrsam@courier-mta.com>

	* authenticate_auth.c: missing read_eol() breaks multiresponse SASL
	methods.

2000-11-20  Mr. Sam  <mrsam@courier-mta.com>

	* preauthvchkpw.c update.

1.2.3

2000-11-15  Mr. Sam  <mrsam@courier-mta.com>

	* Plug a file descriptor leak in quota update code.

2000-11-14  Mr. Sam  <mrsam@courier-mta.com>

	* imapscanclient.c: patch to ignore write failures to the IMAP UID
	file.

	* thread.c/testsuite*: updated to draft-ietf-imapext-thread-04
	(case-sensitive message-id comparison).

	* ChangeLog: converted to emacs format.

	Added support for SASL PLAIN authentication.

1.2.2
	Minor fixes -- bad stat in maildir_try_create, move chdir to homedir
	after setting uid/gid.

	Fixed OpenLDAP memory leak.

1.2.1

        Fixed typo in label of authvchkpw module.

        Fixed ENVELOPE to properly handle legacy RFC-822 group list
        notation.

1.2
	Authentication overhaul.  authdaemond split into alternate versions,
	one for each database back end.  The original "authdaemond" replaced
	by a shell script that checks for the installed authdaemond
	alternates, and run whatever's installed.  The idea is to allow
	LDAP and MySQL support to be separately packaged, and for LDAP and
	MySQL support to be added simply by installing the extra package
	(the base packaged for the garden variety and the LDAP/MySQL back
	end remains the same).  See NEWS for more information, as well
	as "Alternative authdaemond modules" section in INSTALL.

	"custom" authentication module - a stub for site-specific
	authentication code.

	Bundled POP3 server from the main Courier package.  The Courier-IMAP
	now includes a compatible POP3 server (by popular request).

	POP3 over SSL support is included.

	Added character sets windows-1250 through windows-1258.

	Added character sets IBM437, IBM775, IBM850, IBM852, IBM855, IBM857,
	IBM860 through IBM866, and IBM869.

	Optimized downloading of large attachments for Netscape Messenger.

1.1

     Use mysql_real_connect(), if available.

     Strip () from name of mail envelope sender that uses old-style header
     format, by calling rfc822_getname instead of rfc822_gettok.

     Reengineer couriertcpd locking mechanism, that permits SO_REUSEADDR.
     New locking mechanism uses liblock's daemon functions.  Removed
     --forcebind option, obsolete.  Added --stop and --restart to couriertcpd.

     standalone: new startup scripts.  Must manually stop the server if
     upgrading.

     Fix a minor interoperability issue with Linux, IMAP_MOVE_EXPUNGE_TO_TRASH,
     and sqwebmail (sqwebmail moves mail to trash by creating a hard link,
     when we expunge we attempt to rename the first link to the second one,
     in Linux rename() returns 0, but NOTHING happens).

     Bug fix -- bad BODYSTRUCTURE response when a multipart content-type
     does not have any sections.

     THREAD semantics updated to ietf-imapext-thread-03.

     THREAD REFERENCES bug fixes.

     Add unicode-based support for non-English character sets.

1.0  Performance tweaks.

     Spec file tweaked to build under RH 7.x

     IMAP_CHECK_ALL_FOLDERS option added.

     Implement IMAP SUBSCRIBE/UNSUBSCRIBE for private folders.

     More questions for the FAQ

     Reorder authentication modules.

     Subject stripping for THREAD and SORT updated to definition in
     draft-ietf-imapext-thread-02.txt ... Except for the broken part.  Should
     be interesting to see if someone spots the obvious glaring error, there.

     Experimental THREAD REFERENCES implementation.

     Fixed a bug in THREAD ORDEREDSUBJECT which skipped over messages without
     a subject header.

     Fixed a typo in IMAP_CAPABILITY -- should be THREAD= not THREAD-, oops.
	
0.99 SSL related bug fixes.

     Option to use IMAP STARTTLS instead of IMAP over SSL.

     Tweaks to the configuration for better detection of MySQL support.

0.36
     Berkeley DB 3 support.

     Complete rewrite of authmysql.  New authmysql module supports CRAM-MD5
     authentication.

     CHILDREN extension.  A compatibility switch for legacy behavior in order
     to keep Pine happy.

     Creation of debug file is now controlled entirely by IMAPDEBUGFILE.

     Replaced dependency on stunnel with couriertls.


0.35
     Remove spurious space in LIST response.

     IPv6 fixes.

     Fix bug that can be used to crash authdaemon with malformed CRAM-MD5
     authentication requests.


0.34
     Implemented THREAD and SORT extensions.

     Set ulimit for the spawned processes.

0.33a
     Various minor bug fixes in authentication code.  Many memory leaks
     plugged.  CRAM-MD5 with LDAP now works correctly.

0.33 Added IMAP_MOVE_EXPUNGE_TO_TRASH.

     Added IPv6 support.

     Bug fixes.

     IA-64 patches.

     Slightly changed semantics of maildir file creation.  Will abort on
     errors other than ENOENT.  DJB is wrong - if you keep looping
     you'll get stuck in an infinite loop if, say, directory permissions
     are wrong.  Don't loop on non-ENOENT errors.  Abort instead.

0.32 Added the authdaemon module.  Minor fixes for gnus and mutt related
     issues.  Global shared folders.

0.31 Added SSL support, via stunnel (tested with stunnel 3.8).
     Added a FAQ.
     Found and fixed a potential crash caused by messages with corrupted
     MIME headers.
	
0.29-30 mysql patch applied.  Fixed irrelevant typo in maildir_folderdir().
     authldap failed init bug fix.

     Fixed a bug that sent an incorrect terminating character if a partial
     fetch ended precisely in the middle of a CRLF boundary.

     Miscellaneous bug fixes in miscellaneous authentication modules.

     Added workaround for Netscape crash if it receives an attachment
     with a filename that contains backslashes.

     Added workaround for Pine's failure to quote userids and passwords
     that contain brackets.

0.28 Explicit check to block compilation as root.  Compile Courier-IMAP as
     non-root, then su to root before running make install.

0.27 A new configure option: --enable-workarounds-for-imap-client-bugs
     This enables a couple of workarounds for a bunch of stupid bugs in
     several IMAP clients.

     Nicholas Lee's vchkpw2userdb patch.

     Modified RPM build script.  authldap is not going to be explicitly
     suppressed.  If you have OpenLDAP client libraries installed, authldap
     authentication is going to be built and installed.  Remove authldap from
     imapd.config if you don't want it.

     Shared folder support (weeeeeeeeeee...).  Courier-IMAP will install a
     slightly modified maildirmake command, for that purpose, and a manual
     page.  Read the manual page.

     Added beta MySQL module.

     Kill all current sessions when the listener process stops.

     If the home directory has the sticky bit set, don't log in - maintenance
     lock.

0.26 Enhancements to authldap and authvchkpw - now links with the vpopmail
     library, so MySQL-based authentication is now supported!

0.25a More tweaks to authlib - Makefile + authvchkpw.  Fix bogus failure in
     make check in certain timezones.

0.25 A minor bug fix release.  Fixed a core dump in authldap.  Fixed some
     spurious make check failures in gdbmobj/bdbobj.  Other minor makefile
     and configure changes.  Major editing of INSTALL and README that will
     hopefully make them easier to understand.

0.24 Fixed several userdb bugs introduced in 0.23.  Oops.

0.23 Added experimental LDAP authentication support.  Don't set \Seen on
     fetch of RFC822.HEADER

0.22 authvchkpw fix.  Miscellaneous fixes for Outlook Express.  Other minor
     bug fixes.

0.21 Trying to fix problems that I think are caused by some cranky glibc/libc
     stdio implementations (seek errors, and such).  Refreshed userdb/authlib
     from RCS (changes fix bugs in code that Courier-IMAP never uses, but I
     like to keep things synced up).  Twiddled some docs.

     Added NAMESPACE capability.  This removed several configuration steps.

0.20 Additional enhancements to the authentication library -- implementation
     of framework to support additional SASL forms of authentication.
     Completed implementation of FETCH parameters that were left in a TO DO
     state.  Gave up, and made LIST=LSUB, for all intents and purposes.
	
0.19 Added CRAM-MD5 support.  Changed location of some installed files, in
     order to better comply with common GNU standards.  Take care when
     upgrading:

     prefix/lib is pretty much now renamed as prefix/libexec
     most stuff in prefix/bin is moved to prefix/sbin
     imapd.config is now installed in prefix/etc, instead of prefix/lib
     authentication modules are installed in prefix/libexec/authlib

     All the initialization and other scripts have been modified to look
     for files in new locations.

     Several bug fixes.

0.18 Many bug fixes for problems experienced on some systems due to type
     mismatches.
     Do not expunge on LOGOUT.
     Changed Red Hat RPMS to default to automatically start imapd on
     system bootup (previously, you had to manually edit imapd.config and flip
     the switch)

0.17 Potential tiny array overflow in redhat-crypt-md5.c, causing a failure
     in md5test.c.  Many configuration and portability changes.
     Intentionally omitted code that complained about some bad commands
     received from an IMAP client.  Certain IMAP clients sometimes send
     malformed commands, which we reject with an error, causing the client
     to complain.  Apparently some IMAP servers silently ignore this error.
     I may put this code back later.

0.16 Oops.  Typo fixed in the userdb script.

0.15 Removed AC_LANGCPLUSPLUS from some configure.in's.  They were giving
     some gccs some grief.  Fixed authvchkpw so that it actually works as
     advertised.

0.14 Initial release
