diff --git a/.gitignore b/.gitignore index bc510d9..b1e78dc 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,2 @@ -SOURCES/Mail-SpamAssassin-3.4.4.tar.bz2 -SOURCES/Mail-SpamAssassin-rules-3.4.4.r1873061.tgz +SOURCES/Mail-SpamAssassin-3.4.6.tar.bz2 +SOURCES/Mail-SpamAssassin-rules-3.4.6.r1888502.tgz diff --git a/.spamassassin.metadata b/.spamassassin.metadata index cd26fa1..00d5b3d 100644 --- a/.spamassassin.metadata +++ b/.spamassassin.metadata @@ -1,2 +1,2 @@ -23ab1edb89570c0367c117cbaf1e816c0dc1fb90 SOURCES/Mail-SpamAssassin-3.4.4.tar.bz2 -ee022f1cc18a66d49c1954936c70c36049c37dcf SOURCES/Mail-SpamAssassin-rules-3.4.4.r1873061.tgz +26390aa8c9176c7d280252e4f01defe031373d32 SOURCES/Mail-SpamAssassin-3.4.6.tar.bz2 +bc4a64ed49f6df75d6bce8396fa476548a66d755 SOURCES/Mail-SpamAssassin-rules-3.4.6.r1888502.tgz diff --git a/SOURCES/0001-Drop-the-ResourceLimits-plugin.patch b/SOURCES/0001-Drop-the-ResourceLimits-plugin.patch deleted file mode 100644 index 61798f4..0000000 --- a/SOURCES/0001-Drop-the-ResourceLimits-plugin.patch +++ /dev/null @@ -1,44 +0,0 @@ -diff --git a/MANIFEST b/MANIFEST -index c4aca1b..5ba3a0c 100644 ---- a/MANIFEST -+++ b/MANIFEST -@@ -101,7 +101,6 @@ lib/Mail/SpamAssassin/Plugin/Pyzor.pm - lib/Mail/SpamAssassin/Plugin/Razor2.pm - lib/Mail/SpamAssassin/Plugin/RelayCountry.pm - lib/Mail/SpamAssassin/Plugin/RelayEval.pm --lib/Mail/SpamAssassin/Plugin/ResourceLimits.pm - lib/Mail/SpamAssassin/Plugin/ReplaceTags.pm - lib/Mail/SpamAssassin/Plugin/Reuse.pm - lib/Mail/SpamAssassin/Plugin/Rule2XSBody.pm -diff --git a/lib/Mail/SpamAssassin/Util/DependencyInfo.pm b/lib/Mail/SpamAssassin/Util/DependencyInfo.pm -index eca12e1..9a6b4fb 100644 ---- a/lib/Mail/SpamAssassin/Util/DependencyInfo.pm -+++ b/lib/Mail/SpamAssassin/Util/DependencyInfo.pm -@@ -233,12 +233,6 @@ our @OPTIONAL_MODULES = ( - check for both Net::DNS and Net::DNS::Nameserver. However, - Net::DNS::Nameserver is only used in make test as of June 2014.', - }, --{ -- module => 'BSD::Resource', -- version => 0, -- desc => 'BSD::Resource provides BSD process resource limit and priority -- functions. It is used by the optional ResourceLimits Plugin.', --}, - { - module => 'Archive::Zip', - version => 0, -diff --git a/rules/v342.pre b/rules/v342.pre -index 8e0fb07..c4758e9 100644 ---- a/rules/v342.pre -+++ b/rules/v342.pre -@@ -19,10 +19,6 @@ - # HashBL - Query hashed/unhashed strings, emails, uris etc from DNS lists - # loadplugin Mail::SpamAssassin::Plugin::HashBL - --# ResourceLimits - assure your spamd child processes --# do not exceed specified CPU or memory limit --# loadplugin Mail::SpamAssassin::Plugin::ResourceLimits -- - # FromNameSpoof - help stop spam that tries to spoof other domains using - # the from name - # loadplugin Mail::SpamAssassin::Plugin::FromNameSpoof diff --git a/SOURCES/spamassassin-3.4.6-Drop-the-ResourceLimits-plugin.patch b/SOURCES/spamassassin-3.4.6-Drop-the-ResourceLimits-plugin.patch new file mode 100644 index 0000000..6cad38a --- /dev/null +++ b/SOURCES/spamassassin-3.4.6-Drop-the-ResourceLimits-plugin.patch @@ -0,0 +1,193 @@ +diff --git a/MANIFEST b/MANIFEST +index e16e0da..601f886 100644 +--- a/MANIFEST ++++ b/MANIFEST +@@ -101,7 +101,6 @@ lib/Mail/SpamAssassin/Plugin/Pyzor.pm + lib/Mail/SpamAssassin/Plugin/Razor2.pm + lib/Mail/SpamAssassin/Plugin/RelayCountry.pm + lib/Mail/SpamAssassin/Plugin/RelayEval.pm +-lib/Mail/SpamAssassin/Plugin/ResourceLimits.pm + lib/Mail/SpamAssassin/Plugin/ReplaceTags.pm + lib/Mail/SpamAssassin/Plugin/Reuse.pm + lib/Mail/SpamAssassin/Plugin/Rule2XSBody.pm +diff --git a/lib/Mail/SpamAssassin/Plugin/ResourceLimits.pm b/lib/Mail/SpamAssassin/Plugin/ResourceLimits.pm +deleted file mode 100644 +index 9179b93..0000000 +--- a/lib/Mail/SpamAssassin/Plugin/ResourceLimits.pm ++++ /dev/null +@@ -1,143 +0,0 @@ +-# <@LICENSE> +-# Licensed to the Apache Software Foundation (ASF) under one or more +-# contributor license agreements. See the NOTICE file distributed with +-# this work for additional information regarding copyright ownership. +-# The ASF licenses this file to you under the Apache License, Version 2.0 +-# (the "License"); you may not use this file except in compliance with +-# the License. You may obtain a copy of the License at: +-# +-# http://www.apache.org/licenses/LICENSE-2.0 +-# +-# Unless required by applicable law or agreed to in writing, software +-# distributed under the License is distributed on an "AS IS" BASIS, +-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +-# See the License for the specific language governing permissions and +-# limitations under the License. +-# +- +-=head1 NAME +- +-Mail::SpamAssassin::Plugin::ResourceLimits - Limit the memory and/or CPU of child spamd processes +- +-=head1 SYNOPSIS +- +- # This plugin is for admin only and cannot be specified in user config. +- loadplugin Mail::SpamAssassin::Plugin::ResourceLimits +- +- # Sets to RLIMIT_CPU from BSD::Resource. The quota is based on max CPU Time seconds. +- resource_limit_cpu 120 +- +- # Sets to RLIMIT_RSS and RLIMIT_AS via BSD::Resource. +- resource_limit_cpu 536870912 +- +-=head1 DESCRIPTION +- +-This module leverages BSD::Resource to assure your spamd child processes do not exceed +-specified CPU or memory limit. If this happens, the child process will die. +-See the L for more details. +- +-NOTE: Because this plugin uses BSD::Resource, it will not function on Windows. +- +-=head1 ADMINISTRATOR SETTINGS +- +-=over 4 +- +-=item resource_limit_cpu 120 (default: 0 or no limit) +- +-How many cpu cycles are allowed on this process before it dies. +- +-=item resource_limit_mem 536870912 (default: 0 or no limit) +- +-The maximum number of bytes of memory allowed both for: +- +-=over +- +-=item * +- +-(virtual) address space bytes +- +-=item * +- +-resident set size +- +-=back +- +-=back +- +-=cut +- +-package Mail::SpamAssassin::Plugin::ResourceLimits; +- +-use Mail::SpamAssassin::Plugin (); +-use Mail::SpamAssassin::Logger (); +-use Mail::SpamAssassin::Util (); +-use Mail::SpamAssassin::Constants qw(:sa); +- +-use strict; +-use warnings; +- +-use BSD::Resource qw(RLIMIT_RSS RLIMIT_AS RLIMIT_CPU); +- +-our @ISA = qw(Mail::SpamAssassin::Plugin); +- +-sub new { +- my $class = shift; +- my $mailsaobject = shift; +- +- $class = ref($class) || $class; +- my $self = $class->SUPER::new($mailsaobject); +- bless( $self, $class ); +- +- $self->set_config( $mailsaobject->{conf} ); +- return $self; +-} +- +-sub set_config { +- my ( $self, $conf ) = @_; +- my @cmds = (); +- +- push( +- @cmds, +- { +- setting => 'resource_limit_mem', +- is_admin => 1, +- default => '0', +- type => $Mail::SpamAssassin::Conf::CONF_TYPE_NUMERIC +- } +- ); +- +- push( +- @cmds, +- { +- setting => 'resource_limit_cpu', +- is_admin => 1, +- default => '0', +- type => $Mail::SpamAssassin::Conf::CONF_TYPE_NUMERIC +- } +- ); +- +- $conf->{parser}->register_commands( \@cmds ); +-} +- +-sub spamd_child_init { +- my ($self) = @_; +- +- # Set CPU Resource limits if they were specified. +- Mail::SpamAssassin::Util::dbg("resourcelimitplugin: In spamd_child_init"); +- Mail::SpamAssassin::Util::dbg( "resourcelimitplugin: cpu limit: " . $self->{main}->{conf}->{resource_limit_cpu} ); +- if ( $self->{main}->{conf}->{resource_limit_cpu} ) { +- BSD::Resource::setrlimit( RLIMIT_CPU, $self->{main}->{conf}->{resource_limit_cpu}, $self->{main}->{conf}->{resource_limit_cpu} ) +- || info("resourcelimitplugin: Unable to set RLIMIT_CPU"); +- } +- +- # Set Resource limits if they were specified. +- Mail::SpamAssassin::Util::dbg( "resourcelimitplugin: mem limit: " . $self->{main}->{conf}->{resource_limit_mem} ); +- if ( $self->{main}->{conf}->{resource_limit_mem} ) { +- BSD::Resource::setrlimit( RLIMIT_RSS, $self->{main}->{conf}->{resource_limit_mem}, $self->{main}->{conf}->{resource_limit_mem} ) +- || info("resourcelimitplugin: Unable to set RLIMIT_RSS"); +- BSD::Resource::setrlimit( RLIMIT_AS, $self->{main}->{conf}->{resource_limit_mem}, $self->{main}->{conf}->{resource_limit_mem} ) +- || info("resourcelimitplugin: Unable to set RLIMIT_AS"); +- } +-} +- +-1; +diff --git a/lib/Mail/SpamAssassin/Util/DependencyInfo.pm b/lib/Mail/SpamAssassin/Util/DependencyInfo.pm +index b5b05cf..8223b26 100644 +--- a/lib/Mail/SpamAssassin/Util/DependencyInfo.pm ++++ b/lib/Mail/SpamAssassin/Util/DependencyInfo.pm +@@ -234,12 +234,6 @@ our @OPTIONAL_MODULES = ( + check for both Net::DNS and Net::DNS::Nameserver. However, + Net::DNS::Nameserver is only used in make test as of June 2014.', + }, +-{ +- module => 'BSD::Resource', +- version => 0, +- desc => 'BSD::Resource provides BSD process resource limit and priority +- functions. It is used by the optional ResourceLimits Plugin.', +-}, + { + module => 'Archive::Zip', + version => 0, +diff --git a/rules/v342.pre b/rules/v342.pre +index 8e0fb07..c4758e9 100644 +--- a/rules/v342.pre ++++ b/rules/v342.pre +@@ -19,10 +19,6 @@ + # HashBL - Query hashed/unhashed strings, emails, uris etc from DNS lists + # loadplugin Mail::SpamAssassin::Plugin::HashBL + +-# ResourceLimits - assure your spamd child processes +-# do not exceed specified CPU or memory limit +-# loadplugin Mail::SpamAssassin::Plugin::ResourceLimits +- + # FromNameSpoof - help stop spam that tries to spoof other domains using + # the from name + # loadplugin Mail::SpamAssassin::Plugin::FromNameSpoof diff --git a/SOURCES/spamassassin-3.4.2-drop-geoip.patch b/SOURCES/spamassassin-3.4.6-drop-geoip.patch similarity index 98% rename from SOURCES/spamassassin-3.4.2-drop-geoip.patch rename to SOURCES/spamassassin-3.4.6-drop-geoip.patch index 74ceeab..0710408 100644 --- a/SOURCES/spamassassin-3.4.2-drop-geoip.patch +++ b/SOURCES/spamassassin-3.4.6-drop-geoip.patch @@ -1,5 +1,5 @@ diff --git a/MANIFEST b/MANIFEST -index a988fa1..c4aca1b 100644 +index 7b1bab2..e16e0da 100644 --- a/MANIFEST +++ b/MANIFEST @@ -118,7 +118,6 @@ lib/Mail/SpamAssassin/Plugin/VBounce.pm @@ -425,7 +425,7 @@ index 38ec1e3..0000000 -1; diff --git a/lib/Mail/SpamAssassin/Plugin/URILocalBL.pm b/lib/Mail/SpamAssassin/Plugin/URILocalBL.pm deleted file mode 100644 -index 4fbbcb7..0000000 +index 4def393..0000000 --- a/lib/Mail/SpamAssassin/Plugin/URILocalBL.pm +++ /dev/null @@ -1,705 +0,0 @@ @@ -911,14 +911,14 @@ index 4fbbcb7..0000000 - my $flags = 0; - my $flag_isp = 0; - my $flag_silent = 0; -- eval '$flags = GEOIP_MEMORY_CACHE | GEOIP_CHECK_CACHE' if ($gip_wanted >= $gip_have); -- eval '$flag_silent = Geo::IP::GEOIP_SILENCE' if ($gip_wanted >= $gip_have); -- eval '$flag_isp = GEOIP_ISP_EDITION' if ($gip_wanted >= $gip_have); +- eval '$flags = GEOIP_MEMORY_CACHE | GEOIP_CHECK_CACHE' if ($gip_have >= $gip_wanted); +- eval '$flag_silent = GEOIP_SILENCE' if ($gip_have >= $gip_wanted); +- eval '$flag_isp = GEOIP_ISP_EDITION' if ($gip_have >= $gip_wanted); - - eval { -- if ($flag_silent && $gic_wanted >= $gic_have) { +- if ($flag_silent && $gic_have >= $gic_wanted) { - $self->{geoip} = Geo::IP->new($flags | $flag_silent); -- $self->{geoisp} = Geo::IP->open_type($flag_isp | $flag_silent | $flags); +- $self->{geoisp} = Geo::IP->open_type($flag_isp, $flag_silent | $flags); - } else { - open(OLDERR, ">&STDERR"); - open(STDERR, ">", "/dev/null"); @@ -1135,10 +1135,10 @@ index 4fbbcb7..0000000 -1; - diff --git a/lib/Mail/SpamAssassin/Util/DependencyInfo.pm b/lib/Mail/SpamAssassin/Util/DependencyInfo.pm -index 2f8aa65..eca12e1 100644 +index e55c863..b5b05cf 100644 --- a/lib/Mail/SpamAssassin/Util/DependencyInfo.pm +++ b/lib/Mail/SpamAssassin/Util/DependencyInfo.pm -@@ -124,46 +124,6 @@ our @OPTIONAL_MODULES = ( +@@ -125,46 +125,6 @@ our @OPTIONAL_MODULES = ( desc => 'Used to check DNS Sender Policy Framework (SPF) records to fight email address forgery and make it easier to identify spams.', }, diff --git a/SOURCES/spamassassin-cert_update.patch b/SOURCES/spamassassin-cert_update.patch deleted file mode 100644 index 2d0e68f..0000000 --- a/SOURCES/spamassassin-cert_update.patch +++ /dev/null @@ -1,108 +0,0 @@ -commit be7b4d87d84f15446652569cd218db1ced7ae92a -Author: Henrik Krohns -Date: Fri Apr 10 07:47:37 2020 +0000 - - Bug 7807 - t/spamd_ssl.t fails due to small key size - - - git-svn-id: https://svn.apache.org/repos/asf/spamassassin/trunk@1876347 13f79535-47bb-0310-9956-ffa450edef68 - -diff --git a/t/data/etc/testhost.cert b/t/data/etc/testhost.cert -index 86cff9aae..dca7c5a16 100644 ---- a/t/data/etc/testhost.cert -+++ b/t/data/etc/testhost.cert -@@ -1,23 +1,25 @@ - -----BEGIN CERTIFICATE----- --MIIDyjCCAzOgAwIBAgIBADANBgkqhkiG9w0BAQUFADCBpTELMAkGA1UEBhMCU0Ex --CzAJBgNVBAgTAlNBMRowGAYDVQQHExFTcGFtQXNzYXNzaW4gQ2l0eTEVMBMGA1UE --ChMMU3BhbUFzc2Fzc2luMRkwFwYDVQQLExBGT1IgVEVTVElORyBPTkxZMRIwEAYD --VQQDEwlsb2NhbGhvc3QxJzAlBgkqhkiG9w0BCQEWGHNwYW1hc3Nhc3NpbkBleGFt --cGxlLmNvbTAeFw0wNDA3MDkyMTE4NDdaFw0yNDA3MTQyMTE4NDdaMIGlMQswCQYD --VQQGEwJTQTELMAkGA1UECBMCU0ExGjAYBgNVBAcTEVNwYW1Bc3Nhc3NpbiBDaXR5 --MRUwEwYDVQQKEwxTcGFtQXNzYXNzaW4xGTAXBgNVBAsTEEZPUiBURVNUSU5HIE9O --TFkxEjAQBgNVBAMTCWxvY2FsaG9zdDEnMCUGCSqGSIb3DQEJARYYc3BhbWFzc2Fz --c2luQGV4YW1wbGUuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC1l6To --Fxkyc2glblqZYFq/BWFSMKh9LsouTVowuxC7yQkEENBjeQ4paHUFsi49s0RnabsA --D1c56O8BBT0C89CMiCubRbv/KyHMDut5Nt0brWKS+VRWHgN9T5eYOy3wKPwbc7bm --sPdgt5bOCS78F0luL5T6DPcf5mgE7XAv8qp+mwIDAQABo4IBBjCCAQIwHQYDVR0O --BBYEFGJWfa4QHDeC9Wn3UNLIaf7prjmUMIHSBgNVHSMEgcowgceAFGJWfa4QHDeC --9Wn3UNLIaf7prjmUoYGrpIGoMIGlMQswCQYDVQQGEwJTQTELMAkGA1UECBMCU0Ex --GjAYBgNVBAcTEVNwYW1Bc3Nhc3NpbiBDaXR5MRUwEwYDVQQKEwxTcGFtQXNzYXNz --aW4xGTAXBgNVBAsTEEZPUiBURVNUSU5HIE9OTFkxEjAQBgNVBAMTCWxvY2FsaG9z --dDEnMCUGCSqGSIb3DQEJARYYc3BhbWFzc2Fzc2luQGV4YW1wbGUuY29tggEAMAwG --A1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADgYEAsKbOfgXZlBm1rQlM6W2Nxf5g --r3QA67liZjVxhIb9chvreCttoe3IkHRSM4axToeKo+x7IV6ceXnqMc5chnu2lUmH --2z7m3IYRYmIOaXroXZcfqX/P4HMw9NOphpEZ4yNsvKSl2n3h3bJ3ErqxMgghlTGD --KYC+xKTFTsPjOE53Jh8= -+MIIELTCCAxWgAwIBAgIUCEYDt5yF4chKPuWTkkbpgLAZWycwDQYJKoZIhvcNAQEL -+BQAwgaUxCzAJBgNVBAYTAlNBMQswCQYDVQQIDAJTQTEaMBgGA1UEBwwRU3BhbUFz -+c2Fzc2luIENpdHkxFTATBgNVBAoMDFNwYW1Bc3Nhc3NpbjEZMBcGA1UECwwQRk9S -+IFRFU1RJTkcgT05MWTESMBAGA1UEAwwJbG9jYWxob3N0MScwJQYJKoZIhvcNAQkB -+FhhzcGFtYXNzYXNzaW5AZXhhbXBsZS5jb20wHhcNMjAwNDEwMDczMTA3WhcNMzAw -+NDA4MDczMTA3WjCBpTELMAkGA1UEBhMCU0ExCzAJBgNVBAgMAlNBMRowGAYDVQQH -+DBFTcGFtQXNzYXNzaW4gQ2l0eTEVMBMGA1UECgwMU3BhbUFzc2Fzc2luMRkwFwYD -+VQQLDBBGT1IgVEVTVElORyBPTkxZMRIwEAYDVQQDDAlsb2NhbGhvc3QxJzAlBgkq -+hkiG9w0BCQEWGHNwYW1hc3Nhc3NpbkBleGFtcGxlLmNvbTCCASIwDQYJKoZIhvcN -+AQEBBQADggEPADCCAQoCggEBAK+IP5AWcdwiGG33Tt9pAjQ/tWnqhoUoSGHJMq9n -+hV3GI6CyqbbJXN/VFDC27F9qltoZp2eSEigRvLgnrjmnJFJ3H34CcKghx3TfEFdf -+ILCKPXvYSIe7fpeD5+0LN2t+0Kr56vejyGkQAiGDs7FU9rPOHENolU8SvRv102M0 -+K65sZU940ML43ns3JCg1AGGBQj3LabqlxHM+zBAYHFLMd9/fMzKfaFgvyPvZIlIv -+zhzdBksBrl2Wa8RPdJUtWhDGbYMEAHPreZQmiqdtfBbOc946LYYrDTaCAPaAYzUd -+WOqOU9grNcWjIuiIlUjcCPdRe1njDSerfsMdcXUjGroGj90CAwEAAaNTMFEwHQYD -+VR0OBBYEFP8lys2m3PDCcYXieVxpOBaBUX/eMB8GA1UdIwQYMBaAFP8lys2m3PDC -+cYXieVxpOBaBUX/eMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQELBQADggEB -+AAuVryADs+3mv4mLLzWPmjBLSzlemqXqZPu7OPe8GrzD3BkovudWErI/nW7OTWcJ -+JixVeL5IgJ/ddDZXIaLM6c73NqcVpOQ+E/vnkbHHJtYTPJ8aSl5DWFd7Pid8JV2M -+gHcNFXStCWQ2XN3iXliDnb7LBI2DphCIBBKGajbP3mlVcVwZstqqyoqRn8wshlrJ -+j7FlrmDF2f62huGBKgfgC4lov95B7TH45hjUnIHaemgVw9VLyZHqw0jQ7Fd14069 -+RMHuzP2DGi6+uJ4rS8pnDGYXHh4Exyl3TXGLAoWFjCmh3TWGRqwbs/VWC6TrbUSe -+mmPZfIFNtvb9bh/uatmTIFU= - -----END CERTIFICATE----- -diff --git a/t/data/etc/testhost.key b/t/data/etc/testhost.key -index 018e89089..e7fc5711a 100644 ---- a/t/data/etc/testhost.key -+++ b/t/data/etc/testhost.key -@@ -1,15 +1,28 @@ -------BEGIN RSA PRIVATE KEY----- --MIICXQIBAAKBgQC1l6ToFxkyc2glblqZYFq/BWFSMKh9LsouTVowuxC7yQkEENBj --eQ4paHUFsi49s0RnabsAD1c56O8BBT0C89CMiCubRbv/KyHMDut5Nt0brWKS+VRW --HgN9T5eYOy3wKPwbc7bmsPdgt5bOCS78F0luL5T6DPcf5mgE7XAv8qp+mwIDAQAB --AoGAXyirQvAvxQ9TCSJuGaezhhxkpnRXJtppGqBwXc75ct5jehzxht79+9cAU87O --ioixlNuEIgDn/bHB5TAAi9aGduwz9hsv4NpNQ89/z7tmRKq43QFpf9hFHxZ3Q4e9 --Hmey7ZsJ3/TpqFNfhH0IkLy6fA5+iClss3b2/6BbqqL8drkCQQDb9TSAJW56LnY2 --aRtImgEyoeg2iEgV98SuDvNNUpTYvG0pkFolFlhb49w5KCmKqOtPA+etc/K2vRJf --8zkfz/BnAkEA01kVZoojg/am0K184Qfotxr7+t8Rjxn4k4g6Eq7ryth/Uicffixx --9E9sp2aadEW+Lt5pao+BsIwxxtLhphkPrQJBALQi1KQ+A4Q8mMNmwNlshp6Yyjwe --0Cpth72ksM0aXJxDdIMdnTXSXvqiWbDVm2/bdxp28D21P4k4vtulrZrICPECQQDP --RzhQ57wrSXWThgLK5KndIy7sfWhIM81yTBHAjyOcPraoSMx/P3HHjTnf+CYVUO1U --JDe5FeO41dZfzCUYdM3FAkA8IXYe74FVG9VM9yzZYbZHaS17TCyztkqagIuUBfDe --g0frip4VCEHvh+qDk678GZ1tMJ30utuTx6JgXJ5HeuFi -------END RSA PRIVATE KEY----- -+-----BEGIN PRIVATE KEY----- -+MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCviD+QFnHcIhht -+907faQI0P7Vp6oaFKEhhyTKvZ4VdxiOgsqm2yVzf1RQwtuxfapbaGadnkhIoEby4 -+J645pyRSdx9+AnCoIcd03xBXXyCwij172EiHu36Xg+ftCzdrftCq+er3o8hpEAIh -+g7OxVPazzhxDaJVPEr0b9dNjNCuubGVPeNDC+N57NyQoNQBhgUI9y2m6pcRzPswQ -+GBxSzHff3zMyn2hYL8j72SJSL84c3QZLAa5dlmvET3SVLVoQxm2DBABz63mUJoqn -+bXwWznPeOi2GKw02ggD2gGM1HVjqjlPYKzXFoyLoiJVI3Aj3UXtZ4w0nq37DHXF1 -+Ixq6Bo/dAgMBAAECggEAGrgqtMw12MR344VZxDg/1aQ9ATpp76sKGZh+1qRzcKrQ -+kY2gt+o+8POGd0PhB0U6YUi2atWZXfAVQhMIOk5vAP6RFKVacL1zlx69Zg9c8oKY -+iVmK8N5hjr7Ndw/WB87uBJi2Y6vSvetp56AcoknEo+oj8z7gO4EmuDLbUqaGX65v -+08wyrSoWYAUPDhXvOclReBITDkWuGzhd5IDv3kVmf9oizOO6gbKxh5speFKA91Yg -+WMuBbi7hWB41Nn1ycSKfAx9W7kvBhxA35G/QKupXoTPoNNw5Z08zpg2tiqGlrVFS -+xs5SagfBjxqF2I44y/xH9xv3WuYNPSsQDZANxat+AQKBgQDVbWWryhas9AyyQQdr -+uJRCpBf6Gyzd/FwUnb3370YhK/mVogAIbyT2TwTliXjPYTccvDzP9mWnmH2QVBfG -+e5NW7A3zYwCrculucdKL+PZ58PF/LuCzQUuSlZ72fhqIPHXi3Acipjk6NDLntI/4 -+OF6HO1ZwNqL7tsf2bFjarOjIbQKBgQDSi7+hI6rg/8ovt9UrJYZEv5bR8wHsZRB3 -+4uHvCHHkbNlvZiorAsaVO8w0EoSqT3tsxHTz6l1TskxQhznjru+/mn5QDVu4gHMh -+BFewZ+PRZKxqx61Y1zlvRSHLWM1uXxVcCrBCIC3fFb50oluiCVcI+OE7qXPgX6zN -+Iqd4XB8fMQKBgBT1nVp1iiyJ+wU2ZagqhETXIJOrP4i9U72ikBldIiH305biReaO -+I68cq3pvObID9gmYYtB5fhorW4lk+MDBOgL7Q5N3UYWEz2/NNcQROwNWqiC3VdHE -+w8stbmL+l1Rxu5H/0aORd2VD4wvmK41Q29ej+CUk+HSHyrNkiIVRHbsxAoGBALlq -+rskG8y6QtQsO9uC3fCZBH14nhrMbUcRyfwwVwM8seNQdAde86wtzjOLyx/iAZK6l -+2GUSKTxTEdf9LqLvZV20fbab/QFfxYP3Ig5Nf5jg8uJalLNfXso59Ify3X9spw/W -+reCeHCeRK5flf5MUbJyPKTN0iIK5XyGMejWJ0zKRAoGAc2lrUlT64htPj1//kcgl -+ILzQo51ujjzjOlHYanvN6ekMSfj3Q1ZCTJUp2ArVA64w7Jt16cEEEFCaP4+i9UaW -+aM9/8tho4J29QSllAyxfUIF9i5gcElTfzRhpNGMVrnV/ynyOaTXzUkk7L6FH9soq -+JS3kXA6oQN5NkW6AF/3X314= -+-----END PRIVATE KEY----- diff --git a/SOURCES/spamassassin-check_header.patch b/SOURCES/spamassassin-check_header.patch deleted file mode 100644 index c35396a..0000000 --- a/SOURCES/spamassassin-check_header.patch +++ /dev/null @@ -1,45 +0,0 @@ ---- lib/Mail/SpamAssassin/Conf/Parser.pm (revision 1873634) -+++ lib/Mail/SpamAssassin/Conf/Parser.pm (working copy) -@@ -1244,9 +1244,9 @@ - # no re "strict"; # since perl 5.21.8: Ranges of ASCII printables... - if ($text =~ /^exists:(.*)/) { - my $hdr = $1; -- # never evaled, so can be quite generous with the name - # check :addr etc header options -- if ($hdr !~ /^[^:\s]+:?$/) { -+ # $hdr used in eval text, validate carefully -+ if ($hdr !~ /^[\w.-]+:?$/) { - $self->lint_warn("config: invalid head test $name header: $hdr"); - return; - } -@@ -1254,7 +1254,8 @@ - $conf->{test_opt_header}->{$name} = $hdr; - $conf->{test_opt_exists}->{$name} = 1; - } else { -- if ($text !~ /^([^:\s]+(?:\:|(?:\:[a-z]+){1,2})?)\s*([=!]~)\s*(.+)$/) { -+ # $hdr used in eval text, validate carefully -+ if ($text !~ /^([\w.-]+(?:\:|(?:\:[a-z]+){1,2})?)\s*([=!]~)\s*(.+)$/) { - $self->lint_warn("config: invalid head test $name: $text"); - return; - } ---- lib/Mail/SpamAssassin/Plugin/Check.pm (revision 1873634) -+++ lib/Mail/SpamAssassin/Plugin/Check.pm (working copy) -@@ -716,7 +716,7 @@ - } - - my $def = $conf->{test_opt_unset}->{$rulename}; -- push(@{ $ordered{$hdrname . (!defined $def ? '' : "\t".$def)} }, -+ push(@{ $ordered{$hdrname . (!defined $def ? '' : "\t$rulename")} }, - $rulename); - - return if ($opts{doing_user_rules} && -@@ -740,7 +740,8 @@ - my($hdrname, $def) = split(/\t/, $k, 2); - $self->push_evalstr_prefix($pms, ' - $hval = $self->get(q{'.$hdrname.'}, ' . -- (!defined($def) ? 'undef' : 'q{'.$def.'}') . '); -+ (!defined($def) ? 'undef' : -+ '$self->{conf}->{test_opt_unset}->{q{'.$def.'}}') . '); - '); - foreach my $rulename (@{$v}) { - my $tc_ref = $testcode{$rulename}; diff --git a/SPECS/spamassassin.spec b/SPECS/spamassassin.spec index 86ecc71..ab9b310 100644 --- a/SPECS/spamassassin.spec +++ b/SPECS/spamassassin.spec @@ -53,21 +53,21 @@ %define real_name Mail-SpamAssassin %{!?perl_vendorlib: %define perl_vendorlib %(eval "`%{__perl} -V:installvendorlib`"; echo $installvendorlib)} -%global saversion 3.004004 +%global saversion 3.004006 #%%global prerev rc2 Summary: Spam filter for email which can be invoked from mail delivery agents Name: spamassassin -Version: 3.4.4 +Version: 3.4.6 #Release: 0.8.%%{prerev}%%{?dist} -Release: 4%{?dist} +Release: 1%{?dist} License: ASL 2.0 Group: Applications/Internet URL: https://spamassassin.apache.org/ -Source0: https://www.apache.org/dist/%{name}/source/%{real_name}-%{version}.tar.bz2 #Source0: %%{real_name}-%%{version}-%%{prerev}.tar.bz2 -Source1: https://www.apache.org/dist/%{name}/source/%{real_name}-rules-%{version}.r1873061.tgz +Source0: https://dlcdn.apache.org/dist/%{name}/source/%{real_name}-%{version}.tar.bz2 #Source1: %%{real_name}-rules-%%{version}.%%{prerev}.tgz +Source1: https://dlcdn.apache.org/dist/%{name}/source/%{real_name}-rules-%{version}.r1888502.tgz Source2: redhat_local.cf Source3: spamassassin-default.rc Source4: spamassassin-spamc.rc @@ -92,17 +92,12 @@ Source17: sa-update.timer Patch0: spamassassin-3.3.2-gnupg2.patch Patch1: spamassassin-3.4.1-add-logfile-homedir-options.patch # https://bugzilla.redhat.com/show_bug.cgi?id=1607372 -Patch2: spamassassin-3.4.2-drop-geoip.patch -Patch3: 0001-Drop-the-ResourceLimits-plugin.patch +Patch2: spamassassin-3.4.6-drop-geoip.patch +Patch3: spamassassin-3.4.6-Drop-the-ResourceLimits-plugin.patch %if 0%{?rhel} <= 8 Patch4: spamassassin-sql92_syntax.patch %endif Patch5: spamassassin-disable_tests_for_deleted_modules.patch - -# Patches 100+ are SVN backports (DO NOT REUSE!) - -Patch100: spamassassin-cert_update.patch -Patch101: spamassassin-check_header.patch # end of patches Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version)) @@ -232,23 +227,16 @@ To filter spam for all users, add that line to /etc/procmailrc %patch0 -p1 %patch1 -p1 %patch2 -p1 -rm -f lib/Mail/SpamAssassin/Plugin/RelayCountry.pm -rm -f lib/Mail/SpamAssassin/Plugin/URILocalBL.pm # Drop the ResourceLimits plugin - it requires perl(BSD::Resource) # which is not in RHEL-8 %patch3 -p1 -rm -f lib/Mail/SpamAssassin/Plugin/ResourceLimits.pm # Reverting this in thel8 to not complicate update process # https://github.com/apache/spamassassin/commit/f7d39bfd3ef2e5ef4a9de480764ee1d73be9349 %if 0%{?rhel} == 8 %patch4 -p1 %endif %patch5 -p1 - -# Patches 100+ are SVN backports (DO NOT REUSE!) -%patch100 -p1 -%patch101 -p0 # end of patches echo "RHEL=%{?rhel} FEDORA=%{?fedora}" @@ -435,6 +423,10 @@ exit 0 %endif %changelog +* Mon Dec 13 2021 Martin Osvald - 3.4.6-1 +- Rebase to v3.4.6 +- Resolves: #1943848 + * Thu Jul 29 2021 Pavel Zhukov - 3.4.4-4.el4 - Fix header parsing