Commit graph

256 commits

Author SHA1 Message Date
wiz
6eae1297d5 *: recursive bump for perl 5.34 2021-05-24 19:49:01 +00:00
jperkin
646a2f7d66 exim: Fix hardcoded CFLAGS breaking SunOS build. 2021-05-11 09:53:20 +00:00
wiz
9c4a8ce599 exim: remove patch from distinfo that was removed from repository during update 2021-05-06 07:08:54 +00:00
abs
f0dbb37028 Updated mail/exim to 4.94.2
This includes a number of serious security fixes (one of which was
included in a now obsoleted pkgsrc patch)

    CVE-2020-28016
    CVE-2020-BDATA
    CVE-2020-EXOPT
    CVE-2020-PFPSN
    CVE-2020-RCPTL
    CVE-2020-SLCWD
    CVE-2020-SPRSS

Since Exim version 4.94
-----------------------

JH/02 Bug 2587: Fix pam expansion condition.  Tainted values are commonly used
      as arguments, so an implementation trying to copy these into a local
      buffer was taking a taint-enforcement trap.  Fix by using dynamically
      created buffers.  Similar fix for radius expansion condition.

JH/03 Bug 2586: Fix listcount expansion operator.  Using tainted arguments is
      reasonable, eg. to count headers.  Fix by using dynamically created
      buffers rather than a local.  Do similar fixes for ACL actions "dcc",
      "log_reject_target", "malware" and "spam"; the arguments are expanded
      so could be handling tainted values.

JH/04 Bug 2590: Fix -bi (newaliases).  A previous code rearrangement had
      broken the (no-op) support for this sendmail command.  Restore it
      to doing nothing, silently, and returning good status.

JH/05 Bug 2593: Fix "vacation" in Exim filter.  Previously, when a "once"
      record path was given (or the default used) without a leading directory
      path, an error occurred on trying to open it.  Use the transport's working
      directory.

JH/06 Bug 2594: Change the name used for certificate name checks in the smtp
      transport.  Previously it was the name on the DNS A-record; use instead
      the head of the CNAME chain leading there (if there is one).  This seems
      to align better with RFC 6125.

JH/07 Bug 2597: Fix a resource leak.  Using a lookup in obtaining a value for
      smtp_accept_max_per_host allocated resources which were not released
      when the limit was exceeded.  This eventually crashed the daemon.  Fix
      by adding a relase action in that path.

JH/08 Bug 2598: Fix verify ACL condition.  The options for the condition are
      expanded; previously using tainted values was rejected.  Fix by using
      dynamically-created buffers.

JH/10 Bug 2603: Fix coding of string copying to only evaluate arguments once.
      Previously a macro used one argument twice; when called with the
      argument as an expression having side-effects, incorrect operation
      resulted.  Use an inlineable function.

JH/11 Bug 2604: Fix request to cutthrough-deliver when a connection is already
      held open for a verify callout.  Previously this wan not accounted for
      and a corrupt onward SMTP conversation resulted.

JH/13 Fix dsearch "subdir" filter to ignore ".".  Previously only ".." was
      excluded, not matching the documentation.

JH/14 Bug 2606: Fix a segfault in sqlite lookups.  When no, or a bad, filename
      was given for the sqlite_dbfile a trap resulted.

JH/15 Bug 2620: Fix "spam" ACL condition.  Previously, tainted values for the
      "name" argument resulted in a trap.  There is no reason to disallow such;
      this was a coding error.

JH/16 Bug 2615: Fix pause during message reception, on systems that have been
      suspended/resumed.  The Linux CLOCK_MONOTONIC does not account for time
      spent suspended, ignoring the Posix definition.  Previously we assumed
      it did and a constant offset from real time could be used as a correction.
      Change to using the same clock source for the start-of-message and the
      post-message next-tick-wait.  Also change to using CLOCK_BOOTTIME if it
      exists, just to get a clock slightly more aligned to reality.

JH/17 Bug 2295: Fix DKIM signing to always semicolon-terminate.  Although the
      RFC says it is optional some validators care.  The missing char was not
      intended but triggered by a line-wrap alignement.  Discovery and fix by
      Guillaume Outters, hacked on by JH.

JH/18 Bug 2617: Fix a taint trap in parse_fix_phrase().  Previously when the
      name being quoted was tainted a trap would be taken.  Fix by using
      dynamicaly created buffers.  The routine could have been called by a
      rewrite with the "h" flag, by using the "-F" command-line option, or
      by using a "name=" option on a control=submission ACL modifier.

JH/21 Bug 2630: Fix eol-replacement string for the ${readsocket } expansion.
      Previously when a whitespace character was specified it was not inserted
      after removing the newline.

JH/24 Bug 2634: Fix a taint trap seen on NetBSD: the testing coded for
      is_tainted() had an off-by-one error in the overenthusiastic direction.
      Find and fix by Gavan.  Although NetBSD is not a supported platform for
      4.94 this bug could affect other platforms.

JH/24 Bug 2634: Fix a taint trap seen on NetBSD: the testing coded for
      is_tainted() had an off-by-one error in the overenthusiastic direction.
      Find and fix by Gavan.  Although NetBSD is not a supported platform for
      4.94 this bug could affect other platforms.
JH/21 Bug 2630: Fix eol-replacement string for the ${readsocket } expansion.
      Previously when a whitespace character was specified it was not inserted
      after removing the newline.

JH/22 Bug 2265: Force SNI usage for smtp transport DANE'd connections, to be
      the domain part of the recipient address.  This overrides any tls_sni
      option set, which was previously used.

JH/23 Logging: with the +tls_sni log_selector, do not wrap the received SNI
      in quotes.

JH/26 Bug 2646: fix a memory usage issue in ldap lookups.  Previously, when more
      than one server was defined and depending on the platform memory layout
      details, an internal consistency trap could be hit while walking the list
      of servers.

JH/27 Bug 2648: fix the passing of an authenticator public-name through spool
      files.  The value is used by the authresults expansion item.  Previously
      if this was used in a router or transport, a crash could result.

JH/30 Bug 2677: fix matching of long addresses. Since 4.93 a limit of 256 was
      applied. This resulted, if any header-line rewrite rules were configured,
      in a panic-log trigerrable by sending a message with a long address in
      a header.	Fix by increaing the arbitrary limit to larger than a single
      (dewrapped) 5322 header line maximum size.

JH/31 The ESMTP option name advertised for the SUPPORT_EARLY_PIPE build option
      is changed from X_PIPE_CONNECT to PIPE_CONNECT. This is in line with
      RFC 6648 which deprecates X- options in protocols as a general practice.
      Changeover between the implementations is handled by the mechanisms
      alrready coded.

JH/32 Bug 2599: fix delay of delivery to a local address where there is also
      a remote which uses callout/hold.  Previously the local was queued.

JH/33 Fix a taint trap in the ${listextract } expansion when the source data
      was tainted.

JH/35 Bug 2343: Harden exim_tidydb against corrupt wait- files.

