spamassassin/SOURCES/spamassassin-3.4.6-Drop-the...

194 lines
6.2 KiB
Diff

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.
-# </@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<BSD::Resource> 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