-diff -ur amavisd-new-20030314.orig/amavisd amavisd-new-20030314/amavisd
---- amavisd-new-20030314.orig/amavisd Sat Mar 22 01:52:53 2003
-+++ amavisd-new-20030314/amavisd Tue May 6 14:49:15 2003
-@@ -240,7 +240,7 @@
- $unicode_aware = $]>=5.008 && length("\x{263a}")==1 && eval { require Encode };
+diff -urp amavis-v2.12.1.orig/amavisd.conf amavis-v2.12.1/amavisd.conf
+--- amavis-v2.12.1.orig/amavisd.conf 2020-11-13 13:55:37.000000000 +0100
++++ amavis-v2.12.1/amavisd.conf 2021-01-24 21:25:54.841592502 +0100
+@@ -10,32 +10,32 @@ use strict;
+ # COMMONLY ADJUSTED SETTINGS:
- # serves only as a quick default for other configuration settings
--$MYHOME = '/var/amavis';
-+$MYHOME = '/var/spool/amavis/runtime';
- $mydomain = '!change-mydomain-variable!.example.com';# purposely broken default
+ # @bypass_virus_checks_maps = (1); # controls running of anti-virus code
+-# @bypass_spam_checks_maps = (1); # controls running of anti-spam code
++@bypass_spam_checks_maps = (1); # controls running of anti-spam code
+ # $bypass_decode_parts = 1; # controls running of decoders&dearchivers
- # Create debugging output - yes: log to stderr; no: log to syslog/file
-diff -ur amavisd-new-20030314.orig/amavisd.conf amavisd-new-20030314/amavisd.conf
---- amavisd-new-20030314.orig/amavisd.conf Fri Mar 21 18:19:23 2003
-+++ amavisd-new-20030314/amavisd.conf Tue May 6 14:53:29 2003
-@@ -41,17 +41,17 @@
- # $MYHOME serves as a quick default for some other configuration settings.
- # More refined control is available with each individual setting further down.
- # $MYHOME is not used directly by the program. No trailing slash!
--#$MYHOME = '/var/lib/amavis'; # (default is '/var/amavis')
-+#$MYHOME = '/var/spool/amavis/runtime'; # (default is '/var/amavis')
+ # $myprogram_name = $0; # set to 'amavisd' or similar to avoid process name
+ # truncation in /proc/<pid>/stat and ps -e output
- # $mydomain serves as a quick default for some other configuration settings.
- # More refined control is available with each individual setting further down.
- # $mydomain is never used directly by the program.
--$mydomain = 'example.com'; # (no useful default)
-+$mydomain = 'localhost'; # (no useful default)
+ $max_servers = 2; # num of pre-forked children (2..30 is common), -m
+-$daemon_user = 'vscan'; # (no default; customary: vscan or amavis), -u
+-$daemon_group = 'vscan'; # (no default; customary: vscan or amavis), -g
++$daemon_user = 'amavis'; # (no default; customary: vscan or amavis), -u
++$daemon_group = 'amavis'; # (no default; customary: vscan or amavis), -g
- # Set the user and group to which the daemon will change if started as root
- # (otherwise just keep the UID unchanged, and these settings have no effect):
--$daemon_user = 'vscan'; # (no default; customary: vscan or amavis)
--$daemon_group = 'sweep'; # (no default; customary: vscan or amavis)
-+$daemon_user = 'amavis'; # (no default; customary: vscan or amavis)
-+$daemon_group = 'amavis'; # (no default; customary: vscan or amavis)
+ $mydomain = 'example.com'; # a convenient default for other settings
- # Runtime working directory (cwd), and a place where
- # temporary directories for unpacking mail are created.
-@@ -164,7 +164,7 @@
- # directly, or read from a file, one domain per line; comments and empty lines
- # are ignored, a dot before a domain name implies its subdomains:
- #
--#read_hash(\%local_domains, '/var/amavis/local_domains');
-+#read_hash(\%local_domains, '/var/spool/amavis/local_domains');
+-# $MYHOME = '/var/amavis'; # a convenient default for other settings, -H
+-$TEMPBASE = "$MYHOME/tmp"; # working directory, needs to exist, -T
++$MYHOME = '/var/spool/amavis'; # a convenient default for other settings, -H
++$TEMPBASE = "$MYHOME/runtime"; # working directory, needs to exist, -T
+ $ENV{TMPDIR} = $TEMPBASE; # environment variable TMPDIR, used by SA, etc.
+-$QUARANTINEDIR = '/var/virusmails'; # -Q
++$QUARANTINEDIR = '/var/spool/amavis/virusmails'; # -Q
+ # $quarantine_subdir_levels = 1; # add level of subdirs to disperse quarantine
+ # $release_format = 'resend'; # 'attach', 'plain', 'resend'
+ # $report_format = 'arf'; # 'attach', 'plain', 'resend', 'arf'
- #or alternatively(B), using a list of regular expressions:
- # $local_domains_re = new_RE( qr'[@.]example\.com$'i );
-@@ -297,12 +297,12 @@
- # or later; second argument is ignored otherwise. See PerlIO::encoding,
- # Encode::PerlIO and perluniintro man pages.
- #
--# $notify_sender_templ = read_text('/var/amavis/notify_sender.txt');
--# $notify_virus_sender_templ= read_text('/var/amavis/notify_virus_sender.txt');
--# $notify_virus_admin_templ = read_text('/var/amavis/notify_virus_admin.txt');
--# $notify_virus_recips_templ= read_text('/var/amavis/notify_virus_recips.txt');
--# $notify_spam_sender_templ = read_text('/var/amavis/notify_spam_sender.txt');
--# $notify_spam_admin_templ = read_text('/var/amavis/notify_spam_admin.txt');
-+# $notify_sender_templ = read_text('/var/spool/amavis/notify_sender.txt');
-+# $notify_virus_sender_templ= read_text('/var/spool/amavis/notify_virus_sender.txt');
-+# $notify_virus_admin_templ = read_text('/var/spool/amavis/notify_virus_admin.txt');
-+# $notify_virus_recips_templ= read_text('/var/spool/amavis/notify_virus_recips.txt');
-+# $notify_spam_sender_templ = read_text('/var/spool/amavis/notify_spam_sender.txt');
-+# $notify_spam_admin_templ = read_text('/var/spool/amavis/notify_spam_admin.txt');
+ # $daemon_chroot_dir = $MYHOME; # chroot directory or undef, -R
+-# $db_home = "$MYHOME/db"; # dir for bdb nanny/cache/snmp databases, -D
++$db_home = "$MYHOME/db"; # dir for bdb nanny/cache/snmp databases, -D
+ # $helpers_home = "$MYHOME/var"; # working directory for SpamAssassin, -S
+-# $lock_file = "$MYHOME/var/amavisd.lock"; # -L
+-# $pid_file = "$MYHOME/var/amavisd.pid"; # -P
++$lock_file = "/var/run/amavisd/amavisd.lock"; # -L
++$pid_file = "/var/run/amavisd/amavisd.pid"; # -P
+ #NOTE: create directories $MYHOME/tmp, $MYHOME/var, $MYHOME/db manually
- # Here is an overall picture (sequence of events) of how pieces fit together
-@@ -468,7 +468,7 @@
- # or a directory (no trailing slash)
- # (the default value is undef, meaning no quarantine)
- #
--$QUARANTINEDIR = '/var/virusmails';
-+$QUARANTINEDIR = '/var/spool/amavis/virusmails';
+ $log_level = 0; # verbosity 0..5, -d
+@@ -55,7 +55,8 @@ $enable_dkim_signing = 1; # load DKIM
+ @mynetworks = qw( 127.0.0.0/8 [::1] [FE80::]/10 [FEC0::]/10
+ 10.0.0.0/8 172.16.0.0/12 192.168.0.0/16 );
- #$virus_quarantine_method = "local:virus-%i-%n"; # default
- #$spam_quarantine_method = "local:spam-%b-%i-%n"; # default
-@@ -835,7 +835,7 @@
- # a hash lookup table can be read from a file,
- # one address per line, comments and empty lines are permitted:
- #
--# read_hash(\%whitelist_sender, '/var/amavis/whitelist_sender');
-+# read_hash(\%whitelist_sender, '/var/spool/amavis/whitelist_sender');
+-$unix_socketname = "$MYHOME/amavisd.sock"; # amavisd-release or amavis-milter
++#$unix_socketname = "/var/run/amavisd/amavisd.sock"; # amavisd-release or amavis-milter
++$unix_socketname = undef; # disable listening on a unix socket
+ # option(s) -p overrides $inet_socket_port and $unix_socketname
- # ... or set directly:
- map { $whitelist_sender{lc($_)}=1 } (qw(
-Only in amavisd-new-20030314: amavisd.conf.orig
-Only in amavisd-new-20030314: amavisd.conf.rej
-Only in amavisd-new-20030314: amavisd.conf~
+ $inet_socket_port = 10024; # listen on this local TCP port(s)
+@@ -382,16 +383,15 @@ $banned_filename_re = new_RE(
+ # qr/^(?:310|420)[,\s]*(?:.* <<< )?(.+?)(?: ; |$)/m ],
+ # settings for the SAVAPI3.conf: ArchiveScan=1, HeurLevel=2, MailboxScan=1
+
+-# ### http://www.clamav.net/
+-# ['ClamAV-clamd',
+-# \&ask_daemon, ["CONTSCAN {}\n", "/var/run/clamav/clamd.sock"],
+-# qr/\bOK$/m, qr/\bFOUND$/m,
+-# qr/^.*?: (?!Infected Archive)(.*) FOUND$/m ],
+-# # NOTE: run clamd under the same user as amavisd - or run it under its own
+-# # uid such as clamav, add user clamav to the amavis group, and then add
+-# # AllowSupplementaryGroups to clamd.conf;
+-# # NOTE: match socket name (LocalSocket) in clamav.conf to the socket name in
+-# # this entry; when running chrooted one may prefer a socket under $MYHOME.
++['ClamAV-clamd',
++ \&ask_daemon, ["CONTSCAN {}\n", "/var/lib/clamav/clamd.socket"],
++ qr/\bOK$/, qr/\bFOUND$/,
++ qr/^.*?: (?!Infected Archive)(.*) FOUND$/ ],
++# NOTE: run clamd under the same user as amavisd - or run it under its own
++# uid such as clamav, add user clamav to the amavis group, and then add
++# AllowSupplementaryGroups to clamd.conf;
++# NOTE: match socket name (LocalSocket) in clamav.conf to the socket name in
++# this entry; when running chrooted one may prefer a socket under $MYHOME.
+
+ # ### http://www.clamav.net/ and CPAN (memory-hungry! clamd is preferred)
+ # # note that Mail::ClamAV requires perl to be build with threading!
+@@ -580,16 +580,21 @@ $banned_filename_re = new_RE(
+ # NOTE: requires suid wrapper around inocmd32; consider flag: -mod reviewer
+ # see http://marc.theaimsgroup.com/?l=amavis-user&m=109229779912783
+
+- ### http://mks.com.pl/english.html
+- ['MkS_Vir for Linux (beta)', ['mks32','mks'],
+- '-s {}/*', [0], [1,2],
+- qr/--[ \t]*(.+)/m ],
++# Moved to secondary scanner
++# ### http://mks.com.pl/english.html
++# ['MkS_Vir for Linux (beta)', ['mks32','mks'],
++# '-s {}/*', [0], [1,2],
++# qr/--[ \t]*(.+)/m ],
+
+ ### http://mks.com.pl/english.html
+ ['MkS_Vir daemon', 'mksscan',
+ '-s -q {}', [0], [1..7],
+ qr/^... (\S+)/m ],
+
++ ['MkS_Vir for Linux (beta)', ['mks32','mks'],
++ '-s {}/*', [0], [1,2],
++ qr/--[ \t]*(.+)/m ],
++
+ # ### http://www.nod32.com/, version v2.52 (old)
+ # ['ESET NOD32 for Linux Mail servers',
+ # ['/opt/eset/nod32/bin/nod32cli', 'nod32cli'],