JH/36 Bug 2687: Fix interpretation of multiple ^ chars in a plaintext
      authenticator client_send option.  Previously the next char, after a pair
      was collapsed, was taken verbatim (so ^^^foo became ^^foo; ^^^^foo became
      ^^\x00foo). Fixed to get ^\x00foo and ^^foo respectively to match the
      documentation.  There is still no way to get a leading ^ immediately
      after a NUL (ie. for the password of a PLAIN method authenticator.

JH/39 Bug 2691: fix $local_part_data.  When the matching list element
      referred to a file, bad data was returned.  This likely also affected
      $domain_part_data.

JH/41 Fix daemon SIGHUP on FreeBSD.  Previously, a named socket for IPC was
      left undeleted; the attempt to re-create it then failed - resulting in
      the usual "SIGHUP tp have daemon reload configuration" to not work.
      This affected any platform not supporting "abstract" Unix-domain
      sockets (i.e. not Linux).

JH/42 Bug 2692: Harden against a peer which reneges on a 452 "too many
      recipients" response to RCPT in a later response, with a 250.  The
      previous coding assumed this would not happen, and under PIPELINING
      would result in both lost and duplicate recipients for a message.

JH/43 Bug 2694: Fix weighted distribution of work to multiple spamd servers.
      Previously the weighting was incorrectly applied.  Similar fix for socks
      proxies.  Found and fixed by Heiko Schlichting.

JH/44 Bug 2701: Fix list-expansion of dns_ipv4_lookup.  Previously, it did
      not handle sub-lists included using the +namedlist syntax.  While
      investigating, the same found for dns_trust_aa, dns_again_means_nonexist,
      dnssec_require_domains, dnssec_request_domains, srv_fail_domains,
      mx_fail_domains.

HS/01 Enforce absolute PID file path name.

HS/02 Handle SIGINT as we handle SIGTERM: terminate the Exim process.

PP/01 Add a too-many-bad-recipients guard to the default config's RCPT ACL.

PP/02 Bug 2643: Correct TLS DH constants.
      A missing NUL termination in our code-generation tool had led to some
      incorrect Diffie-Hellman constants in the Exim source.
      Reported by kylon94, code-gen tool fix by Simon Arlott.

PP/03 Impose security length checks on various command-line options.
      Fixes CVE-2020-SPRSS reported by Qualys.

PP/04 Fix Linux security issue CVE-2020-SLCWD and guard against PATH_MAX
      better.  Reported by Qualys.

PP/05 Fix security issue CVE-2020-PFPSN and guard against cmdline invoker
      providing a particularly obnoxious sender full name.
      Reported by Qualys.

PP/06 Fix CVE-2020-28016 (PFPZA): Heap out-of-bounds write in parse_fix_phrase()

PP/07 Refuse to allocate too little memory, block negative/zero allocations.
      Security guard.

PP/08 Change default for recipients_max from unlimited to 50,000.

PP/09 Fix security issue with too many recipients on a message (to remove a
      known security problem if someone does set recipients_max to unlimited,
      or if local additions add to the recipient list).
      Fixes CVE-2020-RCPTL reported by Qualys.

PP/10 Fix security issue in SMTP verb option parsing
      Fixes CVE-2020-EXOPT reported by Qualys.

PP/11 Fix security issue in BDAT state confusion.
      Ensure we reset known-good where we know we need to not be reading BDAT
      data, as a general case fix, and move the places where we switch to BDAT
      mode until after various protocol state checks.
      Fixes CVE-2020-BDATA reported by Qualys.

HS/03 Die on "/../" in msglog file names

QS/01 Creation of (database) files in $spool_dir: only uid=0 or the uid of
      the Exim runtime user are allowed to create files.

QS/02 PID file creation/deletion: only possible if uid=0 or uid is the Exim
      runtime user.

QS/03 When reading the output from interpreted forward files we do not
      pass the pipe between the parent and the interpreting process to
      executed child processes (if any).

QS/04 Always die if requested from internal logging, even is logging is
      disabled.
2021-05-04 20:29:38 +00:00
adam
9d0e79c401 revbump for textproc/icu 2021-04-21 11:40:12 +00:00
ryoon
2831546220 *: Recursive revbump from textproc/icu-68.1 2020-11-05 09:07:25 +00:00
wiz
00da7815c0 *: bump PKGREVISION for perl-5.32. 2020-08-31 18:06:29 +00:00
gavan
1e5a416eff exim: fix crash on startup if log_buffer is allocated right after taint pool
The check whether a block of memory is tainted erroneously returns true
if the block in question starts the very next byte after a block in the
tainted pool. Depending on the memory allocator, this can cause problems.
For example, on NetBSD/amd64 9.0, this seems to allocate the first tainted
block immediately before log_buffer. This leads to a recursive error in
log_write the first time anything is written to the log, leading to a
segmentation fault when the stack fills up.
2020-08-20 16:40:57 +00:00
adam
6bd0c30da6 Revbump for icu 2020-06-02 08:22:31 +00:00
adam
36437ec4c1 exim exim-html: updated to 4.94
Exim version 4.94
-----------------

JH/01 Avoid costly startup code when not strictly needed.  This reduces time
      for some exim process initialisations.  It does mean that the logging
      of TLS configuration problems is only done for the daemon startup.

JH/02 Early-pipelining support code is now included unless disabled in Makefile.

JH/03 DKIM verification defaults no long accept sha1 hashes, to conform to
      RFC 8301.  They can still be enabled, using the dkim_verify_hashes main
      option.

JH/04 Support CHUNKING from an smtp transport using a transport_filter, when
      DKIM signing is being done.  Previously a transport_filter would always
      disable CHUNKING, falling back to traditional DATA.

JH/05 Regard command-line receipients as tainted.

JH/06 Bug 340: Remove the daemon pid file on exit, whe due to SIGTERM.

JH/07 Bug 2489: Fix crash in the "pam" expansion condition.  It seems that the
      PAM library frees one of the arguments given to it, despite the
      documentation.  Therefore a plain malloc must be used.

JH/08 Bug 2491: Use tainted buffers for the transport smtp context.  Previously
      on-stack buffers were used, resulting in a taint trap when DSN information
      copied from a received message was written into the buffer.

JH/09 Bug 2493: Harden ARC verify against Outlook, whick has been seen to mix
      the ordering of its ARC headers.  This caused a crash.

JH/10 Bug 2492: Use tainted memory for retry record when needed.  Previously when
      a new record was being constructed with information from the peer, a trap
      was taken.

JH/11 Bug 2494: Unset the default for dmarc_tld_file.  Previously a naiive
      installation would get error messages from DMARC verify, when it hit the
      nonexistent file indicated by the default.  Distros wanting DMARC enabled
      should both provide the file and set the option.
      Also enforce no DMARC verification for command-line sourced messages.

JH/12 Fix an uninitialised flag in early-pipelining.  Previously connections
      could, depending on the platform, hang at the STARTTLS response.

JH/13 Bug 2498: Reset a counter used for ARC verify before handling another
      message on a connection.  Previously if one message had ARC headers and
      the following one did not, a crash could result when adding an
      Authentication-Results: header.

JH/14 Bug 2500: Rewind some of the common-coding in string handling between the
      Exim main code and Exim-related utities.  The introduction of taint
      tracking also did many adjustments to string handling.  Since then, eximon
      frequently terminated with an assert failure.

JH/15 When PIPELINING, synch after every hundred or so RCPT commands sent and
      check for 452 responses.  This slightly helps the inefficieny of doing
      a large alias-expansion into a recipient-limited target.  The max_rcpt
      transport option still applies (and at the current default, will override
      the new feature).  The check is done for either cause of synch, and forces
      a fast-retry of all 452'd recipients using a new MAIL FROM on the same
      connection.  The new facility is not tunable at this time.

JH/16 Fix the variables set by the gsasl authenticator.  Previously a pointer to
      library live data was being used, so the results became garbage.  Make
      copies while it is still usable.

JH/17 Logging: when the deliver_time selector ise set, include the DT= field
      on delivery deferred (==) and failed (**) lines (if a delivery was
      attemtped).  Previously it was only on completion (=>) lines.

JH/18 Authentication: the gsasl driver not provides the $authN variables in time
      for the expansion of the server_scram_iter and server_scram_salt options.

WB/01 SPF: DNS lookups for the obsolete SPF RR type done by the libspf2 library
      are now specifically given a NO_DATA response without hitting the system
      resolver.  The library goes on to do the now-standard TXT lookup.
      Use of dnsdb lookups is not affected.

JH/19 Bug 2507: Modules: on handling a dynamic-module (lookups) open failure,
      only retrieve the errormessage once.  Previously two calls to dlerror()
      were used, and the second one (for mainlog/paniclog) retrieved null
      information.

JH/20 Taint checking: disallow use of tainted data for
      - the appendfile transport file and directory options
      - the pipe transport command
      - the autoreply transport file, log and once options
      - file names used by the redirect router (including filter files)
      - named-queue names
      - paths used by single-key lookups
      Previously this was permitted.

JH/21 Bug 2501: Fix init call in the heimdal authenticator.  Previously it
      adjusted the size of a major service buffer; this failed because the
      buffer was in use at the time.  Change to a compile-time increase in the
      buffer size, when this authenticator is compiled into exim.

JH/22 Taint-checking: move to safe-mode taint checking on all platforms.  The
      previous fast-mode was untenable in the face of glibs using mmap to
      support larger malloc requests.

PP/01 Update the openssl_options possible values through OpenSSL 1.1.1c.
      New values supported, if defined on system where compiled:
      allow_no_dhe_kex, cryptopro_tlsext_bug, enable_middlebox_compat,
      no_anti_replay, no_encrypt_then_mac, prioritize_chacha, tlsext_padding

JH/23 Performance improvement in the initial phase of a two-pass queue run.  By
      running a limited number of proceses in parallel, a benefit is gained. The
      amount varies with the platform hardware and load.  The use of the option
      queue_run_in_order means we cannot do this, as ordering becomes
      indeterminate.

JH/24 Bug 2524: fix the cyrus_sasl auth driver gssapi usage.  A previous fix
      had introduced a string-copy (for ensuring NUL-termination) which was not
      appropriate for that case, which can include embedded NUL bytes in the
      block of data.  Investigation showed the copy to actually be needless, the
      data being length-specified.

JH/25 Fix use of concurrent TLS connections under GnuTLS.  When a callout was
      done during a receiving connection, and both used TLS, global info was
      used rather than per-connection info for tracking the state of data
      queued for transmission.  This could result in a connection hang.

JH/26 Fix use of the SIZE parameter on MAIL commands, on continued connections.
      Previously, when delivering serveral messages down a single connection
      only the first would provide a SIZE.  This was due to the size information
      not being properly tracked.

JH/27 Bug 2530: When operating in a timezone with sub-minute offset, such as
      TAI (at 37 seconds currently), pretend to be in UTC for time-related
      expansion and logging.  Previously, spurious values such as a future
      minute could be seen.

JH/28 Bug 2533: Fix expansion of ${tr } item.  When called in some situations
      it could crash from a null-deref.  This could also affect the
      ${addresses: } operator and ${readsock } item.

JH/29 Bug 2537: Fix $mime_part_count.  When a single connection had a non-mime
      message following a mime one, the variable was not reset.

JH/30 When an pipelined-connect fails at the first response, assume incorrect
      cached capability (perhaps the peer reneged?) and immediately retry in
      non-pipelined mode.

JH/31 Fix spurious detection of timeout while writing to transport filter.

JH/32 Bug 2541: Fix segfault on bad cmdline -f (sender) argument.  Previously
      an attempt to copy the string was made before checking it.

JH/33 Fix the dsearch lookup to return an untainted result.  Previously the
      taint of the lookup key was maintained; we now regard the presence in the
      filesystem as sufficient validation.

JH/34 Fix the readsocket expansion to not segfault when an empty "options"
      argument is supplied.

JH/35 The dsearch lookup now requires that the directory is an absolute path.
      Previously this was not checked, and nonempty relative paths made an
      access under Exim's current working directory.

JH/36 Bug 2554: Fix msg:defer event for the hosts_max_try_hardlimit case.
      Previously no event was raised.

JH/37 Bug 2552: Fix the check on spool space during reception to use the SIZE
      parameter supplied by the sender MAIL FROM command.  Previously it was
      ignored, and only the check_spool_space option value for the required
      leeway checked.

JH/38 Fix $dkim_key_length.  This should, after a DKIM verification, present
      the size of the signing public-key.  Previously it was instead giving
      the size of the signature hash.

JH/39 DKIM verification: the RFC 8301 restriction on sizes of RSA keys is now
      the default.  See the (new) dkim_verify_min_keysizes option.

JH/40 Fix a memory-handling bug: when a connection carried multiple messages
      and an ACL use a lookup for checking either the local_part or domain,
      stale data could be accessed.  Ensure that variable references are
      dropped between messages.

JH/41 Bug 2571: Fix SPA authenticator.  Running as a server, an offset supplied
      by the client was not checked as pointing within response data before
      being used.  A malicious client could thus cause an out-of-bounds read and
      possibly gain authentication.  Fix by adding the check.

JH/42 Internationalisation: change the default for downconversion in the smtp
      transport to be "if needed".  Previously it was "as previously set" for
      the message, which usually meant "if needed" for message-submission but
      "no" for everything else.  However, MTAs have been seen using SMTPUTF8
      even when the envelope addresses did not need it, resulting in forwarding
      failures to non-supporting MTAs.  A downconvert in such cases will be
      a no-op on the addresses, merely dropping the use of SMTPUTF8 by the
      transport.  The change does mean that addresses needing conversion will
      be converted when previously a delivery failure would occur.

JH/43 Fix possible long line in DSN.  Previously when a very long SMTP error
      response was received it would be used unchecked in a fail-DSN, violating
      standards on line-length limits.  Truncate if needed.

HS/01 Remove parameters of the link to www.open-spf.org. The linked form
      doesn't work. (Additionally add a new main config option to configure the
      spf_smtp_comment)
