Ok, so SA 2.21 sorts the rules by score in an attempt to stop scanning the message if the user specified a scan threshold Unfortunately, this completely breaks rule dependencies. Granted, those are mostly (only?) RBL rules for now, but rule dependency is needed somewhere.
Let me quote 20_head_tests.cf: # X prefix is so that these are run after RCVD_IN_*. tests are run in # alphanumerically-sorted order. (These used to be Osirusoft.com-specific, but # now, other DNSBLs are using the same convention.) header X_OSIRU_SPAM_SRC eval:check_rbl_results_for('relay', '127.0.0.4') describe X_OSIRU_SPAM_SRC DNSBL: sender is Confirmed Spam Source I just so happens that I spent the last week overhauling DNS RBL checks so that they are done properly wrt DUL checks and checks across multiple RBLs (see my proposed patch in the next message). Of course, the new sort code not only breaks the current behavior, but also breaks my patch completely For now, I've added the very dirty sort in run_eval_tests to negate the per score sorting: sub run_eval_tests { my ($self, $evalhash, $prepend2desc, @extraevalargs) = @_; my ($rulename, $pat, @args); local ($_); my @tests = keys %{$evalhash}; my @negative_tests; my @positive_tests; # add negative tests; foreach my $test (@tests) { if ($self->{conf}{scores}{$test} < 0) { push @negative_tests, $test; } else { push @positive_tests, $test; } } @negative_tests = sort { $self->{conf}{scores}{$a} <=> $self->{conf}{scores}{$b} } @negative_tests; @positive_tests = sort { $self->{conf}{scores}{$b} <=> $self->{conf}{scores}{$a} } @positive_tests; foreach my $rulename (sort (@negative_tests, @positive_tests)) { ^^^^ here We need to work out some way to add rule dependency if you really want to sort by score For that matter, my other upcoming patch (not yet written due to the dependency problem) is supposed to start all the DNS RBL queries in the background at the beginning and read the result after all the rules have run or after 10 seconds, whichever comes last, and ignore the results if they haven't come in time (stuck DNS query) Any direction on how this is going to be approached would help me with writing the patch. Thanks, Marc -- Microsoft is to operating systems & security .... .... what McDonalds is to gourmet cooking Home page: http://marc.merlins.org/ | Finger [EMAIL PROTECTED] for PGP key _______________________________________________________________ Don't miss the 2002 Sprint PCS Application Developer's Conference August 25-28 in Las Vegas -- http://devcon.sprintpcs.com/adp/index.cfm _______________________________________________ Spamassassin-talk mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/spamassassin-talk