summaryrefslogtreecommitdiff
path: root/mail/exim/files (follow)
Commit message (Collapse)AuthorAgeFilesLines
* mail/exim: update to 4.95 release (+)Dima Panov2021-12-2830-1679/+1726
| | | | | | | | | | | | Finally, Exim will be pushed to 4.95 release. Long wait was caused by some criticals errors in vanilla release, upstream fixes got a some time to come. * Apply sendfile patch, fixes SIGSEGV using clamd via TCP [1] * Convert select() to poll(), fixes crashes (SIGSEV) on FreeBSD 12.2 [2] PR: 258848 [1], 259822 [2] Sponsored by: Netzkommune GmbH
* mail/exim: unbreak after mail/opendmarc update (+)Dima Panov2021-12-251-0/+19
| | | | | | | | | | | | | | | | | Last update for mail/opendmarc to 1.4.2 changes required params for opendmarc_policy_store_dkim subroutine by introducing *dkim_selector as pair for *domain. Adjust exim' dmarc routines by pass NULL string as *dkim_selector to force opendmarc subroutine go thru autodetect required selector on the fly. This dirt'n'ugly hack will be dropped as soon as functionality will be adjusted upstream in proper way. Bump PORTREVISION to force rebuild. Reported by: ler, poudriere failure PR: 260678
* mail/exim: update to 4.94.2 security releaseDima Panov2021-05-0562-3648/+1640
| | | | | | | | | | | | | | | | | | | | | | | | | | * New upstream security release. + Release based on +fixes branch. + Fixes multiple security vulnerabilities reported by Qualys and adds related robustness improvements. (Special thanks to Heiko) CVE-2020-28023: Out-of-bounds read in smtp_setup_msg() CVE-2020-28007: Link attack in Exim's log directory CVE-2020-28016: Heap out-of-bounds write in parse_fix_phrase() CVE-2020-28012: Missing close-on-exec flag for privileged pipe CVE-2020-28024: Heap buffer underflow in smtp_ungetc() CVE-2020-28009: Integer overflow in get_stdinput() CVE-2020-28015, CVE-28021: New-line injection into spool header file CVE-2020-28026: Line truncation and injection in spool_read_header() CVE-2020-28022: Heap out-of-bounds read and write in extract_option() CVE-2020-28017: Integer overflow in receive_add_recipient() CVE-2020-28013: Heap buffer overflow in parse_fix_phrase() CVE-2020-28011: Heap buffer overflow in queue_run() CVE-2020-28010: Heap out-of-bounds write in main() CVE-2020-28018: Use-after-free in tls-openssl.c CVE-2020-28025: Heap out-of-bounds read in pdkim_finish_bodyhash() CVE-2020-28014, CVE-2021-27216: PID file handling CVE-2020-28008: Assorted attacks in Exim's spool directory CVE-2020-28019: Failure to reset function pointer after BDAT error * Incorporate debian patches to turn taint failures into warnings.
* all: Remove all other $FreeBSD keywords.Mathieu Arnold2021-04-063-7/+0
|
* mail/exim: import exim-4.94+fixes branch as state of 2020.11.25Dima Panov2020-11-256-1/+313
| | | | | | | | | | | | | | | Used git diffs: [38/42] GnuTLS: clear errno before any data i/o op, so error logging does not see stale values [39/42] Fix non-TLS build [40/42] eximon: fix FreeBSD build [41/42] LDAP: fix taint-check in server list walk. Bug 2646 [42/42] Pass authenticator pubname through spool. Bug 2648 Also patch files/150.exim-tidydb to prevent its output when daily_show_success=NO. [1] Submitted by: Dmitry Selivanov <sd@rlan.ru> via email [1] MFH: 2020Q3
* mail/exim: import exim-4.94+fixes branch as state of 2020.09.09Dima Panov2020-09-0910-0/+1431
| | | | | | | | | | | | | | | | | | | | Used git diffs: [27/37] Fix spelling of local_part_data in docs and debug output [27/37] Fix spelling of local_part_data in docs and debug output [28/37] Fix ${readsocket } eol-replacement. Bug 2630 [29/37] Taint: fix off-by-one in is_tainted(). Bug 2634 [30/37] Build: ifdef guard for EXPERIMENTAL_QUEUEFILE [31/37] Taint: fix off-by-one in is_tainted(). Bug 2634 [32/37] DANE: force SNI to use $domain. Bug 2265 [33/37] DANE: Fix 2-rcpt message, diff domins case. Bug 2265 [34/37] Fix non-DANE build [35/37] DANE: Fix 2 messages from queue case [36/37] Fix non-DANE build While here, make SPF option turned on by default MFH: 2020Q3
* mail/exim: import exim-4.94+fixes branch as state of 2020.07.17Dima Panov2020-07-1723-0/+1910
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Used git diffs: [02/26] Taint: fix pam expansion condition. Bug 2587 [03/26] Taint: fix listcount expansion operator. Bug 2586 [04/26] Docs: fix mistaken variable name [06/26] Docs: typoes [07/26] Taint: fix multiple ACL actions to properly manage tainted argument data [08/26] Fix -bi. Bug 2590 [09/26] Filters: fix "vacation" in Exim filter. Bug 2593 [10/26] TLS: use RFC 6125 rules for certifucate name checks when CNAMES are present. Bug 2594 [11/26] Taint: fix radius expansion condition [13/26] Taint: fix verify. Bug 2598 [14/26] Fix string_copy() macro to not multiple-eval args. Bug 2603 [15/26] Cutthrough: handle request when a callout-hold is active. Bug 2604 [16/26] Lookups: Fix "subdir" filter on a dsearch. [18/26] Sqlite: fix segfault on bad/missing sqlite_dbfile. Bug 2606 [19/26] Taint: fix ACL "spam" condition, to permit tainted name arguments. [20/26] Fix message-reception clock usage. Bug 2615 [21/26] typoes [22/26] Fix DKIM signing to always ;-terminate. Bug 2295 [23/26] Fix taint trap in parse_fix_phrase(). Bug 2617 [24/26] Taint: fix ACL "spam" condition, to permit tainted name arguments [25/26] Fix debug_print_socket() [26/26] debug_print_socket(): output formatting MFH: 2020Q3
* mail/exim: update to 4.94 releaseDima Panov2020-06-0212-988/+50
| | | | | | | | while here, convert POST-INSTALL-NOTES* to ucl PR: 246922 Submitted by: pi MFH: 2020Q2
* mail/exim: attempt to fix *taint* and auth issuesDima Panov2020-02-269-0/+950
| | | | | | | | | | | | | | | | | Bump PORTREVISION for master port to force all slaves rebuild Drop PORTREVISION for exim-postgresql slave in favor of master settings Adopt recent commits from Exim repo as numerated extra-patches till new maintenance release will be published: 19. SPF: fix result for case of only non-spf TXT RRs 20. Fix error logging for dynamically-loaded modules 21. heimdal auth: fix the increase of big_buffer size 22. Taint: hybrid checking mode 23. Fix taint hybrid-checking on BSD 24. TFO: even in binary built for modern Linux, handle error returned by old Linux kernel 25. Taint: slow-mode checking only 26. Auths: fix cyrus-sasl driver for gssapi use 27. GnuTLS: fix hanging callout connections
* mail/exim: unbreak EXIMON option and mail/exim/monitor slave portDima Panov2020-02-241-0/+11
| | | | | - typedef unsigned long ulong; - USE_XORG+= xext,xmu
* mail/exim: unbreak with AUTH_RADIUSDima Panov2020-02-241-0/+92
| | | | | | | | | | | | - bump PORTREVISION for radius users only - allow to build with net/freeradius-client instead of abandonware net/radiusclient-ng - Do not invoke printf-like function without parameter in call_radius.c With exim 4.93, string_sprintf() requires at least two arguments - take maintainership, discussed with vsevolod@ via private mail PR: 244287, 244299 Reported by: pi, Victor Sudakov Approved by: maintainer
* mail/exim: update sa-exim plugin to 4.2.1Dima Panov2020-02-242-4/+217
| | | | | | | | | | | | | | | | | | | | | | | | Unbreak build for exim-sa-exim slave port (${FILESDIR} misusage) Incorporate some patches from Debian: 1) api-limitations.patch: Exim now exports only the symbols that are part of the official API 2) remove-header-crs.patch: Delete carriage returns from header lines. When spamd gets a message with CRLF line endings, which it will when the spool file is in wire format, it will return a message with CRLF line endings, including the header. We will need to strip out the CRs. 3)spamc-args.patch: Changes related to the arguments sent to spamc, namely that we don't pass -d (SAspamcHost), -p (SAspamcPort), or -U (SAspamcSockPath) if those options aren't set, as well as the new parameter -u (SAspamcUser). 4)sprintf_no_format_string.diff: Do not invoke printf-like function without parameter. With exim 4.93, string_sprintf() requires at least two arguments PR: 244223 Submitted by: fluffy Approved by: maintainer, implicit
* - Fix build for SA_EXIM optionVsevolod Stakhov2020-02-181-0/+11
| | | | | PR: 242518 Reported by: VVD <vvd at unislabs.com>
* - Update to 4.93Vsevolod Stakhov2020-02-172-20/+0
| | | | Announce link: https://lists.exim.org/lurker/message/20191208.213349.3407a963.en.html
* mail/exim: add missing colon on I=Larry Rosenman2019-03-111-0/+11
| | | | | Reported by: ler (self) Approved by: vsevolod (maintainer, private mail)
* - Unbreak SA_EXIM optionVsevolod Stakhov2019-02-141-0/+10
| | | | | | | - Bump revision PR: 235705 Submitted by: Henry David Bartholomew <PopularMoment at protonmail.com>
* - Update Exim to 4.92Vsevolod Stakhov2019-02-121-40/+0
| | | | | PR: 235678 [1] Submitted by: pi [1], ler (via private email)
* Install texinfo files (GNU info) into ${PREFIX}/share/infoBaptiste Daroussin2018-11-101-1/+1
| | | | | | | | | | | | | | | | | | | | | | | After a discussion on the mailing list on moving manpages to ${PREFIX}/share/man for consistency with base where it is installed in usr/share/man, it appeared the same should happen to GNU info files which were installed under share in base and not in ports. Now texinfo is not in base on any of the supported version of FreeBSD it is possible to proceed to this move and it is easier to do than the manpage change. Other benefit than consistency are less patching: all build tools but cmake are expecting info files to be under share/info and cmake (patched here) was having an exception for BSD so the patch makes FreeBSD case less specific for them Bump revision of all impacted ports PR: 232907 exp-run by: antoine Differential Revision: https://reviews.freebsd.org/D17816
* mail/exim: Stop using arc4random_stir.Xin LI2018-08-261-0/+17
| | | | | PR: 230826, 230756 Approved by: portmgr
* Various fixes for the Exim portVsevolod Stakhov2018-04-171-0/+40
| | | | | | | | - Fix build with no OSCP support (ported from upstream) [1] - Fix Dane support [2] - Silence compile warnings caused by Exim code style Reported by: ler [1], Max Kostikov [2] via private email
* - Update to 4.89.1Vsevolod Stakhov2017-11-302-72/+0
| | | | | MFH: 2017Q4 Security: 75dd622c-d5fd-11e7-b9fe-c13eb7bcbf4f
* - Fix RCE vulnerability:Vsevolod Stakhov2017-11-271-0/+35
| | | | | | | | | | | The receive_msg function in receive.c in the SMTP daemon in Exim 4.88 and 4.89 allows remote attackers to execute arbitrary code or cause a denial of service (use-after-free) via vectors involving BDAT commands. PR: 223870 Submitted by: Gary MFH: 2017Q4 Security: CVE-2017-16943
* - Fix finding of mariadb headers [1]Vsevolod Stakhov2017-08-151-0/+10
| | | | | | | - Fix build with custom mysql library PR: 221533 [1] Submitted by: vvd at unislabs.com [1]
* - Add workaround for CVE-2017-1000369Vsevolod Stakhov2017-06-211-0/+37
| | | | MFH: 2017Q2
* - Update to 4.89Vsevolod Stakhov2017-03-081-19/+14
|
* - Fix build after r313495Vsevolod Stakhov2017-02-151-0/+20
| | | | | | | - Bump revision PR: 216966 Submitted by: kib
* - Update to version 4.88Vsevolod Stakhov2017-01-023-24/+11
| | | | | | | | - Add experimental LMDB lookup option - Add experimental queuefile option - Remove rspamd pacth which is now included in Exim Changes: ftp://ftp.exim.org/pub/exim/exim4/NewStuff
* - Update to 4.87Vsevolod Stakhov2016-04-213-96/+13
| | | | | | | | | - Enable recommended default options - Rename no longer experimental options - Add rspamd shutdown patch Exim 4.87 announce link: https://lists.exim.org/lurker/message/20160406.181048.292a54e9.en.html
* Import the patch to fix segfault during delivery from exim git [1].Vsevolod Stakhov2015-08-251-0/+82
| | | | [1]: https://bugs.exim.org/show_bug.cgi?id=1671
* - Update to 4.86 [1]Vsevolod Stakhov2015-07-273-914/+1
| | | | | | | | | - Add experimental INTERNATIONAL option - Add experimental SOCKS option - Removed rspamd extra patch (included by default now) - Removed xclient patch (broken and not used) Relnotes: ftp://ftp.exim.org/pub/exim/exim4/NewStuff [1]
* Remove $FreeBSD$ from patches files everywhere.Mathieu Arnold2015-05-221-3/+0
| | | | | With hat: portmgr Sponsored by: Absolight
* - Add rspamd extra patch and option [1]Vsevolod Stakhov2015-01-162-11/+489
| | | | | | | - Remove obsoleted POST-INSTALL note [2] - Bump revision since options have been changed Submitted by: swappers at gmail.com [1], pi@ [2]
* - Update to 4.85Vsevolod Stakhov2015-01-131-52/+0
| | | | | | | | | | | | | | | - Add DANE experimental support - Add EVENT experimental support - Drop SRS_ALT option as exim cannot work with libsrs2 so srs_alt is the only option now - Polish IGNORE messages - Remove already included patch - Update documentation slave ports The ChangeLog/NewStuff/README.UPDATING can be reviewed at: http://git.exim.org/exim.git/blob/exim-4_85:/doc/doc-txt/ChangeLog http://git.exim.org/exim.git/blob/exim-4_85:/doc/doc-txt/NewStuff http://git.exim.org/exim.git/blob/exim-4_85:/src/README.UPDATING
* Add patch to avoid http://bugs.exim.org/show_bug.cgi?id=1513Vsevolod Stakhov2014-11-131-0/+52
| | | | Obtained from: exim git and Victor Ustugov adopted patch
* Remove outdated KAS patch and option.Vsevolod Stakhov2014-11-041-886/+0
|
* Update to 4.84.Vsevolod Stakhov2014-08-131-1191/+0
| | | | | | | | This is a bugfix only release of exim. The most important fix was introduced in the ports by local patch which is not needed now. PR: 192625 Submitted by: pi
* - Add patch recommended by the exim developers to fix mime regression in 4.83Vsevolod Stakhov2014-08-013-14/+1192
| | | | | | | | - Remove SA_1024 as it has been adandoned long ago [1] - Fix message in post-install stage [1] - Bump revision Submitted by: Victor Ustugov via jabber [1]
* Rename all patches that contain '::' as a path separator, and useAdam Weinberger2014-07-295-0/+0
| | | | '__' instead.
* - Enable compiler flags responsive for exporting symbols to the elf file.Vsevolod Stakhov2014-07-071-1/+1
| | | | | | | | | | This is specifically important for DSO modules enabled in exim by default. Without these flags modules were unable to use exim's API that has made this feature completely unusable. [1] - Fix minor issue with strip command by passing STRIP_CMD in the MAKE_ENV - Bump portrevision Submitted by: Victor Ustugov <victor at corvax.kiev.ua>
* - Disable developers checks for source files: they are not intended for ↵Vsevolod Stakhov2014-07-051-0/+11
| | | | | | | | end-users and require perl for build stage. Do not bump portrevision, as those checks have no influence on the target package.
* Add new options for exim:Vsevolod Stakhov2014-07-041-1/+1
| | | | | | - DMARC: experimental opendmarc support - REDIS: redis database lookup - OCSP: ocsp certificates stapling using openssl
* - Update extra patch for XCLIENT support:Vsevolod Stakhov2014-07-041-151/+229
| | | | | | | | | | | | * now xclient is parsed by splitting, so xclient handling was rewritten; * support xtext decoding; * support of [UNAVAILABLE] and [TEMPUNAVAIL] that was broken; * announce xclient in ehlo reply for hosts permitted for xclient; * use verify_check_host as it seems to be the proper choice now. - Remove blank lines from pkg-plist [1] - Bump revision Submitted by: bapt [1]
* - Support stageVsevolod Stakhov2014-07-042-13/+83
| | | | | | | | - Update to 4.82.1 (fixes issues with DMARC) - Simplify plist - Take maintainership Reviewed by: bapt
* Exim: update to 4.82Eygene Ryabinkin2013-12-081-9/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | New Stuff since 4.80.1 (ftp://exim.inode.at/exim/ChangeLogs/NewStuff-4.82): 1. New command-line option -bI:sieve will list all supported sieve extensions of this Exim build on standard output, one per line. ManageSieve (RFC 5804) providers managing scripts for use by Exim should query this to establish the correct list to include in the protocol's SIEVE capability line. 2. If the -n option is combined with the -bP option, then the name of an emitted option is not output, only the value (if visible to you). For instance, "exim -n -bP pid_file_path" should just emit a pathname followed by a newline, and no other text. 3. When built with SUPPORT_TLS and USE_GNUTLS, the SMTP transport driver now has a "tls_dh_min_bits" option, to set the minimum acceptable number of bits in the Diffie-Hellman prime offered by a server (in DH ciphersuites) acceptable for security. (Option accepted but ignored if using OpenSSL). Defaults to 1024, the old value. May be lowered only to 512, or raised as far as you like. Raising this may hinder TLS interoperability with other sites and is not currently recommended. Lowering this will permit you to establish a TLS session which is not as secure as you might like. Unless you really know what you are doing, leave it alone. 4. If not built with DISABLE_DNSSEC, Exim now has the main option dns_dnssec_ok; if set to 1 then Exim will initialise the resolver library to send the DO flag to your recursive resolver. If you have a recursive resolver, which can set the Authenticated Data (AD) flag in results, Exim can now detect this. Exim does not perform validation itself, instead relying upon a trusted path to the resolver. Current status: work-in-progress; $sender_host_dnssec variable added. 5. DSCP support for outbound connections: on a transport using the smtp driver, set "dscp = ef", for instance, to cause the connections to have the relevant DSCP (IPv4 TOS or IPv6 TCLASS) value in the header. Similarly for inbound connections, there is a new control modifier, dscp, so "warn control = dscp/ef" in the connect ACL, or after authentication. Supported values depend upon system libraries. "exim -bI:dscp" to list the ones Exim knows of. You can also set a raw number 0..0x3F. 6. The -G command-line flag is no longer ignored; it is now equivalent to an ACL setting "control = suppress_local_fixups". The -L command-line flag is now accepted and forces use of syslog, with the provided tag as the process name. A few other flags used by Sendmail are now accepted and ignored. 7. New cutthrough routing feature. Requested by a "control = cutthrough_delivery" ACL modifier; works for single-recipient mails which are recieved on and deliverable via SMTP. Using the connection made for a recipient verify, if requested before the verify, or a new one made for the purpose while the inbound connection is still active. The bulk of the mail item is copied direct from the inbound socket to the outbound (as well as the spool file). When the source notifies the end of data, the data acceptance by the destination is negociated before the acceptance is sent to the source. If the destination does not accept the mail item, for example due to content-scanning, the item is not accepted from the source and therefore there is no need to generate a bounce mail. This is of benefit when providing a secondary-MX service. The downside is that delays are under the control of the ultimate destination system not your own. The Recieved-by: header on items delivered by cutthrough is generated early in reception rather than at the end; this will affect any timestamp included. The log line showing delivery is recorded before that showing reception; it uses a new ">>" tag instead of "=>". To support the feature, verify-callout connections can now use ESMTP and TLS. The usual smtp transport options are honoured, plus a (new, default everything) hosts_verify_avoid_tls. New variable families named tls_in_cipher, tls_out_cipher etc. are introduced for specific access to the information for each connection. The old names are present for now but deprecated. Not yet supported: IGNOREQUOTA, SIZE, PIPELINING. 8. New expansion operators ${listnamed:name} to get the content of a named list and ${listcount:string} to count the items in a list. 9. New global option "gnutls_allow_auto_pkcs11", defaults false. The GnuTLS rewrite in 4.80 combines with GnuTLS 2.12.0 or later, to autoload PKCS11 modules. For some situations this is desirable, but we expect admin in those situations to know they want the feature. More commonly, it means that GUI user modules get loaded and are broken by the setuid Exim being unable to access files specified in environment variables and passed through, thus breakage. So we explicitly inhibit the PKCS11 initialisation unless this new option is set. Some older OS's with earlier versions of GnuTLS might not have pkcs11 ability, so have also added a build option which can be used to build Exim with GnuTLS but without trying to use any kind of PKCS11 support. Uncomment this in the Local/Makefile: AVOID_GNUTLS_PKCS11=yes 10. The "acl = name" condition on an ACL now supports optional arguments. New expansion item "${acl {name}{arg}...}" and expansion condition "acl {{name}{arg}...}" are added. In all cases up to nine arguments can be used, appearing in $acl_arg1 to $acl_arg9 for the called ACL. Variable $acl_narg contains the number of arguments. If the ACL sets a "message =" value this becomes the result of the expansion item, or the value of $value for the expansion condition. If the ACL returns accept the expansion condition is true; if reject, false. A defer return results in a forced fail. 11. Routers and transports can now have multiple headers_add and headers_remove option lines. The concatenated list is used. 12. New ACL modifier "remove_header" can remove headers before message gets handled by routers/transports. 13. New dnsdb lookup pseudo-type "a+". A sequence of "a6" (if configured), "aaaa" and "a" lookups is done and the full set of results returned. 14. New expansion variable $headers_added with content from ACL add_header modifier (but not yet added to messsage). 15. New 8bitmime status logging option for received messages. Log field "M8S". 16. New authenticated_sender logging option, adding to log field "A". 17. New expansion variables $router_name and $transport_name. Useful particularly for debug_print as -bt commandline option does not require privilege whereas -d does. 18. If built with EXPERIMENTAL_PRDR, per-recipient data responses per a proposed extension to SMTP from Eric Hall. 19. The pipe transport has gained the force_command option, to allow decorating commands from user .forward pipe aliases with prefix wrappers, for instance. 20. Callout connections can now AUTH; the same controls as normal delivery connections apply. 21. Support for DMARC, using opendmarc libs, can be enabled. It adds new options: dmarc_forensic_sender, dmarc_history_file, and dmarc_tld_file. It adds new expansion variables $dmarc_ar_header, $dmarc_status, $dmarc_status_text, and $dmarc_used_domain. It adds a new acl modifier dmarc_status. It adds new control flags dmarc_disable_verify and dmarc_enable_forensic. 22. Add expansion variable $authenticated_fail_id, which is the username provided to the authentication method which failed. It is available for use in subsequent ACL processing (typically quit or notquit ACLs). 23. New ACL modifer "udpsend" can construct a UDP packet to send to a given UDP host and port. 24. New ${hexquote:..string..} expansion operator converts non-printable characters in the string to \xNN form. 25. Experimental TPDA (Transport Post Delivery Action) function added. Patch provided by Axel Rau. 26. Experimental Redis lookup added. Patch provided by Warren Baker. Changes since 4.80.1 (ftp://exim.inode.at/exim/ChangeLogs/ChangeLog-4.82): PP/01 Add -bI: framework, and -bI:sieve for querying sieve capabilities. PP/02 Make -n do something, by making it not do something. When combined with -bP, the name of an option is not output. PP/03 Added tls_dh_min_bits SMTP transport driver option, only honoured by GnuTLS. PP/04 First step towards DNSSEC, provide $sender_host_dnssec for $sender_host_name and config options to manage this, and basic check routines. PP/05 DSCP support for outbound connections and control modifier for inbound. PP/06 Cyrus SASL: set local and remote IP;port properties for driver. (Only plugin which currently uses this is kerberos4, which nobody should be using, but we should make it available and other future plugins might conceivably use it, even though it would break NAT; stuff *should* be using channel bindings instead). PP/07 Handle "exim -L <tag>" to indicate to use syslog with tag as the process name; added for Sendmail compatibility; requires admin caller. Handle -G as equivalent to "control = suppress_local_fixups" (we used to just ignore it); requires trusted caller. Also parse but ignore: -Ac -Am -X<logfile> Bugzilla 1117. TL/01 Bugzilla 1258 - Refactor MAIL FROM optional args processing. TL/02 Add +smtp_confirmation as a default logging option. TL/03 Bugzilla 198 - Implement remove_header ACL modifier. Patch by Magnus Holmgren from 2007-02-20. TL/04 Bugzilla 1281 - Spec typo. Bugzilla 1283 - Spec typo. Bugzilla 1290 - Spec grammar fixes. TL/05 Bugzilla 1285 - Spec omission, fix docbook errors for spec.txt creation. TL/06 Add Experimental DMARC support using libopendmarc libraries. TL/07 Fix an out of order global option causing a segfault. Reported to dev mailing list by by Dmitry Isaikin. JH/01 Bugzilla 1201 & 304 - New cutthrough-delivery feature, with TLS support. JH/02 Support "G" suffix to numbers in ${if comparisons. PP/08 Handle smtp transport tls_sni option forced-fail for OpenSSL. NM/01 Bugzilla 1197 - Spec typo Bugzilla 1196 - Spec examples corrections JH/03 Add expansion operators ${listnamed:name} and ${listcount:string} PP/09 Add gnutls_allow_auto_pkcs11 option (was originally called gnutls_enable_pkcs11, but renamed to more accurately indicate its function. PP/10 Let Linux makefile inherit CFLAGS/CFLAGS_DYNAMIC. Pulled from Debian 30_dontoverridecflags.dpatch by Andreas Metzler. JH/04 Add expansion item ${acl {name}{arg}...}, expansion condition "acl {{name}{arg}...}", and optional args on acl condition "acl = name arg..." JH/05 Permit multiple router/transport headers_add/remove lines. JH/06 Add dnsdb pseudo-lookup "a+" to do an "aaaa" + "a" combination. JH/07 Avoid using a waiting database for a single-message-only transport. Performance patch from Paul Fisher. Bugzilla 1262. JH/08 Strip leading/trailing newlines from add_header ACL modifier data. Bugzilla 884. JH/09 Add $headers_added variable, with content from use of ACL modifier add_header (but not yet added to the message). Bugzilla 199. JH/10 Add 8bitmime log_selector, for 8bitmime status on the received line. Pulled from Bugzilla 817 by Wolfgang Breyha. PP/11 SECURITY: protect DKIM DNS decoding from remote exploit. CVE-2012-5671 (nb: this is the same fix as in Exim 4.80.1) JH/11 Add A= logging on delivery lines, and a client_set_id option on authenticators. JH/12 Add optional authenticated_sender logging to A= and a log_selector for control. PP/12 Unbreak server_set_id for NTLM/SPA auth, broken by 4.80 PP/29. PP/13 Dovecot auth: log better reason to rejectlog if Dovecot did not advertise SMTP AUTH mechanism to us, instead of a generic protocol violation error. Also, make Exim more robust to bad data from the Dovecot auth socket. TF/01 Fix ultimate retry timeouts for intermittently deliverable recipients. When a queue runner is handling a message, Exim first routes the recipient addresses, during which it prunes them based on the retry hints database. After that it attempts to deliver the message to any remaining recipients. It then updates the hints database using the retry rules. So if a recipient address works intermittently, it can get repeatedly deferred at routing time. The retry hints record remains fresh so the address never reaches the final cutoff time. This is a fairly common occurrence when a user is bumping up against their storage quota. Exim had some logic in its local delivery code to deal with this. However it did not apply to per-recipient defers in remote deliveries, e.g. over LMTP to a separate IMAP message store. This change adds a proper retry rule check during routing so that the final cutoff time is checked against the message's age. We only do this check if there is an address retry record and there is not a domain retry record; this implies that previous attempts to handle the address had the retry_use_local_parts option turned on. We use this as an approximation for the destination being like a local delivery, as in LMTP. I suspect this new check makes the old local delivery cutoff check redundant, but I have not verified this so I left the code in place. TF/02 Correct gecos expansion when From: is a prefix of the username. Test 0254 submits a message to Exim with the header Resent-From: f When I ran the test suite under the user fanf2, Exim expanded the header to contain my full name, whereas it should have added a Resent-Sender: header. It erroneously treats any prefix of the username as equal to the username. This change corrects that bug. GF/01 DCC debug and logging tidyup Error conditions log to paniclog rather than rejectlog. Debug lines prefixed by "DCC: " to remove any ambiguity. TF/03 Avoid unnecessary rebuilds of lookup-related code. PP/14 Fix OCSP reinitialisation in SNI handling for Exim/TLS as server. Bug spotted by Jeremy Harris; was flawed since initial commit. Would have resulted in OCSP responses post-SNI triggering an Exim NULL dereference and crash. JH/13 Add $router_name and $transport_name variables. Bugzilla 308. PP/15 Define SIOCGIFCONF_GIVES_ADDR for GNU Hurd. Bug detection, analysis and fix by Samuel Thibault. Bugzilla 1331, Debian bug #698092. SC/01 Update eximstats to watch out for senders sending 'HELO [IpAddr]' JH/14 SMTP PRDR (http://www.eric-a-hall.com/specs/draft-hall-prdr-00.txt). Server implementation by Todd Lyons, client by JH. Only enabled when compiled with EXPERIMENTAL_PRDR. A new config variable "prdr_enable" controls whether the server advertises the facility. If the client requests PRDR a new acl_data_smtp_prdr ACL is called once for each recipient, after the body content is received and before the acl_smtp_data ACL. The client is controlled by bolth of: a hosts_try_prdr option on the smtp transport, and the server advertisement. Default client logging of deliveries and rejections involving PRDR are flagged with the string "PRDR". PP/16 Fix problems caused by timeouts during quit ACLs trying to double fclose(). Diagnosis by Todd Lyons. PP/17 Update configure.default to handle IPv6 localhost better. Patch by Alain Williams (plus minor tweaks). Bugzilla 880. PP/18 OpenSSL made graceful with empty tls_verify_certificates setting. This is now consistent with GnuTLS, and is now documented: the previous undocumented portable approach to treating the option as unset was to force an expansion failure. That still works, and an empty string is now equivalent. PP/19 Renamed DNSSEC-enabling option to "dns_dnssec_ok", to make it clearer that Exim is using the DO (DNSSEC OK) EDNS0 resolver flag, not performing validation itself. PP/20 Added force_command boolean option to pipe transport. Patch from Nick Koston, of cPanel Inc. JH/15 AUTH support on callouts (and hence cutthrough-deliveries). Bugzilla 321, 823. TF/04 Added udpsend ACL modifer and hexquote expansion operator PP/21 Fix eximon continuous updating with timestamped log-files. Broken in a format-string cleanup in 4.80, missed when I repaired the other false fix of the same issue. Report and fix from Heiko Schlichting. Bugzilla 1363. PP/22 Guard LDAP TLS usage against Solaris LDAP variant. Report from Prashanth Katuri. PP/23 Support safari_ecdhe_ecdsa_bug for openssl_options. It's SecureTransport, so affects any MacOS clients which use the system-integrated TLS libraries, including email clients. PP/24 Fix segfault from trying to fprintf() to a NULL stdio FILE* if using a MIME ACL for non-SMTP local injection. Report and assistance in diagnosis by Warren Baker. TL/08 Adjust exiqgrep to be case-insensitive for sender/receiver. JH/16 Fix comparisons for 64b. Bugzilla 1385. TL/09 Add expansion variable $authenticated_fail_id to keep track of last id that failed so it may be referenced in subsequent ACL's. TL/10 Bugzilla 1375 - Prevent TLS rebinding in ldap. Patch provided by Alexander Miroch. TL/11 Bugzilla 1382 - Option ldap_require_cert overrides start_tls ldap library initialization, allowing self-signed CA's to be used. Also properly sets require_cert option later in code by using NULL (global ldap config) instead of ldap handle (per session). Bug diagnosis and testing by alxgomz. TL/12 Enhanced documentation in the ratelimit.pl script provided in the src/util/ subdirectory. TL/13 Bug 1301 - Imported transport SQL logging patch from Axel Rau renamed to Transport Post Delivery Action by Jeremy Harris, as EXPERIMENTAL_TPDA. TL/14 Bugzilla 1217 - Redis lookup support has been added. It is only enabled when Exim is compiled with EXPERIMENTAL_REDIS. A new config variable redis_servers = needs to be configured which will be used by the redis lookup. Patch from Warren Baker, of The Packet Hub. TL/15 Fix exiqsumm summary for corner case. Patch provided by Richard Hall. TL/16 Bugzilla 1289 - Clarify host/ip processing when have errors looking up a hostname or reverse DNS when processing a host list. Used suggestions from multiple comments on this bug. TL/17 Bugzilla 1057 - Multiple clamd TCP targets patch from Mark Zealey. TL/18 Had previously added a -CONTINUE option to runtest in the test suite. Missed a few lines, added it to make the runtest require no keyboard interaction. TL/19 Bugzilla 1402 - Test 533 fails if any part of the path to the test suite contains upper case chars. Make router use caseful_local_part. TL/20 Bugzilla 1400 - Add AVOID_GNUTLS_PKCS11 build option. Allows GnuTLS support when GnuTLS has been built with p11-kit. Additionally, fix Exim monitor port. QA page: http://codelabs.ru/fbsd/ports/qa/mail/exim/4.82 PR: ports/184522 by Larry Rosenman <ler@lerctr.org>
* Exim: add patch that avoids breaking messages with Spamooborona 1024Eygene Ryabinkin2013-01-071-0/+13
| | | | | | SO 1024 sometimes give back new headers with '\r\n' as the end of line delimiter. Such result should be treated properly to avoid adding extra '\n' to the message headers and turning some of them into body.
* mail/exim: add exim_tidydb_filter for periodic tidydb jobEygene Ryabinkin2012-11-101-4/+12
| | | | | | | It allows to filter/transform the output from the tidydb that is sometimes large and not very much suitable for informational mails from cron. Feature safe: yes
* Move the rc.d scripts of the form *.sh.in to *.inDoug Barton2012-08-051-0/+0
| | | | | | Where necessary add $FreeBSD$ to the file No PORTREVISION bump necessary because this is a no-op
* mail/exim: upgrade to 4.80Eygene Ryabinkin2012-07-122-29/+57
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* In the rc.d scripts, change assignments to rcvar to use theDoug Barton2012-01-141-1/+1
| | | | | | | | | | | literal name_enable wherever possible, and ${name}_enable when it's not, to prepare for the demise of set_rcvar(). In cases where I had to hand-edit unusual instances also modify formatting slightly to be more uniform (and in some cases, correct). This includes adding some $FreeBSD$ tags, and most importantly moving rcvar= to right after name= so it's clear that one is derived from the other.
* mail/exim: upgrade to 4.77Eygene Ryabinkin2011-10-182-24/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | New stuff (from ftp://exim.inode.at/exim/ChangeLogs/NewStuff-4.77): 1. New options for the ratelimit ACL condition: /count= and /unique=. The /noupdate option has been replaced by a /readonly option. 2. The SMTP transport's protocol option may now be set to "smtps", to use SSL-on-connect outbound. 3. New variable $av_failed, set true if the AV scanner deferred; ie, when there is a problem talking to the AV scanner, or the AV scanner running. 4. New expansion conditions, "inlist" and "inlisti", which take simple lists and check if the search item is a member of the list. This does not support named lists, but does subject the list part to string expansion. 5. Unless the new EXPAND_LISTMATCH_RHS build option is set when Exim was built, Exim no longer performs string expansion on the second string of the match_* expansion conditions: "match_address", "match_domain", "match_ip" & "match_local_part". Named lists can still be used. Relevant entries from ChangeLog at ftp://exim.inode.at/exim/ChangeLogs/ChangeLog-4.77: TK/01 DKIM Verification: Fix relaxed canon for empty headers w/o whitespace trailer TF/02 Fix a couple more cases where we did not log the error message when unlink() failed. See also change 4.74-TF/03. TF/03 Make the exiwhat support code safe for signals. Previously Exim might lock up or crash if it happened to be inside a call to libc when it got a SIGUSR1 from exiwhat. The SIGUSR1 handler appends the current process status to the process log which is later printed by exiwhat. It used to use the general purpose logging code to do this, but several functions it calls are not safe for signals. The new output code in the SIGUSR1 handler is specific to the process log, and simple enough that it's easy to inspect for signal safety. Removing some special cases also simplifies the general logging code. Removing the spurious timestamps from the process log simplifies exiwhat. PP/02 Raise smtp_cmd_buffer_size to 16kB. Bugzilla 879. Patch from Paul Fisher. PP/07 Make maildir_use_size_file an _expandable_ boolean. Bugzilla 1089. Patch from Heiko Schlittermann. PP/08 Handle ${run} returning more data than OS pipe buffer size. Bugzilla 1131. Patch from Holger Weitz. PP/09 Handle IPv6 addresses with SPF. Bugzilla 860. Patch from Wolfgang Breyha. PP/10 GnuTLS: support TLS 1.2 & 1.1. Bugzilla 1156. Use gnutls_certificate_verify_peers2() [patch from Andreas Metzler]. Bugzilla 1095. PP/12 fix uninitialised greeting string from PP/03 (smtps client support). PP/13 shell and compiler warnings fixes for RC1-RC4 changes. PP/14 fix log_write() format string regression from TF/03. Bugzilla 1152. Patch from Dmitry Isaikin. Other changes: - the patch for XCLIENT was updated to match the latest Exim sources; - removed already incorporated patch for exiqgrep; - removed Makefile.options and simplified OPTIONS handling. PR: ports/161095, ports/161482, ports/157180