2020-06-01 19:42:48 +00:00
gavan
a4b0cd2d9f Patch exicyclog to work when commands have spaces in them
By default, pkgsrc uses 'mv -f' as MV_COMMAND. exicyclog is not resilient
to this, and breaks as a result. This patch quotes the command names
that are substituted into this script.
2020-04-25 12:48:57 +00:00
wiz
3e17da966f exim: update to 4.93.0.4.
Based on patch provided by Mike Pumford on pkgsrc-users.

Exim version 4.93+fixes
-----------------------
This is not an official release. It is just a branch, collecting
proposed bugfixes. Depending on your environment the fixes may be
necessary to build and/or run Exim successfully.

JH/05 Regard command-line receipients as tainted.

JH/07 Bug 2489: Fix crash in the "pam" expansion condition.  It seems that the
      PAM library frees one of the arguments given to it, despite the
      documentation.  Therefore a plain malloc must be used.

JH/08 Bug 2491: Use tainted buffers for the transport smtp context.  Previously
      on-stack buffers were used, resulting in a taint trap when DSN information
      copied from a received message was written into the buffer.

JH/09 Bug 2493: Harden ARC verify against Outlook, whick has been seen to mix
      the ordering of its ARC headers.  This caused a crash.

JH/10 Bug 2492: Use tainted memory for retry record when needed.  Previously when
      a new record was being constructed with information from the peer, a trap
      was taken.

