Commit graph

17 commits

Author SHA1 Message Date
reed
a130ed83a9 Moved PKGREVISION definition from common Makefile to the
package-specific Makefile (as mentioned on tech-pkg).
2004-12-28 01:39:32 +00:00
grant
31514b8d48 whitespace fixes 2004-11-26 10:14:36 +00:00
abs
7f88a7c917 Update exim to 4.43 from 4.42
Update exim-exiscan to 4.43_28 from 4.42_27
Update exim-html to 4.40 from 4.30

exim-exiscan:

28  - Added F-Secure support, thanks to Johan Thelmen <jth@home.se>.

    - Upgraded SRS support to libsrs_alt 0.5 via Miles
      Wilton's patch.

    - REMOVED exiscan-acl implementation of custom header
      placement in favor of Philip Hazel's native implementation.
      However, a new option option was added for it to
      mimic the behaviour of the old header_pos_middle option.
      Read section 10 of exiscan-acl-spec.txt.

exim:
 1. Fixed a longstanding but relatively impotent bug: a long time ago, before
    PIPELINING, the function smtp_write_command() used to return TRUE or FALSE.
    Now it returns an integer. A number of calls were still expecting a T/F
    return. Fortuitously, in all cases, the tests worked in OK situations,
    which is the norm. However, things would have gone wrong on any write
    failures on the smtp file descriptor. This function is used when sending
    messages over SMTP and also when doing verify callouts.

 2. When Exim is called to do synchronous delivery of a locally submitted
    message (the -odf or -odi options), it no longer closes stderr before doing
    the delivery.

 3. Implemented the mua_wrapper option.

 4. Implemented mx_fail_domains and srv_fail_domains for the dnslookup router.

 5. Implemented the functions header_remove(), header_testname(),
    header_add_at_position(), and receive_remove_recipient(), and exported them
    to local_scan().

 6. If an ACL "warn" statement specified the addition of headers, Exim already
    inserted X-ACL-Warn: at the start if there was no header name. However, it
    was not making this test for the second and subsequent header lines if
    there were newlines in the string. This meant that an invalid header could
    be inserted if Exim was badly configured.

 7. Allow an ACL "warn" statement to add header lines at the start or after all
    the Received: headers, as well as at the end.

 8. Added the rcpt_4xx retry error code.

 9. Added postmaster_mailfrom=xxx to callout verification option.

10. Added mailfrom=xxxx to the callout verification option, for verify=
    header_sender only.

11. ${substr_1_:xxxx} and ${substr__3:xxxx} are now diagnosed as syntax errors
    (they previously behaved as ${substr_1_0:xxxx} and ${substr:_0_3:xxxx}).

12. Inserted some casts to stop certain compilers warning when using pointer
    differences as field lengths or precisions in printf-type calls (mostly
    affecting debugging statements).

13. Added optional readline() support for -be (dynamically loaded).

14. Obscure bug fix: if a message error (e.g. 4xx to MAIL) happened within the
    same clock tick as a message's arrival, so that its received time was the
    same as the "first fail" time on the retry record, and that message
    remained on the queue past the ultimate address timeout, every queue runner
    would try a delivery (because it was past the ultimate address timeout) but
    after another failure, the ultimate address timeout, which should have then
    bounced the address, did not kick in. This was a "< instead of <=" error;
    in most cases the first failure would have been in the next clock tick
    after the received time, and all would be well.

15. The special items beginning with @ in domain lists (e.g. @mx_any) were not
    being recognized when the domain list was tested by the match_domain
    condition in an expansion string.

