diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..7b5d5ef --- /dev/null +++ b/.gitignore @@ -0,0 +1,8 @@ +/amavis-v2.12.0.tar.bz2 +/amavis-v2.12.1.tar.bz2 +/amavis-v2.12.2.tar.bz2 +/amavis-b5619240f3dbbf008549d6688ffd78148c0c6a9d.tar.bz2 +/amavis-35407e96537e1e42bc01961eb428fa389c24c15f.tar.bz2 +/amavis-v2.13.0.tar.bz2 +/amavis-v2.13.1.tar.bz2 +/amavis-v2.14.0.tar.bz2 diff --git a/README.fedora b/README.fedora new file mode 100644 index 0000000..a538499 --- /dev/null +++ b/README.fedora @@ -0,0 +1,65 @@ +INSTALLATION +------------ +Installing amavis in Fedora is simple. First, install the +amavis package: + + dnf -y install amavis + +Don't be alarmed at the number of dependencies this installs. This +package tries to be as full-featured as possible, including many +optional components for amavis. + +Next, configure amavis to start on boot: + + systemctl enable amavisd.service + +When you are ready, start the amavis service, it will also start +a clamd instance if available. + + systemctl start amavisd.service + +Check /var/log/maillog for startup messages of amavis and clamd. +You can also check the journal. + + journalctl -a -u amavisd -u clamd@amavisd + +The next step is to integrate amavis with your MTA. + +POSTFIX +------- +The simplest method for enabling amavis support in postfix is to +use the content_filter configuration option to tell postfix to relay +mail through amavis using SMTP. In this configuration, incoming +mail passes from postfix to amavis and back to postfix. (Mail never +actually leaves the control of postfix however, since amavis does not +answer OK until it scans the message and transfers it back to postfix. +The worst that can happen is a failure at just the right time could +allow a message to be queued twice.) + +Add the following to /etc/postfix/main.cf: + + content_filter = smtp:[127.0.0.1]:10024 + +You will probably also want to limit the number of postfix processes +to keep mail from coming in faster than it can be processed by adding +the following to /etc/postfix/main.cf: + + default_process_limit = 20 + +Add the following to /etc/postfix/master.cf: + + 127.0.0.1:10025 inet n - - - 0 smtpd -o content_filter= + +Be sure to read the TUNING section in README.postfix for information +on process limits. + +SENDMAIL +-------- +See README.sendmail* in this directory. + +Please note that amavis's milter functionality is not enabled in +this package. + +EXIM +---- +See README.exim* in this directory. diff --git a/README.quarantine b/README.quarantine new file mode 100644 index 0000000..21d805e --- /dev/null +++ b/README.quarantine @@ -0,0 +1,24 @@ +To enable quarantine support simply change the following line in +/etc/amavisd/amavisd.conf: + + $QUARANTINEDIR = undef; # -Q + +to + + $QUARANTINEDIR = "$MYHOME/quarantine"; # -Q + +then restart amavisd. + +The following will make the change for you: + + sed -i.orig -e '/\$QUARANTINEDIR =/s,undef,"$MYHOME/quarantine",' \ + /etc/amavisd/amavisd.conf + +PLEASE NOTE: This is intentionally a manual step. Before turning on +the quarantine feature of amavisd-new, be sure that there is a +sufficient amount of free space on /var/spool/amavisd/quarantine. +"Sufficient" depends entirely on your environment. + +In the default configuration, files in the quarantine directory will +be automatically deleted by tmpwatch after 30 days. See +/etc/cron.daily/amavisd to adjust this behavior for your environment. diff --git a/amavis-clamd.conf b/amavis-clamd.conf new file mode 100644 index 0000000..33421ae --- /dev/null +++ b/amavis-clamd.conf @@ -0,0 +1,20 @@ +# Use system logger. +LogSyslog yes + +# Specify the type of syslog messages - please refer to 'man syslog' +# for facility names. +LogFacility LOG_MAIL + +# This option allows you to save a process identifier of the listening +# daemon (main thread). +PidFile /run/clamd.amavisd/clamd.pid + +# Remove stale socket after unclean shutdown. +# Default: disabled +FixStaleSocket yes + +# Run as a selected user (clamd must be started by root). +User amavis + +# Path to a local socket file the daemon will listen on. +LocalSocket /run/clamd.amavisd/clamd.sock diff --git a/amavis-conf.patch b/amavis-conf.patch new file mode 100644 index 0000000..66966d4 --- /dev/null +++ b/amavis-conf.patch @@ -0,0 +1,338 @@ +From 760c0848cf0e0c13b33bcd0823ea5a310587d8a1 Mon Sep 17 00:00:00 2001 +From: Juan Orti Alcaine +Date: Thu, 17 Jul 2025 21:02:32 +0200 +Subject: [PATCH] Fedora configuration modifications + +--- + bin/amavis-mc | 6 ++-- + bin/amavisd-agent | 2 +- + bin/amavisd-nanny | 2 +- + bin/amavisd-release | 4 +-- + bin/amavisd-signer | 4 +-- + bin/amavisd-submit | 6 ++-- + conf/amavisd.conf | 79 ++++++++++++++++++++++++--------------------- + 7 files changed, 55 insertions(+), 48 deletions(-) + +diff --git a/bin/amavis-mc b/bin/amavis-mc +index 1c913e0..46e2013 100755 +--- a/bin/amavis-mc ++++ b/bin/amavis-mc +@@ -73,10 +73,10 @@ use vars qw(@path @services $daemon_user @daemon_groups $pid_file $log_level + + ### USER CONFIGURABLE: + +-$daemon_user = 'vscan'; +-@daemon_groups = 'vscan'; ++$daemon_user = 'amavis'; ++@daemon_groups = 'amavis'; + +-$pid_file = '/var/amavis/amavis-mc.pid'; ++$pid_file = '/run/amavisd/amavis-mc.pid'; + + $log_level = 0; + $syslog_ident = 'amavis-mc'; +diff --git a/bin/amavisd-agent b/bin/amavisd-agent +index bbefbb3..fe44697 100755 +--- a/bin/amavisd-agent ++++ b/bin/amavisd-agent +@@ -54,7 +54,7 @@ use BerkeleyDB; + + my($dbfile) = 'snmp.db'; + my($db_home) = # DB databases directory +- defined $ENV{'AMAVISD_DB_HOME'} ? $ENV{'AMAVISD_DB_HOME'} : '/var/amavis/db'; ++ defined $ENV{'AMAVISD_DB_HOME'} ? $ENV{'AMAVISD_DB_HOME'} : '/var/spool/amavisd/db'; + + my($wakeuptime) = 10; # -w, sleep time in seconds, may be fractional + my($repeatcount); # -c, repeat count (when defined) +diff --git a/bin/amavisd-nanny b/bin/amavisd-nanny +index f9d7f6d..ffc9d54 100755 +--- a/bin/amavisd-nanny ++++ b/bin/amavisd-nanny +@@ -62,7 +62,7 @@ my($activettl) = 10*60; # stuck active children are sent a SIGTERM + + my($dbfile) = 'nanny.db'; + my($db_home) = # DB databases directory +- defined $ENV{'AMAVISD_DB_HOME'} ? $ENV{'AMAVISD_DB_HOME'} : '/var/amavis/db'; ++ defined $ENV{'AMAVISD_DB_HOME'} ? $ENV{'AMAVISD_DB_HOME'} : '/var/spool/amavisd/db'; + my($wakeuptime) = 2; # -w, sleep time in seconds, may be fractional + my($repeatcount); # -c, repeat count (when defined) + +diff --git a/bin/amavisd-release b/bin/amavisd-release +index 597c663..88ef695 100755 +--- a/bin/amavisd-release ++++ b/bin/amavisd-release +@@ -50,7 +50,7 @@ + # To be placed in amavisd.conf: + # $interface_policy{'SOCK'} = 'AM.PDP'; + # $policy_bank{'AM.PDP'} = { protocol=>'AM.PDP' }; +-# $unix_socketname = '/var/amavis/amavisd.sock'; ++# $unix_socketname = '/run/amavisd/amavisd.sock'; + # or: + # $interface_policy{'9998'} = 'AM.PDP'; + # $policy_bank{'AM.PDP'} = { protocol=>'AM.PDP' }; +@@ -88,7 +88,7 @@ BEGIN { + $log_level = 1; + # $socketname = '127.0.0.1:9998'; + # $socketname = '[::1]:9998'; +- $socketname = '/var/amavis/amavisd.sock'; ++ $socketname = '/run/amavisd/amavisd.sock'; + + ### END OF USER CONFIGURABLE + } +diff --git a/bin/amavisd-signer b/bin/amavisd-signer +index 680513c..6f537f4 100755 +--- a/bin/amavisd-signer ++++ b/bin/amavisd-signer +@@ -88,8 +88,8 @@ $VERSION = 1.001; # 20100730 + # Please adjust the following settings as necessary: + # + +-$daemon_user = 'vscan'; +-@daemon_groups = 'vscan'; ++$daemon_user = 'amavis'; ++@daemon_groups = 'amavis'; + # $daemon_chroot_dir = '/var/amavis'; # chroot directory or undef + + # $daemonize = 1; +diff --git a/bin/amavisd-submit b/bin/amavisd-submit +index 7e8cedb..5eefdd7 100755 +--- a/bin/amavisd-submit ++++ b/bin/amavisd-submit +@@ -53,7 +53,7 @@ + # To be placed in amavisd.conf: + # $interface_policy{'SOCK'} = 'AM.PDP'; + # $policy_bank{'AM.PDP'} = { protocol=>'AM.PDP' }; +-# $unix_socketname = '/var/amavis/amavisd.sock'; ++# $unix_socketname = '/run/amavisd/amavisd.sock'; + + use warnings; + use warnings FATAL => 'utf8'; +@@ -73,9 +73,9 @@ BEGIN { + ### USER CONFIGURABLE: + + $log_level = 0; +- $tempbase = '/var/amavis/tmp'; # where to create a temp directory with a msg ++ $tempbase = '/run/amavisd/tmp'; # where to create a temp directory with a msg + +- $socketname = '/var/amavis/amavisd.sock'; ++ $socketname = '/run/amavisd/amavisd.sock'; + # $socketname = '127.0.0.1:9998'; + # $socketname = '[::1]:9998'; + +diff --git a/conf/amavisd.conf b/conf/amavisd.conf +index a612b49..d3acb42 100644 +--- a/conf/amavisd.conf ++++ b/conf/amavisd.conf +@@ -17,25 +17,25 @@ use strict; + # truncation in /proc//stat and ps -e output + + $max_servers = 2; # num of pre-forked children (2..30 is common), -m +-$daemon_user = 'vscan'; # (no default; customary: vscan or amavis), -u +-@daemon_groups = 'vscan'; # (leave empty to use $daemon_user's supplementary groups), -g ++$daemon_user = 'amavis'; # (no default; customary: vscan or amavis), -u ++@daemon_groups = 'amavis'; # (leave empty to use $daemon_user's supplementary groups), -g + + $mydomain = 'example.com'; # a convenient default for other settings + +-# $MYHOME = '/var/amavis'; # a convenient default for other settings, -H ++$MYHOME = '/var/spool/amavisd'; # a convenient default for other settings, -H + $TEMPBASE = "$MYHOME/tmp"; # working directory, needs to exist, -T + $ENV{TMPDIR} = $TEMPBASE; # environment variable TMPDIR, used by SA, etc. +-$QUARANTINEDIR = '/var/virusmails'; # -Q ++$QUARANTINEDIR = undef; # -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' + + # $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 = "/run/amavisd/amavisd.lock"; # -L ++$pid_file = "/run/amavisd/amavisd.pid"; # -P + #NOTE: create directories $MYHOME/tmp, $MYHOME/var, $MYHOME/db manually + + $log_level = 0; # verbosity 0..5, -d +@@ -55,11 +55,14 @@ $enable_dkim_signing = 1; # load DKIM signing code, keys defined by dkim_key + @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 ); + +-$unix_socketname = "$MYHOME/amavisd.sock"; # amavisd-release or amavis-milter ++$unix_socketname = "/run/amavisd/amavisd.sock"; # amavisd-release or amavis-milter + # option(s) -p overrides $inet_socket_port and $unix_socketname + ++# The default receiving port in the Fedora and RHEL SELinux policy is 10024. ++# To allow additional ports you need to label them as 'amavisd_recv_port_t' ++# For example: semanage port -a -t amavisd_recv_port_t -p tcp 10022 + $inet_socket_port = 10024; # listen on this local TCP port(s) +-# $inet_socket_port = [10024,10026]; # listen on multiple TCP ports ++# $inet_socket_port = [10022,10024]; # listen on multiple TCP ports + + $policy_bank{'MYNETS'} = { # mail originating from @mynetworks + originating => 1, # is true in MYNETS by default, but let's make it explicit +@@ -67,8 +70,8 @@ $policy_bank{'MYNETS'} = { # mail originating from @mynetworks + }; + + # it is up to MTA to re-route mail from authenticated roaming users or +-# from internal hosts to a dedicated TCP port (such as 10026) for filtering +-$interface_policy{'10026'} = 'ORIGINATING'; ++# from internal hosts to a dedicated TCP port (such as 10022) for filtering ++$interface_policy{'10022'} = 'ORIGINATING'; + + $policy_bank{'ORIGINATING'} = { # mail supposedly originating from our users + originating => 1, # declare that mail was submitted by our smtp client +@@ -78,7 +81,7 @@ $policy_bank{'ORIGINATING'} = { # mail supposedly originating from our users + spam_admin_maps => ["virusalert\@$mydomain"], + warnbadhsender => 1, + # forward to a smtpd service providing DKIM signing service +- forward_method => 'smtp:[127.0.0.1]:10027', ++ forward_method => 'smtp:[127.0.0.1]:10025', + # force MTA conversion to 7-bit (e.g. before DKIM signing) + smtpd_discard_ehlo_keywords => ['8BITMIME'], + bypass_banned_checks_maps => [1], # allow sending any file names and types +@@ -119,11 +122,11 @@ $sa_local_tests_only = 0; # only tests which do not require internet access? + # $timestamp_fmt_mysql = 1; # if using MySQL *and* msgs.time_iso is TIMESTAMP; + # defaults to 0, which is good for non-MySQL or if msgs.time_iso is CHAR(16) + +-$virus_admin = "virusalert\@$mydomain"; # notifications recip. ++$virus_admin = undef; # notifications recip. + +-$mailfrom_notify_admin = "virusalert\@$mydomain"; # notifications sender +-$mailfrom_notify_recip = "virusalert\@$mydomain"; # notifications sender +-$mailfrom_notify_spamadmin = "spam.police\@$mydomain"; # notifications sender ++$mailfrom_notify_admin = undef; # notifications sender ++$mailfrom_notify_recip = undef; # notifications sender ++$mailfrom_notify_spamadmin = undef; # notifications sender + $mailfrom_to_quarantine = ''; # null return path; uses original sender if undef + + @addr_extension_virus_maps = ('virus'); +@@ -167,13 +170,16 @@ $defang_by_ccat{CC_UNCHECKED.",3"} = 1; # ambiguous content (e.g. multipart boun + + # $myhostname = 'host.example.com'; # must be a fully-qualified domain name! + +-# $notify_method = 'smtp:[127.0.0.1]:10025'; +-# $forward_method = 'smtp:[127.0.0.1]:10025'; # set to undef with milter! ++# The default forwarding port in the Fedora and RHEL SELinux policy is 10025. ++# To allow additional ports you need to label them as 'amavisd_send_port_t'. ++# For example: semanage port -a -t amavisd_send_port_t -p tcp 10023 ++# $notify_method = 'smtp:[127.0.0.1]:10023'; ++# $forward_method = 'smtp:[127.0.0.1]:10023'; # set to undef with milter! + +-# $final_virus_destiny = D_DISCARD; +-# $final_banned_destiny = D_DISCARD; +-# $final_spam_destiny = D_PASS; #!!! D_DISCARD / D_REJECT +-# $final_bad_header_destiny = D_PASS; ++$final_virus_destiny = D_DISCARD; ++$final_banned_destiny = D_BOUNCE; ++$final_spam_destiny = D_DISCARD; #!!! D_DISCARD / D_REJECT ++$final_bad_header_destiny = D_BOUNCE; + # $bad_header_quarantine_method = undef; + + # $os_fingerprint_method = 'p0f:*:2345'; # to query p0f-analyzer.pl +@@ -342,8 +348,8 @@ $banned_filename_re = new_RE( + ['lzma', \&do_uncompress, + ['lzmadec', 'xz -dc --format=lzma', + 'lzma -dc', 'unlzma -c', 'lzcat', 'lzmadec'] ], +- ['lrz', \&do_uncompress, +- ['lrzip -q -k -d -o -', 'lrzcat -q -k'] ], ++# ['lrz', \&do_uncompress, ++# ['lrzip -q -k -d -o -', 'lrzcat -q -k'] ], + ['lzo', \&do_uncompress, 'lzop -d'], + ['lzip', \&do_uncompress, ['lzip -d'] ], + ['lz4', \&do_uncompress, ['lz4c -d'] ], +@@ -356,9 +362,9 @@ $banned_filename_re = new_RE( + ['arj', \&do_unarj, ['unarj', 'arj'] ], + ['arc', \&do_arc, ['nomarch', 'arc'] ], + ['zoo', \&do_zoo, ['zoo', 'unzoo'] ], +- ['doc', \&do_ole, 'ripole'], ++# ['doc', \&do_ole, 'ripole'], # no ripole package so far + ['cab', \&do_cabextract, 'cabextract'], +- ['tnef', \&do_tnef_ext, 'tnef'], ++# ['tnef', \&do_tnef_ext, 'tnef'], # use internal do_tnef() instead + ['tnef', \&do_tnef], + # ['lha', \&do_lha, 'lha'], # not safe, use 7z instead + # ['sit', \&do_unstuff, 'unstuff'], # not safe +@@ -396,7 +402,8 @@ $banned_filename_re = new_RE( + # * By dropping the --fdpass option, this command is easily adapted for + # use with a network socket (clamd running elsewhere). + # +- ['ClamAV-clamdscan', 'clamdscan', "--fdpass --stdout --no-summary {}", ++ ['ClamAV-clamdscan', 'clamdscan', ++ "--config-file=/etc/clamd.d/amavisd.conf --fdpass --stdout --no-summary {}", + [0], qr/:.*\sFOUND$/m, qr/^.*?: (?!Infected Archive)(.*) FOUND$/m ], + + # ### http://www.clamav.net/ and CPAN (memory-hungry! clamd is preferred) +@@ -406,7 +413,7 @@ $banned_filename_re = new_RE( + + # ### http://www.sophos.com/ (EOL 31 March 2022) + # ['Sophos-SSSP', # SAV Dynamic Interface +-# \&ask_daemon, ["{}", 'sssp:/var/run/savdi/sssp.sock'], ++# \&ask_daemon, ["{}", 'sssp:/run/savdi/sssp.sock'], + # # or: ["{}", 'sssp:[127.0.0.1]:4010'], + # qr/^DONE OK\b/m, qr/^VIRUS\b/m, qr/^VIRUS\s*(\S*)/m ], + +@@ -452,7 +459,7 @@ $banned_filename_re = new_RE( + # pack('N',0). # content size + # pack('N',0), + # '/var/drweb/run/drwebd.sock', +-# # '/var/amavis/var/run/drwebd.sock', # suitable for chroot ++# # '/var/amavis/run/drwebd.sock', # suitable for chroot + # # '/usr/local/drweb/run/drwebd.sock', # FreeBSD drweb ports default + # # '127.0.0.1:3000', # or over an inet socket + # ], +@@ -467,7 +474,7 @@ $banned_filename_re = new_RE( + ['KasperskyLab AVP - aveclient', + ['/usr/local/kav/bin/aveclient','/usr/local/share/kav/bin/aveclient', + '/opt/kav/5.5/kav4mailservers/bin/aveclient','aveclient'], +- '-p /var/run/aveserver -s {}/*', ++ '-p /run/aveserver -s {}/*', + [0,3,6,8], qr/\b(INFECTED|SUSPICION|SUSPICIOUS)\b/m, + qr/(?:INFECTED|WARNING|SUSPICION|SUSPICIOUS) (.+)/m, + ], +@@ -576,12 +583,12 @@ $banned_filename_re = new_RE( + # ### http://www.avast.com/ + # ['avast! Antivirus daemon', + # \&ask_daemon, # greets with 220, terminate with QUIT +-# ["SCAN {}\015\012QUIT\015\012", '/var/run/avast4/mailscanner.sock'], ++# ["SCAN {}\015\012QUIT\015\012", '/run/avast4/mailscanner.sock'], + # qr/\t\[\+\]/m, qr/\t\[L\]\t/m, qr/\t\[L\]\t[0-9]+\s+([^[ \t\015\012]+)/m ], + + # ### http://www.avast.com/ + # ['avast! Antivirus - Client/Server Version', 'avastlite', +-# '-a /var/run/avast4/mailscanner.sock -n {}', [0], [1], ++# '-a /run/avast4/mailscanner.sock -n {}', [0], [1], + # qr/\t\[L\]\t([^[ \t\015\012]+)/m ], + + ['CAI InoculateIT', 'inocucmd', # retired product +@@ -717,8 +724,8 @@ $banned_filename_re = new_RE( + # ['avast! Antivirus', ['/usr/bin/avastcmd','avastcmd'], + # '-a -i -n -t=A {}', [0], [1], qr/\binfected by:\s+([^ \t\n\[\]]+)/m ], + +- ### http://www.avast.com/ +- ['avast! Antivirus', '/bin/scan', '{}', [0], [1], qr/\t(.+)/m ], ++# ### http://www.avast.com/ ++# ['avast! Antivirus', '/bin/scan', '{}', [0], [1], qr/\t(.+)/m ], + + ### http://www.ikarus-software.com/ + ['Ikarus AntiVirus for Linux', 'ikarus', +@@ -822,12 +829,12 @@ $banned_filename_re = new_RE( + # /etc/clamd.conf, or may be controlled by your service manager / init. + # + # ['ClamAV-clamd', +-# \&ask_daemon, ["CONTSCAN {}\n", "/var/run/clamav/clamd.sock"], ++# \&ask_daemon, ["CONTSCAN {}\n", "/run/clamd.amavisd/clamd.sock"], + # qr/\bOK$/m, qr/\bFOUND$/m, + # qr/^.*?: (?!Infected Archive)(.*) FOUND$/m ], + + # ['ClamAV-clamd-stream', +-# \&ask_daemon, ["*", 'clamd:/var/run/clamav/clamd.sock'], ++# \&ask_daemon, ["*", 'clamd:/run/clamd.amavisd/clamd.sock'], + # qr/\bOK$/m, qr/\bFOUND$/m, + # qr/^.*?: (?!Infected Archive)(.*) FOUND$/m ], + +-- +2.50.1 + diff --git a/amavis.spec b/amavis.spec new file mode 100644 index 0000000..5124df0 --- /dev/null +++ b/amavis.spec @@ -0,0 +1,701 @@ +# SNMP enabled by default +%bcond_without snmp + +Summary: Email filter with virus scanner and spamassassin support +Name: amavis +Version: 2.14.0 +Release: 3%{?dist} +# LDAP schema is GFDL-1.2-or-later, some helpers are BSD-2-Clause, core is GPL-2.0-or-later +License: GPL-2.0-or-later AND BSD-2-Clause AND GFDL-1.2-or-later +URL: https://gitlab.com/amavis/amavis +Source0: https://gitlab.com/amavis/amavis/-/archive/v%{version}/amavis-v%{version}.tar.bz2 +Source2: amavis-clamd.conf +Source4: README.fedora +Source5: README.quarantine +Source8: amavisd-tmpfiles.conf +Source9: amavisd.service +Source10: amavisd-snmp.service +Source11: amavis.sysusers +Source12: amavisd.sysconfig +Patch0: amavis-conf.patch +BuildArch: noarch +%if 0%{?fedora} +BuildRequires: systemd-rpm-macros +%else +BuildRequires: systemd +%endif +BuildRequires: perl-generators +BuildRequires: perl-interpreter +%if 0%{?rhel} > 7 || 0%{?fedora} > 24 +Suggests: %{name}-doc +Recommends: clamav-server-systemd +Recommends: clamav +Recommends: binutils +Recommends: arj +Recommends: bzip2 +Recommends: cabextract +Recommends: pax +Recommends: freeze +Recommends: gzip +Recommends: lzop +Recommends: nomarch +Recommends: p7zip, p7zip-plugins +Recommends: tar +Recommends: unzoo +Recommends: perl(DBD::SQLite) +Recommends: perl(Convert::TNEF) +Recommends: perl(Convert::UUlib) +%else +Requires: binutils +Requires: arj +Requires: bzip2 +Requires: cabextract +Requires: pax +Requires: freeze +Requires: gzip +Requires: lzop +Requires: nomarch +Requires: p7zip, p7zip-plugins +Requires: tar +Requires: unzoo +Requires: perl(DBD::SQLite) +%endif +Requires: perl-Amavis = %{version}-%{release} +Requires: clamav-filesystem +Requires: altermime +Requires: file +Requires: perl(Archive::Tar) +Requires: perl(Authen::SASL) +Requires: perl(Compress::Raw::Zlib) >= 2.017 +Requires: perl(File::LibMagic) +Requires: perl(IO::Socket::IP) +Requires: perl(MIME::Body) +Requires: perl(MIME::Decoder::Base64) +Requires: perl(MIME::Decoder::Binary) +Requires: perl(MIME::Decoder::Gzip64) +Requires: perl(MIME::Decoder::NBit) +Requires: perl(MIME::Decoder::QuotedPrint) +Requires: perl(MIME::Decoder::UU) +Requires: perl(MIME::Head) +Requires: perl(Mail::Field) +Requires: perl(Mail::Header) +Requires: perl(Mail::Internet) >= 1.58 +Requires: perl(Mail::SPF) +Requires: perl(Net::DNS) +Requires: perl(Net::LibIDN2) +Requires: perl(Net::SSLeay) +Requires: perl(NetAddr::IP) +Requires: perl(Razor2::Client::Version) +Requires: perl(Socket) +Requires: perl(URI) +Obsoletes: amavisd-new-zeromq <= 2.11.0-5 +Obsoletes: amavisd-new-snmp-zeromq <= 2.11.0-5 +Provides: amavisd-new = %{version}-%{release} +Obsoletes: amavisd-new < 2.12.0-3 + +%package -n perl-Amavis +Summary: Amavis perl module + +%if %{with snmp} +%package snmp +Summary: Exports amavis SNMP data +Requires: %{name} = %{version}-%{release} +Provides: amavisd-new-snmp = %{version}-%{release} +Obsoletes: amavisd-new-snmp < 2.12.0-3 +%endif + +%package doc +Summary: Amavis doc files +Provides: amavisd-new-doc = %{version}-%{release} +Obsoletes: amavisd-new-doc < 2.12.0-3 + +%description -n perl-Amavis +Amavis perl module used by the amavis mail scanner service. + +%description +amavis is a high-performance and reliable interface between mailer +(MTA) and one or more content checkers: virus scanners, and/or +Mail::SpamAssassin Perl module. It is written in Perl, assuring high +reliability, portability and maintainability. It talks to MTA via (E)SMTP +or LMTP, or by using helper programs. No timing gaps exist in the design +which could cause a mail loss. + +%if %{with snmp} +%description snmp +This package contains the program amavisd-snmp-subagent, which can be +used as a SNMP AgentX, exporting amavisd statistical counters database +(snmp.db) as well as a child process status database (nanny.db) to a +SNMP daemon supporting the AgentX protocol (RFC 2741), such as NET-SNMP. + +It is similar to combined existing utility programs amavisd-agent and +amavisd-nanny, but instead of writing results as text to stdout, it +exports data to a SNMP server running on a host (same or remote), making +them available to SNMP clients (such a Cacti or mrtg) for monitoring or +alerting purposes. +%endif + +%description doc +Documentation files for amavis + +%prep +%autosetup -p1 -n %{name}-v%{version} +install -p -m 644 %{SOURCE4} %{SOURCE5} README_FILES/ + +%build + +%install +mkdir -p -m 0755 %{buildroot}%{perl_vendorlib} +cp -pr lib/* %{buildroot}%{perl_vendorlib}/ + +install -D -p -m 755 bin/amavisd %{buildroot}%{_sbindir}/amavisd +%if %{?with_snmp} +install -D -p -m 755 bin/amavisd-snmp-subagent %{buildroot}%{_sbindir}/amavisd-snmp-subagent +%endif + +mkdir -p %{buildroot}%{_bindir} +install -p -m 755 bin/amavisd-{agent,nanny,release,signer,submit} %{buildroot}%{_bindir}/ + +install -D -p -m 644 %{SOURCE9} %{buildroot}%{_unitdir}/amavisd.service +%if %{with snmp} +install -D -p -m 644 %{SOURCE10} %{buildroot}%{_unitdir}/amavisd-snmp.service +%endif + +mkdir -p -m 0755 %{buildroot}%{_sysconfdir}/clamd.d +install -D -p -m 644 conf/amavisd.conf %{buildroot}%{_sysconfdir}/amavisd/amavisd.conf +install -D -p -m 644 %{SOURCE2} %{buildroot}%{_sysconfdir}/clamd.d/amavisd.conf + +mkdir -p %{buildroot}%{_localstatedir}/spool/amavisd/{tmp,db,quarantine} +mkdir -p %{buildroot}%{_rundir}/{clamd.amavisd,amavisd} + +install -D -m 644 %{SOURCE8} %{buildroot}%{_tmpfilesdir}/amavisd.conf + +install -p -D -m 0644 %{SOURCE11} %{buildroot}%{_sysusersdir}/amavis.conf + +install -p -D -m 0644 %{SOURCE12} %{buildroot}%{_sysconfdir}/sysconfig/amavisd + + +%preun +%systemd_preun amavisd.service + +%if %{with snmp} +%preun snmp +%systemd_preun amavisd-snmp.service +%endif + +%post +%systemd_post amavisd.service + +%if %{with snmp} +%post snmp +%systemd_post amavisd-snmp.service +%endif + +%postun +%systemd_postun_with_restart amavisd.service + +%if %{with snmp} +%postun snmp +%systemd_postun_with_restart amavisd-snmp.service +%endif + +%files +%license LICENSE +%dir %{_sysconfdir}/amavisd/ +%{_unitdir}/amavisd.service +%dir %{_sysconfdir}/clamd.d +%config(noreplace) %{_sysconfdir}/amavisd/amavisd.conf +%config(noreplace) %{_sysconfdir}/clamd.d/amavisd.conf +%{_sbindir}/amavisd +%{_bindir}/amavisd-agent +%{_bindir}/amavisd-nanny +%{_bindir}/amavisd-release +%{_bindir}/amavisd-signer +%{_bindir}/amavisd-submit +%dir %attr(750,amavis,amavis) %{_localstatedir}/spool/amavisd +%dir %attr(750,amavis,amavis) %{_localstatedir}/spool/amavisd/tmp +%dir %attr(750,amavis,amavis) %{_localstatedir}/spool/amavisd/db +%dir %attr(750,amavis,amavis) %{_localstatedir}/spool/amavisd/quarantine +%{_tmpfilesdir}/amavisd.conf +%{_sysusersdir}/amavis.conf +%dir %attr(755,amavis,amavis) %{_rundir}/amavisd +%dir %attr(770,amavis,clamupdate) %{_rundir}/clamd.amavisd +%attr(0644,root,root) %config(noreplace) %{_sysconfdir}/sysconfig/amavisd + +%files -n perl-Amavis +%license LICENSE +%{perl_vendorlib}/* + +%if %{with snmp} +%files snmp +%doc AMAVIS-MIB.txt +%{_unitdir}/amavisd-snmp.service +%{_sbindir}/amavisd-snmp-subagent +%endif + +%files doc +%license LICENSE +%doc AAAREADME.first contrib/LDAP.schema contrib/LDAP.ldif RELEASE_NOTES TODO +%doc README_FILES conf/amavisd.conf-* conf/amavisd-custom.conf + +%changelog +* Fri Jan 16 2026 Fedora Release Engineering - 2.14.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild + +* Wed Jul 23 2025 Fedora Release Engineering - 2.14.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + +* Thu Jul 17 2025 Juan Orti Alcaine - 2.14.0-1 +- Update to version 2.14.0 (RHBZ#2379545) + +* Tue Feb 11 2025 Zbigniew Jędrzejewski-Szmek - 2.13.1-4 +- Drop call to %sysusers_create_compat + +* Thu Jan 16 2025 Fedora Release Engineering - 2.13.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + +* Wed Jul 17 2024 Fedora Release Engineering - 2.13.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + +* Thu Mar 14 2024 Juan Orti Alcaine - 2.13.1-1 +- Update to version 2.13.1 + +* Mon Jan 22 2024 Fedora Release Engineering - 2.13.0-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Fri Jan 19 2024 Fedora Release Engineering - 2.13.0-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Wed Jul 19 2023 Fedora Release Engineering - 2.13.0-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Sat May 06 2023 Chris Adams - 2.13.0-4 +- Add a syconfig file to be able to add arguments + +* Thu Feb 23 2023 Juan Orti Alcaine - 2.13.0-3 +- Update configuration to use clamdscan + +* Wed Jan 18 2023 Fedora Release Engineering - 2.13.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Sun Jan 08 2023 Juan Orti Alcaine - 2.13.0-1 +- Version 2.13.0 (RHBZ#2158819) + +* Wed Jul 20 2022 Fedora Release Engineering - 2.12.2-10.git35407e9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Mon May 30 2022 Jitka Plesnikova - 2.12.2-9.git35407e9 +- Perl 5.36 rebuild + +* Mon May 30 2022 Juan Orti Alcaine - 2.12.2-8.git35407e9 +- Update to latest git snapshot + +* Mon Apr 04 2022 Michal Josef Špaček - 2.12.2-7.gitb561924 +- Remove dependency to Socket6, in Socket is support for IPv6 too + +* Wed Mar 09 2022 Juan Orti Alcaine - 2.12.2-6.gitb561924 +- create perl-Amavis subpackage + +* Tue Mar 08 2022 Juan Orti Alcaine - 2.12.2-5.gitb561924 +- Update to master branch +- Switch from Net:LibIDN to Net:LibIDN2 + +* Wed Jan 19 2022 Fedora Release Engineering - 2.12.2-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Thu Jan 06 2022 Juan Orti Alcaine - 2.12.2-3 +- Remove perl(IO::Stringy) dependency + +* Tue Oct 26 2021 Juan Orti Alcaine - 2.12.2-2 +- Create amavis user with systemd sysusers + +* Fri Oct 22 2021 Juan Orti Alcaine - 2.12.2-1 +- Version 2.12.2 (#2013555) + +* Wed Jul 21 2021 Fedora Release Engineering - 2.12.1-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Tue Mar 02 2021 Zbigniew Jędrzejewski-Szmek - 2.12.1-7 +- Rebuilt for updated systemd-rpm-macros + See https://pagure.io/fesco/issue/2583. + +* Tue Jan 26 2021 Fedora Release Engineering - 2.12.1-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Sat Jan 09 2021 Juan Orti Alcaine - 2.12.1-5 +- Enable snmp subpackage in epel8 as net-snmp-perl is now available + +* Fri Jan 01 2021 Juan Orti Alcaine - 2.12.1-4 +- Change /var/run for /run (#1910344) + +* Tue Nov 17 2020 Juan Orti Alcaine - 2.12.1-3 +- Change ports in configuration file and add a note about SELinux (#1891003) + +* Tue Nov 17 2020 Juan Orti Alcaine - 2.12.1-2 +- Disable snmp subpackage in epel8 + +* Tue Nov 17 2020 Juan Orti Alcaine - 2.12.1-1 +- Version 2.12.1 (#1897574 #1851872) + +* Tue Aug 18 2020 Juan Orti Alcaine - 2.12.0-9 +- Drop unused dependency: perl(Digest::SHA1) +- Make optional: perl(Convert::TNEF), perl(Convert::UUlib) + +* Tue Aug 18 2020 Juan Orti Alcaine - 2.12.0-8 +- Unify Fedora and EPEL >= 7 spec files + +* Mon Jul 27 2020 Fedora Release Engineering - 2.12.0-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Tue Jan 28 2020 Fedora Release Engineering - 2.12.0-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Sat Sep 28 2019 Juan Orti Alcaine - 2.12.0-5 +- Fix startup of clamd RHBZ#1756570 + +* Tue Sep 24 2019 Juan Orti Alcaine - 2.12.0-4 +- Change /var/run for /run +- Remove INSTALL file + +* Wed Aug 28 2019 Juan Orti Alcaine - 2.12.0-3 +- Project renamed from amavisd-new to amavis + +* Wed Aug 28 2019 Juan Orti Alcaine - 2.12.0-2 +- Drop old patches + +* Thu Aug 01 2019 Juan Orti Alcaine - 2.12.0-1 +- Version 2.12.0 +- Update patches +- Update project URL +- Create doc subpackage + +* Wed Jul 24 2019 Fedora Release Engineering - 2.11.1-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Sat Feb 16 2019 Juan Orti Alcaine - 2.11.1-3 +- Drop tmpwatch dependency and use tmpfiles for directory cleanup + +* Thu Jan 31 2019 Fedora Release Engineering - 2.11.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Fri Oct 12 2018 Juan Orti Alcaine - 2.11.1-1 +- Version 2.11.1 + +* Thu Jul 12 2018 Fedora Release Engineering - 2.11.0-15 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Sat Mar 03 2018 Marcel Haerry - 2.11.0-14 +- Fix socket path for amavisd tools (RHBZ#1551203) + +* Wed Feb 07 2018 Fedora Release Engineering - 2.11.0-13 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Tue Dec 12 2017 Juan Orti Alcaine - 2.11.0-12 +- Modify service unit to honor user and group in config file + +* Tue Dec 12 2017 Juan Orti Alcaine - 2.11.0-11 +- Remove lrzip from config +- Use weak dependencies where possible + +* Sun Sep 03 2017 Juan Orti Alcaine - 2.11.0-10 +- Remove lrzip dependency + +* Fri Aug 25 2017 Juan Orti Alcaine - 2.11.0-9 +- Disable Avast antivirus in config file (RHBZ#1480861) + +* Wed Jul 26 2017 Fedora Release Engineering - 2.11.0-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Sat Jul 08 2017 Juan Orti Alcaine - 2.11.0-7 +- PrivateDevices=true was causing problems with SELinux transitions + +* Fri Feb 10 2017 Fedora Release Engineering - 2.11.0-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Wed Nov 30 2016 Juan Orti Alcaine - 2.11.0-5 +- Drop subpackages which depend on the deprecated ZMQ::LibZMQ3 library (RHBZ#1394697) + +* Thu Aug 18 2016 Juan Orti Alcaine - 2.11.0-4 +- Add patch to fix detection of originating emails (RHBZ#1364730) + +* Thu Jun 30 2016 Juan Orti Alcaine - 2.11.0-3 +- Additional systemd hardening (RHBZ#1351354) + +* Mon Jun 20 2016 Juan Orti Alcaine - 2.11.0-2 +- Remove NoNewPrivileges from service unit (RHBZ#1346766) + +* Wed Apr 27 2016 Juan Orti Alcaine - 2.11.0-1 +- Version 2.11.0 (RHBZ#1330781) + +* Wed Feb 03 2016 Fedora Release Engineering - 2.10.1-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Mon Nov 23 2015 Juan Orti Alcaine - 2.10.1-6 +- Make clamav a weak dependency and co-own /etc/clamd.d (RHBZ#1265922) + +* Tue Jun 16 2015 Fedora Release Engineering - 2.10.1-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Mon Apr 27 2015 Juan Orti Alcaine - 2.10.1-4 +- Move amavisd socket to /var/run/amavisd + +* Thu Apr 09 2015 Juan Orti Alcaine - 2.10.1-3 +- Use license macro + +* Thu Feb 26 2015 Robert Scheck - 2.10.1-2 +- Replaced requirement to cpio by pax (upstream recommendation) + +* Mon Oct 27 2014 Juan Orti Alcaine - 2.10.1-1 +- Update to 2.10.1 +- Patch5 merged upstream + +* Sat Oct 25 2014 Juan Orti Alcaine - 2.10.0-2 +- Improve conf patch to fix amavis-mc daemon +- Add patch to fix imports when SQL is used + +* Thu Oct 23 2014 Juan Orti Alcaine - 2.10.0-1 +- Update to 2.10.0 +- Replace IO::Socket::INET6 with IO::Socket::IP +- Review perl dependencies minimum version +- Add subpackages amavisd-new-zeromq and amavisd-new-snmp-zeromq + +* Mon Oct 20 2014 Juan Orti Alcaine - 2.10.0-0.1.rc2 +- Update to 2.10.0-rc2 + +* Wed Aug 20 2014 Juan Orti Alcaine - 2.9.1-3 +- Add ExecReload and Wants=postfix.service to systemd unit + +* Sun Aug 03 2014 Juan Orti Alcaine - 2.9.1-2 +- Add patch to fix releasing mail from sql quarantine + +* Sat Jun 28 2014 Juan Orti Alcaine - 2.9.1-1 +- New version 2.9.1 + +* Fri Jun 27 2014 Juan Orti Alcaine - 2.9.0-4 +- Change permissions of /var/spool/amavisd folders to 750. Fix bug #906396 + +* Sat Jun 07 2014 Fedora Release Engineering - 2.9.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Mon May 12 2014 Juan Orti Alcaine - 2.9.0-2 +- Service unit files hardening + +* Sun May 11 2014 Juan Orti Alcaine - 2.9.0-1 +- Update to version 2.9.0 +- Rework amavisd-conf.patch +- Enable and start timer units + +* Wed Mar 19 2014 Juan Orti Alcaine - 2.8.1-3 +- Use systemd timer units instead of cronjobs +- Add PrivateDevices to service unit + +* Mon Feb 17 2014 Juan Orti Alcaine - 2.8.1-2 +- Move clamd socket to /var/run/clamd.amavisd +- Add permissions to clamupdate to notify clamd + +* Wed Feb 12 2014 Juan Orti Alcaine - 2.8.1-1 +- Update to version 2.8.1 +- Add systemd service units +- Add missing dependencies +- Start clamd using instantiated service +- Place tmpfiles conf in _tmpfilesdir +- Use _localstatedir macro + +* Mon Dec 02 2013 Robert Scheck - 2.8.0-8 +- Commented ripole(1) decoder as the binary is not packaged +- Commented tnef(1) decoder as the perl module is a dependency + +* Sat Aug 03 2013 Fedora Release Engineering - 2.8.0-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + +* Thu Jul 18 2013 Petr Pisar - 2.8.0-6 +- Perl 5.18 rebuild + +* Fri May 10 2013 Adam Williamson - 2.8.0-5 +- init_network.patch: don't source /etc/sysconfig/network in initscript + +* Wed Feb 13 2013 Fedora Release Engineering - 2.8.0-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + +* Fri Oct 19 2012 Robert Scheck - 2.8.0-3 +- Added requirements to lrzip and unzoo for unpacking + +* Wed Jul 18 2012 Fedora Release Engineering - 2.8.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Sun Jul 08 2012 Robert Scheck - 2.8.0-1 +- Upgrade to 2.8.0 + +* Fri Jun 29 2012 Robert Scheck - 2.6.6-3 +- Various minor spec file cleanups + +* Thu Jan 12 2012 Fedora Release Engineering - 2.6.6-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + +* Sun Sep 18 2011 Steven Pritchard - 2.6.6-1 +- Update to 2.6.6. +- Make /var/spool/amavisd g+x (BZ 548234). +- %%ghost /var/run/amavisd and add /etc/tmpfiles.d/amavisd-new-tmpfiles.conf + (BZ 656544, 676430, 710984, 734271). +- Also add /var/run/clamd.amavisd (which seems to be a bug itself). Fixes + BZ 696725. + +* Mon Feb 07 2011 Fedora Release Engineering - 2.6.4-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Tue Nov 9 2010 Marcela Mašláňová - 2.6.4-2 +- 561389 patch from Sandro Janke - change stderr to stdout + +* Mon Aug 10 2009 Steven Pritchard - 2.6.4-1 +- Update to 2.6.4. +- Make a snmp sub-package for amavisd-snmp-subagent. + +* Fri Jul 24 2009 Fedora Release Engineering - 2.6.2-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild + +* Sun Mar 01 2009 Robert Scheck - 2.6.2-3 +- Re-diffed amavisd-new configuration patch for no fuzz + +* Mon Feb 23 2009 Fedora Release Engineering - 2.6.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild + +* Wed Dec 17 2008 Steven Pritchard - 2.6.2-1 +- Update to 2.6.2. +- Drop smtpdaemon dependency (BZ# 438078). + +* Tue Jul 15 2008 Steven Pritchard - 2.6.1-1 +- Update to 2.6.1. +- Require Crypt::OpenSSL::RSA, Digest::SHA, Digest::SHA1, IO::Socket::SSL, + Mail::DKIM, Net::SSLeay, NetAddr::IP, and Socket6. + +* Mon Jul 14 2008 Tom "spot" Callaway - 2.5.2-3 +- fix license tag +- fix db patch to apply with fuzz=0 + +* Sun Aug 12 2007 Steven Pritchard - 2.5.2-2 +- Fix pre/preun/post dependencies and improve scriptlets a bit. +- Drop dependencies on DBD::mysql and Mail::SPF::Query. +- Add dependencies on IO::Socket::INET6, Mail::SPF, and altermime. + +* Sun Jul 08 2007 Steven Pritchard - 2.5.2-1 +- Update to 2.5.2. + +* Fri Jun 22 2007 Steven Pritchard - 2.5.2-0.1.rc2 +- Update to 2.5.2-rc2. + +* Fri Jun 22 2007 Steven Pritchard - 2.5.1-1 +- Update to 2.5.1. +- Fix amavis-clamd.conf (bug #237252). +- Update amavisd-conf.patch. +- Require p7zip and tar. +- Improve pre/preun/post scripts. + +* Thu Feb 22 2007 Steven Pritchard - 2.4.5-1 +- Update to 2.4.5. + +* Mon Dec 18 2006 Steven Pritchard - 2.4.4-2 +- Fix the path to amavisd.sock in amavisd-release. + +* Tue Dec 05 2006 Steven Pritchard - 2.4.4-1 +- Update to 2.4.4. + +* Fri Dec 01 2006 Steven Pritchard - 2.4.3-5 +- Add missing amavisd-release script. + +* Tue Nov 14 2006 Steven Pritchard - 2.4.3-4 +- Rebuild. + +* Tue Nov 14 2006 Steven Pritchard - 2.4.3-3 +- Add dependency on file. (#215492) + +* Sat Oct 14 2006 Steven Pritchard - 2.4.3-2 +- Fix permissions on the cron.daily script. + +* Tue Oct 10 2006 Steven Pritchard - 2.4.3-1 +- Update to 2.4.3. +- Add quarantine directory and instructions for enabling it. +- Add tmpwatch cron script. + +* Thu Sep 28 2006 Steven Pritchard - 2.4.2-4 +- Drop lha dependency and add arj. + +* Sun Sep 17 2006 Steven Pritchard - 2.4.2-3 +- Rebuild. + +* Wed Aug 02 2006 Steven Pritchard - 2.4.2-2 +- Fix path to clamd socket in amavisd-conf.patch. + +* Mon Jul 31 2006 Steven Pritchard - 2.4.2-1 +- Update to 2.4.2 +- Fix permissions on README.fedora (bug #200769) + +* Tue Jun 20 2006 Steven Pritchard - 2.4.1-1 +- Update to 2.4.1 +- Drop zoo dependency due to Extras maintainer security concerns + +* Tue Apr 25 2006 Steven Pritchard - 2.4.0-1 +- Update to 2.4.0 + +* Thu Feb 02 2006 Steven Pritchard - 2.3.3-5 +- Add dist to Release + +* Wed Sep 21 2005 Steven Pritchard - 2.3.3-4 +- Add TODO and amavisd.conf-* to %%doc + +* Mon Sep 19 2005 Steven Pritchard - 2.3.3-3 +- Add amavisd-db.patch to fix the path to the db directory in + amavisd-agent and amavisd-nanny. (Thanks to Julien Tognazzi.) + +* Fri Sep 02 2005 Steven Pritchard - 2.3.3-2 +- Requires: perl(Compress::Zlib) >= 1.35 + +* Thu Sep 01 2005 Steven Pritchard - 2.3.3-1 +- Update to 2.3.3 +- Remove explicit dependencies on core perl modules + +* Fri Aug 19 2005 Steven Pritchard - 2.3.2-10 +- Recommend using 127.0.0.1 instead of localhost in README.fedora +- .deb support requires ar + +* Wed Aug 17 2005 Steven Pritchard - 2.3.2-9 +- Set $virus_admin, $mailfrom_notify_admin, $mailfrom_notify_recip, + and $mailfrom_notify_spamadmin to undef in the default config to + turn off notification emails + +* Fri Aug 12 2005 Steven Pritchard - 2.3.2-8 +- Add dependencies for freeze, lzop, nomarch, zoo, cabextract + +* Wed Jul 27 2005 Steven Pritchard - 2.3.2-7 +- Add README.fedora with simplified Postfix instructions + +* Mon Jul 25 2005 Steven Pritchard - 2.3.2-6 +- Create /var/spool/amavisd/db + +* Thu Jul 21 2005 Steven Pritchard - 2.3.2-5 +- Add perl(Mail::SPF::Query) (now packaged for Extras) dependency +- Drop /var/log/amavisd since we weren't using it +- Fix paths for clamd.sock and amavisd.pid in a couple of places + +* Tue Jul 12 2005 Steven Pritchard - 2.3.2-4 +- Add a bunch of other missing Requires (both actually required modules + and optional modules) + +* Tue Jul 12 2005 Steven Pritchard - 2.3.2-3 +- Add missing Requires: perl(Convert::TNEF) + +* Wed Jul 06 2005 Steven Pritchard - 2.3.2-2 +- Fix init script ordering +- Don't enable amavisd by default + +* Wed Jul 06 2005 Steven Pritchard - 2.3.2-1 +- Update to 2.3.2 + +* Wed Jun 29 2005 Steven Pritchard - 2.3.2-0.1.rc1 +- Update to 2.3.2-rc1 +- Fedora Extras clamav integration +- Drop amavisd-syslog.patch (Unix::Syslog is in Extras) + +* Mon Feb 23 2004 Steven Pritchard - 0.20030616.p7-0.fdr.0.1 +- Add amavisd-syslog.patch to eliminate Unix::Syslog dependency +- Add in clamd helper +- Fix up init script +- Initial package diff --git a/amavis.sysusers b/amavis.sysusers new file mode 100644 index 0000000..5fcaaf8 --- /dev/null +++ b/amavis.sysusers @@ -0,0 +1 @@ +u amavis - "Amavis email content filter" /var/spool/amavisd diff --git a/amavisd-snmp.service b/amavisd-snmp.service new file mode 100644 index 0000000..d50ecd7 --- /dev/null +++ b/amavisd-snmp.service @@ -0,0 +1,18 @@ +[Unit] +Description=Exports amavis SNMP data +After=network.target amavisd.service + +[Service] +Type=forking +User=amavis +Group=amavis +PIDFile=/run/amavisd/amavisd-snmp-subagent.pid +ExecStart=/usr/sbin/amavisd-snmp-subagent -D /var/spool/amavisd/db -P /run/amavisd/amavisd-snmp-subagent.pid +Restart=on-failure +PrivateTmp=true +CapabilityBoundingSet= +ProtectSystem=full +ProtectHome=true + +[Install] +WantedBy=multi-user.target diff --git a/amavisd-tmpfiles.conf b/amavisd-tmpfiles.conf new file mode 100644 index 0000000..54dd818 --- /dev/null +++ b/amavisd-tmpfiles.conf @@ -0,0 +1,6 @@ +d /run/amavisd 755 amavis amavis - +d /run/clamd.amavisd 770 amavis clamupdate - + +# Directory cleanup +d /var/spool/amavisd/quarantine 750 amavis amavis 30d +d /var/spool/amavisd/tmp 750 amavis amavis 1d diff --git a/amavisd.service b/amavisd.service new file mode 100644 index 0000000..bcd1ac8 --- /dev/null +++ b/amavisd.service @@ -0,0 +1,20 @@ +[Unit] +Description=Amavis mail content checker +Documentation=http://www.ijs.si/software/amavisd/#doc +After=network.target +Wants=clamd@amavisd.service + +[Service] +Type=forking +PIDFile=/run/amavisd/amavisd.pid +EnvironmentFile=-/etc/sysconfig/amavisd +ExecStart=/usr/sbin/amavisd -c /etc/amavisd/amavisd.conf $ARGS +ExecReload=/usr/sbin/amavisd -c /etc/amavisd/amavisd.conf $ARGS reload +Restart=on-failure +PrivateTmp=true +CapabilityBoundingSet=CAP_DAC_OVERRIDE CAP_SETGID CAP_SETUID +ProtectSystem=full +ProtectHome=true + +[Install] +WantedBy=multi-user.target diff --git a/amavisd.sysconfig b/amavisd.sysconfig new file mode 100644 index 0000000..fd8ffed --- /dev/null +++ b/amavisd.sysconfig @@ -0,0 +1,2 @@ +# Add additional arguments to amavisd command-line +#ARGS="" diff --git a/sources b/sources new file mode 100644 index 0000000..570a1a9 --- /dev/null +++ b/sources @@ -0,0 +1 @@ +SHA512 (amavis-v2.14.0.tar.bz2) = 49303d86947d7ae258c6def8cf9892ff062fd054b4bc6451b1670426a5d767782ed7febd350237d36d4b62db408cbb993b6b4522eb595ead77faafb07012fe58