JH/11 Bug 2494: Unset the default for dmarc_tld_file.  Previously a naiive
      installation would get error messages from DMARC verify, when it hit the
      nonexistent file indicated by the default.  Distros wanting DMARC enabled
      should both provide the file and set the option.
      Also enforce no DMARC verification for command-line sourced messages.

JH/12 Fix an uninitialised flag in early-pipelining.  Previously connections
      could, depending on the platform, hang at the STARTTLS response.

JH/13 Bug 2498: Reset a counter used for ARC verify before handling another
      message on a connection.  Previously if one message had ARC headers and
      the following one did not, a crash could result when adding an
      Authentication-Results: header.

JH/14 Bug 2500: Rewind some of the common-coding in string handling between the
      Exim main code and Exim-related utities.  The introduction of taint
      tracking also did many adjustments to string handling.  Since then, eximon
      frequently terminated with an assert failure.

JH/16 Fix the variables set by the gsasl authenticator.  Previously a pointer to
      library live data was being used, so the results became garbage.  Make
      copies while it is still usable.
2020-04-14 19:34:39 +00:00
adam
24daafa112 Recursive revision bump after textproc/icu update 2020-04-12 08:27:48 +00:00
nia
cd2dd57331 exim: Needs -std=c99 2020-03-26 13:30:10 +00:00
rillig
9637f7852e all: migrate homepages from http to https
pkglint -r --network --only "migrate"

As a side-effect of migrating the homepages, pkglint also fixed a few
indentations in unrelated lines. These and the new homepages have been
checked manually.
2020-01-26 17:30:40 +00:00
jperkin
26c1bffc9f *: Recursive revision bump for openssl 1.1.1. 2020-01-18 21:48:19 +00:00
adam
b333d0b822 exim: updated to 4.93
Exim version 4.93
-----------------

JH/01 OpenSSL: With debug enabled output keying information sufficient, server
      side, to decode a TLS 1.3 packet capture.

JH/02 OpenSSL: Suppress the sending of (stateful) TLS1.3 session tickets.
      Previously the default library behaviour applied, sending two, each in
      its own TCP segment.

JH/03 Debug output for ACL now gives the config file name and line number for
      each verb.

JH/04 The default received_header_text now uses the RFC 8314 tls cipher clause.

JH/05 DKIM: ensure that dkim_domain elements are lowercased before use.

JH/06 Fix buggy handling of autoreply bounce_return_size_limit, and a possible
      buffer overrun for (non-chunking) other transports.

JH/07 GnuTLS: Our use of late (post-handshake) certificate verification, under
      TLS1.3, means that a server rejecting a client certificate is not visible
      to the client until the first read of encrypted data (typically the
      response to EHLO).  Add detection for that case and treat it as a failed
      TLS connection attempt, so that the normal retry-in-clear can work (if
      suitably configured).

JB/01 Bug 2375: fix expansions of 822 addresses having comments in local-part
      and/or domain.  Found and fixed by Jason Betts.

JH/08 Add hardening against SRV & TLSA lookups the hit CNAMEs (a nonvalid
      configuration).  If a CNAME target was not a wellformed name pattern, a
      crash could result.

JH/09 Logging: Fix initial listening-on line for multiple ports for an IP when
      the OS reports them interleaved with other addresses.

JH/10 OpenSSL: Fix aggregation of messages.  Previously, when PIPELINING was
      used both for input and for a verify callout, both encrypted, SMTP
      responses being sent by the server could be lost.  This resulted in
      dropped connections and sometimes bounces generated by a peer sending
      to this system.

JH/11 Harden plaintext authenticator against a badly misconfigured client-send
      string.  Previously it was possible to cause undefined behaviour in a
      library routine (usually a crash).  Found by "zerons".

JH/12 Bug 2384: fix "-bP smtp_receive_timeout".  Previously it returned no
      output.

JH/13 Bug 2386: Fix builds with Dane under LibreSSL 2.9.0 onward.  Some old
      API was removed, so update to use the newer ones.

JH/14 Bug 1891: Close the log file if receiving a non-smtp message, without
      any timeout set, is taking a long time.  Previously we would hang on to a
      rotated logfile "forever" if the input was arriving with long gaps
      (a previous attempt to fix addressed lack, for a long time, of initial
      input).

HS/01 Bug 2390: Use message_id for tempfile creation to avoid races in a
      shared (NFS) environment. The length of the tempfile name is now
      4 + 16 ("hdr.$message_exim_id") which might break on file
      systems which restrict the file name length to lower values.
      (It was "hdr.$pid".)

HS/02 Bug 2390: Use message_id for tempfile creation to avoid races in a
      shared (NFS) environment.

HS/03 Bug 2392: exigrep does case sensitive *option* processing (as it
      did for all versions <4.90). Notably -M, -m, --invert, -I may be
      affected.

JH/15 Use unsigned when creating bitmasks in macros, to avoid build errors
      on some platforms for bit 31.

JH/16 GnuTLS: rework ciphersuite strings under recent library versions.  Thanks
      to changes apparently associated with TLS1.3 handling some of the APIs
      previously used were either nonfunctional or inappropriate.  Strings
      like TLS1.3:ECDHE_SECP256R1__RSA_PSS_RSAE_SHA256__AES_256_GCM__AEAD:256
      and TLS1.2:ECDHE_SECP256R1__RSA_SHA256__AES_128_CBC__SHA256:128 replace
      the previous TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256 .
      This affects log line X= elements, the $tls_{in,out}_cipher variables,
      and the use of specific cipher names in the encrypted= ACL condition.

JH/17 OpenSSL: the default openssl_options now disables ssl_v3.

JH/18 GnuTLS: fix $tls_out_ocsp under hosts_request_ocsp. Previously the
      verification result was not updated unless hosts_require_ocsp applied.

JH/19 Bug 2398: fix listing of a named-queue.  Previously, even with the option
      queue_list_requires_admin set to false, non-admin users were denied the
      facility.

JH/20 Bug 2389: fix server advertising of usable certificates, under GnuTLS in
      directory-of-certs mode.  Previously they were advertised despite the
      documentation.

JH/21 The smtp transport option "hosts_noproxy_tls" is now unset by default.
      A single TCP connection by a client will now hold a TLS connection open
      for multiple message deliveries, by default.  Previoud the default was to
      not do so.