16. Added the ${str2b64: operator.

17. Exim was always calling setrlimit() to set a large limit for the number of
    processes, without checking whether the existing limit was already
    adequate. (It did check for the limit on file descriptors.) Furthermore,


18. Imported PCRE 5.0.

19. Trivial typo in log message " temporarily refused connection" (the leading
    space).

20. If the log selector return_path_on_delivery was set and an address was
    redirected to /dev/null, the delivery process crashed because it assumed
    that a return path would always be set for a "successful" delivery. In this
    case, the whole delivery is bypassed as an optimization, and therefore no
    return path is set.

21. Internal re-arrangement: the function for sending a challenge and reading
    a response while authentication was assuming a zero-terminated challenge
    string. It's now changed to take a pointer and a length, to allow for
    binary data in such strings.

22. Added the cyrus_sasl authenticator (code supplied by MBM).

23. Exim was not respecting finduser_retries when seeking the login of the
    uid under which it was called; it was always trying 10 times. (The default
    setting of finduser_retries is zero.) Also, it was sleeping after the final
    failure, which is pointless.

24. Implemented tls_on_connect_ports.

25. Implemented acl_smtp_predata.

26. If the domain in control=submission is set empty, Exim assumes that the
    authenticated id is a complete email address when it generates From: or
    Sender: header lines.

27. Added "#define SOCKLEN_T int" to OS/os.h-SCO and OS/os.h-SCO_SV. Also added
    definitions to OS/Makefile-SCO and OS/Makefile-SCO_SV that put basename,
    chown and chgrp in /bin and hostname in /usr/bin.

28. Exim was keeping the "process log" file open after each use, just as it
    does for the main log. This opens the possibility of it remaining open for
    long periods when the USR1 signal hits a daemon. Occasional processlog
    errors were reported, that could have been caused by this. Anyway, it seems
    much more sensible not to leave this file open at all, so that is what now
    happens.

29. The long-running daemon process does not normally write to the log once it
    has entered its main loop, and it closes the log before doing so. This is
    so that log files can straightforwardly be renamed and moved. However,
    there are a couple of unusual error situations where the daemon does write
    log entries, and I had neglected to close the log afterwards.

30. The text of an SMTP error response that was received during a remote
    delivery was being truncated at 512 bytes. This is too short for some of
    the long messages that one sometimes sees. I've increased the limit to
    1024.

31. It is now possible to make retry rules that apply only when a message has a
    specific sender, in particular, an empty sender.

32. Added "control = enforce_sync" and "control = no_enforce_sync". This makes
    it possible to be selective about when SMTP synchronization is enforced.

33. Added "control = caseful_local_part" and "control = "caselower_local_part".

32. Implemented hosts_connection_nolog.

33. Added an ACL for QUIT.

34. Setting "delay_warning=" to disable warnings was not working; it gave a
    syntax error.

35. Added mailbox_size and mailbox_filecount to appendfile.

36. Added control = no_multiline_responses to ACLs.

37. There was a bug in the logic of the code that waits for the clock to tick
    in the case where the clock went backwards by a substantial amount such
    that the microsecond fraction of "now" was more than the microsecond
    fraction of "then" (but the whole seconds number was less).

38. Added support for the libradius Radius client library this is found on
    FreeBSD (previously only the radiusclient library was supported).
2004-10-07 17:29:16 +00:00
abs
3584ada6ec Update exim to 4.42 and exim-exiscan to 4.42_27:
Feature changes in exim since 4.34 (bugfixes not listed):

    Version 4.42
    ------------

     1. The "personal" filter test is brought up-to-date with
	recommendations from the Sieve specification: (a) The list
	of non-personal From:  addresses now includes "listserv",
	"majordomo", and "*-request"; (b) If the message contains
	any header line starting with "List=-" it is treated as
	non-personal.

     2. The Sieve functionality has been extended to support the
	 "copy" and "vacation" extensions, and comparison tests.

     3. There is now an overall timeout for performing a callout
	verification. It defaults to 4 times the callout timeout,
	which applies to individual SMTP commands during the callout.
	The overall timeout applies when there is more than one
	host that can be tried. The timeout is checked before trying
	the next host. This prevents very long delays if there are
	a large number of hosts and all are timing out (e.g. when
	the network connections are timing out). The value of the
	overall timeout can be changed by specifying an additional
	sub-option for "callout", called "maxwait". For example:

	  verify = sender/callout=5s,maxwait=20s

     4. Changes to the "personal" filter test:

	(1) The list of non-personal local parts in From: addresses
	has been extended to include "listserv", "majordomo",
	"*-request", and "owner-*", taken from the Sieve specification
	recommendations.

	(2) If the message contains any header line starting with
	"List-" it is treated as non-personal.

	(3) The test for "circular" in the Subject: header line
	has been removed because it now seems ill-conceived.

     5. The autoreply transport has a new option called never_mail.
	This is an address list. If any run of the transport
	creates a message with a recipient that matches any item
	in the list, that recipient is quietly discarded. If all
	recipients are discarded, no message is created.

    Version 4.40
    ------------

    The documentation is up-to-date for the 4.40 release. What
    follows here is a brief list of the new features that have been
    added since 4.30.

     1. log_incoming_interface affects more log lines.

     2. New ACL modifier "control = submission".

     3. CONFIGURE_OWNER can be set at build time to define an
	 alternative owner for the configuration file, in addition
	to root and exim.

     4. Added expansion variables $body_zerocount, $recipient_data,
        and $sender_data.

     5. The time of last modification of the "new" subdirectory is
	 now used as the "mailbox time last read" when there is a
	quota error for a maildir delivery.

     6. The special item "+ignore_unknown" may now appear in host
        lists.

     7. The special domain-matching patterns @mx_any, @mx_primary,
        and @mx_secondary can now be followed by "/ignore=<ip list>".

     8. New expansion conditions: match_domain, match_address,
	 match_local_part, lt, lti, le, lei, gt, gti, ge, and new
	expansion operators time_interval, eval10, and base62d.

     9. New lookup type called "iplsearch".

    10. New log selectors ident_timeout, tls_certificate_verified,
	queue_time, deliver_time, outgoing_port, return_path_on_delivery.

    11. New global options smtp_active_hostname and tls_require_ciphers.

    12. Exinext has -C and -D options.

    13. "domainlist_cache" forces caching of an apparently variable
	list.

    14. For compatibility with Sendmail, the command line option
	-prval:sval is equivalent to -oMr rval -oMs sval.

    15. New callout options use_sender and use_postmaster for use
	when verifying recipients.

    16. John Jetmore's "exipick" utility has been added to the
	distribution.

    17. The TLS code now supports CRLs.

    18. The dnslookup router and the dnsdb lookup type now support
	the use of SRV records.

    19. The redirect router has a new option called qualify_domain.

    20. exigrep's output now also includes lines that are not
	related to any particular message, but which do match the
	pattern.

    21. New global option write_rejectlog. If it is set false, Exim
	no longer writes anything to the reject log.


Changes in exim-exiscan since 4.34_22

    27  - Changed algorithm of header_pos_middle to add headers
	  before the first header which is NOT Received: or
	  Resent-*:.

    exim 4.42 ---------------------------------------------------

    26  - Fixed header corruption when using header_pos_top.
	  (Thanks to Michael Deutschmann).

	- Fixed headers being added before any Received-SPF:
	  header when using header_pos_middle (Thanks to
	  Michael Deutschmann).

	- DrWeb malware support: Add flag to treat .eml file
	  as plain mail (Thanks to Alex Miller).

    25  - Fixed include location of libspf2 headers.

	- Added support for Kaspersky AV Version 5 (aveserver).

	- Added expansion of av_scanner global variable
	  when it starts with a dollar sign. This is useful
	  for implementing multiple malware scanners.

	- Added support for adding ACL headers at the beginning
	  and in the "middle" of the message header block.
	  (This is a preliminary solution, see comment in SPF
	  section of exiscan-acl-spec).

    24  - Changed documentation to reflect libspf_alt->libspf2
	  name change.

	- Upgraded included SRS patch to 0.3 (author Miles Wilton).
	  Also added a small doc chapter for SRS.

	- Brightmail: put notes for users of new 6.x version in the
	  docs (search for "BMI6.x").
	  BMI Version 6 should work OK, an upgraded SDK is now on
	  Brightmail's download site.

    exim 4.41 ----------------------------------------------------

    23  - Added patch to support SRS in the redirect router, done
	  by Miles Wilton. Please check http://srs.mirtol.com/
	  for more information.

	- Fixed the negation operator for SPF support. Thanks
	  to Michael Haardt for sending a patch.

	- Increased buffer size for large SA reports (when using
	  custom SA rulesets).

	- Increased buffer size for large BMI verdicts. Should now
	  handle large number of recipients gracefully.
2004-08-27 10:46:52 +00:00
abs
08e0647eb8 Fix build after introduction of PATCH_DIST_STRIP 2004-08-13 15:10:48 +00:00
abs
9424eca120 Update exim to 4.34, Update exim-exiscan to 4.34_22. From Jeremy C. Reed
Exim changes in 4.34

 1. Very minor rewording of debugging text in manualroute to say "list of
    hosts" instead of "hostlist".

 2. If verify=header_syntax was set, and a header line with an unqualified
    address (no domain) and a large number of spaces between the end of the
    name and the colon was received, the reception process suffered a buffer
    overflow, and (when I tested it) crashed. This was caused by some obsolete
    code that should have been removed. The fix is to remove it!

 3. When running in the test harness, delay a bit after writing a bounce
    message to get a bit more predictability in the log output.

 4. Added a call to search_tidyup() just before forking a reception process. In
    theory, someone could use a lookup in the expansion of smtp_accept_max_
    per_host which, without the tidyup, could leave open a database connection.

 5. Added the variables $recipient_data and $sender_data which get set from a
    lookup success in an ACL "recipients" or "senders" condition, or a router
    "senders" option, similar to $domain_data and $local_part_data.

 6. Moved the writing of debug_print from before to after the "senders" test
    for routers.

 7. Change 4.31/66 (moving the time when the Received: is generated) caused
    problems for message scanning, either using a data ACL, or using
    local_scan() because the Received: header was not generated till after they
    were called (in order to set the time as the time of reception completion).
    I have revised the way this works. The header is now generated after the
    body is received, but before the ACL or local_scan() are called. After they
    are run, the timestamp in the header is updated.

Exim-exiscan version 4.34

22  - added SPF support via libspf_alt. Please read the
      docs.

21  - Fix missing fclose() in regex.c. This was causing
      scan directories not to be deleted on NFS spools.

    - Remove "shutdown socket for writing" from clamd malware
      code. It seems to cause problems with the latest
      clamd 0.70 release.

    - Fix allow tables in acl.c to disallow exiscan conditions
      in the RCPT ACL.

    - adapted patch to exim 4.34
2004-06-06 22:10:51 +00:00
reed
2623db08d9 The Exim db tools were missing rpath to db library (when not using native).
This modifies Makefile.common to add "-Wl,${RPATH_FLAG}" to the location
of the chosen library (DB implementation). For example:
-Wl,${RPATH_FLAG}${LOCALBASE}/${BUILDLINK_LIBDIRS.db2}

Also bump PKGREVISIONs for this.
2004-06-04 23:21:34 +00:00
reed
4fe3c82f14 Add support for a variable called EXIM_DB. By default, it will
use native (since it is the first BDB_ACCEPTED choice). So under
NetBSD this does not change anything.

It can be set to "gdbm" if desiring gdbm as the DB method used.
Else it will use the mk/bdb.buildlink3.mk method.

For example, to choose a specific Berkeley DB implementation
(like DB hash version 7), then do: "make BDB_DEFAULT=db3"
(when EXIM_DB is unset or not set to "gdbm").

Please note that if you change the method, exim may complain
about DB problems. This is okay. You can delete the db files
and regenerate. (exim provides some db management tools too.)

This fixes the problem where exim will not build when
the system's db is not available or correct.

This will close my old PR pkg/19277.

This was discussed with maintainer, David Brownlee.
2004-06-04 00:10:34 +00:00
abs
4e437bb2bc Update exim3 to exim-3.36nb2
- Fix buffer overflows listed at http://www.guninski.com/exim1.html

Update exim to exim-4.33nb1 (from 4.22nb5)
  - Fix buffer overflow listed at http://www.guninski.com/exim1.html
  - Leave nb1 to indicate we have a local change from stock 4.33
  - 1086 lines of changes - http://www.exim.org/ftp/ChangeLogs/ChangeLog-4.33
  - Remove dependancy on exim-user - now looks up EXIM_{USER,GROUP} at runtime

Update exim-exiscan to 4.33_20nb1 (from 4.22-12)
  - Fix buffer overflow listed at http://www.guninski.com/exim1.html
  - Leave nb1 to indicate we have a local change from stock 4.33_20
  - Same exim changes - http://www.exim.org/ftp/ChangeLogs/ChangeLog-4.33
  - Changes (http://duncanthrax.net/exiscan-acl/CHANGELOG) include
    - added option to use multiple spamd servers
    - many mime changes
    - Added Brightmail Antispam support
    - clamd fixes

Update exim-html to 4.30 (from 4.20)
  - Update to latest docs

Delete exim-user
  - No longer required - exim now looks up EXIM_{USER,GROUP} at runtime
2004-05-07 17:47:32 +00:00
wiz
a661ce60c0 PKGREVISION bump after openssl-security-fix-update to 0.9.6m.
Buildlink files: RECOMMENDED version changed to current version.
2004-03-26 02:27:34 +00:00
abs
e5dafb3ff3 Update exim to 4.22nb4 & exim-exiscan to 4.22-12nb2 from Norm at cackhanded.net
- Avoid "set{u,g}id ... invoked ... with fd 1 closed" warnings
    - Cleanup DLOPEN from Local/Makefile.pkgsrc
2004-03-05 12:28:45 +00:00
abs
652b7a6f4f Update exim to 4.22nb3 and exim-exiscan to 4.22-12nb1. Default exim_flags to "-bd -q30m", so setting exim=YES in rc.conf works 2003-11-25 10:21:58 +00:00
abs
518a164a85 Update HOMEPAGE (old page was redirected) 2003-10-17 08:54:58 +00:00
abs
c7161e7db3 Update exim-exiscan to 4.22-12
- Emergency fix: When you were using 'discard', and it was the last verb
    affecting a message, the mbox spool files in the scan directory were not
    cleaned up. This is fixed now.
2003-09-04 13:07:16 +00:00
abs
8ab934530b Update exim to 4.22nb1
Update exim-exiscan to 4.22-11nb1
    Include exiqgrep in PLIST, and commit distinfo from previous exim-exiscan
    change. Whole exim update was overly hurried due to security announcement.
2003-09-02 12:19:36 +00:00
abs
651d34cf3c Update exim-exiscan to 4.22-11
11  - Fixed "permits" table in acl.c, so you can't "use"
       exiscans conditions in the RCPT ACL any more. This
       was causing a crash, not you get a proper warning.
     - Fixed recursive unpacking when the MIME boundary of
       the "parent" message contains spaces.
     - Put in a fix for tnef.c that allows clean compile
       on AIX. Thanks to David Kreindler
       <david@govnet.state.vt.us>.
     - Added some proper prototypes for some functions,
       beautifying the compiler output with -Wall.
     - Added exiscan patch version output to 'exim -bV'.
     - Removed demime errors from the panic log.
2003-09-02 11:39:12 +00:00
abs
60dc5014b5 Import exim-exiscan-4.22-10:
exim-exiscan adds email content scanning to the exim MTA
It can hook into spamassassin, virus scanning, and to filter on mime type
2003-09-02 11:09:20 +00:00