Compare commits

..

10 Commits

Author SHA1 Message Date
openeuler-ci-bot
d10f85781b
!15 Update to 4.0.0
From: @starlet-dx 
Reviewed-by: @caodongxia 
Signed-off-by: @caodongxia
2023-04-13 12:13:53 +00:00
starlet-dx
dcc43b4684 Update to 4.0.0 2023-04-13 19:43:21 +08:00
openeuler-ci-bot
316979aefa
!13 add requires systemd-pam
From: @lyn1001 
Reviewed-by: @caodongxia 
Signed-off-by: @caodongxia
2022-12-14 01:31:49 +00:00
lyn1001
56a0b7bb2d Add requires systemd-pam 2022-12-14 09:06:55 +08:00
openeuler-ci-bot
7fea9679b8 !6 Update to 3.4.5, fix CVE-2020-1946
From: @wangxiao65
Reviewed-by: @wang_yue111,@zhanghua1831,@small_leek
Signed-off-by: @small_leek
2021-04-02 11:39:15 +08:00
wangxiao65
1eb5276096 Update to 3.4.5, fix CVE-2020-1946 2021-03-31 14:48:18 +08:00
openeuler-ci-bot
83ea8e4108 !2 update to 3.4.4 to fix CVE-2020-1930 CVE-2020-1931
From: @zhanghua1831
Reviewed-by: @maminjie,@small_leek
Signed-off-by: @small_leek
2021-02-07 16:22:42 +08:00
zhanghua1831
4a7cc5258f update to 3.4.4 to fix CVE-2020-1930 CVE-2020-1931 2021-02-07 14:11:02 +08:00
openeuler-ci-bot
437b962769 !1 Package init
Merge pull request !1 from lkx690/master
2020-02-14 17:55:15 +08:00
lkx690
20faa9d7e2 Package init 2020-02-14 15:51:10 +08:00
18 changed files with 523 additions and 0 deletions

Binary file not shown.

Binary file not shown.

9
openeuler_local.cf Normal file
View File

@ -0,0 +1,9 @@
# These values can be overridden by editing ~/.spamassassin/user_prefs.cf
# (see spamassassin(1) for details)
# These should be safe assumptions and allow for simple visual sifting
# without risking lost emails.
required_hits 6
report_safe 1
rewrite_header Subject **SPAM**

102
sa-update.cronscript Normal file
View File