JH/22 The smtp transport option "hosts_try_dane" now enables all hosts by
      default.  If built with the facility, DANE will be used.  The facility
      SUPPORT_DANE is now enabled in the prototype build Makefile "EDITME".

JH/23 The build default is now for TLS to be included; the SUPPORT_TLS define
      is replaced with DISABLE_TLS.  Either USE_GNUTLS or (the new) USE_OPENSSL
      must be defined and you must still, unless you define DISABLE_TLS, manage
      the the include-dir and library-file requirements that go with that
      choice.  Non-TLS builds are still supported.

JH/24 Fix duplicated logging of peer name/address, on a transport connection-
      reject under TFO.

JH/25 The smtp transport option "hosts_try_fastopen" now enables all hosts by
      default.  If the platform supports and has the facility enabled, it will
      be requested on all coneections.

JH/26 The PIPE_CONNECT facility is promoted from experimental status and is now
      controlled by the build-time option SUPPORT_PIPE_CONNECT.

PP/01 Unbreak heimdal_gssapi, broken in 4.92.

JH/27 Bug 2404: Use the main-section configuration option "dsn_from" for
      success-DSN messages.  Previously the From: header was always the default
      one for these; the option was ignored.

JH/28 Fix the timeout on smtp response to apply to the whole response.
      Previously it was reset for every read, so a teergrubing peer sending
      single bytes within the time limit could extend the connection for a
      long time.  Credit to Qualsys Security Advisory Team for the discovery.

JH/29 Fix DSN Final-Recipient: field.  Previously it was the post-routing
      delivery address, which leaked information of the results of local
      forwarding.  Change to the original envelope recipient address, per
      standards.

JH/30 Bug 2411: Fix DSN generation when RFC 3461 failure notification is
      requested.  Previously not bounce was generated and a log entry of
      error ignored was made.

JH/31 Avoid re-expansion in ${sort } expansion. (CVE-2019-13917)

JH/32 Introduce a general tainting mechanism for values read from the input
      channel, and values derived from them.  Refuse to expand any tainted
      values, to catch one form of exploit.

JH/33 Bug 2413: Fix dkim_strict option.  Previously the expansion result
      was unused and the unexpanded text used for the test.  Found and
      fixed by Ruben Jenster.

JH/34 Fix crash after TLS shutdown.  When the TCP/SMTP channel was left open,
      an attempt to use a TLS library read routine dereffed a nul pointer,
      causing a segfault.

JH/35 Bug 2409: filter out-of-spec chars from callout response before using
      them in our smtp response.

JH/36 Have the general router option retry_use_local_part default to true when
      any of the restrictive preconditions are set (to anything).  Previously it
      was only for check_local user.  The change removes one item of manual
      configuration which is required for proper retries when a remote router
      handles a subset of addresses for a domain.

JH/37 Appendfile: when evaluating quota use (non-quota_size_regex) take the file
      link count into consideration.

HS/04 Fix handling of very log lines in -H files. If a -<key> <value> line
      caused the extension of big_buffer, the following lines were ignored.

JH/38 Bug 1395: Teach the DNS negative-cache about TTL value from the SOA in
      accordance with RFC 2308.  Previously there was no expiry, so a longlived
      receive process (eg. due to ACL delays) versus a short SOA value could
      surprise.

HS/05 Handle trailing backslash gracefully. (CVE-2019-15846)

JH/39 Promote DMARC support to mainline.

JH/40 Bug 2452: Add a References: header to DSNs.

JH/41 With GnuTLS 3.6.0 (and later) do not attempt to manage Diffie-Hellman
      parameters.  The relevant library call is documented as "Deprecated: This
      function is unnecessary and discouraged on GnuTLS 3.6.0 or later. Since
      3.6.0, DH parameters are negotiated following RFC7919."

HS/06 Change the default of dnssec_request_domains to "*"

JH/42 Bug 2545: Fix CHUNKING for all RCPT commands rejected.  Previously we
      carried on and emitted a BDAT command, even when PIPELINING was not
      active.

JH/43 Bug 2465: Fix taint-handling in dsearch lookup.  Previously a nontainted
      buffer was used for the filename, resulting in a trap when tainted
      arguments (eg. $domain) were used.

JH/44 With OpenSSL 1.1.1 (onwards) disable renegotiation for TLS1.2 and below;
      recommended to avoid a possible server-load attack.  The feature can be
      re-enabled via the openssl_options main cofiguration option.

JH/45 local_scan API: documented the current smtp_printf() call. This changed
      for version 4.90 - adding a "more data" boolean to the arguments.
      Bumped the ABI version number also, this having been missed previously;
      release versions 4.90 to 4.92.3 inclusive were effectively broken in
      respect of usage of smtp_printf() by either local_scan code or libraries
      accessed via the ${dlfunc } expansion item.  Both will need coding
      adjustment for any calls to smtp_printf() to match the new function
      signature; a FALSE value for the new argument is always safe.

JH/46 FreeBSD: fix use of the sendfile() syscall.  The shim was not updating
      the file-offset (which the Linux syscall does, and exim expects); this
      resulted in an indefinite loop.

JH/47 ARC: fix crash in signing, triggered when a configuration error failed
      to do ARC verification.  The Authentication-Results: header line added
      by the configuration then had no ARC item.
2019-12-09 18:46:00 +00:00
rillig
f31693dd3a mail: align variable assignments
pkglint -Wall -F --only aligned -r

No manual corrections.
2019-11-02 16:25:17 +00:00
wiedi
1b4e6e7144 exim: update to 4.92.3
Fix for CVE-2019-16928
2019-09-30 19:25:58 +00:00
wiedi
338fb1c459 exim: update to 4.92.2
Exim version 4.92.2
-------------------

HS/01 Handle trailing backslash gracefully. (CVE-2019-15846)
2019-09-06 12:57:33 +00:00
wiz
84e123ddd2 Bump PKGREVISIONs for perl 5.30.0 2019-08-11 13:17:48 +00:00
abs
3c474efff0 Updated mail/exim to 4.92.1
Exim version 4.92.1
-------------------

