/[smeserver]/rpms/qpsmtpd/sme9/qpsmtpd-0.96-bz10290-spamassassin-fetchmail.patch
ViewVC logotype

Annotation of /rpms/qpsmtpd/sme9/qpsmtpd-0.96-bz10290-spamassassin-fetchmail.patch

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.1 - (hide annotations) (download)
Sun Mar 11 05:48:42 2018 UTC (6 years, 8 months ago) by jpp
Branch: MAIN
CVS Tags: qpsmtpd-0_96-11_el6_sme, HEAD
* Sun Mar 11 2018 Jean-Philipe Pialasse <tests@pialasse.com> 0.96-11.sme
- add support to force spamcheck on specific IP for fetchmail [SME: 10290]

1 jpp 1.1 diff -Nur qpsmtpd-0.96.old/plugins/spamassassin qpsmtpd-0.96/plugins/spamassassin
2     --- qpsmtpd-0.96.old/plugins/spamassassin 2018-03-11 00:31:05.427000000 -0500
3     +++ qpsmtpd-0.96/plugins/spamassassin 2018-03-11 00:40:36.117000000 -0500
4     @@ -121,6 +121,11 @@
5     If the X-Spam-User header is present, the LDA should submit the message to
6     spamd for re-processing with the recipients address.
7    
8     +=head 1 Force SPAM Check even if is_immune
9     +You can fill a file with a list of exception that will go under SPMA check even
10     +if qpsmtpd flag the connection as immune. The file is forcespamcheck. Enter an ip
11     +per line. As an example if you have fetchmail running on 127.0.0.200, simply add
12     +this ip on a line in forcespamcheck file.
13    
14     =head1 CHANGES
15    
16     @@ -134,7 +139,10 @@
17     config. Subverting their changes there is unexpected. Making them read
18     code to figure out why is an unnecessary hurdle.
19     * added assemble_message, so we can calc content size which spamd wants
20     -
21     +2018.03.11 - Jean-Philippe Pialasse
22     + * added an exception list forcespamcheck to is_immune. This is useful if you are
23     + running a local deamon such as fetchmail, which connection should still go through
24     + spamassassin testing, even if considered immune because connect as local.
25     =cut
26    
27     use strict;
28     @@ -170,7 +178,7 @@
29     sub data_post_handler {
30     my ($self, $transaction) = @_;
31    
32     - return DECLINED if $self->is_immune();
33     + return DECLINED if $self->is_immune() and ! $self->is_in_forcespamcheck() ;
34    
35     my $limit = $self->{_args}->{size_limit} || 500_000;
36     if ($transaction->data_size > $limit) {
37     @@ -193,6 +201,26 @@
38     return $self->reject($transaction);
39     }
40    
41     +sub is_in_forcespamcheck {
42     + my $self = shift;
43     +
44     + my %forcespamcheck = map { $_ => 1 } $self->qp->config('forcespamcheck');
45     +
46     + my $ip = $self->qp->connection->remote_ip;
47     +
48     + while ($ip) {
49     + if (exists $forcespamcheck{$ip}) {
50     + $self->log(LOGINFO, "$ip in force spam check");
51     + return 1;
52     + }
53     + $ip =~ s/(\d|\w)+(:|\.)?$// or last; # strip off another octet
54     + }
55     +
56     + $self->log(LOGDEBUG, "no match in forcespamcheck");
57     + return;
58     +}
59     +
60     +
61     sub select_spamd_username {
62     my ($self, $transaction) = @_;
63    

admin@koozali.org
ViewVC Help
Powered by ViewVC 1.2.1 RSS 2.0 feed