@ -0,0 +1,102 @@
#!/bin/bash
# *** DO NOT MODIFY THIS FILE ***
#
# /etc/mail/spamassassin/channel.d/*.conf
# Place files here to add custom channels.
#
# Proceed with sa-update if spam daemon is running or forced in /etc/sysconfig/sa-update
unset SAUPDATE OPTIONS DEBUG NOTIFY_UPD
[ -f /etc/sysconfig/sa-update ] && . /etc/sysconfig/sa-update
[ "$SAUPDATE" = "no" ] && exit 0
for daemon in mimedefang spamd amavisd spampd; do
/usr/bin/pgrep -f $daemon >& /dev/null
[ $? -eq 0 ] && SAUPDATE=yes
done
# Skip sa-update if daemon not detected
[ -z "$SAUPDATE" ] && exit 0
# sa-update must create keyring
if [ ! -d /etc/mail/spamassassin/sa-update-keys ]; then
sa-update
fi
# Initialize Channels and Keys
CHANNELLIST=""
KEYLIST=""
# Process each channel defined in /etc/mail/spamassassin/channel.d/
for file in /etc/mail/spamassassin/channel.d/*.conf; do
[ ! -f "$file" ] && continue
# Validate config file
PREFIXES="CHANNELURL KEYID BEGIN"
for prefix in $PREFIXES; do
if ! grep -q "$prefix" $file; then
echo "ERROR: $file missing $prefix"
exit 255
fi
done
. "$file"
#echo "CHANNELURL=$CHANNELURL"
#echo "KEYID=$KEYID"
CHANNELLIST="$CHANNELLIST $CHANNELURL"
KEYLIST="$KEYLIST $KEYID"
sa-update --import "$file"
done
# Sleep random amount of time before proceeding to avoid overwhelming the servers
sleep $(expr $RANDOM % 7200)
unset arglist
# Run sa-update on each channel, restart spam daemon if success
for channel in $CHANNELLIST; do
arglist="$arglist --channel $channel"
done
for keyid in $KEYLIST; do
arglist="$arglist --gpgkey $keyid"
done
/usr/bin/sa-update $OPTIONS $arglist
status=$?
now=`date +"%d-%b-%Y %T"`
# cron runs this script tee /var/log/sa-update.log
# We want to always write to the log, but only send mail
# as configured.
if [ $status -eq 0 ]; then
if [ -n "$DEBUG" -o -n "$NOTIFY_UPD" ]; then
echo "$now: SpamAssassin: Update processed successfully"
else
echo "$now: SpamAssassin: Update processed successfully" >>/var/log/sa-update.log
fi
if [ -f /usr/bin/systemctl ]; then
systemctl condrestart spamassassin.service >& /dev/null
[ -f /usr/lib/systemd/system/amavisd.service ] && systemctl condrestart amavisd.service >& /dev/null
systemctl --quiet is-active mimedefang.service; [ $? -eq 0 ] && systemctl reload mimedefang.service >& /dev/null
[ -f /usr/lib/systemd/system/spampd.service ] && systemctl condrestart spampd.service >& /dev/null
else
service spamassassin condrestart >& /dev/null
[ -f /etc/rc.d/init.d/amavisd ] && service amavisd-new condrestart >& /dev/null
[ -f /etc/rc.d/init.d/mimedefang ] && service mimedefang condrestart >& /dev/null
[ -f /etc/rc.d/init.d/spampd ] && service spampd condrestart >& /dev/null
fi
exit $status
fi
if [ $status -eq 1 ]; then
if [ -n "$DEBUG" ]; then
echo "$now: SpamAssassin: No update available"
else
echo "$now: SpamAssassin: No update available" >>/var/log/sa-update.log
fi
exit $status
fi
if [ $status -eq 2 ]; then
echo "$now: SpamAssassin: Problem applying update - pre files failed lint check"
exit $status
fi
if [ $status -eq 4 ]; then
echo "$now: SpamAssassin: Update available, but download or extract failed"
exit $status
fi
echo "$now: SpamAssassin: Unknown error code $status from sa-update"
exit $status

12
sa-update.crontab Normal file
View File

@ -0,0 +1,12 @@
# *** DO NOT MODIFY THIS FILE ***
### Spamassassin Rules Updates ###
#
# http://wiki.apache.org/spamassassin/RuleUpdates
#
# sa-update automatically updates your rules once per day if a spam daemon like
# spamd or amavisd are running. You can force sa-update to run in
# /etc/sysconfig/sa-update
#
# /var/log/sa-update.log contains a history log of sa-update runs
10 4 * * * root /usr/share/spamassassin/sa-update.cron 2>&1 | tee -a /var/log/sa-update.log

23
sa-update.force-sysconfig Normal file
View File

@ -0,0 +1,23 @@
# sa-update configuration
#
# Note that the opposite of "yes" is the empty string, NOT "no"
# Don't run sa-update even if it's in /etc/cron.d/ - as installed
#SAUPDATE=no
# Run sa-update even if no daemon is detected
#SAUPDATE=yes
# Default: Run only if a daemon is detected
# Options for the actual sa-update command
# These are added to the channel configuration from
# /etc/mail/spamassassin/channel.d/*.conf
# OPTIONS=-v
# Debug script - send mail even if no update available
# DEBUG=yes
# Send mail when updates successfully processed
# Default: send mail only on error
#NOTIFY_UPD=yes

5
sa-update.logrotate Normal file
View File

@ -0,0 +1,5 @@
/var/log/sa-update.log {
monthly
notifempty
missingok
}

28
sa-update.service Normal file
View File

@ -0,0 +1,28 @@
### Spamassassin Rules Updates ###
#
# http://wiki.apache.org/spamassassin/RuleUpdates
#
# sa-update automatically updates your rules once per day if a spam daemon like
# spamd or amavisd are running.
[Unit]
Description=Spamassassin Rules Update
Documentation=man:sa-update(1)
[Service]
# Note that the opposite of "yes" is the empty string, NOT "no"
# Options for the actual sa-update command
# These are added to the channel configuration from
# /etc/mail/spamassassin/channel.d/*.conf
Environment=OPTIONS=-v
# Debug script - send mail even if no update available
#Environment=DEBUG=yes
# Send mail when updates successfully processed
# Default: send mail only on error
#Environment=NOTIFY_UPD=yes
ExecStart=/usr/share/spamassassin/sa-update.cron
SuccessExitStatus=1

16
sa-update.timer Normal file
View File

@ -0,0 +1,16 @@
### Spamassassin Rules Updates ###
#
# http://wiki.apache.org/spamassassin/RuleUpdates
#
# sa-update automatically updates your rules once per day if a spam daemon like
# spamd or amavisd are running.
[Unit]
Description=Spamassassin Rules Update timer
Documentation=man:sa-update(1)
[Timer]
OnCalendar=daily
[Install]
WantedBy=timers.target

View File

@ -0,0 +1,35 @@
diff --color -Nur Mail-SpamAssassin-4.0.0.orig/lib/Mail/SpamAssassin/Plugin/Razor2.pm Mail-SpamAssassin-4.0.0/lib/Mail/SpamAssassin/Plugin/Razor2.pm
--- Mail-SpamAssassin-4.0.0.orig/lib/Mail/SpamAssassin/Plugin/Razor2.pm 2022-12-13 22:03:20.000000000 -0800
+++ Mail-SpamAssassin-4.0.0/lib/Mail/SpamAssassin/Plugin/Razor2.pm 2022-12-21 12:14:41.978518595 -0800
@@ -185,7 +185,9 @@
$rc->{opt} = {
debug => (would_log('dbg', $debug) > 1),
foreground => 1,
- config => $self->{main}->{conf}->{razor_config}
+ config => $self->{main}->{conf}->{razor_config},
+ logfile => $self->{main}->{razor_log_file},
+ razorhome => $self->{main}->{razor_home_dir}
};
# no facility prefix on this die
$rc->do_conf() or die "$debug: " . $rc->errstr;
diff --color -Nur Mail-SpamAssassin-4.0.0.orig/spamd/spamd.raw Mail-SpamAssassin-4.0.0/spamd/spamd.raw
--- Mail-SpamAssassin-4.0.0.orig/spamd/spamd.raw 2022-12-13 22:03:27.000000000 -0800
+++ Mail-SpamAssassin-4.0.0/spamd/spamd.raw 2022-12-21 12:13:38.426637129 -0800
@@ -378,6 +378,8 @@
# Parse the command line
Getopt::Long::Configure("bundling");
GetOptions(
+ 'razor-home-dir=s' => \$opt{'razor_home_dir'},
+ 'razor-log-file=s' => \$opt{'razor_log_file'},
'allow-tell' => \$opt{'tell'},
'allowed-ips|A=s' => \@{ $opt{'allowed-ip'} },
'configpath|C=s' => \$opt{'configpath'},
@@ -1195,6 +1197,8 @@
my $spamtest = Mail::SpamAssassin->new(
{
+ razor_home_dir => ( $opt{'razor_home_dir'} || 0),
+ razor_log_file => ( $opt{'razor_log_file'} || 0),
dont_copy_prefs => $dontcopy,
rules_filename => ( $opt{'configpath'} || 0 ),
site_rules_filename => ( $opt{'siteconfigpath'} || 0 ),

View File

@ -0,0 +1,12 @@
diff --color -Nur Mail-SpamAssassin-4.0.0.orig/sa-update.raw Mail-SpamAssassin-4.0.0/sa-update.raw
--- Mail-SpamAssassin-4.0.0.orig/sa-update.raw 2022-12-13 22:03:27.000000000 -0800
+++ Mail-SpamAssassin-4.0.0/sa-update.raw 2022-12-19 12:28:57.058533774 -0800
@@ -361,7 +361,7 @@
if ($GPG_ENABLED || $opt{'import'}) {
# find GPG in the PATH
# bug 4958: for *NIX it's "gpg", in Windows it's "gpg.exe"
- $GPGPath = 'gpg' . $Config{_exe};
+ $GPGPath = 'gpg2' . $Config{_exe};
dbg("gpg: Searching for '$GPGPath'");
if ($GPGPath = Mail::SpamAssassin::Util::find_executable_in_env_path($GPGPath)) {

3
spamassassin-default.rc Normal file
View File

@ -0,0 +1,3 @@
# send mail through spamassassin
:0fw
| /usr/bin/spamassassin

2
spamassassin-helper.sh Normal file
View File

@ -0,0 +1,2 @@
#!/bin/sh
/usr/bin/spamassassin -e

View File

@ -0,0 +1,86 @@
# http://wiki.apache.org/spamassassin/RuleUpdates
CHANNELURL=updates.spamassassin.org
KEYID=5244EC45
# Ignore everything below.
return 0
This is the GPG key that updates are signed with (currently,
as of Wed Dec 21 19:31:38 PST 2005. Please contact <dev /at/
spamassassin.apache.org> with any questions.
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1.4.2 (SunOS)
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
aB8EKy5bg4U6
=IbYW
-----END PGP PUBLIC KEY BLOCK-----

3
spamassassin-spamc.rc Normal file
View File

@ -0,0 +1,3 @@
# send mail through spamassassin
:0fw
| /usr/bin/spamc

14
spamassassin.service Normal file
View File

@ -0,0 +1,14 @@
[Unit]
Description=Spamassassin daemon
After=syslog.target network.target
Wants=sa-update.timer
[Service]
EnvironmentFile=-/etc/sysconfig/spamassassin
ExecStart=/usr/bin/spamd $SPAMDOPTIONS
StandardOutput=null
StandardError=null
Restart=always
[Install]
WantedBy=multi-user.target

171
spamassassin.spec Normal file
View File

@ -0,0 +1,171 @@
Name: spamassassin
Version: 4.0.0
Release: 1
Summary: A program used for e-mail spam filtering
License: ASL 2.0
URL: https://spamassassin.apache.org/
Source0: https://www.apache.org/dist/%{name}/source/Mail-SpamAssassin-%{version}.tar.bz2
Source1: https://www.apache.org/dist/%{name}/source/Mail-SpamAssassin-rules-%{version}.r1905950.tgz
Source2: openeuler_local.cf
Source3: spamassassin-default.rc
Source4: spamassassin-spamc.rc
Source5: spamassassin.sysconfig
Source6: sa-update.logrotate
Source7: sa-update.crontab
Source8: sa-update.cronscript
Source9: sa-update.force-sysconfig
Source10: spamassassin-helper.sh
Source11: spamassassin-official.conf
Source12: spamassassin.service
Source13: sa-update.service
Source14: sa-update.timer
Patch0001: spamassassin-4.0.0-gnupg2.patch
Patch0002: spamassassin-4.0.0-add-logfile-homedir-options.patch
BuildRequires: gcc openssl-devel perl-devel perl-generators perl-HTML-Parser >= 3.43
BuildRequires: perl-interpreter >= 2:5.8.0 perl(Archive::Tar) perl(DB_File)
BuildRequires: perl(Digest::SHA1) perl(HTML::Parser) perl(IO::Socket::INET6)
BuildRequires: perl(IO::Socket::SSL) perl(LWP::UserAgent) perl(Mail::DKIM)
BuildRequires: perl(Mail::SPF) perl(Net::CIDR::Lite) perl(Net::DNS) perl(NetAddr::IP)
BuildRequires: perl(Test::More) perl(Time::HiRes) systemd-units
Requires: gnupg2 procmail perl-HTML-Parser >= 3.43 systemd-pam
Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version))
Requires: perl(Archive::Tar) perl(BSD::Resource) perl(DB_File) perl(Data::Dumper)
Requires: perl(Digest::MD5) perl(Digest::SHA) perl(Encode::Detect) perl(Errno)
Requires: perl(Exporter) perl(HTTP::Date) perl(IO::Socket::INET6) perl(IO::Socket::SSL)
Requires: perl(LWP::UserAgent) perl(List::Util) perl(Mail::DKIM) perl(Mail::SPF)
Requires: perl(Net::CIDR::Lite) perl(Net::DNS) perl(Socket) perl(Time::HiRes)
Requires(preun): systemd-units
Requires(post): diffutils systemd-units systemd-sysv
Requires(postun): systemd-units
%description
Apache SpamAssassin is the Open Source anti-spam platform giving system administrators
a filter to classify email and block spam (unsolicited bulk email).
It uses a robust scoring framework and plug-ins to integrate a wide range of advanced
heuristic and statistical analysis tests on email headers and body text including text
analysis, Bayesian filtering, DNS blocklists, and collaborative filtering databases.
%package help
Summary: Help documents for %{name}
Buildarch: noarch
%description help
Man pages and other help documents for %{name}.
%prep
%autosetup -n Mail-SpamAssassin-%{version} -p1
%build
export CFLAGS="$RPM_OPT_FLAGS"
export LDFLAGS="%{build_ldflags}"
perl Makefile.PL DESTDIR=%buildroot SYSCONFDIR=%{_sysconfdir} INSTALLDIRS=vendor ENABLE_SSL="yes" < /dev/null
%make_build OPTIMIZE="$RPM_OPT_FLAGS"
%install
%makeinstall PREFIX=%buildroot/%{prefix} INSTALLMAN1DIR=%buildroot%{_mandir}/man1 \
INSTALLMAN3DIR=%buildroot%{_mandir}/man3 LOCAL_RULES_DIR=%{buildroot}/etc/mail/spamassassin
chmod 755 %buildroot%{_bindir}/*
install -d %buildroot%{_sysconfdir}/mail/spamassassin
install -d %buildroot%{_sysconfdir}/sysconfig
install -d %buildroot%{_sysconfdir}/logrotate.d
install -d %buildroot%{_unitdir}
install -m 0644 %{SOURCE2} %buildroot%{_sysconfdir}/mail/spamassassin/local.cf
install -m 0644 %{SOURCE5} %buildroot%{_sysconfdir}/sysconfig/spamassassin
install -m 0644 %{SOURCE3} %{SOURCE4} %buildroot/etc/mail/spamassassin
install -m 0755 %{SOURCE10} %buildroot/etc/mail/spamassassin
install -m 0644 %{SOURCE6} %buildroot/etc/logrotate.d/sa-update
install -m 0644 %{SOURCE9} %buildroot%{_sysconfdir}/sysconfig/sa-update
install -m 0744 %{SOURCE8} %buildroot%{_datadir}/spamassassin/sa-update.cron
install -m 0644 %{SOURCE12} %buildroot%{_unitdir}/spamassassin.service
install -m 0644 %{SOURCE13} %buildroot%{_unitdir}/sa-update.service
install -m 0644 %{SOURCE14} %buildroot%{_unitdir}/sa-update.timer
[ -x /usr/lib/rpm/brp-compress ] && /usr/lib/rpm/brp-compress
find %buildroot \( -name perllocal.pod -o -name .packlist \) -exec rm -v {} \;
find %buildroot -type d -depth -exec rmdir {} 2>/dev/null ';'
pushd %buildroot%{_datadir}/spamassassin/
tar xfvz %{SOURCE1}
sed -i -e 's|\@\@VERSION\@\@|3.004002|' *.cf
popd
install -d %buildroot%{_localstatedir}/lib/spamassassin
install -d -m 0700 %buildroot%{_sysconfdir}/mail/spamassassin/sa-update-keys/
install -d -m 0755 %buildroot%{_sysconfdir}/mail/spamassassin/channel.d/
install -m 0644 %{SOURCE11} %buildroot%{_sysconfdir}/mail/spamassassin/channel.d/
%post
%systemd_post spamassassin.service
%systemd_post sa-update.timer
TMPFILE=$(/bin/mktemp /etc/sysconfig/spamassassin.XXXXXX) || exit 1
cp /etc/sysconfig/spamassassin $TMPFILE
perl -p -i -e 's/(["\s]-\w+)a/$1/ ; s/(["\s]-)a(\w+)/$1$2/ ; s/(["\s])-a\b/$1/' $TMPFILE
perl -p -i -e 's/ --auto-whitelist//' $TMPFILE
cmp /etc/sysconfig/spamassassin $TMPFILE || cp $TMPFILE /etc/sysconfig/spamassassin
rm $TMPFILE
if [ -f /etc/spamassassin.cf ]; then
mv /etc/spamassassin.cf /etc/mail/spamassassin/migrated.cf
fi
if [ -f /etc/mail/spamassassin.cf ]; then
mv /etc/mail/spamassassin.cf /etc/mail/spamassassin/migrated.cf
fi
%postun
%systemd_postun spamassassin.service
%systemd_postun sa-update.timer
%preun
%systemd_preun spamassassin.service
%systemd_preun sa-update.timer
%triggerun -- spamassassin < 3.3.2-2
%{_bindir}/systemd-sysv-convert --save spamassassin >/dev/null 2>&1 ||:
%files
%doc LICENSE
%{_bindir}/*
%dir %{_sysconfdir}/mail
%config(noreplace) %{_sysconfdir}/mail/spamassassin
%config(noreplace) %{_sysconfdir}/logrotate.d/sa-update
%config(noreplace) %{_sysconfdir}/sysconfig/*
%dir %{_datadir}/spamassassin
%{_datadir}/spamassassin/*
%dir %{_localstatedir}/lib/spamassassin
%{perl_vendorlib}/spamassassin-run.pod
%dir %{perl_vendorlib}/Mail
%dir %{perl_vendorlib}/Mail/SpamAssassin
%dir %{perl_vendorlib}/Mail/SpamAssassin/*
%dir %{perl_vendorlib}/Mail/SpamAssassin/Message/Metadata
%{perl_vendorlib}/Mail/*.pm
%{perl_vendorlib}/Mail/SpamAssassin/*.pm
%{perl_vendorlib}/Mail/SpamAssassin/*/*.pm
%{perl_vendorlib}/Mail/SpamAssassin/Message/Metadata/*.pm
%{_unitdir}/*
%files help
%doc Changes CREDITS NOTICE README TRADEMARK UPGRADE USAGE sample-nonspam.txt sample-spam.txt
%{_mandir}/man[13]/*
%changelog
* Thu Apr 13 2023 yaoxin <yao_xin001@hoperun.com> - 4.0.0-1
- Update to 4.0.0
* Tue Dec 13 2022 liyanan <liyanan32@h-partners.com> - 3.4.5-2
- add requires systemd-pam
* Wed Mar 31 2021 wangxiao <wangxiao65@huawei.com> - 3.4.5-1
- Update to 3.4.5, fix CVE-2020-1946
* Sun Feb 7 2021 zhanghua <zhanghua40@huawei.com> - 3.4.4-1
- update to 3.4.4 to fix CVE-2020-1930 CVE-2020-1931
* Mon Dec 09 2019 zhouyihang <zhouyihang1@huawei.com> - 3.4.2-4
- Package init

2
spamassassin.sysconfig Normal file
View File

@ -0,0 +1,2 @@
# Options to spamd
SPAMDOPTIONS="-c -m5 -H --razor-home-dir='/var/lib/razor/' --razor-log-file='sys-syslog'"