I have a number of comments re ASSP V1 that I have noticed in the last few
months and have changed for myself.

 

I thought I would share for discussion or implementation. (Line numbers are
after changes).

 

 

1.      I find that ISPIP should be IP limited as my ISPIP acts as a backup
MX and can thus flood the server with connections (up to MAXSMTP preventing
other connections) so I changed the following.

Line 9642     #! matchIP($ip,'ispip',0,1) &&              #JC Removed to
reduce server load from ispip

             Line 9659      pbAdd( $client, $ip,$iplValencePB, "LimitingIP"
) if (! matchIP($ip,'noPB',0,1) && ! matchIP($ip,'ispip',0,1));   #JC Added,
to not pbox ispip

 

This limits my backup mx servers (ispip) to the ip limit but does not
penalty box them. Another possibility would be to have a separate limit for
ISPIP setting that can be set between IPlimit and MaxSMTP limit.

 

2.      The & symbol does NOT make a system call in windows activestate perl
non blocking (System(1,$cmd) does) . This means rebuildspamDB does not work
properly when scheduled on a windows server. So I changed the following code
around Line 10439.

                       if ( $^O eq "MSWin32" ) {

 

                       $assp =~ s/\//\\/go;

                       my $asspbase = $base;

                       $asspbase =~ s/\\/\//go;

        #JC Mods to make non blocking in Windows work.

                       $cmd = "\"$perl\" \"$base\\rebuildspamdb.pl\"
\"$asspbase\" silent";    

        $cmd = $RebuildCmd if $RebuildCmd;

        system(1,$cmd);

                       } else {

                       $cmd = "\"$perl\" \"$base/rebuildspamdb.pl\"
\"$base\" silent &";

        $cmd = $RebuildCmd if $RebuildCmd;  

        system($cmd);

                       }

 

3.      PVRS and lately BTV1 tags have blocked whitelisting so this still
needs a solution. I use (\w{4}=+\w+=+)([^\r\n]*)/o) which picks either out.
I know you don't like this but it still happens.

 

4.      Line 1493 sets redlist hardcoded which was really annoying when I
was troubleshooting redlisting. I don't see how it's a RFC requirement to
redlist? 

               if ( ! $this->{red}

            && $this->{header} =~ /(auto-submitted\:|subject\:.*?auto\:)/i )

            # RFC 3834

        {

                                             d('isred auto');

            #$this->{red} = ($1||$2);     #JC Note this sets redlist even if
redlist is off.

        }

 

5.      If an email is determined to be redlisted it no longer checks if it
is from a  whitelisted source. This causes ASSP to potentially block a lot
of redlisted email. It also makes it hard to troubleshoot as there are
emails that are MessageOK or Blocked from whitelisted users and domains in
the log. This makes no sense to me. A redlisted mail should be let through
and not checked for Bayesian etc (if from a whitelisted user). I changed the
following lines and this now works well.

 

Line 15200          #onwhitelist( $fh, $this->{header}) if !$this->{relayok}
&& !$this->{red};

                              onwhitelist( $fh, $this->{header}) if
!$this->{relayok}; #JC Mod to prevent Red Blocking White

 

Line 20904          #onwhitelist( $fh, $this->{header}) if $this->{relayok}
&& !$this->{red} && !$this->{spamfound};

                              onwhitelist( $fh, $this->{header}) if
$this->{relayok} && !$this->{spamfound};  #JC Mod to prevent Red Blocking
White

 

Line 27856         #return 0 if $adr && $Redlist{$adr};  #JC Mod to prevent
Redlist Blocking Whitelist

 

6.      I was getting some Senderbase timeouts so changed the timeout from 5
to 10s (would be good if configurable).

Line 18565                Timeout   => 10,  #JC Mod to extend Senderbase
timeout

 

7.      My country (Australia) was getting scored as a home country AND
FOREIGN country. This does not make sense and not consitent with the config
information.

The regex $ipcountry !~
/$MyCountryCodeReRE$CountryCodeReRE$MyCountryCodeReRE/ looks wrong to me.

 

I changed Line 18882 from  && $ipcountry !~
/$MyCountryCodeReRE$CountryCodeReRE$MyCountryCodeReRE/ 

To the following lines.

 

        && $ipcountry !~ $CountryCodeBlockedReRE

        && $ipcountry !~ $CountryCodeReRE

        && $ipcountry !~ $NoCountryCodeReRE

        && $ipcountry !~ $MyCountryCodeReRE

 

8.      Line 27499         $valence = int ($baysValencePB *
$this->{spamprob} + 0.5);   looks wrong as the 0.5 does nothing useful (int
rounds down) was it meant to be .

$valence = int ($baysValencePB * ($this->{spamprob} + 0.5));   ?

 

I made it         $valence = int ($baysValencePB * $this->{spamprob} + 1);
#JC Mod to better use scoring (Was + 0.5) as think 0.5 is useless and
($baysValencePB * ($this->{spamprob} + 0.5) would be too aggressive.

 

9.      If I set the config Maxfiles to the Default of 14000 it gets reset
to 20000 this is very annoying. 

Line 38192 has   $Config{MaxFiles} = 20000 if $Config{MaxFiles} < 20000;
#JC This is annoying as the default is 14000

I am not sure what is intended by this line? Is is trying to set a minimum
for the maximum?

I have commented it out of my version.

 

 

10.   Config Item bugs:

 

a.      Default is  set to 0 which is not a valid option: 

['invalidSenderLog','Invalid Sender','1:spam folder|3:spam folder and
sendAllSpam|6:discard folder|7:discard folder and
sendAllSpam',\&listbox,3,'(.*)',undef,'Where to store messages from a local
domain with an unknown userpart.'],   #JC Typo

b.      Spelling typo 

The notation is : generationnumber[0-9]=secretKey. Multiple pairs are
separated by pipes (|). Do not define spaces, tabs and \'=\' as part of the
keys(secrets)!'],     #JC Typo

c.      Space in front of default option.

['noMsgID','Skip FBMTV for these
IPs*',80,\&textinput,'127.0.0.|192.168.|10.','(\S*)','ConfigMakeIPRe','Enter
IP addresses that you don\'t want to be FBMTV validated, separated by pipes
(|). For example: 127.0.0.1|192.168.',undef,'7','msg001710','msg001711'],
#JC Typo

d.      Typo in default option.

['noMsgID','Skip FBMTV for these
IPs*',80,\&textinput,'127.0.0.|192.168.|10.','(\S*)','ConfigMakeIPRe','Enter
IP addresses that you don\'t want to be FBMTV validated, separated by pipes
(|). For example: 127.0.0.1|192.168.',undef,'7','msg001710','msg001711'],
#JC Typo

 

John Calvi

 

 

 

 

 

------------------------------------------------------------------------------
Want fast and easy access to all the code in your enterprise? Index and
search up to 200,000 lines of code with a free copy of Black Duck
Code Sight - the same software that powers the world's largest code
search on Ohloh, the Black Duck Open Hub! Try it now.
http://p.sf.net/sfu/bds
_______________________________________________
Assp-user mailing list
Assp-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/assp-user

Reply via email to