John, any chance of getting a copy of your assp.pl?

----- Original Message ----- 
From: "John Calvi" <webform...@lewis.com.au>
To: <assp-user@lists.sourceforge.net>
Sent: Friday, August 01, 2014 5:14 PM
Subject: [Assp-user] Assp V1


>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 


------------------------------------------------------------------------------
Infragistics Professional
Build stunning WinForms apps today!
Reboot your WinForms applications with our WinForms controls. 
Build a bridge from your legacy apps to the future.
http://pubads.g.doubleclick.net/gampad/clk?id=153845071&iu=/4140/ostg.clktrk
_______________________________________________
Assp-user mailing list
Assp-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/assp-user

Reply via email to