2003-03-11 Lars Hecking * Tag and release amavisd-0.1. 2003-03-11 Lars Hecking * amavis/av/rav: Updates and bug fixes, by John Miller. 2003-03-05 Lars Hecking * amavis/amavisd.in(parse_decode): Configure MIME parser to extract uuencoded data. Log MIME parser errors. 2003-02-25 Lars Hecking * amavis/av/avp: Handle return code 3. * amavis/av/clamavd: Add use IO::Socket statement. Bug reported and solution suggested by Jim Gifford (closes bug #692328). * amavis/mta/qmail_send: Rewritten to avoid hanging when trying to send a long list of recipients to the real qmail-queue. Based on patch by Ask Bjoern Hansen posted to amavis-tech in September 2002. 2003-02-19 Lars Hecking * Makefile.am, doc/amavis-milter.1, doc/amavis.1, doc/amavisd.8, doc/amavisd.conf.5: Add man pages to the distribution. * configure.in: Update PKG_EMAIL. Move AC_SUBST directives to end of file. Fix quoting. * configure.in, amavis/amavisd.conf.in, amavis/amavisd.in: Hardwire amavisd.conf location to /etc. * amavis/Makefile.am: Don't overwrite amavisd.conf when installing. * amavis/amavisd.in: Reorganise variable declarations near the top. Replace $DEBUG and $TESTING with $nomail and $log_to_stderr. * amavis/amavisd.in(decompose_part): Slightly relaxed regexp for untainting part filenames. * amavis/amavisd.in(do_tnef): Current directory must be reset on all possible excecution paths. * amavis/amavisd.in(setup_logging,do_log,do_exit): Rewritten to make use of new $log_to_stderr variable. * amavis/amavisd.in: New variables $daemonize, $loglevel. Add handling of command line arguments. * amavis/av/avpdc, amavis/av/hbedv, amavis/av/norman: Sync with up to date versions in main branch. * tests/Makefile.am, tests/README: Updated to reflect new amavisd command line switches. 2003-02-17 Lars Hecking * configure.in: Fix typos in Clam AV Daemon section. * amavis/amavis-milter.c(mlfi_eom): Add support for rejecting mail. Patch by Did Rieder for amavisd-new. * tests/test-setup: Test for amavisd-test rather than ../amavis/amavisd. 2003-02-12 Lars Hecking * INSTALL, README.milter, configure.in: Remove --with-sendmail-source configure option, add --with-milter-includes, --with-milter-libs. * configure.in: Slightly rewritten milter test. * amavis/amavis-milter.c(strlcpy): Simplify pre-processor directives for strlcpy(). * amavis/av/norman: Use correct command line args for current version of NVC. * tests/Makefile.am, tests/config, tests/novirus-msg, tests/test-setup, tests/virus-msg, tests/xheader: Sync test suite in amavisd branch and main branch - the files arre identical now. 2003-02-07 Lars Hecking * amavis/amavisd.in, amavis/amavisd.conf.in: Rainer's patch for better control of resource limits. * amavis/amavisd.in, amavis/amavisd.conf.in: Rainer's patch for requeuing files on scanner errors. * amavis/amavisd.in: Revert child handling to 20020300 snapshot. * amavis/amavisd.in(do_unrar): Avoid EPIPE signal if unrar exits prematurely. By Rainer. * amavis/amavisd.in(do_unzip,do_unrar,do_lha): Fix off-by-one error when compression level is incremented for executable files. By Rainer. * amavis/amavisd.in(log_msg_id): Renamed to get_msg_id, and add msg id to various log messages. By Rainer. * amavis/av/fprotd: Updated and fixed by Rainer, partially based on patch #656519 by Randy Smith. 2003-02-06 Lars Hecking * configure.in: Prepend $PATH to unarchivers search path instead of append. Use sbindir instead of prefix/sbin in configure report. Noted by Anne Bennett. * amavis/amavis-milter.c: Patch by Anne Bennett to daemonise amavis-milter correctly (closes bug #623759). * amavis/amavis-milter.c(main): New -x option to control X_HEADER at run time. * amavis/amavis-milter.c(mlfi_body): Patch suggested by Gil Kloepfer to avoid illegal memory access in crlf->lf conversion. * amavis/av/fprot, amavis/av/fprotd, amavis/av/fsec, amavis/av/norman: Updates ported over from amavis-perl branch. * amavis/mta/qmail_args: Comment out unneeded code. * amavis/mta/qmail_send: Output envelopes in format required by qmail. 2003-02-06 Rainer Link * README.exim, README.scanners, README.sendmail: Updated. 2002-06-04 Lars Hecking * configure.in, amavis/amavisd.in, amavis/amavisd.conf.in, amavis/av/clamav, amavis/av/clamavd, amavis/av/ikarus, README.scanners: Preliminary support for for Clam Antivirus, Clam Daemon, and Ikarus ported over from amavis-perl. 2002-06-04 Lars Hecking * amavis/mta/sendmail_args: Add missing -i option (fixes bug #563839). 2002-05-31 Lars Hecking * README.qmail: Updated. * configure.in: Warn that qmail support is experimental. * amavis/amavis-milter.c: Improved mydebug() function from amavis.c. 2002-05-13 Lars Hecking * amavis/amavis.c: Remove static buffers and simplify some code. * amavis/amavisd.in: Better error handling through die for unlink/ open/close/flock/seek functions. Other cosmetic changes ported over from amavisd-new. * amavis/amavisd.in, amavis/mta/exim_init, amavis/mta/libmilter_init, amavis/mta/postfix_init, amavis/mta/qmail_init, amavis/mta/sendmail_init: Declare VIRUSERR and REGERR in amavisd, init in MTA init files. * amavis/mta/exim_send, amavis/mta/postfix_send, amavis/mta/qmail_send, amavis/mta/sendmail_send: Use retcode() for LDA return code handling. 2002-04-30 Lars Hecking * README.scanners, amavis/av/mks: Update MkS support (see bug report #547558). * configure.in: Bugfix for sophie and trophie socket name extraction. 2002-04-22 Lars Hecking * amavis/amavis-milter.c(main): Seed random number generator. * amavis/amavisd.in: Improve some regexps, minor mods. 2002-04-22 Ramon Acedo * README.qmail: Update info about suidperl permissions. 2002-04-17 Riccardo Murri * amavis/av/nod32: Updated. 2002-04-17 Marius Strobl * configure.in: Update search path for Kaspersky tools, and remove check for avpdaemon when it gets to look for the command-line version in order to pick the latter up if avpdaemon exists but the client doesn't. 2002-03-25 Lars Hecking * configure.in: Change AC_PATH_PROGS to AC_PATH_PROG where appropriate. Fix quoting (macros inside macros), add runtime directory to configure report. * tests/Makefile.am(CLEANFILES): Add amavis.log. 2002-03-25 Mark Martinec * amavis/amavisd.in(main_loop): Fix for accept() problem. 2002-03-22 Lars Hecking Note: INCOMPATIBLE CHANGE for the postfix setup! * INSTALL, NEWS, README.postfix, README.scanners, configure.in: The default user id amavis runs as with postfix was changed from "vscan" to "amavis" to be consistent with the other MTA configurations. milter, too, now uses "amavis". 2002-03-21 Lars Hecking * configure.in: Enforce availability of a file command that recognises TNEF files. * amavis/amavis-milter.c: Bugfix in protection against empty return string. * amavis/amavisd.in(decompose_part): Remove handling of "data" as TNEF. 2002-03-16 Lars Hecking * amavis/av/avp, amavis/av/avpdc, amavis/av/cai, amavis/av/csav, amavis/av/cyber, amavis/av/drweb, amavis/av/fprot, amavis/av/fprotd, amavis/av/fsec, amavis/av/hbedv, amavis/av/mks, amavis/av/nai, amavis/av/nod32, amavis/av/nod32cli, amavis/av/oav, amavis/av/panda, amavis/av/rav, amavis/av/sophie, amavis/av/sophos, amavis/av/symantec, amavis/av/trend, amavis/av/trophie, amavis/av/vbuster, amavis/av/vexira: Patch by Mark Martinec to fix scanner_errors logic, extended to all scanner files. 2002-03-16 Mark Martinec * amavis/amavisd.in: Track the exit status of children and log unexpected deaths. * amavis/notify/admin, amavis/notify/recip, amavis/notify/sender: Slightly more compact and more informative notifications. 2001-03-16 Rainer Link * README.scanners, configure.in, amavis/amavisd.in, amavis/amavisd.conf.in, amavis/av/fprotd, amavis/av/norman, amavis/av/vexira: Preliminary support for FRISK F-Prot Daemon, CentralCommand Vexira, Norman Virus Control for Linux. * amavis/av/fprotd, amavis/av/oav, amavis/av/symantec, amavis/av/vexira: Fix scanner_errors logic. 2002-03-06 Lars Hecking * configure.in, amavis/amavisd.in, amavis/amavisd.conf.in, amavis/av/drweb, amavis/av/mks: Preliminary support for MkS_Vir for Linux, based on patch for amavis 0.2.x by Krzysztof Drewicz . Preliminary support for DrWeb virus scanner, based on patch by Roel van Meer for amavis-perl. * amavis/amavis-milter.c: Don't include "sm/string.h", declare sm_strlcpy() instead. * amavis/amavis.c: Bugfix in protection against empty return string. * amavis/amavisd.in(do_exit): Back to using rmdir_recursively. * amavis/mta/postfix_send_smtp: Patch to really include smtp_msg in amavis diagnostics (pointed out by Mark). * tests/Makefile.am: Set MAXLEVELS to 14 for testing. 2002-02-20 Lars Hecking * amavis/av/*: do_virus() has no args. * tests/Makefile.in(amavisd.conf): Remove duplicate sed command. 2002-02-21 Mark Martinec * amavis/amavisd.in: Issue correct diagnostic in case of syntactic errors in config file. Log nonzero status of external unpackers. Improvements in rar and arj handling. Fix bug in decompose_part() where $filetype gets overwritten by one of the called subroutines because $_ is aliased to it. Cosmetic changes. 2002-02-21 Mark Martinec * amavis/amavisd.in(warn_admin): Fix empty scanner output in admin report. 2002-02-20 Lars Hecking * amavis/amavis-milter.c, amavis/amavis.c: Fix typo in strlcpy definition. * amavis/amavisd.in(do_zoo): Add "qq" to zoo args to suppress warning output, as suggested by Mark Martinec. 2002-02-19 Lars Hecking * amavis/amavis-milter.c, amavis/amavis.c: In mydebug(), use ! instead of ~ for debug level checking. * amavis/amavisd.conf.in: Must quote $scs_port and $scs_port. * amavis/av/trophie: Fix cut&paste typo, spotted by Dale Perkel. * amavis/mta/postfix_args: Comment out unneeded LDA-related code. 2002-02-18 Lars Hecking * amavis/amavis-milter.c(mlfi_eom): Fix unassigned sender_l variable. * amavis/amavisd.in: Remove $do_output and output_*() subroutines. Restore old version of forward_mail() and notification functions. * amavis/av/trophie: Check return values of system calls, as per Mark's patch for sophie. * amavis/mta/exim_init, amavis/mta/libmilter_init, amavis/mta/postfix_init, amavis/mta/qmail_init, amavis/mta/sendmail_init: Remove $do_output line. * amavis/mta/postfix_send_smtp: Bugfixed version of Mark's performance improvement patch. * amavis/notify/admin, amavis/notify/recip, amavis/notify/sender, tests/config: Restore old versions. 2002-02-18 Luca Filipozzi , Rainer Link * configure.in, amavis/amavisd.conf.in, amavis/amavisd.in, amavis/av/nod32cli, amavis/av/symantec: Preliminary support for ESET Software NOD32 Client/Server and Symantec CarrierScan. 2002-02-18 Mark Martinec * amavis/amavis-milter.c, amavis/amavis.c: Improved implementation of strlcpy(). 2002-02-08 Lars Hecking * amavis/amavisd.in(main_loop): Remove code that checks for alarm clock. * amavis/tests/Makefile.am: Increase MAX_ARCHIVE_NESTING for testing. 2002-02-08 Gregory Ade * README.milter, amavis/amavis-milter.c: Daemonise the amavis-milter client. Patch rev. 2 from 19 Dec 2001. 2002-02-08 Mark Martinec * amavis/amavisd.in(main_loop,decompose_part,do_executable): Add better error handling through eval. * amavis/amavisd.in(do_unzip): Use croak instead of carp for error handling. * amavis/amavisd.in(rfc2821_mailbox_addr,rmdir_flat): New functions. * amavis/amavisd.in(do_exit): Use rmdir_flat() instead of rmdir_recursively() for safety reasons. * amavis/av/sophie: Check return values of system calls. 2002-02-08 Rob MacGregor" * README.milter: Updated for sendmail 8.12.x, with additions from Dale Perkel and Lars Hecking. 2002-02-01 Lars Hecking * amavis/amavisd.conf.in: Fix typo (must be MAXFILES instead of MAX_FILES). * amavis/amavisd.in(do_quarantine): Accept one arg to state reason for quarantining. * amavis/amavisd.in(parse_decode): $warn_file must be greater than 1, not zero, just like the comment says. 2002-01-28 Lars Hecking * amavis/amavisd.in(do_virus,do_quarantine): Sync with main branch. 2002-01-28 Lars Hecking * README.postfix: Add configuration hint for delivery failure with local_recipient_maps enabled. Problem diagnosed and workaround provided by Lutz Jaenicke. * amavis/amavis-milter.c(mlfi_eom): Fix typo in Mark's patch. * amavis/amavisd.conf.in, amavis/amavisd.in(parse_decode,getfilename): Add code from MAIN branch for limiting nesting level of compressed archives and total number of extracted files. 2002-01-28 Mark Martinec * amavis/amavisd.in(parse_decode): Use opendir()/readdir()/closedir() instead of ls command for performance reasons. * amavis/amavisd.in(rmdir_recursively): As above, to replace the system rm command in do_exit(). 2002-01-24 Lars Hecking * amavis/amavis.c: Bring debugging macros in line with milter client. * amavis/amavis-milter.c, amavis/amavis.c, amavis/amavisd.in(main_loop): Increase socket buffer from 255 to 8192, patch from Mark Martinec. * amavis/amavisd.in(output_milter): First arg to output_pipe must be 1 for notification. Noted by Laurent Facq. * amavis/amavisd.conf.in: Bugfix, remove "my" in variable initialisations. Noted by Laurent Facq. * amavis/mta/postfix_init, amavis/mta/sendmail_init: Fix typo in comment. 2002-01-02 Lars Hecking * README.scanners, configure.in, amavis/amavisd.conf.in, amavis/amavisd.in, amavis/av/nai: Remove support for NAI uvscan version 3.x. * configure.in, amavis/amavisd.conf.in, amavis/amavisd.in: Remove references to procmail, postfix local delivery config not supported anymore. * amavis/amavisd.in: Explicitly list required POSIX symbols for new retcode() function. * amavis/amavisd.in(main_loop): Tighten up regexp for TEMPDIR untainting. * amavis/amavisd.in(output_milter,output_pipe,output_smtp): New functions for output methods. * amavis/amavisd.in(virus_scan): Keep state between av scanner runs to protect against failure of all scanners. * amavis/amavisd.in(forward_mail): Rewritten to use new output functions. * amavis/amavisd.in(decompose_part): Detect POSIX tar archives. * amavis/av/avp, amavis/av/avpdc, amavis/av/cai, amavis/av/csav, amavis/av/cyber, amavis/av/fprot, amavis/av/fsec, amavis/av/hbedv, amavis/av/nai, amavis/av/nod32, amavis/av/oav, amavis/av/panda, amavis/av/rav, amavis/av/sophie, amavis/av/sophos, amavis/av/trend, amavis/av/trophie, amavis/av/vbuster: Use new retcode() function for scanner/LDA exit code. Use new $scanner_errors variable to keep track of scanner exit status. This helps protecting against failure of all scanners in virus_scan(). * tests/config: Updated. 2002-01-04 Peter Benie * amavis/amavis.in(retcode): New function for vastly improved exit code handling: "If exim returns with exit status 1, Perl sets $? to 256. amavis then tries to return exit status 256, however, only 0-255 are permitted as an exit status. On Linux, exit(256) is the same as exit(0), so exim thinks amavis has accepted the message." 2001-01-02 Rainer Link * README.scanners, configure.in, amavis/av/rav: Updated for RAV version 8.5 (closes bug #479030). 2002-01-02 Patrice Fournier * amavis/av/panda: Panda AV requires a valid TERM environment setting (closes bug 498203). 2001-12-20 Lars Hecking * amavis/amavis-milter.c(mydebug): Initialise fd to -1, which is out of range for file descriptors, and close() inly if >= 0. * amavis/amavis.c: Add more debugging information to the DBG_FATAL messages using strerror(errno) where missing. 2001-12-20 Gregory Ade * amavis/amavis-milter.c(mydebug): Fix to not initialize fd to any value, and not blindly close(fd) unless it's really necessary. This fixes the problems where mydebug() would stomp on the file descriptor returned from socket() before getting to connect(). * amavis/amavis-milter.c: Add more debugging information to the DBG_FATAL messages by using strerror(errno) to get a more meaningful error message when something died. * amavis/amavis-milter.c, amavis/amavis.c: Change getuid() and getgid() calls to geteuid() and getegid(), resp., to behave better. 2001-12-14 Lars Hecking * configure.in: Define symbols for strlcpy() in libsmutil or libsm. * amavis/amavis-milter: Make all functions static and add full ANSI/ISO prototypes. Use strlcpy() from libsmutil or libsm if available. Fix compiler warnings and typos. * amavis/amavis.c: Fix compiler warnings and typos. 2001-12-14 Rainer Link * configure.in, README.scanners, amavis/amavisd.conf.in, amavis/amavisd.in: Preliminary support for OpenAntivirus ScannerDaemon. * amavis/av/oav: New file for preliminary OpenAntivirus ScannerDaemon support. 2001-12-13 Lars Hecking * configure.in: Check for gethostbyname() in libsocket, required for SCO 3.2. Add /usr/local/sbin to search path for sophie and trophie. Add missing fprot in check whether any scanners are installed. * amavis/amavis-milter.c(mydebug): Rewritten to avoid invalid FILE * problem. * amavis/amavis-milter.c(mlfi_eom): Protect atoi() call against empty string returned from socket. * amavis/amavis.c(mydebug): Rewritten to avoid invalid FILE * problem. * amavis/amavis.c(main): Protect atoi() call against empty string returned from socket. * amavis/av/hbedv: Make virus name extraction pattern case insensitive. 2001-12-13 Dale Perkel * amavis/amavis-milter.c(mlfi_eom): Patch to avoid viruses being passed through on virus scanner malfunction. 2001-12-10 Tapani Tarvainen * amavis/checkaccount.in: Bugfix. As it is, the backticks eat away the backslash and you get current value of 'mailto' variable (if any) in there, which may or may not be useful. 2001-11-30 Mark Martinec * amavis/amavisd.in: Work around taint related problem in older versions of perl. 2001-11-28 Rainer Link * configure.in: Update for ESET NOD32 (closes bug #486467). * README.scanners: Updated for GeCAD RAV, ESET NOD32, FRISK F-Prot. 2001-11-27 Pierre Métras * configure.in, amavis/amavisd.conf.in, amavis/amavisd.in, amavis/av/panda: Add support for Panda Antivirus. 2001-11-14 Lars Hecking * configure.in: Let configure error out if milter is requested but not found. 2001-11-09 Lars Hecking * amavis/amavisd.in, amavis/notify/admin, amavis/notify/recip, amavis/notify/sender: Notification functions rewritten, they now create a file with the notification message. This is a first step towards allowing notifications message files being read at run time. 2001-11-08 Lars Hecking * configure.in: Bugfix for incompatible options test. * amavis/amavisd.conf.in: Remove $virusbackup, $X_HEADER, and rename $QUARANTINE to $QUARANTINEDIR. * amavis/amavisd.in: Remove $X_HEADER and use $X_HEADER_LINE where appropriate. * amavis/amavisd.in(warn_recip): Take "<>" angle brackets into account when determining local recipients. * amavis/mta/exim_send, amavis/mta/postfix_send, amavis/mta/postfix_send_smtp, amavis/mta/qmail_send, amavis/mta/sendmail_send: Simplify some strings. 2001-11-06 Lars Hecking * configure.in: Updated for libmilter-config tool. * amavis/Makefile.am: Rename $QUARANTINE to $QUARANTINEDIR. * amavis/amavisd.in: Remove $virusbackup and $viruslist variables, rename $QUARANTINE to $QUARANTINEDIR. Move logging init code to new function. * amavis/amavisd.in(setup_logging): New function. * amavis/amavisd.in(do_virus): Rewritten. * amavis/amavisd.in(fh_copy): Rename $fh to $fileh to avoid clash with global variable. 2001-10-31 Rainer Link * configure.in, amavis/av/rav: Update for RAVlin8 (closes bug #467912). 2001-10-04 Lars Hecking * README.postfix: Add flags=q to master.cf entry. Add note about postfix' always_bcc directive. * amavis/amavis-milter.c(mlfi_eom): Use "<>" if sender address is empty to avoid transmission of zero bytes via socket. * amavis/av/sophie: Fix virusname regexp. 2001-09-26 * amavis/av/avp: Updated to Kaspersky Anti-Virus Version 3.0 build 136. 2001-09-15 Lars Hecking * README.postfix: Add note about always_bcc. * configure.in: Add check for strlcpy() in libsmutil. * amavis/amavisd.conf.in, amavis/amavisd.in, amavis/av/sophos: Rename $sophos_ide to $sophos_ide_path to make clear that it holds a path, not a file name. * amavis/amavisd.in(daemonize): New function, copied from perlipc(1), to replace existing daemonization code. * amavis/amavisd.in(setup_socket): Move socket setup code into new function. * amavis/amavisd.in(main_loop): New function to encapsulate accept loop. * amavis/amavisd.in(store_mgr): New function, ported over from main branch, originally by Dan Larsson. * amavis/amavisd.in: General reorganisation, move main body of code to the end. 2001-08-27 Lars Hecking * amavis/amavis-milter.c: Port and improve Ricardo's logging/debugging enhancements over from amavis.c. * amavis/amavis-milter.c(clearpriv): Apply patch by Pierre-Yves BONNETAIN to fix improper reinitialization of the private data structure. * amavis/amavis-milter.c, amavis/amavis.c: Include before to work around broken Solaris/x86 headers. 2001-08-26 Lars Hecking * amavis/av/nod32, amavis/av/trophie, amavis/av/vbuster: Fix some typos, reported by Gerd v. Egidy. 2001-08-22 Lars Hecking * configure.in: Fix check for original sendmail.cf in /etc/mail. * amavis/amavisd.in: Clean up formatting, comments. * amavis/amavisd.in(do_tar): Workaround for bug in Archive-Tar module (closes bug #450536). * amavis/amavisd.in(do_unarj): Return 0 if unarj fails. * amavis/av/*: Log name of virus scanner at level 2. 2001-08-17 Lars Hecking * amavis/amavisd.in: Fix broken handling of self-extracting archives. 2001-08-15 Lars Hecking * amavis/amavis.c: Must include . Remove commented out fprintf statements. When opening files with O_CREAT, open() needs a third argument for file permissions. * amavis/av/sophie: Simplified. As of version 1.14, Sophie can process directories. 2001-08-14 Thomas Biege * amavis/amavis.c(main): Safe opening of atmpfile. 2001-08-12 Rainer Link * README.scanners, configure.in, amavis/amavisd.conf.in, amavis/amavisd.in, amavis/av/fprot, amavis/av/sophie, amavis/av/trophie: Preliminary support for FRISK F-Prot, Sophie, Trophie. * configure.in: Fix configure test for Kaspersky scanners. 2001-08-11 Dan Larsson * amavis/amavisd.in: Further regexp improvements and code simplification. 2001-08-09 Lars Hecking * amavis/mta/exim_send, amavis/mta/postfix_send, amavis/mta/qmail_send, amavis/mta/sendmail_send: Wrong LDA exit status is returned. 2001-08-08 Lars Hecking * INSTALL: Update documentation for --enable-relay and remove --enable-smtp. * configure.in: Update to reflect changes in README.postfix. Error out if MTA is qmail. --enable-relay is only useful with sendmail. Remove --enable-smtp, which is now he only supported configuration with postfix. * amavis/amavsid.conf.in: Two new configuration options, $warn_offsite and @local_domains. * amavis/amavisd.in: New variables $warn_offsite and @local_domains. Remove $enable_smtp. * amavis/amavisd.in(warn_recip): Add code for new configuration option warn_offsite, which controls whether notification messages are sent to non-local recipients. * amavis/amavisd.in(decompose_part): Further simplify filetype handling. 2001-08-08 "Takashi Ichihara (RIKEN)" * amavis/amavisd.in(do_lha): Simplify code to work with broken lha versions (and, incidentally, DOS created lha archives). 2001-08-08 Dan Larsson * amavis/av/*: Change some of the perl logic, simplifications. 2001-08-07 Lars Hecking * amavis/amavisd.in(do_virus): Don't append newline to viruslist. * amavis/amavisd.in: Remove %selfextract and %filedata hashes, use %atomic instead (by means of having decompose_part() return 0 in such cases). * amavis/amavisd.in(decompose_part): Reorganise code and create one unarchive/uncompress function per filetype. New functions do_ascii(), do_bzip2(), do_tar(), do_gunzip(), do_uncompress(), do_executable(). * amavis/amavisd.in(do_log): Don't log empty log messages. * amavis/amavisd.in(do_exit): If daemon parent is shut down, remove pid file and socket. * amavis/notify/sender: Add note that delivery was stopped. * tests/README, tests/test-setup, tests/virus-msg, tests/xheader: Updated instructions for testing amavisd. 2001-08-07 Jonathan Felder * amavis/amavis-milter.c(mlfi_eom): Missing closing parenthesis in header may confuse some MUAs. 2001-08-07 Dan Larsson * amavis/amavisd.in: Regexps improved where possible and uncompress subroutines simplified. 2001-08-07 "Gerd v. Egidy" * configure.in: Need to check for libsfio in case sendmail/milter is compiled with support for TLS. 2001-08-04 Lars Hecking * amavis/av/*: Chomp line endings off $output to avoid empty lines in logs. 2001-08-03 Lars Hecking * aclocal.m4: Regenerated with new version of ACX_PTHREAD macro. * amavis/amavisd.in: Save daemon parent pid into file. Add handler for SIGINT and SIGTERM. * amavis/mta/postfix_send_smtp: Add call to dataend() method, as per man page, and check its return code. 2001-08-03 Rainer Link * README.scanners, configure.in, amavis/amavisd.conf.in, amavis/amavisd.in, amavis/av/vbuster: Add preliminary support for VirusBuster. 2001-08-02 Lars Hecking * amavis/amavis.c: Use RUNTIME_DIR. Set default debug level to DBG_NONE. Don't duplicate debug messages to stderr. Change log format to look like syslog. * amavis/amavisd.in(parse_decode): Implement heuristical method to prevent DoS attacks with recursive archives. * amavis/mta/postfix_send_smtp: Check return codes of SMTP methods. 2001-08-01 Lars Hecking * amavis/amavisd.in(log_msg_id): New function, code moved from do_virus(). * amavis/mta/qmail_args: Compare $recipline against empty string instead of using 'defined'. 2001-08-01 Doug Wilson * amavis/amavisd.in(do_tnef): More efficient handling of tnef attachments. 2001-08-01 Ricardo M. Ferreira * amavis/amavis.c: Vastly improved logging and debugging. 2001-08-01 Rainer Link * configure.in: Update to detect new version of Kaspersky Anti-Virus. 2001-07-27 Lars Hecking * amavis/av/fsec: Due to a bug in FSAV 4.11, treat exit code 8 (suspicious file found) like exit code 3 (virus found). 2001-07-14 Lars Hecking * released amavisd-snapshot-20010714 2001-07-13 Lars Hecking * amavis/amavis.c(main): Safer way to replace empty from with "<>", code by Jeremy Fowler. 2001-07-11 Lars Hecking * config.guess, config.sub: Updated from gnu.org. * configure.in: Fix undefined avp_scanner_frag, by Furio Ercolessi. * amavis/amavis.c(main): Replace empty envelope from with "<>" to avoid passing zero bytes to daemon (should close bug #439089). * amavis/amavisd.in(do_unzip): Leave zip files with unsupported compression methods to the av scanner and log the fact (addresses, but does not completely solve bug #428908). Simplify zip handling by using methods from Archive-Zip instead of perl code. 2001-07-07 Lars Hecking * amavis/amavisd.in(decompose_part): Grep file output for TNEF, too. * amavis/amavisd.in(decompose_part): Go back to using system(mv ...) instead if rename(). 2000-06-15 Lars Hecking * amavis/amavisd.in(do_unrar): Use $unrar instead of unrar. Reported by Kevin Swab (closes bug #433217). * configure.in, amavis/amavisd.in(decompose_part): Drop requirement for file command to be brief. * amavis/amavisd.in(do_virus): Log Resent-Message-ID, if available, or Message-ID header. 2001-05-23 Lars Hecking * amavis/av/rav: RAV can return 0 or 1 on success. 2001-05-23 Rainer Link * README.exim: Add angle brackets around sender address in command. FAQ added. 2001-05-19 Lars Hecking * config.guess, config.sub: Updated from GNU master site. * amavis/amavis.c(main): Fix typo, wrong format character in mydebug() call. 2001-05-14 Steve Ripps * amavis/amavisd.in(do_lha): Add code to handle lha archives created under DOS. 2001-04-26 Rainer Link * amavis/av/cai: Fix typo in pattern matching operator. 2001-04-24 Geoff Winkless * amavis/amavisd.in(deadbabe): Fix bug where daemon parent blocks while child processes are running. 2001-04-19 Lars Hecking * configure.in, amavis/amavis-milter.c: Make milter client compile with sendmail 8.11 and 8.12. * amavis/Makefile.am: Extract virusdir from generated config file. * amavis/amavis.c: Need to include , reported by Furio Ercolessi. * amavis/amavisd.in: To completely detach from controlling terminal, chdir to root and close stdio filehandles. Change system() calls to not use shell wherever possible. Simplify some regexps. * amavis/av/hbedv: Virus string pattern updated by Rainer (closes bug #426263 and #438180). * tests/Makefile.am: Generate config file for daemon in this directory. 2001-04-07 Lars Hecking * released amavisd-snapshot-20010407 2001-04-05 Lars Hecking * configure.in: Remove some superfluous else statements. * amavis/amavis-milter.c(mlfi_envfrom): Geoff's private debug code removed. * amavis/amavisd.in: New function fh_copy() for more efficient binary file I/O. * amavis/mta/postfix_send_smtp: Add error handling for Net::SMTP->new, as suggested by Rainer. 2001-03-28 Klaus Steinberger * README.milter: Documentation fix. * amavis/mta/libmilter_args: Sender and recipients are passed via socket, not command line. 2001-03-28 Rainer Link * README.scanners, configure.in: Update info about AVP products. 2001-03-23 Lars Hecking * amavis/amavisd.in(parse_decode): $parser->output_dir() is deprecated, use a new instance of MIME::Parser::FileInto instead. * amavis/checkaccount.in: mailto must be extracted from the config file now, it is not substituted by configure anymore. 2001-03-23 Rainer Link * amavis/amavis-milter.c(mlfi_envfrom): Bugfix for Thomas Biege's security patch. 2001-03-21 Rainer Link * doc/amavis.m4: Bugfix (tabs in LOCAL_RULE_0). 2001-03-20 Lars Hecking * configure.in, test.pl, amavis/amavisd.conf.in, amavis/amavisd.in: Drop unzip, require Archive-Zip instead. * amavis/amavisd.in: Code restructuring. 2001-03-14 Lars Hecking * amavis/amavisd.in, amavis/notify/admin, amavis/notify/recip, amavis/notify/sender: Simplify empty SENDER handling. Remove unnecessary local variables (automatic aliasing in foreach). 2001-03-12 Lars Hecking * README.postfix: Updated information about process limits, thanks to Geoff Gibbs. * configure.in, amavis/amavisd.conf.in, amavis/amavisd.in: New variable sendmail_wrapper_args. * amavis/amavis.c: Only print exit status if debugging. * amavis/mta/exim_args, amavis/mta/postfix_args: Fix broken @LDAARGS. * tests/Makefile.am, tests/virus-msg, tests/xheader: These two tests are expected to fail. 2001-03-08 Lars Hecking * amavis/Makefile.am: Simplify post-install target. 2001-03-07 Lars Hecking * amavis/amavis-milter.c(mlfi_envfrom): Use S_IRWXU instead of (S_IWUSR | S_IRUSR), we're dealing with a directory. * amavis/amavis.c: Indentation, cosmetics. Add debug statemt for message size. * amavis/amavisd.in: Call POSIX::setsid when detaching from the controlling terminal. Let the parent daemon always exit with zero. Fix perl error in do_exit (apparently only with perl < 5.6.0). * tests/Makefile.am, tests/README, tests/config, tests/test-setup: Semi-reactivate test suite. 2001-03-07 Rainer Link * README.milter, README.scanners, configure.in, amavis/amavisd.conf.in, doc/amavis.m4: More small updates. 2001-03-02 Rainer Link * Makefile.am(EXTRA_DIST): Add doc/amavis.m4. * README.qmail, README.scanners, README.sendmail: Updated. * doc/amavis.m4: m4 config file for use with sendmail. * configure.in: Set amavisuser for exim and sendmail. * amavis/av/rav: Return code can be 2 or 3. 2001-03-01 Lars Hecking * INSTALL, configure.in: Weed out unnecessary configure options. * configure.in, amavis/amavisd.in, amavis/mta/exim_args, amavis/mta/postfix_args, amavis/mta/sendmail_args: Incorporate common sendmail flags into $sendmail_wrapper. Partly based on Jeffrey's patch. * amavis/amavisd.conf.in: Add new variables. Hardcode values previously substituted by configure. Bugfix for hardcoded sendmail_wrapper. * amavis/amavisd.in: Hardocde DEBUG=no. New variables $warnadmin $warnsender $warnrecip $credits. Set SENDER to "<>" if empty. * amavis/notify/admin, amavis/notify/sender: Print quarantine file id only if quarantine is enabled. 2001-03-01 Thomas Biege * amavis/amavis-milter.c, amavis/amavis.c: Security related fixes and updates. 2001-03-01 "Jeffrey C. Ollie" * amavis/amavisd.in(warn_sender): Don't send if SENDER is empty or Precendence: is bulk or list. 2001-02-28 Lars Hecking * amavis/amavisd.conf.in, amavis/amavisd.in, amavis/av/*, amavis/mta/postfix_send_smtp: Reorder logging levels. * amavis/amavisd.in: Rephrase some log messages. 2001-02-26 Lars Hecking * configure.in: Make /etc default setting for sysconfdir. Re-enable mta_args_frag for all mailers except qmail. * amavis/amavisd.in: Enable code to detach daemon from the terminal. Die if config file cannot be read. * amavis/mta/sendmail_args: Fixed for amavisd. 2001-02-25 Lars Hecking * amavis/av/cyber: Extract virus name from scanner output, info supplied by Ron Chmara. 2001-02-23 Lars Hecking * INSTALL, README, README.exim, README.milter, README.postfix, README.sendmail: Updates by Rainer and myself. * configure.in: New configure option --with-sendmail-source. * amavis/mta/postfix_args: Fixed for amavisd. 2001-02-21 Lars Hecking * config.guess, config.sub: New files. Required by ACX_PTHREAD. * Makefile.am(EXTRA_DIST): Add README.qmail. * configure.in: Use ACX_PTHREAD macro to determine threads library and compiler options. Re-enable mta_args_frag for exim only. * configure.in, amavis/Makefile.am: New variable AMAVISC, to make sure that only one of amavis and amavis-milter is built. * amavis/Makefile.am(post-install): Prefix all shell command lines with "@" to suppress echoing. * amavis/amavis-milter.c: Fix prototype for mydebug(). When sending EOT, only one byte is sent. * amavis/amavisd.in: Re-enable mta_args_frag. In decompose_part(), fix regexp that untaints generated filenames (by Julio Sanchez). * amavis/mta/exim_args: Comment out ARGV handling. 2001-02-19 "Jeffrey C. Ollie" * README: Net::libnet is now called Bundle::libnet. 2001-02-17 Lars Hecking * configure.in: Add /var/qmail/bin to path searched for sendmail wrapper. * amavis/amavis.c: Increase BUFFLEN, use separate DIRBUFFLEN, as suggested by Geoff. Use RUNTIME_DIR for debug file. * amavis/amavis.c(main): New xstat variable for daemon child process exit status. Add command line arg handling to allow passing the local delivery agent plus args on the command line (for sendmail Mlocal configuration). * amavis/amavisd.in: Further cleanup, move variable and constant declarations towards top of file. Add handling of local delivery agent passed from client. Remove $realcode hack from do_exit(). Bugfix in parse_decode(). * amavis/amavisd.in(do_virus): Incorporate pid into quarantine file name. * amavis/mta/postfix_send-smtp: smtp->quit returns true or false, it doesn't set $?. 2001-02-14 Lars Hecking * INSTALL: Remove MTA specific notes. * README.exim, README.milter, README.postfix, README.sendmail: Updated. * README.qmail: New file. 2001-02-10 "Jeffrey C. Ollie" * README.exim: Scan mail to multiple recipients only once. 2001-02-08 Lars Hecking * configure.in: Add check for strlcpy(). * amavis/amavis-milter.c, amavis/amavis.c: Add mystrlcpy() for systems that don't have strlcpy(). 2001-02-06 Lars Hecking * amavis/amavisd.conf.in, amavis/amavisd.in: Remove $VERBOSE, rename $verbose_level to $log_level. Remove do_debug(). * amavis/amavisd.conf.in, amavis/amavisd.in, amavis/av/*, amavis/mta/*: Replace do_debug() calls with do_log(level, ...). Add log level as first argument to do_log(). 2001-02-02 "Jeffrey C. Ollie" * README.scanners, configure.in, amavis/amavisd.in, amavis/amavisd.conf.in, amavis/av/csav: Add support for Command AntiVirus (CSAV) for Linux. 2001-01-29 Lars Hecking * configure.in: Don't check for grep. * amavis/amavisd.in: In TESTING mode, don't print message to STDOUT. 2001-01-29 Rainer Link * amavis/av/avp, amavis/av/cai: Extract virus name from scanner output. 2001-01-27 Lars Hecking * amavis/amavisd.conf.in: Add $VERBOSE, $verbose_level, $sendmail_wrapper. * amavis/amavisd.in: Remove $MTA. Set up SIGHUP handler to read config file (doesn't work yet). Introduce verbosity levels in do_debug(). * amavis/amavisd.in, amavis/av/*, amavis/mta/postfix_send_smtp: Rewrite all do_debug() invocations to indicate verbosity level. 2001-01-26 Lars Hecking * acconfig.h: New define RUNTIME_DIR. * configure.in: New variable PKG_COMPILE_DATE. New configure option --with-runtime-dir. Fixes and cleanups. * amavis/Makefile.am(post-install): Add creation of runtime_dir. * amavis/amavis-milter.c, amavis/amavis.c: Remove incstr(). Rewrite mymktempdir() around mkdtemp()/mktemp(). * amavis/amavis.c: Use EX_TEMPFAIL instead if exit(-1). * amavis/amavisd.conf.in: Cleaning up. * amavis/amavisd.in: Change definition of variables set in config file. Re-enable mta_init_frag. Add config file code. Bugfix by Geoff to avoid creation of multiple processes for one message. Remove code to create temp directory (always done by client). Remove trailing newline from do_debug() calls. * amavis/mta/libmilter_init: Patch by Geoff to remove unnecessary initialisation. * amavis/mta/qmail_init, amavis/mta/sendmail_init: Remove suid related code. * tests/Makefile.am: Let test suite fail (until further notice). 2001-01-23 Lars Hecking * configure.in: Remove duplicate check for gethostbyname/setsockopt. Supply default value for logdir. New variable config_dir. Add socket name to configure report. * configure.in: Remove --enable-logfile option (redundant). Fix bug in socket name Makefile substitution. * amavis/Makefile.am: New target install-data-local to chmod/chown installed config file. * amavis/amavis.c(mymktempdir): Fix broken umask call. * amavis/amavis.c(main): Remove "milter" from temp directory name. * amavis/amavisd.in: New functions forward_mail(), virus_scan(), parse_decode(). Make file log entries identical to syslog entries. Change some of Geoff's debug print's to print to STDERR. Use config_dir instead of sysconfdir for config file name. * amavis/amavisd.in: Remove $DEBUGFILE, $DO_LOGFILE, $dlog variables and related code in do_exit(). * amavis/amavisd.in(do_debug): Rewrite to do_log() if VERBOSE = yes. This function will either be renamed or removed soon. * amavis/amavisd.in(do_log): Rewrite to log to STDERR if DEBUG = yes, and to syslog/file otherwise. * tests/*: Test suite updated for daemon/client setup. 2001-01-23 Julio Sanchez * amavis/amavis-milter.c(mymktempdir,mlfi_envfrom): Fix broken umask calls. * amavis/amavis-milter.c(mlfi_cleanup): clearpriv() is called with wrong first argument. * amavis/amavisd.in(deadbabe): Fix undefined entry value for $tmppid. * amavis/amavisd.in: Defer quarantine file name creation until do_virus(), otherwise quarantine files will overwrite each other. 2001-01-22 Lars Hecking * AUTHORS: Updated. * Makefile.am(EXTRA_DIST): Add README.milter. * configure.in(AC_OUTPUT): Remove amavis/post-install. Add amavis/amavisd.conf. Rename var_log to logdir. * amavis/Makefile.am: Add new post-install target. * amavis/amavis-milter.c(incstr): amavis-milter may break under high load. Fix by Geoff Winkless. * amavis/amavisd.conf.in: New configuration file for amavis daemon. * amavis/amavisd.in: New $VERBOSE and $config_file variables. Changes by Geoff to prevent zombies. * amavis/post-install.in: Remove. 2001-01-18 Lars Hecking * INSTALL: Document new --with-sockname configure option. * README.postfix doc/amavis.html doc/amavis.txt: Updated email addresses. * acconfig.h: New autoconf file for #defines not generated by autoheader. * configure.in: Check for AVP cmd line version only if daemon/client version not found (closes bug #228828). Add check for waitpid(). New configure option --with-sockname. * amavis/av/hbedv: Add -z option to scan compressed files. Patch by Rainer. * amavis/amavis-milter.c(mlfi_body): Missing variable initialisation may cause failure. Report and patch by Julio Sanchez Fernandez (closes bug #229243). * amavis/amavis-milter.c, amavis/amavis.c: Include config.h. * amavis/amavisd.in: Updated email addresses. Use path to socket as generated by configure. Formatting. 2001-01-15 Lars Hecking * configure.in, amavis/Makefile.am: Updated for amavis->amavisd transition. * amavis/amavis.in: Renamed to amavisd.in. * amavis/amavisd.in: Renamed from amavis.in and daemonised by Geoff Winkless. 2001-01-15 Geoff Winkless * amavis/amavis.c: New client program. * amavis/amavis-milter.c: Updated for dameon-client config. 2001-01-08 Rainer Link * README.scanners, README.sendmail: Updated. 2001-01-08 Lars Hecking * amavis/av/nod32: Update nod32 return codes. 2001-01-08 Rainer Link * README.sendmail: Updates, based on FreeBSD port. 2001-01-04 Rainer Link * amavis/av/fsec: Extract virus name from scanner output. Add --archive option. * amavis/av/rav: Extract virus name from scanner output. 2000-12-20 Lars Hecking * README.milter: Configuration hints for sendmail milter interface. * configure.in, amavis/Makefile.am, amavis/amavis.in: Updated for sendmail milter support. * amavis/Makefile.am(CLEANFILES): Bug fix. * tests/config, tests/novirus-msg, tests/test-setup, tests/virus-msg, tests/xheader: Updated to make test suite work with milter support. 2000-12-20 Geoff Winkless * amavis/amavis-milter.c, amavis/mta/libmilter_args, amavis/mta/libmilter_init, amavis/mta/libmilter_send: New files for sendmail libmilter support. 2000-12-19 Lars Hecking * README: Note that test suite doesn't work with qmail. * amavis/amavis.in: Add new $viruslist and @virusname variables. * amavis/av/*: Grep output for virus name and set @virusname accordingly. * amavis/notify/recip, amavis/notify/sender: Output list of found viruses. * tests/Makefile.am: Add target to create EICAR.COM. * tests/config: Use better regexp to detect virus scanner code. 2000-12-15 Lars Hecking * INSTALL: Document new --enable-all and --enable-credits configure options. * README: Much improved. * configure.in: Require unzip and zoo, just like the other compression tools. Add new --enable-all option for package maintainers. * amavis/av/*: (Re-)introduce code to check whether a valid path to the resp. scanner exists. Required for the --enable-all option. * tests/Makefile.am, tests/config, tests/novirus-msg, tests/virus-msg, tests/xheader: Fix for building outside source directory. 2000-12-14 Lars Hecking * configure.in: Search for AvpBSDDaemon, too. Fix glaring bug: --with-syslog-level option was defined with AC_ARG_ENABLE. Spooted by Furio Ercolessi. * tests/config: Don't exit after the first failure. 2000-12-13 Lars Hecking * README.postfix: Add note that the libnet CPAN module is required to configure amavis for SMTP. * configure.in: Set smtp_port to NOT_SET if smtp interface is not enabled. Let configure die with an error message if both --enable-relay and --enable-smtp are given at the same time. In configure report, always print whether SMTP is enabled. * amavis/amavis.in: Clean up debugging. No debug file is written to $TEMPDIR now, only $LOGDIR. * tests/Makefile.am(TESTS): Add new config test. Enable debugging in the generated test script and set $LOGDIR to the current directory. * tests/config: New test file to check whether some of the necessary substitutions were made by configure. 2000-12-13 Joi Ellis * configure.in, amavis/amavis.in,amavis/notify/admin, amavis/notify/recip, amavis/notify/sender: Patch to to control whether or not AMaViS identifies itself to senders and recipients when a virus is found. Better handling of empty sender address. 2000-12-07 Lars Hecking * released amavis-perl-10 2000-12-07 Lars Hecking * amavis/amavis.in(decompose_part(): Check whether uu/xx decoded file is zero size and return error condition. This can happen if a non-encoded file is decoded (closes bug #224876). 2000-12-05 Lars Hecking * configure.in: Time for one more ... fix broken test for AVPDaemonClient (closes bug #224674). * amavis/amavis.in: Declare all non-constant global variables with "use vars" instead of "my". 2000-12-01 Lars Hecking * configure.in: Fix typos which cause configure to not insert code for AVP and Trend scanners. * amavis/mta/postfix_send_smtp: Add missing second arg to do_exit() call. * tests/novirus-msg, tests/virus-msg, tests/xheader: Use more meaningful Subject: lines for better debugging. 2000-11-27 Lars Hecking * configure.in: Fix typo in --with-warnadmin option. Noted by Furio Ercolessi. * README.postfix: Add note about postfix setups that don't listen on the localhost interface 127.0.0.1. 2000-11-26 Rainer Link * configure.in: Add /opt/AVP to search path for AVP. 2000-11-23 Lars Hecking * released amavis-perl-9 2000-11-22 Lars Hecking * configure.in (PKG_REL_DATE): Pre-release update. 2000-11-21 Rainer Link * configure.in, amavis/amavis.in,amavis/av/nod32, amavis/av/rav: Preliminary support for RAV8/Linux and NOD32/Linux virus scanners. 2000-11-21 Lars Hecking * amavis/av: Log virus scanner return code in case of failure. Sugested by Rainer Link. * amavis/amavis.in: Fix for long-standing bug in qmail config, by Rainer Link. Read message (STDIN) before envelope (STDOUT). * amavis/amavis.in: If the MIME parser returns an error, link the original input file into the parts/ subdirectory. This makes amavis work with non-mail files. * amavis/mta/sendmail_args: Bugfix from Rainer ($SENDER accidentally set twice from @ARGV). * amavis/notify/sender: Fix typo. 2000-11-17 Lars Hecking * INSTALL, README.exim, amavis/amavis.in, tests/README: X-AntiVirus header tag is now X-Virus-Scanned. * configure.in: Substitute uvscan variables only if uvscan was found. * configure.in: Better test whether sweep is really Sophos sweep. The old version doesn't seem to work with AIX' strings command. * amavis/av/fsec: Fix typo. * amavis/mta/sendmail_args: Another bugfix from Rainer. The sendmail relay config works now, hopefully. * tests/test-setup: Only the number of command line args is relevant for testing. 2000-11-16 Lars Hecking * configure.in: In postfix SMTP configuration, use new file postfix_send_smtp for mta_send_frag. * amavis/amavis.in: Improve handling of x-header: Do not write second copy of email message to disk, but move the code to add the header to the output section. * amavis/mta/exim_send, amavis/mta/postfix_send, amavis/mta/qmail_send, amavis/mta/sendmail_send: Add code to handle x-header during output. * amavis/mta/postfix_send: Move SMTP code to new file. * amavis/mta/postfix_send_smtp: New file. * tests/test-setup: Bugfix for exit statement. 2000-11-16 Rainer Link * README.scanners: Updated script for downloading NAI dat files. * README.sendmail: More updates. * configure.in: Add --noboot to uvscan command line args. * amavis/postinstall.in: $LOGDIR and amavis must be group qmail if used with qmail. * amavis/av/hbedv: Add -noboot to antivir command line args. 2000-11-13 Lars Hecking * README.postfix: Fixes from Ralf Hildebrandt, updates. * NEWS: Pre-release update. * amavis/amavis.in(decompose_part): Match on "ASCII" or "text" instead of "ASCII text". The latest file command seems to introduce many subtypes for ASCII text. Cosmetics. 2000-11-13 Rainer Link * INSTALL, README.exim, README.sendmail: Updates. * amavis/mta/sendmail_args: Improve relay config to scan messages only once instead of once per recipient. 2000-11-09 Lars Hecking * configure.in: Bugfix in enable-x-header logic. Reported by Dan Larsson. * install-sh, mkinstalldirs: Updated from automake-cvs. * amavis/amavis.in: Rename x-header tag to X-Virus-Scanned. Shorten header line. Add newline when x-header is written. * amavis/mta/sendmail_args: Do not add "-i" to @LDAARGS because LDA is not sendmail in local delivery configuration (closes bug #222012). 2000-11-08 Lars Hecking * configure.in, amavis/amavis.in: Update to handle modularised scanner inclusion. * Makfile.am: Add dist-hook to avoid CVS directories getting added to distribution tarball (this concerns the directories under amavis/ which have no Makefiles). * amavis/Makefile.am(EXTRA_DIST): Add new av directory. * amavis/amavis.in: Modified version of Dan Larsson's patch to avoid multiple copies of X-AntiVirus header. * amavis/av/avp, amavis/av/avpdc, amavis/av/cai, amavis/av/cyber, amavis/av/fsec, amavis/av/hbedv, amavis/av/nai, amavis/av/sophos, amavis/av/trend: New files, containing the resp. virus scanner code. 2000-11-06 Lars Hecking * INSTALL: Document new configure options. * configure.in: Update handling of with-warn{admin,recip,sender} options to allow customised notification messages. Bugfixes. * amavis/Makefile.am(EXTRA_DIST): Files in subdirs do not need to be listed separately. Add new notify directory. * amavis/amavis.in: New variable $pkg_home_url. Move text of notification emails to new files in notify/ subdir. * amavis/notify/admin, amavis/notify/recip, amavis/notify/sender: New files, containing the resp. warning messages. 2000-11-05 Lars Hecking * INSTALL: Update to reflect the changes in configure.in. * README: Add libnet perl module to requirements. It is only used in conjunction with the --enable-smtp option. * README.postfix: Add description of new SMTP-enabled configuration for use with postfix' content filtering interface. * configure.in: New configure options --enable-smtp and --with-smtp-port for new SMTP-enabled configuration. Check for presence of libnet perl module. * configure.in: As virusback and x-header are the defaults, rename --enable-virusbackup to --disable-virusbackup, and --enable-x-header to --disable-x-header. * configure.in: Cleanups, streamlining. * amavis/amavis.in, amavis/mta/postfix_args, amavis/mta/sendmail_args: The changes in configure require renaming some of the variables substituted by configure. 2000-11-05 Stephan Mueller , Carsten Hoeger , Rainer Link * amavis/amavis.in, amavis/mta/postfix_send: Add support for output by SMTP to enable usage with postfix' new content filtering interface. 2000-10-31 Lars Hecking * AUTHORS, BUGS, FAQ, HINTS, README.scanners, README.sendmail, doc/amavis.html, doc/amavis.txt: Synchronise with main branch. 2000-10-27 Lars Hecking * README: Update MIME-tools requirements. * amavis/amavis.in: Update for newer versions of file command which recognise TNEF encoding. * amavis/mta/sendmail_args: Fewer args are required for relay config. 2000-10-25 Lars Hecking * configure.in: Move --enable-relay option forward, must be before --with-origconf. Improve --with-origconf option. Cosmetics. * configure.in, amavis/amavis.in: Completely remove support for obsolete DrSolomon Antivirus. * amavis/amavis.in: Add -B -Y options to AVP invocation. 2000-10-24 Lars Hecking * released amavis-perl-8 2000-10-24 Lars Hecking * configure.in: Set PKG_REL_DATE to 2000-10-24. 2000-10-23 Lars Hecking * INSTALL: Add new configure options. * README.sendmail: Change references from scanmails to amavis. * configure.in: New options --with-warnsender, --with-warnrecip, --with-warnadmin. * missing: Update from automake-cvs. * amavis/amavis.in: Add code to deal with new configure options. * amavis/post-install.in: Add check for existence of virusalert alias. 2000-10-23 Rainer Link * README.exim, amavis/mta/exim_args: Update exim support to not use batched SMTP. 2000-10-19 Lars Hecking * Makefile.am: Add README.exim to EXTRA_DIST. * configure.in: Update PKG_VERSION and PKG_REL_DATE. * amavis/Makefile.am: Add mta/exim_args, mta/exim_init, mta/exim_send to EXTRA_DIST. * amavis/amavis.in: Pad numerical part of $TEMPDIR to 8 digits. * amavis/mta/sendmail_args: Add code to handle r flag in local mailer F= equate. * tests/README: More detailed explanation of test suite. * tests/test-setup: Add exim to test suite. 2000-10-19 Rainer Link * README.exim, amavis/mta/exim_args, amavis/mta/exim_init, amavis/mta/exim_send: Add new files for preliminary exim support. * configure.in: Add new --enable-exim option. 2000-10-07 Lars Hecking * Makefile.am(EXTRA_DIST): Replace doc/amavis.gif with doc/amavis.png. 2000-10-05 Lars Hecking * INSTALL: Document new --with-origconf configure option. * configure.in: New --with-origconf option to specify location of original sendmail.cf file (for relay configuration). --enable-relay is now used for postfix and sendmail. * amavis/amavis.in: Add $sendmail_cf_orig variable to complete sendmail relay config support. 2000-10-02 Lars Hecking * README.postfix: Small updates. * README.sendmail:Add new file from main branch. * configure.in: Whether McAfee Virusscan version 3 or 4 is used is now solely decided by configure. * amavis/amavis.in: Remove $uvscan_version and (the formerly unused) $avpd. Simplify invocation of McAfee uvscan (see entry for configure.in above). Log scanner failure to syslog. * amavis/mta/sendmail_args: HACK ALERT: Preliminary support for sendmail relay/gateway configuration. 2000-09-27 Lars Hecking * amavis/amavis.in(do_virus): Use explicit exit code 2 in TESTING mode to distinguish this case from amavis failing for other reasons. * amavis/amavis.in(%selfextract): Do not delete self-extracting archives after unpacking because the extractor code itself might be infected. * amavis/amavis.in(%filedata): Better handling of files which the file command classifies as "data". Before, amavis-perl tried to unpack them $MAXLEVELS times if they were not TNEF encoded. * tests/virus-msg: Check explicitly for exit code 2. 2000-09-26 Lars Hecking * configure.in: Bugfix in test for Kaspersky AVPDaemonClient, by Rainer Link. Cosmetics. * doc/*: Now in sync with amavis-0.2.1-pre3. * tests/test-setup: Remove qmail from case statement. 2000-09-23 Lars Hecking * INSTALL: Update postfix section, --with-sophos-ide section. Add --with-maxlevel. * configure.in: In Sophos ide location check, test for /etc/sav.conf first. * amavis/amavis.in: Don't use Mail::Header. Rewrite some parts to use line-based I/O to make script less memory-intensive. Save a second copy of original message to disk with X-AntiVirus header added. Clean up do_virus(). * amavis/mta/postfix_args: Remove superfluous space in @LDAARGS. * amavis/mta/postfix_send, amavis/mta/qmail_send, amavis/mta/sendmail_send: Use line-based I/O for output. * amavis/mta/sendmail_args: Add -i to @LDAARGS to avoid mail truncation. * tests/test-setup: Remove from_ variable. 2000-09-20 Lars Hecking * configure.in: Make avscanner variable cumulative. Always print whether X-AntiVirus header is added. * amavis/amavis.in: Move av scanner initialisation section towards the top. Add $virusbackup variable and completely implement --enable-virusbackup option. Randomise temp directory name. Add X-AntiVirus header as late as possible. * tests/novirus-msg, tests/virus-msg, tests/xheader: Remove the From_ line from test scripts, it is not part of email messages in transit. 2000-09-18 Lars Hecking * README.scanners: Updated for Sophos sweep 3.37. 2000-09-14 Lars Hecking * INSTALL: Add --enable-virusbackup information. * Makefile.am: Remove test2.pl from EXTRA_DIST. * NEWS: Updated. * README: Update, we now require MIME-tools 5.301 or better. * configure.in: Add check for the id command. Adjust to new perl module test. Test for /etc/sav.conf (Sophos sweep v3.37+). Add new variable avscanner to hold the name of the scanner used. New configure option --enable-virusbackup. More detailed configuration summary. Cleaning up. * test.pl: Merge functionality of test.pl and test2.pl. Add the new MIME::Parser::Filer class. * test2.pl: Removed. * amavis/amavis.in: Remove MyParser class and output_path(). Use original MIME-tools Parser instead. Instruct Parser::Filer to not use MIME filenames. Call Sophos sweep with -archive option. * amavis/checkaccount.in: Don't hardcode path to id command. * amavis/mta/postfix_init, amavis/mta/sendmail_init: Use EX_TEMPFAIL instead of EX_SOFTWARE to avoid bounces due to amavis errors. * tests/test-setup: Add support for sendmail. 2000-08-10 Lars Hecking * Makefile.am: Add README.scanners. * README.scanners: New file. * configure.in: PKG_REL_DATE updated. * amavis/mta/*: Add second argument __LINE__ to all do_exit() calls. 2000-08-03 Lars Hecking * configure.in, amavis/amavis.in: Make MAXLEVELS configurable. * configure.in: Remove deliver "quick hack". * amavis/amavis.in: Make MAXLEVELS configurable. Add second argument __LINE__ to all do_exit() calls. LhA was called as lha instead of $lha in do_lha(). In do_exit(), add line information to debug output. * amavis/mta/postfix_args: Fix bug where messages get truncated if they have a line consisting of a single dot by calling sendmail wrapper with -i option. * amavis/mta/postfix_send, amavis/mta/qmail_send, amavis/mta/sendmail_send: Remove some comments. 2000-07-05 Lars Hecking * INSTALL: Add detailed explanation of configure options. * TODO: Add a note that the test suite only works with postfix for now. * configure.in: New --with-file option to explicitly specify location of the required "file" command. Remove unused code. Use SAV_IDE for $sophos_ide if it exists in the environment. * amavis/amavis.in: In TESTING mode, print the mail message to stdout on exit. * amavis/mta/*_send: Bugfix: The optional X-AntiVirus header is not written. Need to mail out the $email entity, not @origmail. * tests/Makefile.am, tests/README: Add new xheader test. * tests/novirus-msg, virus-msg: Remove X-Operating-System header. Replace cmd line args with ${args} for more flexibility wrt different MTAs. * tests/test-setup: Add PATH statement, xhdr variable, args variable. * tests/xheader: New test. 2000-06-30 Lars Hecking * released amavis-perl-7 2000-06-30 Lars Hecking * README.postfix: Updated. * configure.in: Set PKG_REL_DATE="2000-06-30". * amavis/amavis.in: Parse cmd line args even if not in TESTING mode. Remove @fullmail and replace all uses with @origmail. * amavis/mta/*: Formatting, replace @fullmail with @origmail. 2000-06-28 Lars Hecking * Makefile.am: Fix typo. * README: Add short notes about MTA support and testing. * configure.in: Rearrange search paths in AC_PATH_PROGS() calls. Comment out check for unfreeze. Add /usr/sbin to sendmail search path. Add configuration of MTA specific script fragments. Add new --enable-debug option. Generate tests/Makefile. * amavis/Makefile.am: Add new mta/* files to EXTRA_DIST. * amavis/amavis.in: Make DEBUG configurable. At configure time, add only init/cmd line args/send code for the detected MTA. * amavis/checkaccount.in: Better portability. Replace whoami with output from id. Test for /etc/aliases and /etc/mail/aliases. * amavis/mta: New directory with MTA specific parts of amavis script. * tests: New directory for test suite. Only two tests are provided for now. 2000-06-26 Lars Hecking * Makefile.am: Add test2.pl to EXTRA_DIST. * NEWS, TODO: Fill with content. * configure.in: Error if any of the required unarchivers is not found. 2000-06-21 Lars Hecking * README.postfix: Add note about postfix' new content filtering interface, which we do not support yet. * amavis/amavis.in ($parser->parse_nested_messages): This method was renamed $parser->extract_nested_messages in MIME-tools 5.x. 2000-06-19 Lars Hecking * README: Updated list of required perl modules. * amavis/amavis.in: Support for tnef is now hopefully stable. Many thanks to Doug Wilson for updating Convert-TNEF! 2000-06-06 Lars Hecking * Makefile.am, configure.in: Move src/amavis directory to top level. Remove src directory. 2000-06-06 Lars Hecking * configure.in: We don't use egrep, fgrep, formail. 2000-05-24 Lars Hecking * configure.in: We don't use a C compiler - remove AC_PROG_CC. 2000-05-23 Lars Hecking * configure.in: Bugfix for postfix sendmail wrapper detection. New option --with-amavisuser to specify which user id amavis runs under. * src/amavis/post-install.in: Simplify. * README, test.pl, src/amavis/amavis.in: Add support for Convert-TNEF module. * README.postfix: Corrections and additions to Ralf's patch. 2000-05-23 Rainer Link * configure.in, src/amavis.in: Add support for CAI InoculateIT/Linux. 2000-05-23 Marko Asplund * configure.in, test2.pl: Patches to specify path to perl program, and better diagnostics for missing perl modules. 2000-05-23 Ralf Hildebrandt * README.postfix: More detailed instructions. 2000-05-06 Chris Mason * released amavis-perl-6 2000-04-27 Lars Hecking * configure.in: add --enable-relay flag for postfix * amavis.in: replace the awkward comment/uncomment instructions to select between postfix relay and postfix local config with a $relay_config variable, activated at configure time. * README.postfix: Updated to include $relay_config. Removed obsolete description of Obtuse based setup. 2000-03-23 Chris Mason * Added workaround for lha bug * released amavis-perl-5 2000-02-16 Chris Mason * Added README.postfix from Lars Hecking * fixed decoding bugs, especially with binhex files * released amavis-perl-4 2000-01-28 Chris Mason * From Lars Hecking: Reformatting, cleanup, postfix fixes, Obtuse support * From Rainer Link: added support for vfind * Added warn_recip function, but leave call commented out by default * Performance improvements * released amavis-perl-3 2000-01-15 Chris Mason * Lars Hecking provided bugfixes and postfix support * Rainer Link provided more bugfixes * added perl module check * released amavis-perl-2 2000-01-13 Chris Mason * The scanmails script has been rewritten in perl and renamed to amavis * The utilities securetar and zipsecure are no longer needed * autoconf/automake greatly simplified * released amavis-perl-1 1999-12-23 Chris Mason * added autoconf check for qmail * simplified MTA checks * hacked scanmails script to work with qmail-local * fixed bug in scanning loop from previous version 1999-12-19 Chris Mason * added fixes for filenames with spaces, quotes, etc. * assigned temporary release name of 0.2.0-pre6-clm-rl-3 1999-12-19 Chris Mason * fixed x_headers under qmail * simplified local delivery * assigned temporary release name of 0.2.0-pre6-clm-rl-2 1999-12-19 Rainer Link * bugfix of AVP call * added support for KasperskyLab AvpDaemon(Client), F-Secure AntiVirus and Trend Micro FileScanner * assigned temporary release name of 0.2.0-pre6-clm-rl to differentiate 1999-12-17 Chris Mason * a number of changes to increase qmail compatibility * add a small hacky program (rspawnmsg) to talk to qmail-rspawn * autoconf support for checking big-endian/little-endian * autoconf checks for grep quiet arguments * autoconf check to see if uudecode needs -p or -o * cleanup of automake files (had to remove "securetar" and "zipsecure" definitions as they were conflicting with automake names. They will always be installed now. See QMAIL automake conditional for other ways to change this behaviour.) * fixed many of the archiver options and added more error checking * changed loop logic to increase performance * assigned temporary release name of 0.2.0-pre6-clm to differentiate 1999-07-20 Christian Bricart * changed: root exploit fix uses "sed", latest fix seems to run under Bash2 only * fixed: misplaced "fi" to end an "if" caused mail loops * changed: default X-Header String * changed: syslog logging with PID (switch "-i") * Released 0.2.0-pre6 1999-07-17 Christian Bricart * fixed possible exploit published on BugTraq (http://www.securityfocus.com/) * fixed AC_PATH_PROGS(..) in configure.in * cosmetic changes * Released 0.2.0-pre5 1999-05-19 Christian Bricart * changed: NAI uvscan call in "scanmails" now should work with both v3.x and v4.x engine * added: version detection of NAI uvscan in "configure". * added: uvscan version dependend return code handling and command line syntax in "scanmails" * added: perform a check for "metamail" before do anything 1999-05-03 Christian Bricart * changed: Path to "uvscan" in "scanmails" now trailing usual comment block 1999-04-30 Christian Bricart * added: AVP integration (have not been able to test it, yet) (based on contribution from: TorstenEymann ) 1999-04-09 Christian Bricart * fixed: detection of correct Sophos sweep in configure.in (from Wouter Wolkers ) 1999-04-06 Christian Bricart * changed: return code detection of Spohos "sweep" 1999-04-01 Christian Bricart * added: header rewriting with "formail" if installed (part of the "procmail" package) adding some "X-"headers configurable with configure option: --enable-x-header=[YES|no] * fixed: Typo in detection of securetar in configure.in 1999-03-31 Christian Bricart * fixed: (silly bug) "if [ -x ${prog} ]" always true when $prog=(empty) check now for empty path first (thanks to Marcos Tadeu for reporting this) * added: if there is no program for delivery, mail is dumped to /var/tmp/dead.letter.${pid} * updated: FAQ * Released 0.2.0-pre4 1999-03-30 Christian Bricart * fixed: bzip[2] detection still unfixed (reported by Marcos Tadeu --> fixed now 1999-03-29 Christian Bricart * added: Sophos Sweep scanner support (untested contribution by Wouter Wolkers ) * added: unattaching self-extracting .EXE files (PK, RAR, LHA) ZOO archive handling ARC archive handling Freeze archive handling (contributed by Stefan Dreyer ) * fixed: There are some .exe files that have "begin 644" in them and were probed as uuencoded attachments -> fixed (reported by Fabrice Prigent ) * updated: doc/amavis.[html|txt] * removed: AMaViS-Mailer specification -> wasn't ready, yet It's still in tarball, but not used. DO NOT USE IT! * Released 0.2.0-pre3 1999-03-11 Christian Bricart * updated the src/sendmail/mailer/amavis.m4.in 1999-03-08 Christian Bricart * added new "configure" options: --enable-logging=[yes/no] => general logging enable --enable-syslog=[yes/no] => logging via syslog --with-syslog-level=FAC.LVL => facility & level in syslog --with-logdir=DIRECTORY => changes directory for logfile --with-virusdir=DIRECTORY => changes location of infected mails --with-mailto=[USER | EMAIL] => person to mail reports to * added src/scanmails/checkaccount as an install-exec-hook looks if mail account of --with-mailto=... exists, if not creates it * some cleanup in "configure.in" 1999-03-05 Christian Bricart * changed directory structure in tarball: subdirectories are now in "src" changed: "Makefile.am" added: "Makefile.am" in every subdirectory * added: acconfig.h * added: "src/sendmail/mailer/mailer.m4.in" should install as new mailer macro for sendmail (first steps done) Automake sets "scanmails" install path in resulting "mailer.m4" * configure.in: added: PKG_REL_DATE (release date for use in sendmail's .mc-file) added: MTA detection for sendmail and qmail added: overview of configured options after "./configure" deleted: old (already commented out) detection of sendmail in favour of new detection deleted: obsolete (already commented out) "nobody" workaround deleted: warning message after "./configure" changed: checks from AC_PATH_PROG to AC_PATH_PROGS changed: $(prefix) handling. everything is installed under $(prefix)/[s]bin, except when configure detects an former installation (securetar, zipsecure), changed: AC_OUTPUT(...) to match new directories * src/scanmails/scanmails.in changed: copyright notice (to 1996..99) ;-) * splitted FAQ and BUGS in two files. Left FAQ still empty 1999-02-26 Christian Bricart * new versions of /etc/macic report bzip2 compressed files as "bzip2 compressed data" not "bzip compressed" --> fixed 1999-02-25 Christian Bricart * released 0.2.0-pre2 * fixed possible loops while uncomressing archives * zipsecure and securetar as ${prefix}/bin/.. not /usr/bin * added hyphen in front of 'pre' in name of tarball (now conform to GNU package naming scheme) 1998-12-08 Christian Bricart * released 0.2.0pre1 due to multiple requests * added multiple "dnl" in configure.in for PRE-release. Actually "make install" does not work * updated TODO * added BUGS 1998-12-07 Christian Bricart * fixed problem with gziped attachments not named .gz 1998-16-11 Christian Bricart * fixed possible recursive loop in find command line (thanks to Ico Doornekamp for reporting this bug) 1998-08-19 Christian Bricart * added unARJ & LHArc support (thanks to Maik Voege for contribution) 1998-08-03 Christian Bricart * "configure" now again creates new sendmail.cf for later install 1998-07-30 Christian Bricart * configuration changed to GNU autoconfig * divided package into subdirectories * "securetar" & "zipsecure" part of distribution * removed "su"-workaround in favour of "securetar" & "zipsecure", didn't work in newer (>8.8.5) sendmails anyway as scripts invoked are now executed under UID of recipient who may not change UID to "nobody" without supplying valid password * H+BEDV AntiVir/X support added, exit-status stored in $scanstatus0 * $virusmailsdir changed to "/root/mailvirus" * added: feature syslogd support to proority "mail.info" * added: missing tools (tar, unzip, unrar .. ) are now reported to logfile (idea: should be reported to syslog too) * added: .bz2 (b[un]zip2) compression handling * added: .rar (RAR) compression handling (as proposed in 0.1.x) * added: final changedir to /var/tmp before cleaning up * changed: $tmpdir to "/var/tmp/${scanscriptname}$$" * changed: $progname into $scanscriptname="scanmails" 1998-05-10 Chistian Bricart * changed home-URL to http://www.aachalon.de/AMaViS/ 1998-03-08 Juergen Quade * zipsecure: first release (no version) 1998-01-31 Juergen Quade * securetar: released 1.3 1998-01-29 Christian Bricart * added: chown of ${tmpdir}/unpacked to "nobody" (bug report from Mogens Kjaer) * fixed: spelling bug of ${tmpdir} (was: ${tempdir} ) 1998-01-28 Christian Bricart * released AMaViS 0.1.1 * untar and unzip is now done by user "nobody" (security fix) * ${virusmaildir} (default: /root/virus) is now craeted if not exists * logfile is now REALLY created in specified log-directory 1998-01-17 Christian Bricart * released AMaViS 0.1.0 * first release to public * assigned a package name "AMaViS - A Mail Virus Scanner" * package maintenance assigned to Christian Bricart with official email adress amavis@aachalon.de and official Website at http://satan.oih.rwth-aachen.de/AMaViS * minor recoding of scanmails * installation enhancements (install.sh) <=1997 Juergen Quade * modifications to scanmails * support of McAffee's "uvscan" Mogens Kjaer * original code * support of DrSolomon's Antivirus-Kit for SCO