JH/31 Avoid re-expansion in ${sort } expansion.
(CVE-2019-13917, OVE-20190718-0006)
2019-07-28 21:17:28 +00:00
tm
235a2f6d99 exim: change local makefile options name for SPF
The local makefile option need to be adjusted because SPF is
no longer an experimental feature in exim.
2019-06-07 12:20:32 +00:00
ryoon
6fc378bce9 Recursive revbump from textproc/icu 2019-04-03 00:32:25 +00:00
adam
cd5b41e31c exim: updated to 4.92
4.92:
New features include:
- ${l_header:<name>} expansion
- ${readsocket} now supports TLS
- "utf8_downconvert" option (if built with SUPPORT_I18N)
- "pipelining" log_selector
- JSON variants for ${extract } expansion
- "noutf8" debug option
- TCP Fast Open support on MacOS
2019-02-24 20:31:00 +00:00
adam
16dd5de231 revbump after updating textproc/icu 2018-12-09 18:51:58 +00:00
wiz
93b46879c7 Recursive bump for perl5-5.28.0 2018-08-22 09:43:40 +00:00
ryoon
b9c1e1d533 Recursive revbump from textproc/icu-62.1 2018-07-20 03:33:47 +00:00
jperkin
5393242c73 *: Move SUBST_STAGE from post-patch to pre-configure
Performing substitutions during post-patch breaks tools such as mkpatches,
making it very difficult to regenerate correct patches after making changes,
and often leading to substituted string replacements being committed.
2018-07-04 13:40:07 +00:00
adam
b1239a774c exim: updated to 4.91
Version 4.91

 1. Dual-certificate stacks on servers now support OCSP stapling, under GnuTLS
    version 3.5.6 or later.

 2. DANE is now supported under GnuTLS version 3.0.0 or later.  Both GnuTLS and
    OpenSSL versions are moved to mainline support from Experimental.
    New SMTP transport option "dane_require_tls_ciphers".

 3. Feature macros for the compiled-in set of malware scanner interfaces.

 4. SPF support is promoted from Experimental to mainline status.  The template
    src/EDITME makefile does not enable its inclusion.

 5. Logging control for DKIM verification.  The existing DKIM log line is
    controlled by a "dkim_verbose" selector which is _not_ enabled by default.
    A new tag "DKIM=<domain>" is added to <= lines by default, controlled by
    a "dkim" log_selector.

 6. Receive duration on <= lines, under a new log_selector "receive_time".

 7. Options "ipv4_only" and "ipv4_prefer" on the dnslookup router and on
    routing rules in the manualroute router.

 8. Expansion item ${sha3:<string>} / ${sha3_<N>:<string>} now also supported
    under OpenSSL version 1.1.1 or later.

 9. DKIM operations can now use the Ed25519 algorithm in addition to RSA, under
    GnuTLS 3.6.0 or OpenSSL 1.1.1 or later.

10. Builtin feature-macros _CRYPTO_HASH_SHA3 and _CRYPTO_SIGN_ED25519, library
    version dependent.

11. "exim -bP macro <name>" returns caller-usable status.

12. Expansion item ${authresults {<machine>}} for creating an
    Authentication-Results: header.

13. EXPERIMENTAL_ARC.  See the experimental.spec file.
    See also new util/renew-opendmarc-tlds.sh script for use with DMARC/ARC.

14: A dane:fail event, intended to facilitate reporting.

15. "Lightweight" support for Redis Cluster. Requires redis_servers list to
    contain all the servers in the cluster, all of which must be reachable from
    the running exim instance. If the cluster has master/slave replication, the
    list must contain all the master and slave servers.

16. Add an option to the Avast scanner interface: "pass_unscanned". This
    allows to treat unscanned files as clean. Files may be unscanned for
    several reasons: decompression bombs, broken archives.
2018-04-23 07:28:18 +00:00
adam
299d329d51 revbump after icu update 2018-04-14 07:33:52 +00:00
adam
65e1f24ee8 exim: updated to 4.90.1
Exim version 4.90.1

JH/03 Fix pgsql lookup for multiple result-tuples with a single column.
      Previously only the last row was returned.

JH/04 Bug 2217: Tighten up the parsing of DKIM signature headers. Previously
      we assumed that tags in the header were well-formed, and parsed the
      element content after inspecting only the first char of the tag.
      Assumptions at that stage could crash the receive process on malformed
      input.

JH/05 Bug 2215: Fix crash associated with dnsdb lookup done from DKIM ACL.
      While running the DKIM ACL we operate on the Permanent memory pool so that
      variables created with "set" persist to the DATA ACL.  Also (at any time)
      DNS lookups that fail create cache records using the Permanent pool.  But
      expansions release any allocations made on the current pool - so a dnsdb
      lookup expansion done in the DKIM ACL releases the memory used for the
      DNS negative-cache, and bad things result.  Solution is to switch to the
      Main pool for expansions.
      While we're in that code, add checks on the DNS cache during store_reset,
      active in the testsuite.
      Problem spotted, and debugging aided, by Wolfgang Breyha.

JH/06 Fix issue with continued-connections when the DNS shifts unreliably.
      When none of the hosts presented to a transport match an already-open
      connection, close it and proceed with the list.  Previously we would
      queue the message.  Spotted by Lena with Yahoo, probably involving
      round-robin DNS.

JH/07 Bug 2214: Fix SMTP responses resulting from non-accept result of MIME ACL.
      Previously a spurious "250 OK id=" response was appended to the proper
      failure response.

JH/10 Bug 2223: Fix mysql lookup returns for the no-data case (when the number of
      rows affected is given instead).

JH/12 Bug 2230: Fix cutthrough routing for nonfirst messages in an initiating
      SMTP connection.  Previously, when one had more receipients than the
      first, an abortive onward connection was made.  Move to full support for
      multiple onward connections in sequence, handling cutthrough connection
      for all multi-message initiating connections.

JH/13 Bug 2229: Fix cutthrough routing for nonstandard port numbers defined by
      routers.  Previously, a multi-recipient message would fail to match the
      onward-connection opened for the first recipient, and cause its closure.

JH/14 Bug 2174: A timeout on connect for a callout was also erroneously seen as
      a timeout on read on a GnuTLS initiating connection, resulting in the
      initiating connection being dropped.  This mattered most when the callout
      was marked defer_ok.  Fix to keep the two timeout-detection methods
      separate.

HS/01 Fix Buffer overflow in base64d() (CVE-2018-6789)

JH/16 Fix bug in DKIM verify: a buffer overflow could corrupt the malloc
      metadata, resulting in a crash in free().

PP/01 Fix broken Heimdal GSSAPI authenticator integration.
      Broken in f2ed27cf5, missing an equals sign for specified-initialisers.
      Broken also in d185889f4, with init system revamp.
2018-03-07 08:24:47 +00:00
wiz
bff4597ffc Bump PKGREVISION for gdbm shlib major bump 2018-01-28 20:10:34 +00:00
adam
8977d31a36 Revbump after textproc/icu update 2017-11-30 16:45:00 +00:00
maya
33ebf687dc revbump for requiring ICU 59.x 2017-09-18 09:52:56 +00:00
adam
75a9285105 Revbump after icu update 2017-04-22 21:03:07 +00:00
adam
631a7bf34e Version 4.89
------------

 1. Allow relative config file names for ".include"

 2. A main-section config option "debug_store" to control the checks on
    variable locations during store-reset.  Normally false but can be enabled
    when a memory corrution issue is suspected on a production system.
2017-03-18 07:08:23 +00:00
agc
30b55df38e Convert all occurrences (353 by my count) of
MASTER_SITES= 	site1 \
			site2

style continuation lines to be simple repeated

	MASTER_SITES+= site1
	MASTER_SITES+= site2

lines. As previewed on tech-pkg. With thanks to rillig for fixing pkglint
accordingly.
2017-01-19 18:52:01 +00:00
wiedi
8bf71e73f3 Update exim to 4.88
Security update to address CVE-2016-9963

Exim version 4.88
-----------------
JH/01 Use SIZE on MAIL FROM in a cutthrough connection, if the destination
      supports it and a size is available (ie. the sending peer gave us one).

JH/02 The obsolete acl condition "demime" is removed (finally, after ten
      years of being deprecated). The replacements are the ACLs
      acl_smtp_mime and acl_not_smtp_mime.

