* rfc2045mkboundary.c was broken in 0.68
Changes 0.68:
* rfc2045/rfc2045mkboundary.c (rfc2045_mk_boundary): truncate
the hostname portion of the boundary to 30 chars.
* courier/doc/courier.sgml: Remove descriptions of some configuration
files that were moved to the courier-authlib package a while ago.
They don't belong here any more.
* courier/submit.C: Use the authenticated address, instead of the
return address, for domain-based virtual configuration.
* courier/libs/cfilename.c (config_has_vhost): Checks whether
vhost.[ip] exists.
* courier/module.esmtp/courieresmtpd.c (main): Only set a message's
virtual host if vhost.[ip] exists.
* courier/module.esmtp/esmtpclient.c (get_sourceaddr): Make sure the
input buffer is null-terminated.
* courier/submit.C (getrcpts): If there's no vhost setting from the
sender's IP address (this includes local mail!) if vhost.domain exists,
use [domain] as the virtual host.
* Remove config_search(), which simply called config_localfilename().
Change all current callers to call config_localfilename().
* courier/libs/cfilename.c (config_set_local_vhost): saves a string
that gets appended as a suffix, by config_localfilename(), and if that
filename exists, that's returned as the filename, otherwise it's the
original string without the suffix. config_get_local_vhost() returns
the suffix string.
to config_set_local_vhost().
* courier/libs/comsubmitclient.c (submit_fork): If
config_get_local_vhost(), add a -vhost parameter to submit().
* courier/submit.C (cppmain): -vhost sets config_set_local_vhost().
* courier/submit2.C (closectl): New COMCTLFILE_VHOST parameter in the
config file, taken from the vhost setting.
* courier/libs/comctlfile.c (ctlfile_setvhost): If COMCTLFILE_VHOST is
set, call ctlfile_setvhost(), return an indication if the vhost has
changed. Absence of a COMCTLFILE_VHOST treated as a discrete "(null)"
setting.
* courier/module.esmtp/esmtpclient.c (esmtpchild): If ctlfile_setvhost()
then disconnect the current socket, if one is open.
* courier/module.esmtp/esmtpclient.c (get_sourceaddr): The IP address
specified in ipout or ip6out overrides SOURCE_ADDRESS and
SOURCE_ADDRESS_IPV6 environment variable.
* courier/module.local/localmail.c (main): Call ctlfile_setvhost().
* courier/module.uucp/uucp.c (uux): Call ctlfile_setvhost().
* courier/module.dsn/dsn.c (main): Call ctlfile_setvhost().
* liblock/mail.c (dotlock_exists): Quell a compiler warning.
* courier/courierd.dist.in SOURCE_ADDRESS: Add a note that this setting
is deprecated.
* gpglib/list.c: Handle GnuPG 2 --with-colons output format changes.
* gpglib/mimegpgfork.c: GnuPG 2 wants --batch when specifying passphrase-fd.
* tcpd/configure.in: Check if explicit linking with libgpg-error is required.
* tcpd/libcouriergnutls.c (tls_connect): Fix bad call to
gnutls_server_name_set(). Affects Courier compiled with GnuTLS support.
* maildrop/mailbot.c (main): Set close-on-exec bit on opened files.
* courier/doc/courier.sgml: Move the SPF section to a separate refsect2
to work around misformatting by the manpage stylesheet.
* rfc2045/rfc2045reply.c (mkreply): Fix sender's name in the reply salutation.
* html/en-us/newmsg.html: Ditto.
* rfc2045/reformime.sgml: Document the -c option to reformime.
* imapd.c (main): Fix typo in alert message.
* Big quota patch (with some changes).
(See the Changelog(s) for previous releases)
Based on patch(es) from PR pkg/42989 by Brian Candler.
include:
+ Add full DESTDIR support.
+ Don't create empty, unused directories under
${PREFIX}/share/examples/courier.
+ Teach mkesmtpdcert generate certificates and keys using the either
GNUTLS or OpenSSL tools.
* Fix a memory stomp in local delivery agent.
* Get rid of the hard 30 minute timeout in sendmail(8).
* Rewrite input processing for submit(8) process to use non-blocking
I/O to read standard input. When the message source is local (or
dsn), get rid of the hard 30 minute timeout, and poll stdin with a
5 minute poll() timeout, at which point the timestamps on all open
control and data files are pinged, to keep courierd from purging
them based on their old timestamp. Continue to use a hard timeout
for all non-local mail.
* Major code cleanup.
* "User unknown" reports complete local address, including extensions.
* Only run courierfilters after all control files are closed.
* "opt BOFHHEADERLIMIT" replaces hardcoded limit of 100,000 bytes of
headers per message.
* Reject <@domain.com> for a recipient's address.
* Tolerate newline-less responses from the filter.
* Document that sysexit 100 from .courier is a permanent failure.
* "courier show all" and "courier clear all" commands for managing
backscatter suppression list.
+ Drop the uucp module from the default option set.
+ Patch the webmlm sources to not use "stdin" and "stdout" as function or
member names as they can be macros according to the C standards.
* webadmin: Remove check that prevents multiple virtual domains to
be aliased to the same account.
* webmlmd: new CGI module that can manage a Courier mailing list
created with couriermlm.
* Rewrite and code cleanup of couriermlm.
* Use domain name, not MX hostname, for looking up authenticated
SMTP passwords in esmtpauthclient
into the Makefiles of the packages that include it:
(1) PKGNAME and PKG_SUPPORTED_OPTIONS clearly no longer need to be
defined since the only code that used it in Makefile.common was
removed.
(2) Package Makefiles need to properly define PKG_OPTIONS_VAR and
PKG_SUPPORTED_OPTIONS prior to including bsd.options.mk. Set
them to the appropriate values to match the orginal names from
before the botched migration.
the owner of all installed files is a non-root user. This change
affects most packages that require special users or groups by making
them use the specified unprivileged user and group instead.
(1) Add two new variables PKG_GROUPS_VARS and PKG_USERS_VARS to
unprivileged.mk. These two variables are lists of other bmake
variables that define package-specific users and groups. Packages
that have user-settable variables for users and groups, e.g. apache
and APACHE_{USER,GROUP}, courier-mta and COURIER_{USER,GROUP},
etc., should list these variables in PKG_USERS_VARS and PKG_GROUPS_VARS
so that unprivileged.mk can know to set them to ${UNPRIVILEGED_USER}
and ${UNPRIVILEGED_GROUP}.
(2) Modify packages to use PKG_GROUPS_VARS and PKG_USERS_VARS.
* [SECURITY] Fix bug in encoding of usernames that contain '='. This
fixes the security advisories noted here:
http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2006-2659http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=368834http://secunia.com/advisories/20519/
* Implemented "Purge" option for mail filters.
* Invoke Courier filters in alphabetical order, and uses 050 exit code
to accept a message without running the remaining filters, which gets
converted to a 250 ESMTP code.
* Fix improper parsing of ident/pfix tokens in SPF.
* New command line tool "aliaslookup" to look up mail aliases.
* Added support for the koi8-u character set.
courier-0.53.1 as mail/courier-mta.
The Courier mail transfer agent (MTA) is a modular multiprotocol mail
server that's designed to strike a balance between reasonable performance,
flexibility and features.
This package differs from traditional courier-mta packages in that
the webmail, imap/pop3, and maildrop components are not included
because they are supplied by the mail/sqwebmail, mail/courier-imap,
and mail/maildrop packages, respectively. When Courier-MTA is installed
together with Courier-IMAP and SqWebMail, they form an integrated
mail/groupware server suite that provides ESMTP, IMAP, POP3, webmail,
and mailing list services within a single, consistent, framework. A
web-based administration and configuration tool is included for
comprehensive configuration of the entire Courier software suite.
Many thanks to Yarema <yds@CoolRat.org> whose Courier port for FreeBSD
was an invaluable reference.