Commit graph

186 commits

Author SHA1 Message Date
ryoon
f8e628f818 * .include "../../devel/readline/buildlink3.mk" with USE_GNU_READLINE=yes
are replaced with .include "../../devel/readline/buildlink3.mk", and
  USE_GNU_READLINE are removed,

* .include "../../devel/readline/buildlink3.mk" without USE_GNU_READLINE
  are replaced with .include "../../mk/readline.buildlink3.mk".
2013-07-15 02:02:17 +00:00
jperkin
b091c2f172 Bump PKGREVISION of all packages which create users, to pick up change of
sysutils/user_* packages.
2013-07-12 10:44:52 +00:00
wiz
d2ca14a3f1 Bump all packages for perl-5.18, that
a) refer 'perl' in their Makefile, or
b) have a directory name of p5-*, or
c) have any dependency on any p5-* package

Like last time, where this caused no complaints.
2013-05-31 12:39:57 +00:00
adam
1ab43a036f Massive revbump after updating graphics/ilmbase, graphics/openexr, textproc/icu. 2013-05-09 07:39:04 +00:00
wiz
a8730d5aa1 Bump PKGREVISION for mysql default change to 55. 2013-03-02 20:33:21 +00:00
jperkin
becd113253 PKGREVISION bumps for the security/openssl 1.0.1d update. 2013-02-06 23:20:50 +00:00
adam
f4c3b89da7 Revbump after graphics/jpeg and textproc/icu 2013-01-26 21:36:13 +00:00
obache
64deda1dc9 recursive bump from cyrus-sasl libsasl2 shlib major bump. 2012-12-16 01:51:57 +00:00
abs
b89a3950d5 Updated mail/exim to 4.80.1
Exim version 4.80.1
-------------------

PP/01 SECURITY: protect DKIM DNS decoding from remote exploit.
      CVE-2012-5671
      This, or similar/improved, will also be change PP/11 of 4.81.

See: https://secunia.com/advisories/51098/
2012-10-30 20:12:20 +00:00
asau
d70c8e374b Drop PKG_DESTDIR_SUPPORT setting, "user-destdir" is default these days. 2012-10-08 12:19:01 +00:00
wiz
8b5d49eb78 Bump all packages that use perl, or depend on a p5-* package, or
are called p5-*.

I hope that's all of them.
2012-10-03 21:53:53 +00:00
wiz
f98e8b0585 Add inet6 to default suggested options. It's 2012. 2012-06-12 15:45:54 +00:00
adam
51c85ed596 Changes 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.
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").
2012-06-11 11:41:24 +00:00
obache
a6d5ad9edc Recursive bump from icu shlib major bumped to 49. 2012-04-27 12:31:32 +00:00
wiz
ee311e3b36 Recursive bump for pcre-8.30* (shlib major change) 2012-03-03 00:11:51 +00:00
sbd
0baf031533 Recursive dependency bump for databases/gdbm ABI_DEPENDS change. 2012-01-24 09:10:50 +00:00
adam
34b8f4c5f7 Changes 4.77:
* Solaris build fix for Oracle's LDAP libraries.
* HP/UX build fix: avoid arithmetic on a void pointer.
* DKIM Verification: Fix relaxed canon for empty headers w/o whitespace trailer
* Fix a couple more cases where we did not log the error message when unlink()
  failed.
* 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.
* Improved ratelimit ACL condition.
* Removed a few PCRE remnants.
* Automatically extract Exim's version number from tags in the git repository
  when doing development or release builds.
* Raise smtp_cmd_buffer_size to 16kB.
* Implement SSL-on-connect outbound with protocol=smtps on smtp transport.
* Use .dylib instead of .so for dynamic library loading on MacOS.
* Variable $av_failed, true if the AV scanner deferred.
* Stop make process more reliably on build failure.
* Make maildir_use_size_file an _expandable_ boolean.
* Handle ${run} returning more data than OS pipe buffer size.
* Handle IPv6 addresses with SPF.
* GnuTLS: support TLS 1.2 & 1.1.
* match_* no longer expand right-hand-side by default.
* fix uninitialised greeting string from PP/03 (smtps client support).
* shell and compiler warnings fixes for RC1-RC4 changes.
2011-10-10 12:20:49 +00:00
obache
c5d8a2a356 Recursive bump from gdbm shlib bump. 2011-08-23 13:06:45 +00:00
obache
9297f1831d recursive bump from icu shlib major bump. 2011-06-10 21:57:06 +00:00
adam
7b525521e4 Changes 4.76:
* The new ldap_require_cert option would segfault if used.  Fixed.
* Harmonised TLS library version reporting; only show if debugging.
  Layout now matches that introduced for other libraries in 4.74 PP/03.
* New openssl_options items: no_sslv2 no_sslv3 no_ticket no_tlsv1
* New "dns_use_edns0" global option.
* Don't segfault on misconfiguration of ref:name exim-user as uid.
* Extra paranoia around buffer usage at the STARTTLS transition.
  nb: Exim is not vulnerable to http://www.kb.cert.org/vuls/id/555316
* Updated PolarSSL code to 0.14.2.
* Catch divide-by-zero in ${eval:...}.
* Condition negation of bool{}/bool_lax{} did not negate.  Fixed.
* CVE-2011-1764 - DKIM log line was subject to a format-string attack --
  SECURITY: remote arbitrary code execution.
* SECURITY - DKIM signature header parsing was double-expanded, second
  time unintentionally subject to list matching rules, letting the header
  cause arbitrary Exim lookups (of items which can occur in lists, *not*
  arbitrary string expansion). This allowed for information disclosure.
* Fix another SIGFPE (x86) in ${eval:...} expansion, this time related to
  INT_MIN/-1 -- value coerced to INT_MAX.