JH/03 Upgrade security requirements imposed for hosts_try_dane: previously
      a downgraded non-dane trust-anchor for the TLS connection (CA-style)
      or even an in-clear connection were permitted.  Now, if the host lookup
      was dnssec and dane was requested then the host is only used if the
      TLSA lookup succeeds and is dnssec.  Further hosts (eg. lower priority
      MXs) will be tried (for hosts_try_dane though not for hosts_require_dane)
      if one fails this test.
      This means that a poorly-configured remote DNS will make it incommunicado;
      but it protects against a DNS-interception attack on it.

JH/04 Bug 1810: make continued-use of an open smtp transport connection
      non-noisy when a race steals the message being considered.

JH/05 If main configuration option tls_certificate is unset, generate a
      self-signed certificate for inbound TLS connections.

JH/06 Bug 165: hide more cases of password exposure - this time in expansions
      in rewrites and routers.

JH/07 Retire gnutls_require_mac et.al.  These were nonfunctional since 4.80
      and logged a warning sing 4.83; now they are a configuration file error.

JH/08 Bug 1836: Fix crash in VRFY handling when handed an unqualified name
      (lacking @domain).  Apply the same qualification processing as RCPT.

JH/09 Bug 1804: Avoid writing msglog files when in -bh or -bhc mode.

JH/10 Support ${sha256:} applied to a string (as well as the previous
      certificate).

JH/11 Cutthrough: avoid using the callout hints db on a verify callout when
      a cutthrough deliver is pending, as we always want to make a connection.
      This also avoids re-routing the message when later placing the cutthrough
      connection after a verify cache hit.
      Do not update it with the verify result either.

JH/12 Cutthrough: disable when verify option success_on_redirect is used, and
      when routing results in more than one destination address.

JH/13 Cutthrough: expand transport dkim_domain option when testing for dkim
      signing (which inhibits the cutthrough capability).  Previously only
      the presence of an option was tested; now an expansion evaluating as
      empty is permissible (obviously it should depend only on data available
      when the cutthrough connection is made).

JH/14 Fix logging of errors under PIPELINING.  Previously the log line giving
      the relevant preceding SMTP command did not note the pipelining mode.

JH/15 Fix counting of empty lines in $body_linecount and $message_linecount.
      Previously they were not counted.

JH/16 DANE: treat a TLSA lookup response having all non-TLSA RRs, the same
      as one having no matching records.  Previously we deferred the message
      that needed the lookup.

JH/17 Fakereject: previously logged as a norml message arrival "<="; now
      distinguished as "(=".

JH/18 Bug 1867: make the fail_defer_domains option on a dnslookup router work
      for missing MX records.  Previously it only worked for missing A records.

JH/19 Bug 1850: support Radius libraries that return REJECT_RC.

JH/20 Bug 1872: Ensure that acl_smtp_notquit is run when the connection drops
      after the data-go-ahead and data-ack.  Patch from Jason Betts.

JH/21 Bug 1846: Send DMARC forensic reports for reject and quaratine results,
      even for a "none" policy.  Patch from Tony Meyer.

JH/22 Fix continued use of a connection for further deliveries. If a port was
      specified by a router, it must also match for the delivery to be
      compatible.

JH/23 Bug 1874: fix continued use of a connection for further deliveries.
      When one of the recipients of a message was unsuitable for the connection
      (has no matching addresses), we lost track of needing to mark it
      deferred.  As a result mail would be lost.

JH/24 Bug 1832: Log EHLO response on getting conn-close response for HELO.

JH/25 Decoding ACL controls is now done using a binary search; the source code
      takes up less space and should be simpler to maintain.  Merge the ACL
      condition decode tables also, with similar effect.

JH/26 Fix problem with one_time used on a redirect router which returned the
      parent address unchanged.  A retry would see the parent address marked as
      delivered, so not attempt the (identical) child.  As a result mail would
      be lost.

JH/27 Fix a possible security hole, wherein a process operating with the Exim
      UID can gain a root shell.  Credit to http://www.halfdog.net/ for
      discovery and writeup.  Ubuntu bug 1580454; no bug raised against Exim
      itself :(

JH/28 Enable {spool,log} filesystem space and inode checks as default.
      Main config options check_{log,spool}_{inodes,space} are now
      100 inodes, 10MB unless set otherwise in the configuration.

JH/29 Fix the connection_reject log selector to apply to the connect ACL.
      Previously it only applied to the main-section connection policy
      options.

JH/30 Bug 1897: fix callouts connection fallback from TLS to cleartext.

PP/01 Changed default Diffie-Hellman parameters to be Exim-specific, created
      by me.  Added RFC7919 DH primes as an alternative.

PP/02 Unbreak build via pkg-config with new hash support when crypto headers
      are not in the system include path.

JH/31 Fix longstanding bug with aborted TLS server connection handling.  Under
      GnuTLS, when a session startup failed (eg because the client disconnected)
      Exim did stdio operations after fclose.  This was exposed by a recent
      change which nulled out the file handle after the fclose.

JH/32 Bug 1909: Fix OCSP proof verification for cases where the proof is
      signed directly by the cert-signing cert, rather than an intermediate
      OCSP-signing cert.  This is the model used by LetsEncrypt.

JH/33 Bug 1914: Ensure socket is nonblocking before draining after SMTP QUIT.

HS/01 Fix leak in verify callout under GnuTLS, about 3MB per recipient on
      an incoming connection.

HS/02 Bug 1802: Do not half-close the connection after sending a request
      to rspamd.

HS/03 Use "auto" as the default EC curve parameter. For OpenSSL < 1.0.2
      fallback to "prime256v1".

JH/34 SECURITY: Use proper copy of DATA command in error message.
      Could leak key material.  Remotely explaoitable.  CVE-2016-9963.

ok wiz@
2016-12-25 11:29:54 +00:00
ryoon
36ed025474 Recursive revbump from textproc/icu 58.1 2016-12-04 05:17:03 +00:00
wiz
982c8f22e9 Recursive bump for all users of pgsql now that the default is 95. 2016-10-09 21:41:55 +00:00
wiz
2b0a009d0e Bump PKGREVISION for perl-5.24.0 for everything mentioning perl. 2016-07-09 06:37:46 +00:00
wiedi
48c791c1b8 since 4.87 redis lookup is no longer experimental 2016-06-11 00:37:24 +00:00
jperkin
36e6903fd8 Remove the stability entity, it has no meaning outside of an official context. 2016-06-08 10:16:50 +00:00
jperkin
31ffe7cbb6 Change the service_bundle name to "export" to reduce diffs between the
original manifest.xml file and the output from "svccfg export".
2016-06-08 09:46:01 +00:00
ryoon
ac20a93574 Recursive revbump from textproc/icu 57.1 2016-04-11 19:01:33 +00:00
adam
e335cf5b04 Version 4.87
1. The ACL conditions regex and mime_regex now capture substrings
    into numeric variables $regex1 to 9, like the "match" expansion condition.

 2. New $callout_address variable records the address used for a spam=,
    malware= or verify= callout.

 3. Transports now take a "max_parallel" option, to limit concurrency.

 4. Expansion operators ${ipv6norm:<string>} and ${ipv6denorm:<string>}.
    The latter expands to a 8-element colon-sep set of hex digits including
    leading zeroes. A trailing ipv4-style dotted-decimal set is converted
    to hex.  Pure ipv4 addresses are converted to IPv4-mapped IPv6.
    The former operator strips leading zeroes and collapses the longest
    set of 0-groups to a double-colon.

 5. New "-bP config" support, to dump the effective configuration.

 6. New $dkim_key_length variable.

 7. New base64d and base64 expansion items (the existing str2b64 being a
    synonym of the latter).  Add support in base64 for certificates.

 8. New main configuration option "bounce_return_linesize_limit" to
    avoid oversize bodies in bounces. The dafault value matches RFC
    limits.

 9. New $initial_cwd expansion variable.
2016-04-09 10:49:39 +00:00
jperkin
17661ff9a5 Bump PKGREVISION for security/openssl ABI bump. 2016-03-05 11:27:40 +00:00
wiedi
41f7384889 Update mail/exim and mail/exim-html to 4.86.2
Exim version 4.86.2
-------------------
Portability relase of 4.86.1

Exim version 4.86.1
-------------------
HS/04 Add support for keep_environment and add_environment options.
      This fixes CVE-2016-1531.

All installations having Exim set-uid root and using 'perl_startup' are
vulnerable to a local privilege escalation. Any user who can start an
instance of Exim (and this is normally *any* user) can gain root
privileges. If you do not use 'perl_startup' you *should* be safe.

New options
-----------

We had to introduce two new configuration options:

   keep_environment =
   add_environment =

Both options are empty per default. That is, Exim cleans the complete
environment on startup. This affects Exim itself and any subprocesses,
as transports, that may call other programs via some alias mechanisms,
as routers (queryprogram), lookups, and so on. This may affect used
libraries (e.g. LDAP).

** THIS MAY BREAK your existing installation **

If both options are not used in the configuration, Exim issues a warning
on startup. This warning disappears if at least one of these options is
used (even if set to an empty value).

keep_environment should contain a list of trusted environment variables.
(Do you trust PATH?). This may be a list of names and REs.

   keep_environment = ^LDAP_ : FOO_PATH

To add (or override) variables, you can use add_environment:

   add_environment = <; PATH=/sbin:/usr/sbin

New behaviour
-------------

Now Exim changes it's working directory to / right after startup,
even before reading it's configuration. (Later Exim changes it's working
directory to $spool_directory, as usual.)

