pkgsrc changes:
- move to use options.mk framework
- solaris support tidy-up
- fix linux man page extension handling bug
- allow for a user defined smrsh directory
- update MASTER_SITES
- optional SOCKETMAP support and sample script installation
- ok'ed snj@/wiz@
Summary of some of the major changes include:
- New map "socket" to query maps via TCP/IP sockets.
- Connection rate control as well as control over the number of incoming open
connections.
- Several LDAP enhancements such as LDAP recursion and LDAP URI support.
- Message quarantining.
- AUTH EXTERNAL will only be enabled if STARTTLS was successful and the client
has been authenticated, i.e., {verify} is OK.
- Basic support for certificate revocation lists.
- New queue timeouts for DSN messages.
- Experimental support for MTAMark.
For a full list of changes see:
- http://www.sendmail.org/8.13.0.html
- http://www.sendmail.org/8.13.1.html
new sendmail 8.13.x tree in pkgsrc.
Changes to the original package include:
- Added missing NetBSD CVS tags to some files under files
- Path changes in Makefile and Makefile.common to reflect new location under
mail/ of this package
* a fixed typo in an error message
* conditional code to support large files on Linux
* a workaround for the disabling of errno
pkgsrc changes:
* Update HOMEPAGE and MASTER_SITES.
* Reformat DESCR.
Changes:
- Added support for ESMTP [Andreas Steinmetz]
- Fixed crash when too many connections established
- Announce ourselves as 'clamsmtp' in EHLO/HELO responses which fixes 'loopback'
problems with certain versions of Postfix 1.x
- Better IO performance under heavy load
- Fixed most warnings when compiled with -Wall
- Fixed other minor bugs
qgreylist is a 'lite' version of greylisting. It greylists only by
source IP address, mainly because it's written as a wrapper for
qmail-smtpd so has no other information available. For home and
small office use this works nearly as well.
This is a small utility for checking and repairing the qmail queue
structure. It will fix uid/gid settings and permissions. It will
rename the message files to match their inodes. It will even create
directories and files that don't exist that should be there (you
can even create a queue from scratch). It will also print warnings
for any files it finds that should not exist.
Version 0.9.0
22 October 2003
-many cleanups to the code
-mode of todo files was wrong in some cases when ext-todo was
in use or big-todo not in use; thanks to Thomas Palmieri and David Gartner
for their reports that helped me track this down.
Version 0.8.6
14 April 2002
-cleanups, better reporting of what queue_repair is doing.
Version 0.8.5
13 December 2001
-minor changes in reporting of ownership of files and directories
intended transformation: use "rm" to remove an option, "rmdir" to remove
all options containing a path starting with a given directory name, and
"rename" to rename options to something else.
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.
- Fix a build error in the new gnutls certificate
verification code on s390.
- Use GNUTLS 1.0.4 and GCRYPT 1.1.90, current Debian
unstable package libgnutls10-dev.
- Allow server hostnames in IMAP to be IP addresses
(start with a number).
- Skip examine/search unless requested with msglst option.
- Exit if ssh-askpass permissions check fails.
- Fix a bug where fetch times out to some IMAP servers.
- Add --disable-crypto for source-based distributions
while libgcrypt is unstable.
- Sam Izzo's patch for changing the mouse click action
depending on whether a box has new mail.
The update is based on changes provided by Joel Carnat in private e-mail.
which are the full option names used to set rpath directives for the
linker and the compiler, respectively. In places were we are invoking
the linker, use "${LINKER_RPATH_FLAG} <path>", where the space is
inserted in case the flag is a word, e.g. -rpath. The default values
of *_RPATH_FLAG are set by the compiler/*.mk files, depending on the
compiler that you use. They may be overridden on a ${OPSYS}-specific
basis by setting _OPSYS_LINKER_RPATH_FLAG and _OPSYS_COMPILER_RPATH_FLAG,
respectively. Garbage-collect _OPSYS_RPATH_NAME and _COMPILER_LD_FLAG.
Changes in 2.52:
Fixes include better error handling and support for HTML descriptions,
Unicode headers, and Python 2.1. The most notable new feature is
that textwrapping is back. To turn it on:
echo "BODY_WIDTH = 78" >> config.py
Other new options include BONUS_HEADER (for mailing lists) and
OVERRIDE_FROM. (Check the top of rss2email.py for details on usage.)
Thanks to Peter Vangorp, Lars Wizenius, Martin "Joey" Schulze,
Ricardo Reyes, and everyone else who contributed a suggestion or
bug report.
Changes in 2.53:
Fix a mistake left in 2.52 by accident.
Changes since last packaged version:
Version 1.0.1 - 22 August 2004
------------------------------
- Bug fix; in some cases processing of messages with an empty body caused
failure.
- Bug fix; an invalid namespace prefix was inserted in mailbox names of some
mail servers.
- Unique message identifiers are now used by default, instead of message
sequence numbers, when accessing messages in a mailbox.
- Sequence set ranges are generated and sent to the mail server instead of
enumerations, when this is possible.
- The client now limits the length of the command lines it generates to
approxinately 1000 octets, by splitting the request into multiple commands.
- Systems that have no limit on the number of bytes in a pathname are now
considered.
- Debug files are now written in $HOME/.imapfilter/ instead of /tmp/.
-biggest change is multiple verbosity levels. To support this from rc file,
the verbose parameter had to change from a boolean to an integer. Update
your getmail rc files: for quiet, set verbose to 0. For more output,
set it to 1 or 2. 2 includes info about messages not retrieved, etc.
-add rc filename to error messages
-change fix from 4.0.11 for email module raising exception during .flatten().
Thanks: Jürgen Nagel.
-some types of SSL error could cause getmail to exit instead of
continuing to the next mail account; fixed. Thanks: Matthias Andree.
MTAs' options, since it causes qmail-smtpd to offer several SASL
mechanisms. No need to preserve the meaning of the old option, as
it was introduced less than a day ago.
Remove dependency on mailwrapper. If you're on a Linux with
/etc/alternatives, for instance, you don't need it. For platforms
where mailwrapper builds and provides functionality not otherwise
available, it's still a good idea.
Remove dependency on rc.subr. Teach the rc.d scripts to start
services even in the absence of rc.subr. For full rc.d-style
functionality, rc.subr is still required.
Create control/concurrencypop3 at install time, and use it in the
qmailpop3d rc.d script. From Dave Sill's book.
Add comments to the qmail rc.d script to satisfy Linux's chkconfig
utility. From the qmailctl script in "Life with qmail".
Add qmail-procmail wrapper script to map procmail's exit codes to
qmail's. To use procmail, install it and call this script. From
Dave Sill's book.
Add qmail-qfilter-queue wrapper script. Previously part of the
qmail-qfilter package, it's moving here for the same reasons that
all my other custom scripts moved here.
Insert a blank comment line in pkgsrc-generated config files.
Bump version.
into the bsd.options.mk framework. Instead of appending to
${PKG_OPTIONS_VAR}, it appends to PKG_DEFAULT_OPTIONS. This causes
the default options to be the union of PKG_DEFAULT_OPTIONS and any
old USE_* and FOO_USE_* settings.
This fixes PR pkg/26590.
complete list:
badrcptto bigdns darwin netqmail nullenvsender
outgoingip qregex realrcptto smtpauth syncdir
tls
This obviates the need for a separate netqmail package. As a result,
reintegrate Makefile.common into Makefile, and simplify a handful
of definitions. If you used the netqmail package, set PKG_OPTIONS.qmail
to "netqmail bigdns" to build with the same patches as before.
Note that most of these options result in patches being applied,
and that any given combination of patches may not apply cleanly.
If there's a combination you need that doesn't work, or build
options you need that aren't available, let me know.
On Darwin, the "darwin" option is set by default, as it's needed
in order to build. The patch includes <nameser8_compat.h>, which
is present on Panther, but not on older systems. We provide a
buildlink stand-in where needed.
On Linux, the "netqmail" option is set by default, as with recent
glibc it's necessary to #include <errno.h> in order to build.
On other platforms, no options are set by default.
Bump PKGREVISION.
-change oldmail file writing to save a few bytes of disk space
-documentation additions.
-Python's standard library email.Message().flatten() could barf on certain
types of badly mis-formatted messages (instead of the during instantiation,
like the /other/ buggy cases). Hope this is fixed in Python 2.4. Developed
a work-around for getmail. Thanks: Juergen Nagel.
-changes to "normal" output of getmail to make it slightly less verbose.
[11.3] released 8/18/04
* When an IMAP mailbox is opened in threaded/sorted mode and new messages
arrive or old ones are deleted, the internal thread structure is now
properly rebuilt. The previous failure to do so made nail dump core in
most cases.
* The 'forward' command was fixed; it used an unitialized variable since
release 11.2, possibly leading to segmentation faults (Bugreport by Bob
Tennent).
* The behavior of the 'autoinc'/'newmail' variables regarding IMAP folders
was changed. If both variables are unset, announcements are printed only
if messages have been deleted on the server.
* The 'new'/'unread' commands now also work with IMAP folders.
* When a message is deleted or saved in disconnected mode, its cache entry
is not removed until the message is actually removed from the server in
online mode. This in particular means that saved or 'mbox'ed messages
are still available in IMAP inboxes in disconnected mode until they have
reached their target folder in online mode.
* When new messages were received in an IMAP mailbox after messages had
been deleted in a previously visited IMAP mailbox, 'Expunged x messages'
was erroneously printed.
Among other various changes (no easy changelog available), this fixes a
potential DoS problem where the base64 decoder can end up in an infinite
loop upon receipt of certain malformed base64 chunks.
Changes since 11.1 include:
* A message thread-oriented mode is now optionally available; cf. the 'thread'
and 'unthread' commands, the 'autothread' variable, and addressing changes.
* It is also possible to sort messages by various other criteria; cf. the
'sort' and 'unsort' commands, the 'autosort' variable, and addressing
changes.
* New 'fullnames' variable: When replying to a message, full names for the
recipients are included if it is set, instead of using the plain email
address.
* New commands 'disconnect' and 'connect'/'online' to switch to disconnected
IMAP mode and back while retaining the current mailbox.
* IMAP GSSAPI authentication was implemented; it has been successfully
compiled with MIT, Solaris, and HP-UX GSS libraries. See the 'imap-auth'
and 'imap-auth-user@host' variables.
* CRAM-MD5 authentication was implemented for IMAP and SMTP. See the
'imap-auth' and 'smtp-auth' variables.
* POP3 APOP authentication is now supported; see 'pop3-use-apop'.
* STARTTLS is now also supported for IMAP and POP3; see 'imap-use-starttls'
and 'pop3-use-starttls'.
* Autodetection of the terminal character set works again (did not work since
10.8).
* The 'showlast' variable works again; it had no effect since version 11.0.
* Made it compile using the HP-UX C compiler again (did not work since 11.0).
* Standard input is now redirected to /dev/null in the child process that
contacts the MTA. A result is that ssl-verify=ask has the same effect as
ssl-verify=strict for SMTP servers, and does not put the terminal in an
indeterminable state anymore.
* The initial connection to IMAP or POP3 servers is now made before the
previous mailbox (if any) is quit. Thus if a server is unreachable, nail
keeps the previous mailbox open instead of getting in a mailbox-less
state.
* Stale cache entries for messages deleted on the server were not removed
in some circumstances.
* The 'inc'/'newmail' commands are now ignored in disconnected mode and no
longer display errors about hidden (uncached) messages.
* The cache now compiles and works on systems that lack fchdir(), such as
some Cray machines (Thanks to Cray-Cyber.org).
* The defaults for /etc/nail.rc have been updated. This will have no effect
on existing installations unless the file is copied by hand.
* Nail does not hang anymore in disconnected mode if a message addressed
with ^ or $ is not cached.
* Balsa-2.2.2 release. Release date 2004-08-08
- configurable hiding of deleted messages.
- keyboard navigation fixes.
- message counting in some edge cases fixed.
- GPG fixes.
* Balsa-2.2.1 release. Release date 2004-07-30
- IMAP mailboxes could be incorrectly marked as read-only.
- message selection behaves more sanely.
- 64-bit fixes.
- memory leaks fixed.
- handle better imap servers without server-side threading and limits
on number of concurent connections.
- quick "Sender or Subject" message index filtering.
- various UI improvements.
-cosmetic fix to output: add whitespace after timestamp when not retrieving
message. Thanks: Matthias Andree.
-include MANIFEST.in in source distribution, to assist users in building
"built distributions" from it.
-change a few output messages' level to make verbose mode slightly less
verbose, and add --debug switch to get "more verbose" behaviour.
* The "^T" "To Files" command from within the composer on the
Attchmnt header line or from within the composer in the "^J"
"Attach" command is now capable of attaching multiple files at
once
* When Exporting a message with attachments you now have the option
of saving all of the attachments in a new directory (Export
Message File Selection) by typing "^P" while exporting
* Feature to modify behavior of TAB command,
Tab-Uses-Unseen-For-Next-Folder
* When sending, flowed text (RFC 3676) is sent by default. Now it is
possible to turn off this behavior on a message by message basis
with the ^V command at the Send prompt. You may still turn if off
for all cases with the feature Quell-Flowed-Text.
* Viewer-Margin-Left and Viewer-Margin-Right made a little more
flexible
* Suppress quoted text when viewing messages with
Quote-Suppression-Threshold
* The behavior of the HdrMode Command has changed slightly. It now
reverts back to normal mode when you switch to a new message. It
also has an additional state if Quote-Suppression-Threshold is
turned on.
* The old behavior of the HdrMode Command can be restored by not
setting the Quote-Suppression-Threshold and setting the new
feature Quell-Full-Header-Auto-Reset
* Feature to rename sent-mail folder to sent-mail-yyyy-mm instead of
sent-mail-mon-year (Prune-Uses-YYYY-MM)
* With Alternate-Role-Menu option turned on you could Reply or
Forward using a Role. Now you can also Bounce using a role.
* Relaxed conditions which caused a filter to not be reevaluated
before expunging if the user changed flags manually. Now only a
manual Undelete may cause the filter to not be reevaluated before
expunging.
* maintenance release, consisting primarily of critical bugfixes
* now has a supported NNTP proxy capability
* OSF/1 port (Digital UNIX, Tru64) now uses flocksim instead of flcksafe
* The unix[nt] and mmdf drivers now prevent mail_append() from writing Status:,
X-Status:, X-UID, X-IMAP[base]:, and X-Keywords: header lines to a
traditional UNIX or MMDF format mailbox
This also includes the fix for PR pkg/26386 (problems with
PKG_CONFIG=no).
Summary of major changes since 2.63
-----------------------------------
- Security fix prevents a denial of service attack open to certain
malformed messages; this DoS affects all SpamAssassin 2.5x
and 2.6x versions to date.
- Backported several very reliable rules from the SpamAssassin 3.0.0
codebase.
<nameser8_compat.h> before <resolv.h> if it's defined.
Along with Johnny's recent buildlink3 fixes, this fixes the build
for me on Mac OS X Server 10.3.4. Should address pkg/26584.
-fix cosmetic error for IMAP mailboxes with 0 messages in them.
-change method of obtaining uidvalidity from IMAP server and remove wrapper.
-previously, connecting to an IMAP-SSL server could fail if a non-SSL
IMAP connection were attempted immediately before. This was due to
the Python bug discussed here:
http://sourceforge.net/tracker/index.php?func=detail&aid=945642&group_id=5470&atid=305470
Implemented a workaround for getmail. Thanks: Payal Rathod.
Changes:
* IMAP mailboxes can now be cached locally. See the string variable
'imap-cache' in the manual page. The cache can also be used for
disconnected operation mode, see 'disconnected' and also the '-D'
command line option.
* When nail is notified by the server that messages have been expunged,
the user is informed about this condition even if new messages have
also arrived.
* When the group of variables for an 'account' command contains a variable
prefixed by 'no...' and the related variable is not set, it is not an
error to unset it.
* The 'headers' command has been made faster when operating on an IMAP
mailbox by bundling IMAP requests.
* When a 'folder' command was executed to change from an uncompressed
file to a compressed one, the latter was incorrectly detected as
being read-only.
* Unless one of the 'autoinc' or 'newmail' variables is set, nail does
not actively check for new messages in the current IMAP mailbox before
each prompt. New messages may nevertheless be detected after any
other IMAP command has been issued, so the effect is mostly that
not every nail command causes an IMAP command to be sent. Also if
'autoinc' or 'newmail' are set to the value "noimap", they are
ignored for IMAP mailboxes but still effective for local folders.
* The 'inc' and 'newmail' commands now use the same method to determine
the location of the current message as the 'folder' command does. That
means if there has been new mail before that is still unread when newer
mail arrives, the older messages are displayed first.
* Nail does not generate 'Sender:' fields anymore.
* If OpenSSL is not available, STARTTLS support is not built, and nail
compiles again without OpenSSL.
"long-usernames" allows usernames longer than allowed by the underlying
operating system. This may be needed if you use DSPAM as a Postfix content
filter.
"spam-subject" prepends "[SPAM]" to the Subject: of messages classified as
spam.
Reduce the number of patches needed by Postfix by using the subst
framework and also by explicitly specifying more default values for
Postfix parameters. Also pass -I/usr/pkg/include/sasl to the compiler
when building using Cyrus SASLv2, which allows me to remove the patches
that added an unnecessary USE_SASL2_AUTH check.
framework and also by explicitly specifying more default values for
Postfix parameters. Also pass -I/usr/pkg/include/sasl to the compiler
when building using Cyrus SASLv2, which allows me to remove the patches
that added an unnecessary USE_SASL2_AUTH check.
the file in SPECIAL_PERMS to ensure that when installing from a binary
package, it is automatically set to the correct ownership and file
permissions. Also manage ${DSPAM_HOME} using OWN_DIRS_PERMS since it
must exist for dspam to work properly, and must also be writable by
the dspam user.
Bump the PKGREVISION to 3.
driver backend.
* Convert to use bsd.options.mk. DSPAM_DELIVERY_AGENT_ARGS has been
deprecated -- just set DSPAM_DELIVERY_AGENT to the LDA instead of
"custom".
* Only install the documentation for the storage driver used by DSPAM.
* Drop the default signature lifetime from 15 days to 14 days to match
the DSPAM defaults.
Bump the PKGREVISION to 2.
4.0.7:
-change failure of a message filter to produce at least as many mail headers
as it was provided from a fatal to a non-fatal error. The message will
be skipped. Thanks: Payal Rathod.
-a few non-conformant IMAP4 servers don't implement SEARCH, so getmail
couldn't get a list of UIDs. Changed to use FETCH instead.
Thanks: Matthias Andree.
-prevent traceback if IMAP SSL connection closed during connect().
Thanks: Payal Rathod.
-add warning if unknown parameters are supplied to a retriever, filter,
or destination.
-write subclasses of Python imaplib classes to work around missing
UIDVALIDITY select() response. Add it to the state getmail keeps.
Thanks: Matthias Andree.
-move message state saving to later, so getmail doesn't falsely remember
having handled a message. Thanks: Matthias Andree.
-change location of documentation/man pages to
<prefix>/share/{doc/getmail,man}/ to be more comformant with the FHS.
-documentation updates
4.0.8:
-add an extra error message if you ask getmail to deliver to a maildir,
but getmail can't check the contents of it due to permissions.
Thanks: Clemens Buschmann.
-fix breakage introduced in 4.0.7: getmail would forget a message was "seen"
after a cycle of not retrieving it. Thanks: Payal Rathod.
amavisd-new is an interface between message transfer agent (MTA) and
one or more content checkers, e.g. virus scanners, SpamAssassin, etc.
It is a performance-enhanced and feature-enriched version of amavisd
(which in turn is a daemonized version of AMaViS or amavis-perl).
amavisd-new is normally positioned at or near a central mailer, not
necessarily where user's mailboxes and final delivery takes place. If
you are looking for fully per-user configurable and/or low-message-rate
solution to be placed at the final stage of mail delivery (e.g. called
from procmail), there may be other solutions more appropriate for your
needs.
Package created and maintained by Julian Dunn in pkgsrc-wip.
-if the connection failed in a certain way, getmail could forget which
messages it had already retrieved, and therefore retrieve them again when
the next successful connection occurred. Fixed. Thanks: Wim Uyttebroek.
--add win32 executable installer as third download option.
other to facilitate easier updates of the mail/mutt package when the next
mutt is released. The changes to mail/mutt include:
* convert mail/mutt to use bsd.options.mk
* remove unnecessary patches and use subst.mk instead
Approved by <tron>.
- [923158] made installation of Sendmail::Milter layer optional
- [925579] added support for experimental setsender() operation
- fixed usage of max_interpreters and max_requests values
(they were being ignored previously)
- allowed for named configuration variables to prefork_dispatcher()
- [1002122] fixed symbol table to return symbols from earlier
callbacks as appropriate (reported by <s.barnes@uni-koeln.de>)
- [1003308] changed "EOF in stream" handling to exit as if a normal
SMFIC_CLOSE had been received from the MTA
- fixed warning in Context.pm wrt <= on an undefined value
- [1003307] fixed ithread_dispatcher share() usage and warning
appearing when $@ was defined but empty
- [1003304] changed SIGINFO/SIGUSR1 handler to use warn() rather
than raw prints to STDERR (requested by <andrewr@iagu.net>)
- [925577, 1003351] added support for quarantine(), progress(),
and shutdown() (Sendmail 8.13 special case)
- moved SMFIF_* constants not in the standard Sendmail::Milter
into only Sendmail::PMilter
Changes:
- Announce ourselves as 'clamsmtp' in banner to prevent loop warnings
- Fixed endless loop that occurred on failure to connect out
- Added option for leaving all files in temp directory (debugging purposes)
- Prints version number when run with -v
* Remove 'g', 'r', and 'f' from bogofilter's OPTIONS list as
there's only one scoring algorithm.
* Fixed db_init/db_cleanup problems encountered with multiple
wordlists and concurrent data stores.
* Bugfix: '%I' is now really the Message-ID,
* Feature: '%Q' is now the queue ID
* Use an explicit inputs/outputs directory list to avoid shipping test
files in those directories.
* Miscellaneous cleanups, removed 'degen' code remainders.
* Formatting character changes:
'%A' is now the message's IP address.
'%I' is now the message's ID.
* Remove initialize() function in bogoconfig.c and use
lexer_init() in lexer.c, which provides same functionality.
* Warn on invalid options, rather than exit.
-add additional error handler for certain network errors with POP3-over-SSL
connections. Thanks: Frank Benkstein.
-rename retriever class for Demon UK: it should have been SDPS; my
transposition. Thanks: Paul Howarth.
- removed warning by Mail::Address::host() when no e-mail address
is provided.
- corrected the folding of lines: folds start only with one blank
according to rfc2822.
- Added a big warning against automatic sender email address detection
as provided by Mail::Util::mailaddress(). Please explicitly set
MAILADDRESS.
- Mail::Address->format should quote phrases with weird character.
- reported confusing error message when no MailerType was specified.
-some types of socket errors would raise an exception instead of letting
getmail gracefully continue; fixed. Thanks: David.
-documentatation updates; fix two typos and add to the section on using
ClamAV with getmail.
-changes to my release process; the current version's URL will not change
when a new version is released. See, I try to help others, even when they
don't do the same...
Changes:
[11.0] released 7/30/04
* IMAP support has been added. It should considered to be in beta state
now, but should not have any disturbing effects on other code unless
it is actually used. (So the version jump does not require vendors to
continue to ship older releases.)
To get started with IMAP, see the manual page for the 'account',
'folder', and 'imap' commands, and for the 'folder' variable, as
well as the EXAMPLES and NOTES sections.
* Support for SMTP AUTH LOGIN was added (contributed by John Fawcett).
* It is now possible to encrypt SMTP with SSL/TLS, using the STARTTLS
method as well as with the SMTPS variant.
* New 'account' command to set groups of variables.
* Line and column limits (used e.g. for the header summary) are updated
when the size of the terminal is changed (handling SIGWINCH).
* If saving an outgoing message to the folder given in the 'record'
variable fails, the message is not sent but put in 'dead.letter'
instead. This rarely happens with local record folders, but is of
concern if 'record' refers to an IMAP mailbox.
* For addresses specified with the ~b, ~c, ~h, and ~t tilde escapes
or by the 'editheaders' method, if a comma, parenthesis, angle bracket,
or quoting character appears, only the comma is accepted as an address
separator. Otherwise, whitespace separates addresses as elsewhere. This
allows the insertion of comments in recipient addresses and more closely
matches the behavior of System V mailx. (Thanks to Ryan Lovett and Hilko
Bengen.)
* An internal version of getopt() is now used to properly work around
system defects such as the option reordering on GNU libc based
systems. If you really prefer the libc version, remove getopt.o from
the list of objects in the Makefile. (Note that nail already worked
around the glibc problem, so unless _your_ patches changed its
behavior, use the new internal getopt() to remain compatible.)
* The undocumented facility to pass sendmail options on the command
line of nail has been removed because it was not compatible with
POSIX and System V. If you need to pass options to sendmail, create
a shell script which invokes it appropriately and let the nail
variable 'sendmail' point to its location.
* Fixed the text of some usage messages (thanks to Christian Reiber).
and provides NetBSD-style rc.d scripts and an example mailer.conf.
The rc.d scripts used to belong directly to the qmail package. Changes
made during the move here:
* Rename qmailfoo_softlimit to the more accurate qmailfoo_datalimit.
* Parameterize logging as qmailfoo_logcmd (default: splogger).
* Run all sploggers (not just qmail-send's) as user qmaill, rather than root.
* Replace "@CAT@" with "@HEAD@ -1" for files expected to contain one line.
packages. They now simply compile and install qmail and its
prerequisites. (The add-on scripts and config files will be revivified
as a separate qmail-run package. Thus, QMAIL_AUTOCONFIG is no longer
needed.)
The user is notified at install time that one popular, well-regarded
way to enable qmail is to follow the directions in "Life with
qmail", and that another way is to install the qmail-run package.
These changes, based on discussion with Charles Cazabon, are intended
to make life easier for the helpful people on the qmail mailing
list by clearly marking custom add-ons as such.
Other changes:
Since netqmail is a tarball containing the qmail tarball plus the
netqmail bits, we can use it for both packages and share more logic
between the two packages: MASTER_SITES, DISTINFO_FILE, WRKSRC, and
the post-extract target.
Now that there's one place to put the distinfo, add Eben Pratt's
simple patch to build and install on Mac OS X 10.3 (the patch is
not applied on other OSes).
Bump PKGREVISION of both packages.
differences from previous versions:
getmail version 4 has been completely rewritten. It is designed to
closely mimic the interface and user experience of getmail version
3, but the new architecture necessitates some differences you will
notice:
* the getmail rc file (configuration file) format has changed. If
you are upgrading from version 3, you will need to write a new
configuration file based on the contents of your old one. The
new file format resembles the old in many ways. Each account you
retrieve mail from will require a separate rc file, but getmail
can operate with multiple rc files simultaneously if you wish to
retrieve mail from multiple accounts.
* support for protocols other than POP3/SPDS. IMAP support is now
included, and other protocols can be added with relative ease.
* support for SSL-encrypted protocols. The included POP3 and IMAP
retriever classes are complemented by SSL-enabled counterparts.
* messages can be filtered or annotated by external programs like
spam filters and anti-Microsoft-worm programs. Filters can cause
messages to be dropped completely.
* a flexible, extensible architecture. Additional classes for
handling new mail protocols, filter types, or destination mailstores
can be added without needing to modify the main script at all.
Feel free to contact me if you need a custom retriever, filter,
or destination class written, or if you want commercial support
for getmail.
0.99.10.9 2004-07-31 Timo Sirainen <tss at iki.fi>
- MySQL compiling got broken in last release
- More PostgreSQL reconnection fixing
0.99.10.8 2004-07-30 Timo Sirainen <tss at iki.fi>
+ LDAP support compiles now with Solaris LDAP library
- IMAP BODY and BODYSTRUCTURE replies were wrong for MIME parts which
didn't contain Content-Type header.
- MySQL and PostgreSQL auth didn't reconnect if connection was lost
to SQL server
- Linking fixes for dovecot-auth with some systems
- Last fix for disconnecting client when downloading mail longer than
30 seconds actually made it never disconnect client. Now it works
properly: disconnect when client hasn't read _any_ data for 30
seconds.
- Convert to use bsd.options.mk.
- The virus database has been moved to ${VARBASE}/clamav.
* freshclam/clamd: fix crash on PPC when LogFile was enabled together
with LogSyslog
* configure: improve gethostbyname_r check; cleanups
* clamav-milter: Use GETHOSTBYNAME_R_6
Better load balancing if max_children = 0
Fixed warning message when building on FreeBSD4.9
Closed (small) memory leak
Fix crash when the 1st remote service goes down
Only use gethostbyname_r on LINUX for now
Improved load balancing a bit
* clamdscan: fix stdin scanning in local mode
* clamav-milter: %v in the template file handling is now replaced
only with the virus name, no "stream:" appears
* libclamav/mbox.c: Fix crash when debugging on SPARC
* libclamav/message.c: Fix occasional crash when scanning
multipart within multipart e-mails
processes instead of saving values in shell variables and then iterating
over them. Using pipes is more scalable and is just as easy to read, so
it's a net win.
Removing directories happens at POST-DEINSTALL time, but the imapd.conf
file may be removed during the DEINSTALL stop, so we need to add the code
to remove the IMAP directories explicitly in the DEINSTALL step, as well.
Removing directories happens at POST-DEINSTALL time, but the imapd.conf
file may be removed during the DEINSTALL stop, so we need to add the code
to remove the IMAP directories explicitly in the DEINSTALL step, as well.
for each package can be determined by invoking:
make show-var VARNAME=PKG_OPTIONS_VAR
The old options are still supported unless the variable named in
PKG_OPTIONS_VAR is set within make(1) (usually via /etc/mk.conf).
Changes to the Cyrus IMAP Server since 2.2.6:
- Fix handling of PARTIAL command and partial body fetches
- A large number of portability fixes supplied by Albert Chin
- Added client_timeout option to control connect() timeouts
for proxy code
- Added popuseacl option
- Fix a number of issues with the quota -f tool
- Fix thread safety issue in saslserver()
- Fix possible stage file leak in append code
- Fix bugs in handling of MULTIAPPEND introduced in 2.2.3
- Fixed regression bug in Sieve vacation
Changes:
- Option for quarantining files with viruses
- Fixed problem with returning wrong SMTP error code
- Handling timeouts properly
- Fixed stupid problem with sockets not getting closed properly
mess822 is a library for parsing Internet mail messages. The mess822
package contains several applications that work with qmail:
* ofmipd rewrites messages from dumb clients. It supports a database
of recognized senders and From lines, using cdb for fast lookups.
* new-inject is an experimental new version of qmail-inject. It
includes a flexible user-controlled hostname rewriting mechanism.
* iftocc can be used in .qmail files. It checks whether a known
address is listed in To or Cc.
* 822header, 822field, 822date, and 822received extract various
pieces of information from a mail message.
* 822print converts a message into an easier-to-read format.
mess822 supports the full complexity of RFC 822 address lists,
including address groups, source routes, spaces around dots, etc.
It also supports common RFC 822 extensions: backslashes in atoms,
dots in phrases, addresses without host names, etc. It extracts
each address as an easy-to-use string, with a separate string for
the accompanying comment.
MD5_Final() has been corrected to actually zeroize the context structure.
This makes no difference for popa3d itself, but may be important for
possible other applications which might use the popa3d MD5 routines.
* Changes since previous pkgsrc version - 0.3.5:
0.3.8 + Allow port to listen to in standalone to be changed with -P.
(Patch by: "Malte S. Stretz" <msquadrat.nospamplease@gmx.net>)
! Reduce memory footprint
(Idea from: "Malte S. Stretz" <msquadrat.nospamplease@gmx.net>)
+ Warn when teapop.passwd isn't found and default authentication
is used.
+ Introduce softlock, which gives the client an empty mailbox
instead of an error.
- Proper handling of CRLF in Maildirs.
(Found by: Matthew Sayler <sayler@speedsite.com>)
* Release date: 25-Nov-2003
0.3.7 - The configure script was broken under certain circumstances.
* Release date: 22-Jul-2003
0.3.6 + Attempt to handle broken maildelivery programs that doesn't
quote From_ lines.
+ Support to delete messages older then a certain expire date.
+ Support for tcpwrapper.
! Better cleanup of MySQL connections
(Patch by: Ross West <westr@connection.ca>)
! Improved NULL handling on long lines
(Pointed out by: Ross West <westr@connection.ca>)
- Possible buffer underflow fixed.
- Unbreak APOP with database authentication
(Found by: "Toru Hosaka" <hosaka@kt.rim.or.jp>)
! Restrict max value for hashing.
+ Mailspool hashing is now availble for all authentication types.
(Based on patch by: Robert Gomu?ka <carramba@pf.pl>)
+ Escape userdata for database authenticaion
(Patch by: Robert Gomu?ka <carramba@pf.pl>)
+ Support for ia64.
+ Support for special logging in SSL-mode.
+ IPv6 support when running in inetd-mode.
* Release date: 21-Jul-2003
* Superfluous MESSAGE file mentioning rc.d script was removed, as it was
too generic and not really useful.
1.2.0
* CHANGED SWITCH NAME: "-m" is now used to view messages (no more "-v")
* Added "-V" switch to print program version
* Added switch to delete messages based on subject [thanks Arne Bernin]
* Included GPL licence in the distribution
* Now qmail is stopped only once for multiple deletions of messages, which
makes things a bit faster
* Corrected a bug which might have caused wrong messages to be deleted
* Corrected several minor bugs
1.1.1 (July 10, 2003)
* Corrected a bug which caused the -a switch not not work.
1.1.0 (June 4, 2003)
* First release as a Sourceforge.Net community project... development
resumes!!!
* Added -a option to immediately send queued messages.
Notable pkgsrc changes:
* Configure using subst.mk.
* Remove RESTRICTED (it no longer appears to be true).
* Take MAINTAINER.
Also depend on qmail (or netqmail) directly. Set USE_BUILDLINK3=yes.
Rename pre-build to do-configure, and configure all the conf-*
files. Take MAINTAINER.
definitions of LOCALBASE and NO_MTREE. This requires either the
latest qmail package or netqmail. Add needed dependencies on
daemontools and ucspi-tcp also. Rename post-patch to do-configure.
Set ALL_TARGET explicitly. Set USE_BUILDLINK3=yes. Update HOMEPAGE.
Take MAINTAINER. Bump PKGREVISION.
KJ 08/24/2003 2.0.4 From Woody Security team
* Non-maintainer upload by the Security Team
* Fix buffer overflow with EXT and HOST environment variables
(CAN-2003-0654)
JK 09/18/2003 2.0.5 fixed invalid exit codes in several places that
cause qmail to bounce messages wrongly.
Thanks to Flavio Curti fcu-autoresp@no-way.org for
identifying further invalid exit situations.
pkgsrc changes:
* Express post-patch using subst.mk instead.
* Add dependency on qmail or netqmail.
* Take MAINTAINER.
definitions of LOCALBASE and NO_MTREE. This requires either the
latest qmail package or netqmail, and conflicts with both postfix
and sendmail. Rename post-patch to do-configure. Add "install" and
"instcheck" to ALL_TARGET to build the installer at the end of the
build phase, rather than at the beginning of the install phase.
Remove notes at install and deinstall time about updating the
"newaliases" mailer.conf entry, as this entry is now included in
the qmail package's example mailer.conf. Clarify RESTRICTED. Take
MAINTAINER. Bump PKGREVISION.
definitions of LOCALBASE and NO_MTREE. Let the qmail dependency be
satisfied by netqmail, if present. Rename post-patch to do-configure.
Clarify RESTRICTED. Take MAINTAINER. Bump PKGREVISION.
dependency on netqmail (but not qmail, as for pkgsrc purposes this
requires the QMAILQUEUE patch). Enable pkgviews installation. Rename
post-patch to do-configure, since that's what it's doing.
Add a simple script that runs all the filters in ${PKG_SYSCONFDIR}
whose filenames match "qfilter-*". Explain how to enable filtering
on messages arriving via SMTP using this script.
Take MAINTAINER. Bump PKGREVISION.
of us who want the netqmail patches should use this package instead.
The two packages are otherwise identical.
Included here, as in the old qmail package:
* The netqmail 1.05 patches
* http://www.ckdhr.com/ckd/qmail-103.patch (recommended by Dave Sill)
Included in the old qmail package, but not here:
* http://patch.be/qmail/badrcptto-v1.01.patch
If you relied on the badrcptto patch, consider using qmail-qfilter
instead. As with any other package, you can apply patches to your
local builds with pkgsrc's LOCALPATCHES mechanism.
1) Mostly conform to hier(7) and honor PKG_SYSCONFDIR.
2) Follow more closely Dave Sill's "Life with qmail" (LWQ).
3) Add a bunch of features to the rc.d scripts.
4) Remove some (but not all) obstacles to binary packaging.
5) Introduce QMAIL_AUTOCONFIG, QMAIL_QUEUE_DIR, and QMAIL_QUEUE_EXTRA.
6) Enable pkgviews installation.
7) Bump PKGREVISION.
Long story:
1) Mostly conform to hier(7) and honor PKG_SYSCONFDIR.
Based on a January 1997 post by mrg to the qmail list: prior
to installation, we create symlinks in ${QMAILDIR} that point
into ${LOCALBASE} or ${PKG_SYSCONFDIR}, causing installation
to place files in those locations while allowing the canonical
/var/qmail paths to continue to work. The notable deviation
from hier(7) is that even though some binaries ought to go in
sbin, they've all been lumped into bin for simplicity.
Pleasant effects:
* We no longer need to set LOCALBASE (a big no-no), and as a
result also no longer need to set NO_MTREE, RCD_SCRIPTS_EXAMPLEDIR,
or EVAL_PREFIX. This will also allow a few qmail-related
packages to do likewise.
* The commands and manual pages are in easily accessible paths
by default.
* Package installation and deinstallation work much better.
Side effects:
* There were a few minor conflicts with mail/courier-maildirmake,
mail/mutt, and mail/pulsar. The latest versions of each are
fine, so we add CONFLICTS only for older versions. (Thanks
to those packages' maintainers!) There's also a conflict
with security/mirrordir, which has a "bin/forward" command
and corresponding section 1 man page.
* Some directories under ${PREFIX} get chown'd to group qmail.
Rather than modify the qmail installer, the affected
directories are simply chown'd back afterward during
post-install if PKG_INSTALLATION_TYPE is "overwrite". (If
it's "pkgviews", then only the package's depot directory is
affected, so we leave it alone.)
2) Follow more closely Dave Sill's "Life with qmail" (LWQ).
Similarities:
* Installs into /var/qmail from source.
* Installs ucspi-tcp and daemontools.
* Uses tcpserver(1).
* Uses tcp.smtp.cdb for relay access control.
* Uses control/defaultdelivery.
* Uses control/concurrencyincoming.
* Requires that control/rcpthosts exist to prevent open relays.
* Uses similar chains of commands in run scripts.
* Provides a script much like qmailctl.
Differences:
* This package does the following work for you automatically:
* Creates user accounts.
* Fetches, extracts, patches, configures, and compiles the source.
* Installs binaries.
* Runs ./config-fast.
* Creates tcp.smtp{,cdb} and tcp.pop3d{,cdb}.
* Creates control/concurrencyincoming.
* Creates control/defaultdelivery (defaulting to "./Mailbox").
* Creates the three required system aliases.
* LWQ suggests doing some things this package doesn't do:
* Applying patches.
* Copying a script from /var/qmail/boot to /var/qmail/rc.
* Configuring svscan(8) to run at boot.
* Creating and populating /service.
* Using supervise(8) and multilog(8).
* Using the qmailctl script to control qmail.
* Using the inst_check script to verify the installation.
* Storing tcp.smtp{,cdb} in /etc.
* Renaming the system sendmail(8) and marking it non-executable.
* Instead, this package:
* Builds from unmodified source. (See also mail/netqmail.)
* Uses NetBSD-style rc.d scripts (including one similar to qmailctl).
* Sends log messages to syslog(3).
* Stores tcp.smtp{,cdb} and tcp.pop3{,cdb} in ${PKG_SYSCONFDIR}.
* Provides an example mailer.conf(5).
3) Add a bunch of features to the rc.d scripts.
Rename the qmail script and rcvar to qmailsend. Add "doqueue"
(synonyms: alrm, flush) and "queue" commands, add "hup" as a
synonym for "reload", and determine default delivery instruction
from control/defaultdelivery (LWQ). Add control/defaultdelivery
to required_files. Rename qmailsend_flags to
qmailsend_defaultdelivery, which overrides control/defaultdelivery
if set.
In the qmailpop3d and qmailsmtpd scripts, enforce resource
limits with softlimit(8) (LWQ). Add dependency on sysutils/daemontools
for this. Rename qmailfoo_flags to qmailfoo_tcpflags. Add
qmailfoo_tcphost (default: 0, meaning "any address") and
qmailfoo_tcpport (default: 110 and 25, respectively). Add
qmailfoo_softlimit (default: 2000000). Add qmailfoo_pretcpserver
and qmailfoo_prefoo (default: empty), useful for inserting
commands such as rblsmtpd(1) or relay-ctrl into the chain.
Log to splogger's default syslog facility ("mail"), and use
the name of the script as the tag.
In the qmailpop3d, qmailsend, and qmailsmtpd scripts, add
qmailfoo_postenv (defaults: empty, PATH=${PREFIX}/bin:$PATH,
and QMAILQUEUE=${PREFIX}/bin/qmail-queue, respectively), useful
primarily for setting environment variables for each service.
Add "pause" and "cont" commands (LWQ). They send -STOP and
-CONT signals, respectively. Add "stat" as a synonym for
"status" (LWQ).
In the qmailpop3d script, add -x to qmailpop3d_tcpflags and
add "cdb" command. Add qmailpop3d_checkpassword (useful for
authenticating against alternate user databases) and
qmailpop3d_maildirname (useful if your maildirs are named
something other than "Maildir"). Add tcp.pop3.cdb to
required_files.
In the qmailsmtpd script, add -x and remove -H from
qmailsmtpd_tcpflags, limit the number of incoming connections
to control/concurrencyincoming, and add "cdb" command (LWQ).
Add control/concurrencyincoming and tcp.smtp.cdb to required_files.
Add qmailqread script and ${PREFIX}/bin/qmail-qread-client,
based on Steinar Haug's example on www.qmail.org. If enabled,
this allows local non-root users to see the queue.
Add qmail script (structure copied from net/samba/files/samba.sh).
Its interface is very similar to LWQ's qmailctl: it provides
the commands "start stop restart rcvar pause cont stat status
cdb doqueue reload queue alrm flush hup help". These commands
can be run either directly from the appropriate service-specific
script(s), or from this qmail script (which will call the
right script(s) for you).
4) Remove some (but not all) obstacles to binary packaging.
Each of these is better explained elsewhere. Summary:
* Installs into the normal ${LOCALBASE}.
* /var/qmail paths still work.
* No patches are applied. (See also mail/netqmail.)
5) Introduce QMAIL_AUTOCONFIG, QMAIL_QUEUE_DIR, and QMAIL_QUEUE_EXTRA.
QMAIL_AUTOCONFIG (default: YES): whether to automatically
create basic config files.
QMAIL_QUEUE_DIR (default: ${VARBASE}/spool/qmail): the path
to the queue.
QMAIL_QUEUE_EXTRA (default: empty): an additional recipient
that will be added to every delivery. This is used primarily
for logging. If this is set to a non-empty value, the necessary
dot-qmail(5) file is created automatically at install time.
6) Enable pkgviews installation.
7) Bump PKGREVISION.
Other user-visible changes:
This package no longer applies patches to qmail. mail/netqmail,
to be imported shortly, does.
Restrictions on the redistribution of modified qmail apply
not only to binaries but also to source. Clarify this in
RESTRICTED.
Add "newaliases", "hoststat", and "purgestat" entries to the
sample mailer.conf. Install it to ${PREFIX}/share/examples/${PKGBASE},
as other pkgsrc mailers do. ("newaliases" is actually provided
by the fastforward package, and isn't needed unless you're
using it.)
Explain how to enable qmail in MESSAGE (cribbed from the
postfix package).
Thanks to zuntum, snj, salo, and jlam for ideas, discussion, and review.
ClamSMTP is an SMTP filter that allows you to check for viruses using
the ClamAV anti-virus software. It accepts SMTP connections and
forwards the SMTP commands and responses to another SMTP server. The
'DATA' email body is intercepted and scanned before forwarding.
ClamSMTP aims to be lightweight, reliable, and simple rather than have
a myriad of options. It's written in C without major dependencies.
If you need more options then you could use something big like AMaViS
which is written in PERL and can do almost anything.
ClamSMTP is an SMTP filter that allows you to check for viruses using
the ClamAV anti-virus software. It accepts SMTP connections and
forwards the SMTP commands and responses to another SMTP server. The
'DATA' email body is intercepted and scanned before forwarding.
ClamSMTP aims to be lightweight, reliable, and simple rather than have
a myriad of options. It's written in C without major dependencies.
If you need more options then you could use something big like AMaViS
which is written in PERL and can do almost anything.
Bugfixes in this version include crashes with multipart/mixed messages
and corrupted OLE2 and Zip files. Improvements include various optimisations
of mail scanning and clamav-milter and clamdscan behaviour.