2011-05-09 13:30:47 +00:00
drochner
0a04ae0a94 add patch from upstream to fix format string vulnerability (CVE-2011-1764)
bump PKGREV
2011-05-07 14:32:02 +00:00
adam
f58d4fb628 Changes 4.75:
1. In addition to the existing LDAP and LDAP/SSL ("ldaps") support, there
   is now LDAP/TLS support, given sufficiently modern OpenLDAP client
   libraries.  The following global options have been added in support of
   this: ldap_ca_cert_dir, ldap_ca_cert_file, ldap_cert_file, ldap_cert_key,
   ldap_cipher_suite, ldap_require_cert, ldap_start_tls.
2. The pipe transport now takes a boolean option, "freeze_signal", default
   false.  When true, if the external delivery command exits on a signal then
   Exim will freeze the message in the queue, instead of generating a bounce.
3. Log filenames may now use %M as an escape, instead of %D (still available).
   The %M pattern expands to yyyymm, providing month-level resolution.
4. The $message_linecount variable is now updated for the maildir_tag option,
   in the same way as $message_size, to reflect the real number of lines,
   including any header additions or removals from transport.
5. When contacting a pool of SpamAssassin servers configured in spamd_address,
   Exim now selects entries randomly, to better scale in a cluster setup.
2011-03-22 13:52:19 +00:00
adam
2ed86c4d65 Changes 4.74:
* Failure to get a lock on a hints database can have serious
  consequences so log it to the panic log.
* Log LMTP confirmation messages in the same way as SMTP,
  controlled using the smtp_confirmation log selector.
* Include the error message when we fail to unlink a spool file.
* Bugzilla 139: Support dynamically loaded lookups as modules.
* Bugzilla 139: Documentation and portability issues.
  Avoid GNU Makefile-isms, let Exim continue to build on BSD.
  Handle per-OS dynamic-module compilation flags.
* Let /dev/null have normal permissions.
  The 4.73 fixes were a little too stringent and complained about the
  permissions on /dev/null.  Exempt it from some checks.
* Report version information for many libraries, including
  Exim version information for dynamically loaded libraries.  Created
  version.h, now support a version extension string for distributors
  who patch heavily. Dynamic module ABI change.
* CVE-2011-0017 - check return value of setuid/setgid. This is a
  privilege escalation vulnerability whereby the Exim run-time user
  can cause root to append content of the attacker's choosing to
  arbitrary files.
* Bugzilla 1041: merged DCC maintainer's fixes for return code.
* Bugzilla 1071: fix delivery logging with untrusted macros.
  If dropping privileges for untrusted macros, we disabled normal logging
  on the basis that it would fail; for the Exim run-time user, this is not
  the case, and it resulted in successful deliveries going unlogged.
2011-01-27 07:48:51 +00:00
adam
9c709e4278 Changes 4.73:
* Date: & Message-Id: revert to normally being appended to a message,
  only prepend for the Resent-* case.  Fixes regression introduced in
  Exim 4.70 by NM/22 for Bugzilla 607.
* Include check_rfc2047_length in configure.default because we're seeing
  increasing numbers of administrators be bitten by this.
* Added DISABLE_DKIM and comment to src/EDITME
* Bugzilla 994: added openssl_options main configuration option.
* Bugzilla 995: provide better SSL diagnostics on failed reads.
* Bugzilla 834: provide a permit_coredump option for pipe transports.
* Adjust NTLM authentication to handle SASL Initial Response.
* If TLS negotiated an anonymous cipher, we could end up with SSL but
  without a peer certificate, leading to a segfault because of an
  assumption that peers always have certificates.  Be a little more paranoid.
* Bugzilla 926: switch ClamAV to use the new zINSTREAM API for content
  filtering; old API available if built with WITH_OLD_CLAMAV_STREAM=yes
  NB: ClamAV planning to remove STREAM in "middle of 2010".
  CL also introduces -bmalware, various -d+acl logging additions and
  more caution in buffer sizes.
* Implemented reverse_ip expansion operator.
* Bugzilla 937: provide a "debug" ACL control.
* Bugzilla 922: Documentation dusting, patch provided by John Horne.
* Bugzilla 973: Implement --version.
* Bugzilla 752: Refuse to build/run if Exim user is root/0.
* Build without WITH_CONTENT_SCAN. Path from Andreas Metzler.
* Bugzilla 816: support multiple condition rules on Routers.
* Add bool_lax{} expansion operator and use that for combining multiple
  condition rules, instead of bool{}.  Make both bool{} and bool_lax{}
  ignore trailing whitespace.
* prevent non-panic DKIM error from being sent to paniclog
* added tcp_wrappers_daemon_name to allow host entries other than
  "exim" to be used
* Fix malware regression for cmdline scanner introduced in PP/08.
  Notification from Dr Andrew Aitchison.
* Change ClamAV response parsing to be more robust and to handle ClamAV's
  ExtendedDetectionInfo response format.
* OpenSSL 1.0.0a compatibility const-ness change, should be backwards
  compatible.
2011-01-12 07:52:44 +00:00
adam
ff11469b70 * Fix resolver on NetBSD when Exim is linked with pthreads (e.g. when using
sqlite).
* Pass LDFLAGS for linking (useful with different SDKs on Mac OS X).
2010-11-08 13:59:11 +00:00
adam
86edac973a Added optional support for SPF 2010-09-17 12:01:37 +00:00
adam
7935ac0388 Changes 4.72:
* installed exipick 20100104.1, adding $max_received_linelength, $data_path,
  and $header_path variables; fixed documentation bugs and typos
* installed exipick 20100222.0, added --input-dir and --finput to allow
   exipick to access non-standard spools, including the "frozen" queue (Finput)
