aboutsummaryrefslogtreecommitdiffstats
path: root/mail/exim
diff options
context:
space:
mode:
authorrea <rea@FreeBSD.org>2012-07-12 17:05:52 +0800
committerrea <rea@FreeBSD.org>2012-07-12 17:05:52 +0800
commita8bc356757d0525e5291c8e37ec82e912a972040 (patch)
tree49a8a8aa3389590ca81d092ec0f63c7ca2882a1c /mail/exim
parent21c5fcbdb8278a0481f5db70e8ee53b5a5edb013 (diff)
downloadfreebsd-ports-gnome-a8bc356757d0525e5291c8e37ec82e912a972040.tar.gz
freebsd-ports-gnome-a8bc356757d0525e5291c8e37ec82e912a972040.tar.zst
freebsd-ports-gnome-a8bc356757d0525e5291c8e37ec82e912a972040.zip
mail/exim: upgrade to 4.80
Extracts from the NewStuff, ftp://exim.inode.at/exim/ChangeLogs/NewStuff-4.80 1. New authenticator driver, "gsasl". Server-only (at present). This is a SASL interface, licensed under GPL, which can be found at http://www.gnu.org/software/gsasl/. This system does not provide sources of data for authentication, so careful use needs to be made of the conditions in Exim. 2. New authenticator driver, "heimdal_gssapi". Server-only. A replacement for using cyrus_sasl with Heimdal, now that $KRB5_KTNAME is no longer honoured for setuid programs by Heimdal. Use the "server_keytab" option to point to the keytab. 3. The "pkg-config" system can now be used when building Exim to reference cflags and library information for lookups and authenticators, rather than having to update "CFLAGS", "AUTH_LIBS", "LOOKUP_INCLUDE" and "LOOKUP_LIBS" directly. Similarly for handling the TLS library support without adjusting "TLS_INCLUDE" and "TLS_LIBS". In addition, setting PCRE_CONFIG=yes will query the pcre-config tool to find the headers and libraries for PCRE. 4. New expansion variable $tls_bits. 5. New lookup type, "dbmjz". Key is an Exim list, the elements of which will be joined together with ASCII NUL characters to construct the key to pass into the DBM library. Can be used with gsasl to access sasldb2 files as used by Cyrus SASL. 6. OpenSSL now supports TLS1.1 and TLS1.2 with OpenSSL 1.0.1. Avoid release 1.0.1a if you can. Note that the default value of "openssl_options" is no longer "+dont_insert_empty_fragments", as that increased susceptibility to attack. This may still have interoperability implications for very old clients (see version 4.31 change 37) but administrators can choose to make the trade-off themselves and restore compatibility at the cost of session security. 7. Use of the new expansion variable $tls_sni in the main configuration option tls_certificate will cause Exim to re-expand the option, if the client sends the TLS Server Name Indication extension, to permit choosing a different certificate; tls_privatekey will also be re-expanded. You must still set these options to expand to valid files when $tls_sni is not set. The SMTP Transport has gained the option tls_sni, which will set a hostname for outbound TLS sessions, and set $tls_sni too. A new log_selector, +tls_sni, has been added, to log received SNI values for Exim as a server. 8. The existing "accept_8bitmime" option now defaults to true. This means that Exim is deliberately not strictly RFC compliant. We're following Dan Bernstein's advice in http://cr.yp.to/smtp/8bitmime.html by default. Those who disagree, or know that they are talking to mail servers that, even today, are not 8-bit clean, need to turn off this option. 9. Exim can now be started with -bw (with an optional timeout, given as -bw<timespec>). With this, stdin at startup is a socket that is already listening for connections. This has a more modern name of "socket activation", but forcing the activated socket to fd 0. We're interested in adding more support for modern variants. 10. ${eval } now uses 64-bit values on supporting platforms. A new "G" suffix for numbers indicates multiplication by 1024^3. 11. The GnuTLS support has been revamped; the three options gnutls_require_kx, gnutls_require_mac & gnutls_require_protocols are no longer supported. tls_require_ciphers is now parsed by gnutls_priority_init(3) as a priority string, documentation for which is at: http://www.gnu.org/software/gnutls/manual/html_node/Priority-Strings.html SNI support has been added to Exim's GnuTLS integration too. For sufficiently recent GnuTLS libraries, ${randint:..} will now use gnutls_rnd(), asking for GNUTLS_RND_NONCE level randomness. 12. With OpenSSL, if built with EXPERIMENTAL_OCSP, a new option tls_ocsp_file is now available. If the contents of the file are valid, then Exim will send that back in response to a TLS status request; this is OCSP Stapling. Exim will not maintain the contents of the file in any way: administrators are responsible for ensuring that it is up-to-date. See "experimental-spec.txt" for more details. 13. ${lookup dnsdb{ }} supports now SPF record types. They are handled identically to TXT record lookups. 14. New expansion variable $tod_epoch_l for higher-precision time. 15. New global option tls_dh_max_bits, defaulting to current value of NSS hard-coded limit of DH ephemeral bits, to fix interop problems caused by GnuTLS 2.12 library recommending a bit count higher than NSS supports. 16. tls_dhparam now used by both OpenSSL and GnuTLS, can be path or identifier. Option can now be a path or an identifier for a standard prime. If unset, we use the DH prime from section 2.2 of RFC 5114, "ike23". Set to "historic" to get the old GnuTLS behaviour of auto-generated DH primes. 17. SSLv2 now disabled by default in OpenSSL. (Never supported by GnuTLS). Use "openssl_options -no_sslv2" to re-enable support, if your OpenSSL install was not built with OPENSSL_NO_SSL2 ("no-ssl2"). Extracts from the ChangeLog, ftp://exim.inode.at/exim/ChangeLogs/ChangeLog-4.80 PP/01 Handle short writes when writing local log-files. In practice, only affects FreeBSD (8 onwards). Bugzilla 1053, with thanks to Dmitry Isaikin. NM/01 Bugzilla 949 - Documentation tweak NM/02 Bugzilla 1093 - eximstats DATA reject detection regexps improved. NM/03 Bugzilla 1169 - primary_hostname spelling was incorrect in docs. PP/02 Implemented gsasl authenticator. PP/03 Implemented heimdal_gssapi authenticator with "server_keytab" option. PP/04 Local/Makefile support for (AUTH|LOOKUP)_*_PC=foo to use `pkg-config foo` for cflags/libs. PP/05 Swapped $auth1/$auth2 for gsasl GSSAPI mechanism, to be more consistent with rest of GSASL and with heimdal_gssapi. PP/06 Local/Makefile support for USE_(GNUTLS|OPENSSL)_PC=foo to use `pkg-config foo` for cflags/libs for the TLS implementation. PP/07 New expansion variable $tls_bits; Cyrus SASL server connection properties get this fed in as external SSF. A number of robustness and debugging improvements to the cyrus_sasl authenticator. PP/08 cyrus_sasl server now expands the server_realm option. PP/09 Bugzilla 1214 - Log authentication information in reject log. Patch by Jeremy Harris. PP/10 Added dbmjz lookup type. PP/11 Let heimdal_gssapi authenticator take a SASL message without an authzid. PP/12 MAIL args handles TAB as well as SP, for better interop with non-compliant senders. Analysis and variant patch by Todd Lyons. NM/04 Bugzilla 1237 - fix cases where printf format usage not indicated Bug report from Lars Müller <lars@samba.org> (via SUSE), Patch from Dirk Mueller <dmueller@suse.com> PP/13 tls_peerdn now print-escaped for spool files. Observed some $tls_peerdn in wild which contained \n, which resulted in spool file corruption. PP/14 TLS fixes for OpenSSL: support TLS 1.1 & 1.2; new "openssl_options" values; set SSL_MODE_AUTO_RETRY so that OpenSSL will retry a read or write after TLS renegotiation, which otherwise led to messages "Got SSL error 2". TK/01 Bugzilla 1239 - fix DKIM verification when signature was not inserted as a tracking header (ie: a signed header comes before the signature). Patch from Wolfgang Breyha. JH/01 Bugzilla 660 - Multi-valued attributes from ldap now parseable as a comma-sep list; embedded commas doubled. JH/02 Refactored ACL "verify =" logic to table-driven dispatch. PP/15 LDAP: Check for errors of TLS initialisation, to give correct diagnostics. Report and patch from Dmitry Banschikov. PP/16 Removed "dont_insert_empty_fragments" fron "openssl_options". Removed SSL_clear() after SSL_new() which led to protocol negotiation failures. We appear to now support TLS1.1+ with Exim. PP/17 OpenSSL: new expansion var $tls_sni, which if used in tls_certificate lets Exim select keys and certificates based upon TLS SNI from client. Also option tls_sni on SMTP Transports. Also clear $tls_bits correctly before an outbound SMTP session. New log_selector, +tls_sni. PP/18 Bugzilla 1122 - check localhost_number expansion for failure, avoid NULL dereference. Report and patch from Alun Jones. PP/19 DNS resolver init changes for NetBSD compatibility. (Risk of breakage on less well tested platforms). Obviates NetBSD pkgsrc patch-ac. Not seeing resolver debug output on NetBSD, but suspect this is a resolver implementation change. PP/20 Revert part of NM/04, it broke log_path containing %D expansions. Left warnings. Added "eximon gdb" invocation mode. PP/21 Defaulting "accept_8bitmime" to true, not false. PP/22 Added -bw for inetd wait mode support. PP/23 Added PCRE_CONFIG=yes support to Makefile for using pcre-config to locate the relevant includes and libraries. Made this the default. PP/24 Fixed headers_only on smtp transports (was not sending trailing dot). Bugzilla 1246, report and most of solution from Tomasz Kusy. JH/03 ${eval } now uses 64-bit and supports a "g" suffix (like to "k" and "m"). This may cause build issues on older platforms. PP/25 Revamped GnuTLS support, passing tls_require_ciphers to gnutls_priority_init, ignoring Exim options gnutls_require_kx, gnutls_require_mac & gnutls_require_protocols (no longer supported). Added SNI support via GnuTLS too. Made ${randint:..} supplier available, if using not-too-old GnuTLS. PP/26 Added EXPERIMENTAL_OCSP for OpenSSL. PP/27 Applied dnsdb SPF support patch from Janne Snabb. Applied second patch from Janne, implementing suggestion to default multiple-strings-in-record handling to match SPF spec. JH/04 Added expansion variable $tod_epoch_l for a higher-precision time. PP/28 Fix DCC dcc_header content corruption (stack memory referenced, read-only, out of scope). Patch from Wolfgang Breyha, report from Stuart Northfield. PP/29 Fix three issues highlighted by clang analyser static analysis. Only crash-plausible issue would require the Cambridge-specific iplookup router and a misconfiguration. Report from Marcin Mirosław. PP/30 Another attempt to deal with PCRE_PRERELEASE, this one less buggy. PP/31 %D in printf continues to cause issues (-Wformat=security), so for now guard some of the printf checks behind WANT_DEEPER_PRINTF_CHECKS. As part of this, removing so much warning spew let me fix some minor real issues in debug logging. PP/32 GnuTLS was always using default tls_require_ciphers, due to a missing assignment on my part. Fixed. PP/33 Added tls_dh_max_bits option, defaulting to current hard-coded limit of NSS, for GnuTLS/NSS interop. Problem root cause diagnosis by Janne Snabb (who went above and beyond: thank you). PP/34 Validate tls_require_ciphers on startup, since debugging an invalid string otherwise requires a connection and a bunch more work and it's relatively easy to get wrong. Should also expose TLS library linkage problems. PP/35 Pull in <features.h> on Linux, for some portability edge-cases of 64-bit ${eval} (JH/03). PP/36 Define _GNU_SOURCE in exim.h; it's needed for some releases of GNU libc to support some of the 64-bit stuff, should not lead to conflicts. Defined before os.h is pulled in, so if a given platform needs to override this, it can. PP/37 Unbreak Cyrus SASL auth: SSF retrieval was incorrect, Exim thought protection layer was required, which is not implemented. Bugzilla 1254, patch from Wolfgang Breyha. PP/38 Overhaul DH prime handling, supply RFC-specified DH primes as built into Exim, default to IKE id 23 from RFC 5114 (2048 bit). Make tls_dhparam take prime identifiers. Also unbreak combination of OpenSSL+DH_params+TLSSNI. PP/39 Disable SSLv2 by default in OpenSSL support. Changes in the port: - added knob to disable DKIM (requested by alex@ahhyes.net) - added knob to build with GnuTLS (requested by odhiambo@gmail.com) - fixed handling of 'twist' directives in hosts.allow PR: 166396 QA page: http://codelabs.ru/fbsd/ports/qa/mail/exim/4.80
Diffstat (limited to 'mail/exim')
-rw-r--r--mail/exim/Makefile16
-rw-r--r--mail/exim/distinfo4
-rw-r--r--mail/exim/files/patch-pass-fd-to-tcpwrappers37
-rw-r--r--mail/exim/files/patch-src::EDITME49
-rw-r--r--mail/exim/options4
-rw-r--r--mail/exim/pkg-message17
6 files changed, 91 insertions, 36 deletions
diff --git a/mail/exim/Makefile b/mail/exim/Makefile
index 5e9acb4e1b0c..b4deae79b01a 100644
--- a/mail/exim/Makefile
+++ b/mail/exim/Makefile
@@ -7,7 +7,6 @@
PORTNAME= exim
PORTVERSION?= ${EXIM_VERSION}
-PORTREVISION= 1
CATEGORIES= mail ipv6
MASTER_SITES= ${MASTER_SITE_EXIM:S/$/:exim/}
MASTER_SITE_SUBDIR= exim4/:exim
@@ -79,7 +78,7 @@ PLIST_SUB+= SO_1024=""
PLIST_SUB+= SO_1024="@comment "
.endif
-EXIM_VERSION= 4.77
+EXIM_VERSION= 4.80
SA_EXIM_VERSION=4.2
SO_1024_VERSION=3.2
@@ -167,6 +166,10 @@ WITH_DEFAULT_CHARSET?= ISO-8859-1
LIB_DEPENDS+= pcre.1:${PORTSDIR}/devel/pcre
+.if defined(WITHOUT_DKIM)
+SEDLIST+= -e 's,^\# (DISABLE_DKIM=),\1,'
+.endif
+
.if defined(WITH_LISTMATCH_RHS)
SEDLIST+= -e 's,^\# (EXPAND_LISTMATCH_RHS=),\1,'
.endif
@@ -210,10 +213,15 @@ PLIST_SUB+= EXIMON="@comment "
.endif
.if !defined(WITHOUT_TLS)
-.include "${PORTSDIR}/Mk/bsd.openssl.mk"
SEDLIST+= -e 's,^\# (SUPPORT_TLS=),\1,'
+.if !defined(WITH_GNUTLS)
+.include "${PORTSDIR}/Mk/bsd.openssl.mk"
+SEDLIST+= -e 's,^\# (TLS_LIBS=.*-lssl[[:space:]]),\1,'
.else
-SEDLIST+= -e 's,^(TLS_LIBS=),\# \1,'
+LIB_DEPENDS+= gnutls:${PORTSDIR}/security/gnutls
+SEDLIST+= -e 's,^\# (USE_GNUTLS=),\1,'
+SEDLIST+= -e 's,^\# (TLS_LIBS=.*-lgnutls[[:space:]]),\1,'
+.endif
.endif
.if !defined(WITHOUT_EMBEDDED_PERL)
diff --git a/mail/exim/distinfo b/mail/exim/distinfo
index 8f4c5dc612d1..69a1ee5a7ec6 100644
--- a/mail/exim/distinfo
+++ b/mail/exim/distinfo
@@ -1,5 +1,5 @@
-SHA256 (exim/exim-4.77.tar.bz2) = 0ccc13cf2f052b1163fcdf71c55a3578765050848ba413a6473d3ab5d20b1475
-SIZE (exim/exim-4.77.tar.bz2) = 1576148
+SHA256 (exim/exim-4.80.tar.bz2) = 787b6defd37fa75311737bcfc42e9e2b2cc62c5d027eed35bb7d800b2d9a0984
+SIZE (exim/exim-4.80.tar.bz2) = 1649827
SHA256 (exim/sa-exim-4.2.tar.gz) = 72e0a735547f18b05785e6c58a71d24623858f0f5234a5dc0e24cb453999e99a
SIZE (exim/sa-exim-4.2.tar.gz) = 66575
SHA256 (exim/spamooborona1024-src-3.2.tar.gz) = ab22a430f3860460045f6b213c68c89700a0cd10cbb6c7a808ece326c53787ee
diff --git a/mail/exim/files/patch-pass-fd-to-tcpwrappers b/mail/exim/files/patch-pass-fd-to-tcpwrappers
new file mode 100644
index 000000000000..46156f260c98
--- /dev/null
+++ b/mail/exim/files/patch-pass-fd-to-tcpwrappers
@@ -0,0 +1,37 @@
+This patch passes output filedescriptor argument (stdout in the
+case of SMTP sessions) to the tcp_wrappers code in order to allow
+statements like 'twist' (that output anything instead of the daemon)
+to work. Bare hosts_ctl() is too dumb to handle such usage of tcp
+wrappers.
+
+--- src/smtp_in.c.orig 2012-06-28 19:52:46.000000000 +0400
++++ src/smtp_in.c 2012-06-28 20:08:00.000000000 +0400
+@@ -1357,6 +1357,9 @@
+ uschar *user_msg, *log_msg;
+ uschar *code, *esc;
+ uschar *p, *s, *ss;
++#ifdef USE_TCP_WRAPPERS
++struct request_info tcpwrap_ri;
++#endif
+
+ smtp_connection_start = time(NULL);
+ for (smtp_ch_index = 0; smtp_ch_index < SMTP_HBUFF_SIZE; smtp_ch_index++)
+@@ -1706,10 +1709,14 @@
+ "(tcp_wrappers_name) failed: %s", string_printing(tcp_wrappers_name),
+ expand_string_message);
+ }
+- if (!hosts_ctl(tcp_wrappers_name,
+- (sender_host_name == NULL)? STRING_UNKNOWN : CS sender_host_name,
+- (sender_host_address == NULL)? STRING_UNKNOWN : CS sender_host_address,
+- (sender_ident == NULL)? STRING_UNKNOWN : CS sender_ident))
++ request_init(&tcpwrap_ri,
++ RQ_DAEMON, tcp_wrappers_name,
++ RQ_FILE, fileno(smtp_out),
++ RQ_CLIENT_NAME, (sender_host_name == NULL)? STRING_UNKNOWN : CS sender_host_name,
++ RQ_CLIENT_ADDR, (sender_host_address == NULL)? STRING_UNKNOWN : CS sender_host_address,
++ RQ_USER, (sender_ident == NULL)? STRING_UNKNOWN : CS sender_ident,
++ 0);
++ if (!hosts_access(&tcpwrap_ri))
+ {
+ if (errno == 0 || errno == ENOENT)
+ {
diff --git a/mail/exim/files/patch-src::EDITME b/mail/exim/files/patch-src::EDITME
index 2e4e5eb43009..624dbcf026c2 100644
--- a/mail/exim/files/patch-src::EDITME
+++ b/mail/exim/files/patch-src::EDITME
@@ -1,6 +1,6 @@
---- src/EDITME.orig 2010-12-26 21:17:23.000000000 +0300
-+++ src/EDITME 2011-01-06 11:25:01.000000000 +0300
-@@ -100,7 +100,7 @@
+--- src/EDITME.orig 2012-05-31 04:40:15.000000000 +0400
++++ src/EDITME 2012-06-28 18:43:50.000000000 +0400
+@@ -98,7 +98,7 @@
# /usr/local/sbin. The installation script will try to create this directory,
# and any superior directories, if they do not exist.
@@ -9,7 +9,7 @@
#------------------------------------------------------------------------------
-@@ -116,7 +116,7 @@
+@@ -114,7 +114,7 @@
# don't exist. It will also install a default runtime configuration if this
# file does not exist.
@@ -18,7 +18,7 @@
# It is possible to specify a colon-separated list of files for CONFIGURE_FILE.
# In this case, Exim will use the first of them that exists when it is run.
-@@ -133,7 +133,7 @@
+@@ -131,7 +131,7 @@
# deliveries. (Local deliveries run as various non-root users, typically as the
# owner of a local mailbox.) Specifying these values as root is not supported.
@@ -27,7 +27,7 @@
# If you specify EXIM_USER as a name, this is looked up at build time, and the
# uid number is built into the binary. However, you can specify that this
-@@ -154,7 +154,7 @@
+@@ -152,7 +152,7 @@
# for EXIM_USER (e.g. EXIM_USER=exim), you don't need to set EXIM_GROUP unless
# you want to use a group other than the default group for the given user.
@@ -36,7 +36,7 @@
# Many sites define a user called "exim", with an appropriate default group,
# and use
-@@ -294,6 +294,7 @@
+@@ -330,6 +330,7 @@
# LDAP_LIB_TYPE=OPENLDAP2
# LDAP_LIB_TYPE=NETSCAPE
# LDAP_LIB_TYPE=SOLARIS
@@ -44,9 +44,9 @@
# If you don't set any of these, Exim assumes the original University of
# Michigan (OpenLDAP 1) library.
-@@ -320,8 +321,10 @@
- # specified in INCLUDE. The settings below are just examples; -lpq is for
- # PostgreSQL, -lgds is for Interbase, -lsqlite3 is for SQLite.
+@@ -361,8 +362,10 @@
+ #
+ # You do not need to use this for any lookup information added via pkg-config.
-# LOOKUP_INCLUDE=-I /usr/local/ldap/include -I /usr/local/mysql/include -I /usr/local/pgsql/include
-# LOOKUP_LIBS=-L/usr/local/lib -lldap -llber -lmysqlclient -lpq -lgds -lsqlite3
@@ -57,7 +57,7 @@
#------------------------------------------------------------------------------
-@@ -332,7 +335,7 @@
+@@ -373,7 +376,7 @@
# files are defaulted in the OS/Makefile-Default file, but can be overridden in
# local OS-specific make files.
@@ -66,7 +66,7 @@
#------------------------------------------------------------------------------
-@@ -403,6 +406,7 @@
+@@ -454,6 +457,7 @@
@@ -74,7 +74,7 @@
###############################################################################
# THESE ARE THINGS YOU MIGHT WANT TO SPECIFY #
###############################################################################
-@@ -470,6 +474,7 @@
+@@ -521,6 +525,7 @@
# ALT_CONFIG_PREFIX=/some/directory/
# ALT_CONFIG_PREFIX=/some/directory/exim.conf-
@@ -82,7 +82,7 @@
#------------------------------------------------------------------------------
-@@ -548,7 +553,7 @@
+@@ -607,7 +612,7 @@
# one that is set in the headers_charset option. The default setting is
# defined by this setting:
@@ -91,16 +91,7 @@
# If you are going to make use of $header_xxx expansions in your configuration
# file, or if your users are going to use them in filter files, and the normal
-@@ -633,7 +638,7 @@
- # SUPPORT_TLS=yes
-
- # Uncomment this setting if you are using OpenSSL
--# TLS_LIBS=-lssl -lcrypto
-+TLS_LIBS=-lssl -lcrypto
-
- # Uncomment these settings if you are using GnuTLS
- # USE_GNUTLS=yes
-@@ -684,7 +689,7 @@
+@@ -751,7 +756,7 @@
# Once you have done this, "make install" will build the info files and
# install them in the directory you have defined.
@@ -109,7 +100,7 @@
#------------------------------------------------------------------------------
-@@ -697,7 +702,7 @@
+@@ -764,7 +769,7 @@
# %s. This will be replaced by one of the strings "main", "panic", or "reject"
# to form the final file names. Some installations may want something like this:
@@ -118,7 +109,7 @@
# which results in files with names /var/log/exim_mainlog, etc. The directory
# in which the log files are placed must exist; Exim does not try to create
-@@ -773,7 +778,7 @@
+@@ -840,7 +845,7 @@
# that the local_scan API is made available by the linker. You may also need
# to add -ldl to EXTRALIBS so that dlopen() is available to Exim.
@@ -127,7 +118,7 @@
#------------------------------------------------------------------------------
-@@ -870,6 +875,8 @@
+@@ -937,6 +942,8 @@
#
# but of course there may need to be other things in CFLAGS and EXTRALIBS_EXIM
# as well.
@@ -136,7 +127,7 @@
#
# To use a name other than exim in the tcpwrappers config file,
# e.g. if you're running multiple daemons with different access lists,
-@@ -878,6 +885,14 @@
+@@ -945,6 +952,14 @@
#
# TCP_WRAPPERS_DAEMON_NAME="exim"
@@ -151,7 +142,7 @@
#------------------------------------------------------------------------------
# The default action of the exim_install script (which is run by "make
-@@ -1145,7 +1160,7 @@
+@@ -1222,7 +1237,7 @@
# (process id) to a file so that it can easily be identified. The path of the
# file can be specified here. Some installations may want something like this:
diff --git a/mail/exim/options b/mail/exim/options
index cef4d9b3f9aa..1edf88d8a19d 100644
--- a/mail/exim/options
+++ b/mail/exim/options
@@ -12,6 +12,7 @@ OPTIONS+= \
DCC "Enable DCC at ACL support via dccifd" off \
DEBUG "Build with debugging symbols" off \
DISABLE_D_OPT "Disable macros overrides using option -D" on \
+ DKIM "Enable support for DKIM" on \
DNSDB "Enable DNS-style lookups" on \
DSEARCH "Enable directory-list lookups" on \
EMBEDDED_PERL "Enable embedded Perl interpreter" on \
@@ -42,6 +43,7 @@ OPTIONS+= \
SRS_ALT "Enable alternative SRS library" off \
SUID "Install the exim binary suid root" on \
TCP_WRAPPERS "Enable /etc/hosts.allow access control" off \
- TLS "Link against OpenSSL" on \
+ TLS "Enable TLS support" on \
+ GNUTLS "Use GnuTLS instead of OpenSSL for TLS" off \
WISHLIST "Include the unsupported patches" off \
XCLIENT "Enable XCLIENT command in exim" off
diff --git a/mail/exim/pkg-message b/mail/exim/pkg-message
index cbd7c03007de..032d56d302a1 100644
--- a/mail/exim/pkg-message
+++ b/mail/exim/pkg-message
@@ -18,3 +18,20 @@ Just two steps to do it:
and carefully review your configuration for untrusted
right-hand sides in match_* operations.
+
+Upgrades to Exim 4.80
+=====================
+
+Exim 4.80 contains some backward-incompatible changes.
+
+OpenSSL default options have changed to be more secure, including
+disabling of SSLv2 by default (and adding support for TLSv1.1 and
+TLSv1.2 if using OpenSSL 1.0.1 or newer); GnuTLS has been updated to use
+a new API and stop honouring some options starting gnutls_*; users of
+LDAP can now distinguish "comma in data" from "multi-valued attribute".
+There are more details, covering more changes, in README.UPDATING.
+
+We now enable accept_8bitmime by default, as the Exim maintainers agree
+with Dan Bernstein about the best way to deal with the 8BITMIME
+extension.
+