Courier Mail Server 1.3.9

Courier is a mail transfer agent (MTA) and groupware server. It implements IMAP, ESMTP, POP3, LDAP, SSL, HTTP, iCal. It also provides mailing list management, filtering, maildirs storage, and a webmail interface with calendaring and scheduling.

Tags c e-mail smtp imap mail-server groupware calendaring
License GNU GPL
State stable

Recent Releases

1.3.915 Jul 2024 11:05 minor feature: Tcpd: support per-local port custom -haproxy configuration. Multiple updates to the couriertcpd man page, updated documentation, for ipv6 and CIDR support. tcpd: remove -noidentlookup, implement -haproxy, couriertcpd: set the IP_FREEBIND option on all listening sockets.
1.3.724 Apr 2024 17:45 minor feature: Update spec file, removing hooks for obsoleted RPM-based, distributions (Suse, Mandrake, etc...), Adjust logic of A and AAAA lookups, for MX records. Avoids, potential with IPv4-only or IPv6-only nodes not finding, usable addresses because only the other kind were cached. Always, explicitly query for A and AAAA records.
1.3.524 Nov 2023 10:25 minor feature: Rfc822: use tm_gmtoff in preference over daylight, for determining, TZ offset. pop3+imap: log stls=1 (pop3) and starttls=1 (imap) on LOGIN lines. courier/module.esmtp/ Add missing, TLS_PRIVATE_KEYFILE setting.
1.3.429 Aug 2023 18:45 minor feature: Sqwebmail: null pointer check when loading search results. Turn off IMAP_TLS_REQUIRED if IMAP_TLS is already set. Compiling with -DMAILDIR_SKIP_SYMLINK_CHECKS turns off checking for, rogue symlinks in maildirs.
1.3.304 Aug 2023 19:25 minor feature: Recognize newer EC-based public key algorithms when displaying, available PGP keys. maildrop: compilation error caused by non-default configure, script options. logic that unnecessarily rewrites MIME headers, in some, cases.
1.2.428 Apr 2023 15:25 minor feature: Spurious gcc 13 compiler warnings. Have configure script, include the standardized location of the CA certificate bundle, in addition to various legacy compatibility paths. update the ESMTP server to recognize alternative Courier, ESMTP extension names, in addition to the current ones. A future, version of Courier will switch the syntax of its custom ESMTP extension, names to be strictly compliant with the ESMTP specification. The names, remain unchanged for now, but this version of Courier recognizes both, the existing names and the new names. update internal scripts, replace deprecated fgrep alias, with grep -F.
1.2.305 Apr 2023 05:45 minor feature: Courier/module.esmtp/libesmtp.c: treat RFC1035_MX_NONE as a, permanent failure. Various for calls to getgrnam_r/getpwnam_r, maildrop: Update to C++11, replacing internal classes with, modern C++ library classes. maildrop: the -V command line option to also explicitly, set VERBOSE, assorted -V logging. all: update to require at least version 2.0.5 of, libidn
1.2.219 Feb 2023 07:25 minor feature: Maildrop: remove unsafe SIGALRM handler. imap: No longer accept a non-standard single, flag name instead of a parenthesized flag list to APPEND, due to, ambiguity with the UTF8 extension.
1.2.014 Feb 2023 10:25 minor feature: Switch to libidn2. Debian/Ubuntu: update lintian overrides, make install: replace absolute links with relative links.
1.1.1007 Jun 2022 07:05 minor feature: Courier/submit2.C (SubmitFile::trapsignals): Remove signal-unsafe, signal handling code. Update deliverquota man page.
1.1.502 Aug 2021 06:45 minor feature: Imapd.c: Just call exit(), we may be in an inconstent state. courier/module.esmtp/libesmtp.c (esmtp_mailfrom_cmd_idna): do not, indicate SMTPUTF8 for a non-UTF8 message. pop3login: use unbuffered reads, handle our own buffering. configure in module.esmtp respects --with-certsdir, Minor code tweaks, make it compleable with -Wall -Werror.
1.1.425 May 2021 14:05 minor feature: Use after free in a rare situation when the system hostname, is intentionally set to "*. domain " for the hostname-dependent, configuration feature.
1.1.319 May 2021 15:45 minor feature: Pop3: pro-forma POP3 LANG extension. courier/module.esmtp/ inconsistent permissions on, the symlink to the courieresmtpd binary. webadmin/ Allow specific IP addresses specified, in unsecuredok. (TLS_STARTTLS_PROTOCOL): Remove duplicate entry, in the pop3d-ssl configuration file. tcpd/tcpd.c (docheckblocklist): DNSBL lookuup logic.
1.1.228 Mar 2021 07:25 minor feature: Make*: Individual files that did not end in a newline were, not handled correctly. imap: adjust error message.
1.1.021 Mar 2021 10:25 minor feature: Implement support for the TLS ALPN extension. Replace FAM/Gamin with inotify. Install the maildirwatch tool. Remove the IMAP_ENHANCEDIDLE setting from the imapd configuration, file. Spec file: use triggers to restart courier after an upgrade, going, forward.
1.0.1510 Feb 2021 13:05 minor feature: Spec file: explicitly add dependencies on gzip. maildir/maildircache.c (create_cache_name): UTF-8 addresses. Additional Unicode. Implement hostname-dependent, configuration. RSET logic. openssl: Add TLS_PROTOCOL setting to disable client-initiated, renegotiation. imap: send corrupted Unicode alerts only for new messages. spec file: add BuildRequires: __make (will be required in F34). courier/courierd.C (courierbmain): logical in handling, a submitdelay-ed message. waitlib: testwait.c failure with LTO enabled on F33. pop3login.c: fflush before STARTLS. sqwebmail/webpgp: update for current gpg version.
1.0.1419 Jun 2020 11:05 minor feature: Courier-authlib API update. tcpd/libcouriertls.c (nonsslerror): Spurious message when, if connection during handshake. rfc1035/rfc1035search.c: More back-end support for simultaneous, DNS queries. logic that converts domain names to lowercase. tcpd/tcpd.c: Use simultaneous DNS queries to query for A and TXT, records at the same time. defaults in the mkesmtpdcert script.
1.0.1020 Apr 2020 11:05 minor feature: Corruption of logged local mail addresses when using aliases. tcpd/starttls.c (dossl): Start client after negotiating SSL, in order to allow EXTERNAL client certificate authentication. virtual IP and hostname handling when using GnuTLS for SSL. Add -noidentlookup option to the default TCPDOPTS. Update for Fedora 31 RPM. tcpd/libcouriertls.c (verifypeer): Use openssl to verify, hostnames. When making both IPv4 and IPv6 mx lookups, ignore one of them, SOFTFAILing if the other one succeeds. smtp, imap, pop3: include remote port TCP port number together, with the IP address, in log messages.
1.0.911 Nov 2019 10:45 minor feature: Update documentation in the imapd and pop3d ssl config flies. the RPM spec file for CentOS 7, courier/submit.C (my_spf_lookup): Convert hostnames and addresses, in the Received-SPF: header from UTF-8 to ACE. rfc1035/spf.c (get_macro): When expanding macros in SPF messages, convert UTF-8 domains to ACE. courier/module.esmtp/esmtp.c (isindomaindb): use ualllower instead, of tolower.
1.0.809 Jun 2019 16:45 minor feature: Sqwebmail.c (rename_sent_folder): quoting of autorenamed, Sent folder. cgi/cgidaemon.c (connect_err): quoting in HTTP headers for, error messages.
1.0.701 Apr 2019 06:05 minor feature: Courier/doc/testmxlookup.sgml: Minor editing to the testmxlookup, man page. courier/libs/comsts.c (sts_download2): Specify --max-redirect 0, for STS policy downloads, as per STS spec. pop3dserver.c (do_retr): Use the new MIME_UNICODE_MESSAGE_TYPE, setting to set the type of the wrapped MIME attachment. courier/libs/comsts.c (open_and_lock_cached_policy_file):, errno getting clobbered by isatty(). courier/filters/verifyfilter.c: -n option explicitly suppresses, stderr. courier/filters/verifysender: Pass the -n option to verifysmtp. testmxlookup: implement the Strict Transport Security policy for, SMTP, as specified in RFC 8461. Add some diagnostic options to, testmxlookup. courier/filters/verifyfilter.c: Remove the 'smtpfilter' symlink, to verifyfilter. Replace it with a shell script wrapper that loads, the environment variables and invokes verifyfilter. tcpd/libcouriertls.c: Add support for verifying certificate, subject alternative names. tcpd/tlsclient.c: Implement the override_vars parameter.
1.0.631 Jan 2019 03:25 minor feature: Pop3dserver.c: parsing of pop3d file cache, on some, architectures. tcpd/libcouriertls.c: Ignore unreadable cert files.
1.0.518 Dec 2018 13:45 minor feature: Imap: Send an alert about a Unicode messages to a non-Unicode, client at most once per IMAP session.
1.0.319 Nov 2018 06:45 minor feature: Pop3dserver.c (calcsize): spurious flagging of non-UTF8, messages as UTF-8. pop3dserver.c (readpop3dlist): Be able to update, courierpop3dsizelist from version 2 to 3 in place. (do_retr): Instead of returning an ERR to a non-Unicode client, handle Unicode messages by wrapping them as an attachment.
1.0.213 Nov 2018 11:45 minor feature: Imap: Additional changes to how Unicode messages are, handled with non-Unicode clients: disclaim all warranties, still, report an error, but provide the raw message content, as is.
1.0.114 Oct 2018 07:25 minor feature: Couriertls: additional. couriertls: option to use a separate file for the SSL certificate's, private key, as an alternative to the combined keyfile+certificate.
1.018 Sep 2018 03:45 minor feature: Substitution typoes in imapd and pop3d startup scripts. courier/libs/comtrack.c (track_find_record): Don't stop after, finding the E-mail address in the current tracking file, continue, reading the remaining tracking files. couriermlm: Implement smtp prefiltering. Implement blocking of, Unicode messages and E-mail addresses, by default. rfc2045/reformime: parse utf-8 address types in DSNs. courier: implement "utf-8" address type in delivery status, notifications. mailbot: generate message/global, message/global-delivery-status, and message/global-headers, when needed, when formatting autoreplies. reformime: -m option uses message/global instead of message/rfc822, for UTF8 messages. sqwebmail: recognize message/global and message/rfc822 attachments. Update very old login error message that references a long gone-by, era. courier: implement the SMTPUTF8 extension. dotforward: parse for Delivered-To: only in the header portion, of the message. courier-imap: update Courier-IMAP to support UTF8 POP3. Update, version of the courierpop3dsizelist cache file. courier-imap, sqwebmail: update Courier-IMAP to support UTF8 IMAP. Convert maildir folders to use UTF-8 for folder names. Add, --checkutf8 and --convutf8 options to maildirmake to convert, pre-UTF8 maildirs to UTF8 maildirs, a mandatory upgrade procedure. waitlib/ typo. libs/tcpd/starttls.c (main): Add -user option. Additional, to imap/pop3 startup scripts to have couriertls drop root privileges. rfc2045/reformime.c (main2): crash if -x or -X is specified, without the corresponding -s option. libs/tcpd/tlsclient.h: add username option, used in couriertls_start, to set the child process's uid and gid. libs/imap/imaplogin.c (starttls): Set username option for couriertls, libs/imap/pop3login.c (starttls): Set username option for couriertls, imapd-ssl.dist, pop3d-ssl.dist: Use separate imap and pop3 session, cache files. Startup script: remove/set ownership and permsission, on the imap and pop3 session cache fi
0.78.204 Dec 2017 22:05 minor feature: Use libtool to build libfilter and waitlib modules. perlfilter, link failure on Fedora 27. gettext update. rpm packaging. libs/sqwebmail/pcp.c (sqpcp_eventstart): null pointer dereference. libs/rfc2045/rfc2045reply.c (mkreply): null pointer, dereferences.
0.78.116 Oct 2017 20:05 minor feature: Maildrop/reformail.C (add_from_filter): use after free. to, courier: switch default header encoding to UTF-8. courier/cmlm.C (savemsg): Exit with EX_SOFTWARE when rejecting, messages from non-subscribers, to avoid triggerring backscatter, suppression for the mailing list.
0.77.007 Jul 2017 13:25 minor feature: Libs/maildir/maildirquota.c (docheckquota): Skip DT_LNK. courier/module.esmtp/esmtpclient.c (sendesmtp): failure, to report connection errors. rfc1035: TLS hostname verification problem caused by CNAME, records. couriertcpd: do not ANY queries for DNSBL lookups. courier-unicode library API update. libs/tcpd/libcouriertls.c: OpenSSL API update. Merge several Debian patches:, 0001-Include-cstdio-in-afx.h.patch, 0005-Ignore-and-.dpkg-a-z-files.patch, 0007--bashisms.patch, 0009--linking-in-upstream-Makefiles.patch, 0012-Define-and-use-PEMFILE-in-mkesmtpdcert.patch, (*) with some changes. 0013-Add-P-to-ghostscript-invocation.patch, 0014-Improve-error-reporting-in-preline.c.patch, 0017--formatting-errors-in-syslog-calls.patch, 0020-Add-perl-stanza-to-perlfilter-scripts.patch, courier/, courier/submit2.C (MessageEnd): Patches, from FreeBSD.
0.76.430 Jan 2017 11:45 minor feature: Misc compilation errors. Improve compatibility with gnupg 2. libs/maildrop/maildir.C (MaildirSave): new/delete mismatch. libs/sqwebmail/gpg.c: external linkage.
0.76.321 Sep 2016 20:25 minor feature: Courier/module.esmtp/courieresmtpd.c (main): Allow NOOP before, authentication takes place if authentication is required.
0.76.216 Aug 2016 06:45 minor feature: Reformime: do not abort due to invalid encoding of the "name", attributes. imapd.c (do_folder_delete): check for DELETE INBOX. courier/cmlm.C (savemsg): Have NOBOZOS only look for commands on, the first line of the message. courier/doc/local.html: Remove incorrect documentation for the, sticky bit, and reformat the document. courier/libs/lcrewrite.c (rw_syntaxchk): Allow consecutive ! and , characters in email addresses.
0.76.110 May 2016 06:05 minor feature: OpenSSL TLS SNI support. couriertls: remove deging message. Update default TLS settings in courierd and esmtpd config files, mostly removing obsoleted settings.
0.76.001 May 2016 21:25 minor feature: Stop using SSL2 and SSL3 openssl configuration methods. libs/rfc1035/spf.c: "mx" keyword a no-op MX-less domains, rather, than returning "error". libs/tcpd/libcouriertls.c: Add support for TLS SNI. maildrop: implement the FLAGS variable. maildrop: maildrop not searching last line of text. Add procps-ng to BuildRequires. maildrop: parsing of a message without a body. courier/submit.C: Write SPF-Received lines before the first, Received header. that prevented HELO's SPF-Received line, from being written.
0.75.030 Jun 2015 06:45 minor feature: libs/maildrop/mailbot.c: Fix bad malloc for --feedback- command, line parameters. ESMTP_PREFER_IPV6_MX: new setting. AUTH_MKHOMEDIR_SKEL setting: autocreate home directory. Drop SSLv3 from TLS_CIPHER_LIST. maildrop: Don't include matched subpatterns in foreach.
0.74.211 May 2015 03:05 minor feature: maildircache.c: fix use after free. mkdhparams: make compatible with libressl, imap: Handle 01-Jan-1970 for date-based searches. Update to courier-unicode 1.2. Add the makeimapaccess script. Fix compilation warning, testsuite.
0.74.015 Dec 2014 13:05 minor feature: Update autotools, rfc1035: add support for SPF records with multiple strings. tcpd/libcouriertls.c: add parsing options for different protocol, combination. Update comments in *ssl config files. libs/tcpd/libcouriertls.c (tls_create): Set SSL_OP_NOSSLv3 flag, to disable SSL3 support. mkdhparams: TLS_DHPARAMS environmnt variable overrides default, DH parameter file location. generate the default DH parameter file and, package it into the rpm, instead of generating one on the first, start. libs/maildir/maildirinfo.c (maildir_info_imapmunge): Fix, UTF-8 charset name. tcpd/libcouriertls.c (tls_create): Initialize temporary ecdh, parameters. mkesmtpdcert: do not put DH parameters in the test cert. DH, parameters are now in DH_PARAMS, mkdhparams: default to 2048 DH params for OpenSSL. courier.service: bump up startup timeout, initial service start, may take several minutes to generate DH parameters for the first, time. imap: try to print a message on stderr if the alarm() call, that, detects FAM library breakage, goes off. libs/rfc1035 - fix SPF lookup bug.
0.73.202 Sep 2014 03:49 minor bugfix: Minor releases of Courier, Courier-IMAP, SqWebMail, and maildrop packages, fixing assorted bugs. Building these packages now requires the Courier Unicode library package to be installed. A minor security issue in SMTP and IMAP handlers was fixed, when Courier gets built using the GnuTLS library.