* Support mysql stored procedures.
* Spacing fix (syntax error) on Makefile directives for NetBSD
* Documentation fix for max_rcpts.
* Fix for unknown responses from Dovecot authenticator.
* Added umask to procmail example.
* installed exipick 20100323.0, fixing doc bug
* CVE-2010-2023 - prevent hardlink attack on sticky mail directory.
* Upgrade PolarSSL files to upstream version 0.12.1.
* Improve log output when DKIM signing operation fails.
* Treat the transport option dkim_domain as a colon separated list, not as
  a single string, and sign the message with each element, omitting multiple
  occurences of the same signer.
* Null terminate DKIM strings, Null initialise DKIM variable
* dnsdb DNS TXT record bug fix (DKIM-related)
* CVE-2010-2024 - work round race condition on MBX locking.
2010-06-06 14:15:30 +00:00
adam
ea28d368b6 Fix building with db5; revision bump for db4 update 2010-06-02 12:53:49 +00:00
heinz
dc79d1c9bc Added complete support for installation to DESTDIR. The Exim executable
file cannot run without EXIM_USER being present on the system, so
scripts/exim_install was changed to derive the Exim version from the
pkgsrc package version (see PKGSRC_EXIM_VERSION in the Makefile and patch-ae).

Added LICENSE information.

Ok'd by abs@
2010-01-31 21:06:29 +00:00
zafer
e133c359db use official mirrors, remove broken ones. 2010-01-15 20:48:08 +00:00
abs
05602c986d Add missing doc/spec.txt to install & PLIST 2009-12-30 13:24:50 +00:00
adam
5cec4e6b20 Changes 4.71:
* Fix DKIM segfault on empty headers/body
* Documentation fix for gnutls_* options.
* Documentation for randint.  Better randomness defaults.
* Enable DNSDB lookup by default.
* Flag broken perl installation during build.
2009-12-07 14:29:09 +00:00
adam
1d2c4c3528 Changes 4.70:
* Added patch by Johannes Berg that expands the main option
  "spamd_servers" if it starts with a dollar sign.
* Write list of recipients to X-Envelope-Sender header when building
  the mbox-format spool file for content scanning.
