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