Exim only accepts an absolute configuration file path now, when using
the -C option.
2016-03-02 20:13:18 +00:00
bsiegert
f3f5cb5f54 Update exim to 4.86.
Exim version 4.86
-----------------
JH/01 Bug 1545: The smtp transport option "retry_include_ip_address" is now
      expanded.

JH/02 The smtp transport option "multi_domain" is now expanded.

JH/03 The smtp transport now requests PRDR by default, if the server offers
      it.

JH/04 Certificate name checking on server certificates, when exim is a client,
      is now done by default.  The transport option tls_verify_cert_hostnames
      can be used to disable this per-host.  The build option
      EXPERIMENTAL_CERTNAMES is withdrawn.

JH/05 The value of the tls_verify_certificates smtp transport and main options
      default to the word "system" to access the system default CA bundle.
      For GnuTLS, only version 3.0.20 or later.

JH/06 Verification of the server certificate for a TLS connection is now tried
      (but not required) by default.  The verification status is now logged by
      default, for both outbound TLS and client-certificate supplying inbound
      TLS connections

JH/07 Changed the default rfc1413 lookup settings to disable calls.  Few
      sites use this now.

JH/08 The EXPERIMENTAL_DSN compile option is no longer needed; all Delivery
      Status Notification (bounce) messages are now MIME format per RFC 3464.
      Support for RFC 3461 DSN options NOTIFY,ENVID,RET,ORCPT can be advertised
      under the control of the dsn_advertise_hosts option, and routers may
      have a dsn_lasthop option.

JH/09 A timeout of 2 minutes is now applied to all malware scanner types by
      default, modifiable by a malware= option.  The list separator for
      the options can now be changed in the usual way.  Bug 68.

JH/10 The smtp_receive_timeout main option is now expanded before use.

JH/11 The incoming_interface log option now also enables logging of the
      local interface on delivery outgoing connections.

JH/12 The cutthrough-routing facility now supports multi-recipient mails,
      if the interface and destination host and port all match.

JH/13 Bug 344: The verify = reverse_host_lookup ACL condition now accepts a
      /defer_ok option.

JH/14 Bug 1573: The spam= ACL condition now additionally supports Rspamd.
      Patch from Andrew Lewis.

JH/15 Bug 670: The spamd_address main option (for the spam= ACL condition)
      now supports optional time-restrictions, weighting, and priority
      modifiers per server.  Patch originally by <rommer@active.by>.

JH/16 The spamd_address main option now supports a mixed list of local
      and remote servers.  Remote servers can be IPv6 addresses, and
      specify a port-range.

JH/17 Bug 68: The spamd_address main option now supports an optional
      timeout value per server.

JH/18 Bug 1581: Router and transport options headers_add/remove can
      now have the list separator specified.

JH/19 Bug 392: spamd_address, and clamd av_scanner, now support retry
      option values.

JH/20 Bug 1571: Ensure that $tls_in_peerdn is set, when verification fails
      under OpenSSL.

JH/21 Support for the A6 type of dns record is withdrawn.

JH/22 Bug 608: The result of a QUIT or not-QUIT toplevel ACL now matters
      rather than the verbs used.

JH/23 Bug 1572: Increase limit on SMTP confirmation message copy size
      from 255 to 1024 chars.

JH/24 Verification callouts now attempt to use TLS by default.

HS/01 DNSSEC options (dnssec_require_domains, dnssec_request_domains)
      are generic router options now. The defaults didn't change.

JH/25 Bug 466: Add RFC2322 support for MIME attachment filenames.
      Original patch from Alexander Shikoff, worked over by JH.

HS/02 Bug 1575: exigrep falls back to autodetection of compressed
      files if ZCAT_COMMAND is not executable.

JH/26 Bug 1539: Add timout/retry options on dnsdb lookups.

JH/27 Bug 286: Support SOA lookup in dnsdb lookups.

JH/28 Bug 1588: Do not use the A lookup following an AAAA for setting the FQDN.
      Normally benign, it bites when the pair was led to by a CNAME;
      modern usage is to not canoicalize the domain to a CNAME target
      (and we were inconsistent anyway for A-only vs AAAA+A).

JH/29 Bug 1632: Removed the word "rejected" from line logged for ACL discards.

JH/30 Check the forward DNS lookup for DNSSEC, in addition to the reverse,
      when evaluating $sender_host_dnssec.

JH/31 Check the HELO verification lookup for DNSSEC, adding new
      $sender_helo_dnssec variable.

JH/32 Bug 1397: Enable ECDHE on OpenSSL, just the NIST P-256 curve.

JH/33 Bug 1346: Note MAIL cmd seen in -bS batch, to avoid smtp_no_mail log.

JH/34 Bug 1648: Fix a memory leak seen with "mailq" and large queues.

JH/35 Bug 1642: Fix support of $spam_ variables at delivery time.  Was
      documented as working, but never had.  Support all but $spam_report.

JH/36 Bug 1659: Guard checking of input smtp commands again pseudo-command
      added for tls authenticator.
2016-01-10 20:55:56 +00:00