* Added patch by Wolfgang Breyha that adds experimental DCC
  (http://www.dcc-servers.net/) support via dccifd. Activated by
  setting EXPERIMENTAL_DCC=yes in Local/Makefile. Check out
  experimental_spec.txt for more documentation.
* Bugzilla 673: Add f-protd malware scanner support.
* Bugzilla 657: Embedded PCRE removed from the exim source tree.
  When building exim an external PCRE library is now needed -
  PCRE is a system library on the majority of modern systems.
  See entry on PCRE_LIBS in EDITME file.
* Bugzilla 646: Removed unwanted C/R in Dovecot authenticator
  conversation.  Added nologin parameter to request.
* Do not log submission mode rewrites if they do not change the address.
* Bugzilla 662: Fix stack corruption before exec() in daemon.c.
* Bugzilla 602: exicyclog now handles panic log, and creates empty
  log files in place.  Contributed by Roberto Lima
* Bugzilla 667: close socket used by dovecot authenticator
* Bugzilla 615: When checking the local_parts router precondition
  after a local_part_suffix or local_part_prefix option, Exim now
  does not use the address's named list lookup cache, since this
  contains cached lookups for the whole local part.
* Bugzilla 521: Integrated SPF Best Guess support contributed by
  Robert Millan.  Documentation is in experimental-spec.txt
* Bugzilla 668: Fix parallel build (make -j).
* Bugzilla 437: Prevent Maildir aux files being created with mode 000
* Bugzilla 598: Improvement to Dovecot authenticator handling.
* Leading white space used to be stripped from $spam_report which
  wrecked the formatting. Now it is preserved.
* Save $spam_score, $spam_bar, and $spam_report in spool files, so
  that they are available at delivery time.
* Fix the way ${extract is skipped in the untaken branch of a conditional.
* TLS error reporting now respects the incoming_interface and
  incoming_port log selectors.
* more...
2009-11-17 06:39:32 +00:00
joerg
62d1ba2bac Remove @dirrm entries from PLISTs 2009-06-14 18:03:28 +00:00
abs
6d30372b9b Add PKG_DESTDIR_SUPPORT=destdir 2009-02-13 15:28:03 +00:00
abs
f28f1f5ae0 Update exim to 4.69nb4
- Add support for getifaddrs() and enable on NetBSD - submitted back to
  exim bugzilla as http://bugs.exim.org/show_bug.cgi?id=802
- Increase size of addrbuf[512] used in old style ioctl() version of
  os_common_find_running_interfaces()
Fixes issue on NetBSD 5.0
2009-01-12 18:59:24 +00:00
wiz
285b7dd776 Bump PKGREVISION for libXaw API depends bump due to libXaw8 removal. 2008-11-10 17:21:33 +00:00
wiz
eade93ffe2 Bump PKGREVISION for db4 shlib name change (4.6 -> 4.7).
Noted by OBATA Akio.
2008-09-07 11:24:27 +00:00
rillig
8e7814a8da Fixed pkglint warning about BUILD_DEFS. 2008-01-31 13:05:36 +00:00
tnn
ad6ceadd25 Per the process outlined in revbump(1), perform a recursive revbump
on packages that are affected by the switch from the openssl 0.9.7
branch to the 0.9.8 branch. ok jlam@
2008-01-18 05:06:18 +00:00
adam
54a2627574 Changes 4.69:
* Add preliminary DKIM support.
* Bugzilla 592: --help option is handled incorrectly if exim is invoked
  as mailq or other aliases.  Changed the --help handling significantly
  to do whats expected.  exim_usage() emits usage/help information.
* Added the -bylocaldomain option to eximstats.
* Bugzilla 619: Defended against bad data coming back from gethostbyaddr
* Bugzilla 613: Documentation fix for acl_not_smtp
* Bugzilla 628: PCRE update to 7.4 (work done by John Hall)
2008-01-14 18:57:38 +00:00
adam
16a9853a85 Added 'readline' option, and MAKE_JOBS_SAFE=no 2007-12-15 16:04:41 +00:00
adam
12854537d6 Changes 4.68:
* Bug fixes
2007-10-14 19:14:57 +00:00
abs
f618aac9f1 Update to exim-4.67nb1:
- When -inet6, explicitly set HAVE_IPV6=NO to avoid use of any inet6 APIs
Note: For entertainment purposes build a NetBSD distribution with
'MKINET=no' and see what breaks in pkgsrc
2007-09-11 18:16:01 +00:00
joerg
3a42a92c1b Fix modular Xorg support. Untested though, as it doesn't fully build
on NetBSD/current.
2007-08-17 22:55:52 +00:00
jlam
4390d56940 Make it easier to build and install packages "unprivileged", where
the owner of all installed files is a non-root user.  This change
affects most packages that require special users or groups by making
them use the specified unprivileged user and group instead.

(1) Add two new variables PKG_GROUPS_VARS and PKG_USERS_VARS to
    unprivileged.mk.  These two variables are lists of other bmake
    variables that define package-specific users and groups.  Packages
    that have user-settable variables for users and groups, e.g. apache
    and APACHE_{USER,GROUP}, courier-mta and COURIER_{USER,GROUP},
    etc., should list these variables in PKG_USERS_VARS and PKG_GROUPS_VARS
    so that unprivileged.mk can know to set them to ${UNPRIVILEGED_USER}
    and ${UNPRIVILEGED_GROUP}.

(2) Modify packages to use PKG_GROUPS_VARS and PKG_USERS_VARS.
2007-07-04 20:54:31 +00:00
abs
214bbd8234 Update mail/exim to 4.67:
Prompted by report from Peter Avalos that exim 4.66 would not build
	against openssl 0.9.8e

Changelog:

MH/01 Fix for bug #448, segfault in Dovecot authenticator when interface_address
      is unset (happens when testing with -bh and -oMi isn't used). Thanks to
      Jan Srzednicki.

PH/01 Added a new log selector smtp_no_mail, to log SMTP sessions that do not
      issue a MAIL command.

PH/02 In an ACL statement such as

        deny dnslists = X!=127.0.0.2 : X=127.0.0.2

      if a client was not listed at all, or was listed with a value other than
      127.0.0.2, in the X list, but was listed with 127.0.0.2 in the Y list,
      the condition was not true (as it should be), so access was not denied.
      The bug was that the ! inversion was incorrectly passed on to the second
      item. This has been fixed.

PH/03 Added additional dnslists conditions == and =& which are different from
      = and & when the dns lookup returns more than one IP address.

PH/04 Added gnutls_require_{kx,mac,protocols} to give more control over the
      cipher suites used by GnuTLS. These options are ignored by OpenSSL.

PH/05 After discussion on the list, added a compile time option ENABLE_DISABLE_
      FSYNC, which compiles an option called disable_fsync that allows for
      bypassing fsync(). The documentation is heavily laced with warnings.

SC/01 Updated eximstats to collate all SpamAssassin rejects into one bucket.

PH/06 Some tidies to the infrastructure of the Test Suite that is concerned
      with the auxiliary C programs that it uses: (1) Arrange for BIND_8_COMPAT
      to be defined when compiling on OSX (Darwin); (2) Tidies to the Makefile,
      including adding "make clean"; (3) Added -fPIC when compiling the test
      dynamically loaded module, to get rid of a warning.

MH/02 Fix for bug #451, causing paniclog entries to be written if a bounce
      message fails, move_frozen_messages = true and ignore_bounce_errors_after
      = 0s. The bug is otherwise harmless.

PH/07 There was a bug in the dovecot authenticator such that the value of
      $auth1 could be overwritten, and so not correctly preserved, after a
      successful authentication. This usually meant that the value preserved by
      the server_setid option was incorrect.

PH/08 Added $smtp_count_at_connection_start, deliberately with a long name.

PH/09 Installed PCRE release 7.0.

PH/10 The acl_not_smtp_start ACL was, contrary to the documentation, not being
      run for batched SMTP input. It is now run at the start of every message
      in the batch. While fixing this I discovered that the process information
      (output by running exiwhat) was not always getting set for -bs and -bS
      input. This is fixed, and it now also says "batched" for BSMTP.

PH/11 Added control=no_pipelining.

PH/12 Added $sending_ip_address and $sending_port (mostly Magnus Holmgren's
      patch, slightly modified), and move the expansion of helo_data till after
      the connection is made in the smtp transport (so it can use these
      values).

PH/13 Added ${rfc2047d: to decoded RFC 2047 strings.

PH/14 Added log_selector = +pid.

PH/15 Flush SMTP output before delaying, unless control=no_delay_flush is set.

PH/16 Add ${if forany and ${if forall.

PH/17 Added dsn_from option to vary the From: line in DSNs.

PH/18 Flush SMTP output before performing a callout, unless control =
      no_callout_flush is set.

PH/19 Change 4.64/PH/36 introduced a bug: when address_retry_include_sender
      was true (the default) a successful delivery failed to delete the retry
      item, thus causing premature timeout of the address. The bug is now
      fixed.

PH/20 Added hosts_avoid_pipelining to the smtp transport.

PH/21 Long custom messages for fakedefer and fakereject are now split up
      into multiline reponses in the same way that messages for "deny" and
      other ACL rejections are.

PH/22 Applied Jori Hamalainen's speed-up changes and typo fixes to exigrep,
      with slight modification.

PH/23 Applied sieve patches from the maintainer "tracking the latest notify
      draft, changing the syntax and factoring some duplicate code".

PH/24 When the log selector "outgoing_port" was set, the port was shown as -1
      for deliveries of the second and subsequent messages over the same SMTP
      connection.

PH/25 Applied Magnus Holmgren's patch for ${addresses, ${map, ${filter, and
      ${reduce, with only minor "tidies".

SC/02 Applied Daniel Tiefnig's patch to improve the '($parent) =' pattern match.

PH/26 Added a "continue" ACL modifier that does nothing, for the benefit of its
      expansion side effects.

PH/27 When a message times out after an over-quota error from an Exim-imposed
      quota, the bounce message says "mailbox is full". This message was not
      being given when it was a system quota that was exceeded. It now should
      be the same.

MH/03 Made $recipients available in local_scan(). local_scan() already has
      better access to the recipient list through recipients_list[], but
      $recipients can be useful in postmaster-provided expansion strings.

PH/28 The $smtp_command and $smtp_command_argument variables were not correct
      in the case of a MAIL command with additional options following the
      address, for example: MAIL FROM:<foo@bar> SIZE=1234. The option settings
      were accidentally chopped off.

PH/29 SMTP synchronization checks are implemented when a command is read -
      there is a check that no more input is waiting when there shouldn't be
      any. However, for some commands, a delay in an ACL can mean that it is
      some time before the response is written. In this time, more input might
      arrive, invalidly. So now there are extra checks after an ACL has run for
      HELO/EHLO and after the predata ACL, and likewise for MAIL and RCPT when
      pipelining has not been advertised.

PH/30 MH's patch to allow iscntrl() characters to be list separators.

PH/31 Unlike :fail:, a custom message specified with :defer: was not being
      returned in the SMTP response when smtp_return_error_details was false.
      This has been fixed.

PH/32 Change the Dovecot authenticator to use read() and write() on the socket
      instead of the C I/O that was originally supplied, because problems were
      reported on Solaris.

PH/33 Compile failed with OpenSSL 0.9.8e. This was due to a coding error in
      Exim which did not show up earlier: it was assuming that a call to
      SSL_CTX_set_info_callback() might give an error value. In fact, there is
      no error. In previous releases of OpenSSL, SSL_CTX_set_info_callback()
      was a macro that became an assignment, so it seemed to work. This has
      changed to a proper function call with a void return, hence the compile
      error. Exim's code has been fixed.

PH/34 Change HDA_SIZE in oracle.c from 256 to 512. This is needed for 64-bit
      cpus.

PH/35 Applied a patch from the Sieve maintainer which fixes a bug in "notify".

PH/36 Applied John Jetmore's patch to add -v functionality to exigrep.

PH/37 If a message is not accepted after it has had an id assigned (e.g.
      because it turns out to be too big or there is a timeout) there is no
      "Completed" line in the log. When some messages of this type were
      selected by exigrep, they were listed as "not completed". Others were
      picked up by some special patterns. I have improved the selection
      criteria to be more general.

PH/38 The host_find_failed option in the manualroute router can now be set
      to "ignore", to completely ignore a host whose IP address cannot be
      found. If all hosts are ignored, the behaviour is controlled by the new
      host_all_ignored option.

PH/39 In a list of hosts for manualroute, if one item (either because of multi-
      homing or because of multiple MX records with /mx) generated more than
      one IP address, and the following item turned out to be the local host,
      all the secondary addresses of the first item were incorrectly removed
      from the list, along with the local host and any following hosts (which
      is what is supposed to happen).

PH/40 When Exim receives a message, it writes the login name, uid, and gid of
      whoever called Exim into the -H file. In the case of the daemon it was
      behaving confusingly. When first started, it used values for whoever
      started the daemon, but after a SIGHUP it used the Exim user (because it
      calls itself on a restart). I have changed the code so that it now always
      uses the Exim user.

PH/41 (Following a suggestion from Tony Finch) If all the RCPT commands in a
      message are rejected with the same error (e.g. no authentication or bad
      sender address), and a DATA command is nevertheless sent (as can happen
      with PIPELINING or a stupid MUA), the error message that was given to the
      RCPT commands is included in the rejection of the DATA command. This is
      intended to be helpful for MUAs that show only the final error to their
      users.

PH/42 Another patch from the Sieve maintainer.

SC/02 Eximstats - Differentiate between permanent and temporary rejects.
      Eximstats - Fixed some broken HTML links and added missing column headers
                  (Jez Hancock).
      Eximstats - Fixed Grand Total Summary Domains, Edomains, and Email
                  columns for Rejects, Temp Rejects, Ham, and Spam rows.

SC/03 Eximstats - V1.58 Fix to get <> and blackhole to show in edomain tables.

PH/43 Yet another patch from the Sieve maintainer.

PH/44 I found a way to check for a TCP/IP connection going away before sending
      the response to the final '.' that terminates a message, but only in the
      case where the client has not sent further data following the '.'
      (unfortunately, this is allowed). However, in many cases there won't be
      any further data because there won't be any more messages to send. A call
      to select() can be used: if it shows that the input is "ready", there is
      either input waiting, or the socket has been closed. An attempt to read
      the next input character can distinguish the two cases. Previously, Exim
      would have sent an OK response which the client would never have see.
      This could lead to message repetition. This fix should cure that, at
      least in a lot of common cases.

PH/45 Do not advertise STARTTLS in response to HELP unless it would be
      advertised in response to EHLO.
2007-06-24 10:55:40 +00:00
wiz
5f13cd82c8 PKGREVISION bump for db4 shlib name change.
Noted by OBATA Akio.
2007-06-08 13:11:53 +00:00
abs
f5144eff6d add exim-auth-dovecot and EXIM_MAX_INCLUDE_SIZE. both disabled by default 2007-05-18 14:24:11 +00:00
abs
48b41c8a45 Update mail/exim from 4.63 to 4.66
Exim version 4.66
-----------------

PH/01 Two more bugs that were introduced by 4.64/PH/07, in addition to the one
      fixed by 4.65/MH/01 (is this a record?) are fixed:

      (i)  An empty string was always treated as zero by the numeric comparison
           operators. This behaviour has been restored.

      (ii) It is documented that the numeric comparison operators always treat
           their arguments as decimal numbers. This was broken in that numbers
           starting with 0 were being interpreted as octal.

      While fixing these problems I realized that there was another issue that
      hadn't been noticed. Values of message_size_limit (both the global option
      and the transport option) were treated as octal if they started with 0.
      The documentation was vague. These values are now always treated as
      decimal, and I will make that clear in the documentation.


Exim version 4.65
-----------------

TK/01 Disable default definition of HAVE_LINUX_SENDFILE. Clashes with
      Linux large file support (_FILE_OFFSET_BITS=64) on older glibc
      versions. (#438)

MH/01 Don't check that the operands of numeric comparison operators are
      integers when their expansion is in "skipping" mode (fixes bug
      introduced by 4.64-PH/07).

PH/01 If a system filter or a router generates more than SHRT_MAX (32767)
      child addresses, Exim now panics and dies. Previously, because the count
      is held in a short int, deliveries were likely to be lost. As such a
      large number of recipients for a single message is ridiculous
      (performance will be very, very poor), I have chosen to impose a limit
      rather than extend the field.


Exim version 4.64
-----------------

TK/01 Bugzilla #401. Fix DK spooling code so that it can overwrite a
      leftover -K file (the existence of which was triggered by #402).
      While we were at it, introduced process PID as part of the -K
      filename. This should rule out race conditions when creating
      these files.

TK/02 Bugzilla #402. Apply patch from Simon Arlott, speeding up DK signing
      processing considerably. Previous code took too long for large mails,
      triggering a timeout which in turn triggers #401.

TK/03 Introduced HAVE_LINUX_SENDFILE to os.h-Linux. Currently only used
      in the DK code in transports.c. sendfile() is not really portable,
      hence the _LINUX specificness.

TF/01 In the add_headers option to the mail command in an Exim filter,
      there was a bug that Exim would claim a syntax error in any
      header after the first one which had an odd number of characters
      in the field name.

PH/01 If a server that rejects MAIL FROM:<> was the target of a sender
      callout verification, Exim cached a "reject" for the entire domain. This
      is correct for most verifications, but it is not correct for a recipient
      verification with use_sender or use_postmaster set, because in that case
      the callout does not use MAIL FROM:<>. Exim now distinguishes the special
      case of MAIL FROM:<> rejection from other early rejections (e.g.
      rejection of HELO). When verifying a recipient using a non-null MAIL
      address, the cache is ignored if it shows MAIL FROM:<> rejection.
      Whatever the result of the callout, the value of the domain cache is
      left unchanged (for any other kind of callout, getting as far as trying
      RCPT means that the domain itself is ok).

PH/02 Tidied a number of unused variable and signed/unsigned warnings that
      gcc 4.1.1 threw up.

PH/03 On Solaris, an unexpectedly close socket (dropped connection) can
      manifest itself as EPIPE rather than ECONNECT. When tidying away a
      session, the daemon ignores ECONNECT errors and logs others; it now
      ignores EPIPE as well.

PH/04 Applied Nico Erfurth's refactoring patch to tidy up mime.c
      (quoted-printable decoding).

PH/05 Applied Nico Erfurth's refactoring patch to tidy up spool_mbox.c, and
      later the small subsequent patch to fix an introduced bug.

PH/06 Installed the latest Cygwin Makefile from the Cygwin maintainer.

PH/07 There was no check for overflow in expansions such as ${if >{1}{4096M}}.

PH/08 An error is now given if message_size_limit is specified negative.

PH/09 Applied and tidied up Jakob Hirsch's patch for allowing ACL variables
      to be given (somewhat) arbitrary names.

JJ/01 exipick 20060919.0, allow for arbitrary acl_ variables introduced
      in 4.64-PH/09.

JJ/02 exipick 20060919.0, --show-vars args can now be regular expressions,
      miscellaneous code fixes

PH/10 Added the log_reject_target ACL modifier to specify where to log
      rejections.

PH/11 Callouts were setting the name used for EHLO/HELO from $smtp_active_
      hostname. This is wrong, because it relates to the incoming message (and
      probably the interface on which it is arriving) and not to the outgoing
      callout (which could be using a different interface). This has been
      changed to use the value of the helo_data option from the smtp transport
      instead - this is what is used when a message is actually being sent. If
      there is no remote transport (possible with a router that sets up host
      addresses), $smtp_active_hostname is used.

PH/12 Installed Andrey Panin's patch to add a dovecot authenticator. Various
      tweaks were necessary in order to get it to work (see also 21 below):
      (a) The code assumed that strncpy() returns a negative number on buffer
          overflow, which isn't the case. Replaced with Exim's string_format()
          function.
      (b) There were several signed/unsigned issues. I just did the minimum
          hacking in of casts. There is scope for a larger refactoring.
      (c) The code used strcasecmp() which is not a standard C function.
          Replaced with Exim's strcmpic() function.
      (d) The code set only $1; it now sets $auth1 as well.
      (e) A simple test gave the error "authentication client didn't specify
          service in request". It would seem that Dovecot has changed its
          interface. Fortunately there's a specification; I followed it and
          changed what the client sends and it appears to be working now.

PH/13 Added $message_headers_raw to provide the headers without RFC 2047
      decoding.

PH/14 Corrected misleading output from -bv when -v was also used. Suppose the
      address A is aliased to B and C, where B exists and C does not. Without
      -v the output is "A verified" because verification stops after a
      successful redirection if more than one address is generated. However,
      with -v the child addresses are also verified. Exim was outputting "A
      failed to verify" and then showing the successful verification for C,
      with its parentage. It now outputs "B failed to verify", showing B's
      parentage before showing the successful verification of C.

PH/15 Applied Michael Deutschmann's patch to allow DNS black list processing to
      look up a TXT record in a specific list after matching in a combined
      list.

PH/16 It seems that the options setting for the resolver (RES_DEFNAMES and
      RES_DNSRCH) can affect the behaviour of gethostbyname() and friends when
      they consult the DNS. I had assumed they would set it the way they
      wanted; and indeed my experiments on Linux seem to show that in some
      cases they do (I could influence IPv6 lookups but not IPv4 lookups).
      To be on the safe side, however, I have now made the interface to
      host_find_byname() similar to host_find_bydns(), with an argument
      containing the DNS resolver options. The host_find_byname() function now
      sets these options at its start, just as host_find_bydns() does. The smtp
      transport options dns_qualify_single and dns_search_parents are passed to
      host_find_byname() when gethostbyname=TRUE in this transport. Other uses
      of host_find_byname() use the default settings of RES_DEFNAMES
      (qualify_single) but not RES_DNSRCH (search_parents).

PH/17 Applied (a modified version of) Nico Erfurth's patch to make
      spool_read_header() do less string testing, by means of a preliminary
      switch on the second character of optional "-foo" lines. (This is
      overdue, caused by the large number of possibilities that now exist.
      Originally there were few.) While I was there, I also converted the
      str(n)cmp tests so they don't re-test the leading "-" and the first
      character, in the hope this might squeeze out yet more improvement.

PH/18 Two problems with "group" syntax in header lines when verifying: (1) The
      flag allowing group syntax was set by the header_syntax check but not
      turned off, possible causing trouble later; (2) The flag was not being
      set at all for the header_verify test, causing "group"-style headers to
      be rejected. I have now set it in this case, and also caused header_
      verify to ignore an empty address taken from a group. While doing this, I
      came across some other cases where the code for allowing group syntax
      while scanning a header line wasn't quite right (mostly, not resetting
      the flag correctly in the right place). These bugs could have caused
      trouble for malformed header lines. I hope it is now all correct.

PH/19 The functions {pwcheck,saslauthd}_verify_password() are always called
      with the "reply" argument non-NULL. The code, however (which originally
      came from elsewhere) had *some* tests for NULL when it wrote to *reply,
      but it didn't always do it. This confused somebody who was copying the
      code for some other use. I have removed all the tests.

PH/20 It was discovered that the GnuTLS code had support for RSA_EXPORT, a
      feature that was used to support insecure browsers during the U.S. crypto
      embargo. It requires special client support, and Exim is probably the
      only MTA that supported it -- and would never use it because real RSA is
      always available. This code has been removed, because it had the bad
      effect of slowing Exim down by computing (never used) parameters for the
      RSA_EXPORT functionality.

PH/21 On the advice of Timo Sirainen, added a check to the dovecot
      authenticator to fail if there's a tab character in the incoming data
      (there should never be unless someone is messing about, as it's supposed
      to be base64-encoded). Also added, on Timo's advice, the "secured" option
      if the connection is using TLS or if the remote IP is the same as the
      local IP, and the "valid-client-cert option" if a client certificate has
      been verified.

PH/22 As suggested by Dennis Davis, added a server_condition option to *all*
      authenticators. This can be used for authorization after authentication
      succeeds. (In the case of plaintext, it servers for both authentication
      and authorization.)

PH/23 Testing for tls_required and lost_connection in a retry rule didn't work
      if any retry times were supplied.

PH/24 Exim crashed if verify=helo was activated during an incoming -bs
      connection, where there is no client IP address to check. In this
      situation, the verify now always succeeds.

PH/25 Applied John Jetmore's -Mset patch.

PH/26 Added -bem to be like -Mset, but loading a message from a file.

PH/27 In a string expansion for a processed (not raw) header when multiple
      headers of the same name were present, leading whitespace was being
      removed from all of them, but trailing whitespace was being removed only
      from the last one. Now trailing whitespace is removed from each header
      before concatenation. Completely empty headers in a concatenation (as
      before) are ignored.

PH/28 Fixed bug in backwards-compatibility feature of PH/09 (thanks to John
      Jetmore). It would have mis-read ACL variables from pre-4.61 spool files.

PH/29 [Removed. This was a change that I later backed out, and forgot to
      correct the ChangeLog entry (that I had efficiently created) before
      committing the later change.]

PH/30 Exim was sometimes attempting to deliver messages that had suffered
      address errors (4xx response to RCPT) over the same connection as other
      messages routed to the same hosts. Such deliveries are always "forced",
      so retry times are not inspected. This resulted in far too many retries
      for the affected addresses. The effect occurred only when there were more
      hosts than the hosts_max_try setting in the smtp transport when it had
      the 4xx errors. Those hosts that it had tried were not added to the list
      of hosts for which the message was waiting, so if all were tried, there
      was no problem. Two fixes have been applied:

      (i)  If there are any address or message errors in an SMTP delivery, none
           of the hosts (tried or untried) are now added to the list of hosts
           for which the message is waiting, so the message should not be a
           candidate for sending over the same connection that was used for a
           successful delivery of some other message. This seems entirely
           reasonable: after all the message is NOT "waiting for some host".
           This is so "obvious" that I'm not sure why it wasn't done
           previously. Hope I haven't missed anything, but it can't do any
           harm, as the worst effect is to miss an optimization.

      (ii) If, despite (i), such a delivery is accidentally attempted, the
           routing retry time is respected, so at least it doesn't keep
           hammering the server.

PH/31 Installed Andrew Findlay's patch to close the writing end of the socket
      in ${readsocket because some servers need this prod.

PH/32 Added some extra debug output when updating a wait-xxx database.

PH/33 The hint "could be header name not terminated by colon", which has been
      given for certain expansion errors for a long time, was not being given
      for the ${if def:h_colon_omitted{...  case.

PH/34 The spec says: "With one important exception, whenever a domain list is
      being scanned, $domain contains the subject domain." There was at least
      one case where this was not true.

PH/35 The error "getsockname() failed: connection reset by peer" was being
      written to the panic log as well as the main log, but it isn't really
      panic-worthy as it just means the connection died rather early on. I have
      removed the panic log writing for the ECONNRESET error when getsockname()
      fails.

PH/36 After a 4xx response to a RCPT error, that address was delayed (in queue
      runs only) independently of the message's sender address. This meant
      that, if the 4xx error was in fact related to the sender, a different
      message to the same recipient with a different sender could confuse
      things. In particualar, this can happen when sending to a greylisting
      server, but other circumstances could also provoke similar problems.
      I have changed the default so that the retry time for these errors is now
      based a combination of the sender and recipient addresses. This change
      can be overridden by setting address_retry_include_sender=false in the
      smtp transport.

PH/37 For LMTP over TCP/IP (the smtp transport), error responses from the
      remote server are returned as part of bounce messages. This was not
      happening for LMTP over a pipe (the lmtp transport), but now it is the
      same for both kinds of LMTP.

PH/38 Despite being documented as not happening, Exim was rewriting addresses
      in header lines that were in fact CNAMEs. This is no longer the case.

PH/39 If -R or -S was given with -q<time>, the effect of -R or -S was ignored,
      and queue runs started by the daemon processed all messages. This has
      been fixed so that -R and -S can now usefully be given with -q<time>.

PH/40 Import PCRE release 6.7 (fixes some bugs).

PH/41 Add bitwise logical operations to eval (courtesy Brad Jorsch).

PH/42 Give an error if -q is specified more than once.

PH/43 Renamed the variables $interface_address and $interface_port as
      $received_ip_address and $received_port, to make it clear that these
      values apply to message reception, and not to the outgoing interface when
      a message is delivered. (The old names remain recognized, of course.)

PH/44 There was no timeout on the connect() call when using a Unix domain
      socket in the ${readsocket expansion. There now is.

PH/45 Applied a modified version of Brad Jorsch's patch to allow "message" to
      be meaningful with "accept".

SC/01 Eximstats V1.43
     Bug fix for V1.42 with -h0 specified. Spotted by Chris Lear.

SC/02 Eximstats V1.44
      Use a glob alias rather than an array ref in the generated
      parser. This improves both readability and performance.

SC/03 Eximstats V1.45 (Marco Gaiarin / Steve Campbell)
      Collect SpamAssassin and rejection statistics.
      Don't display local sender or destination tables unless
      there is data to show.
      Added average volumes into the top table text output.

SC/04 Eximstats V1.46
      Collect data on the number of addresses (recipients)
      as well as the number of messages.

SC/05 Eximstats V1.47
      Added 'Message too big' to the list of mail rejection
      reasons (thanks to Marco Gaiarin).

SC/06 Eximstats V1.48
      Mainlog lines which have GMT offsets and are too short to
      have a flag are now skipped.

SC/07 Eximstats V1.49 (Alain Williams)
      Added the -emptyok flag.

SC/08 Eximstats V1.50
      Fixes for obtaining the IP address from reject messages.

JJ/03 exipick.20061117.2, made header handling as similar to exim as possible
      (added [br]h_ prefixes, implemented RFC2047 decoding.  Fixed
      whitesspace changes from 4.64-PH/27

JJ/04 exipick.20061117.2, fixed format and added $message_headers_raw to
      match 4.64-PH/13

JJ/05 exipick.20061117.2, bug fixes (error out sooner when invalid criteria
      are found, allow negative numbers in numeric criteria)

JJ/06 exipick.20061117.2, added new $message_body_missing variable

JJ/07 exipick.20061117.2, added $received_ip_address and $received_port
      to match changes made in 4.64-PH/43

PH/46 Applied Jori Hamalainen's patch to add features to exiqsumm.

PH/47 Put in an explicit test for a DNS lookup of an address record where the
      "domain" is actually an IP address, and force a failure. This locks out
      those revolvers/nameservers that support "A-for-A" lookups, in
      contravention of the specifications.

PH/48 When a host name was looked up from an IP address, and the subsequent
      forward lookup of the name timed out, the host name was left in
      $sender_host_name, contrary to the specification.

PH/49 Although default lookup types such as lsearch* or cdb*@ have always been
      restricted to single-key lookups, Exim was not diagnosing an error if
      * or *@ was used with a query-style lookup.

PH/50 Increased the value of DH_BITS in tls-gnu.c from 768 to 1024.

MH/01 local_scan ABI version incremented to 1.1. It should have been updated
      long ago, but noone interested enough thought of it. Let's just say that
      the "1.1" means that there are some new functions that weren't there at
      some point in the past.

PH/51 Error processing for expansion failure of helo_data from an smtp
      transport during callout processing was broken.

PH/52 Applied John Jetmore's patch to allow tls-on-connect and STARTTLS to be
      tested/used via the -bh/-bhc/-bs options.

PH/53 Added missing "#include <time.h>" to pcre/pcretest.c (this was a PCRE
      bug, fixed in subsequent PCRE releases).

PH/54 Applied Robert Bannocks' patch to avoid a problem with references that
      arises when using the Solaris LDAP libraries (but not with OpenLDAP).

PH/55 Check for a ridiculously long file name in exim_dbmbuild.
2007-01-10 12:54:36 +00:00