You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@spamassassin.apache.org by mm...@apache.org on 2011/03/23 23:35:23 UTC

svn commit: r1084790 - in /spamassassin/trunk/lib/Mail/SpamAssassin: Conf.pm Conf/Parser.pm

Author: mmartinec
Date: Wed Mar 23 22:35:22 2011
New Revision: 1084790

URL: http://svn.apache.org/viewvc?rev=1084790&view=rev
Log:
add a dummy function feature_bug6558_free() to allow conditionalizing problematic rules; a "feature" function must return a true to be considered

Modified:
    spamassassin/trunk/lib/Mail/SpamAssassin/Conf.pm
    spamassassin/trunk/lib/Mail/SpamAssassin/Conf/Parser.pm

Modified: spamassassin/trunk/lib/Mail/SpamAssassin/Conf.pm
URL: http://svn.apache.org/viewvc/spamassassin/trunk/lib/Mail/SpamAssassin/Conf.pm?rev=1084790&r1=1084789&r2=1084790&view=diff
==============================================================================
--- spamassassin/trunk/lib/Mail/SpamAssassin/Conf.pm (original)
+++ spamassassin/trunk/lib/Mail/SpamAssassin/Conf.pm Wed Mar 23 22:35:22 2011
@@ -4420,6 +4420,7 @@ sub feature_originating_ip_headers { 1 }
 sub feature_dns_local_ports_permit_avoid { 1 }
 sub feature_bayes_auto_learn_on_error { 1 }
 sub feature_uri_host_listed { 1 }
+sub feature_bug6558_free { 1 }
 
 ###########################################################################
 

Modified: spamassassin/trunk/lib/Mail/SpamAssassin/Conf/Parser.pm
URL: http://svn.apache.org/viewvc/spamassassin/trunk/lib/Mail/SpamAssassin/Conf/Parser.pm?rev=1084790&r1=1084789&r2=1084790&view=diff
==============================================================================
--- spamassassin/trunk/lib/Mail/SpamAssassin/Conf/Parser.pm (original)
+++ spamassassin/trunk/lib/Mail/SpamAssassin/Conf/Parser.pm Wed Mar 23 22:35:22 2011
@@ -547,8 +547,9 @@ sub cond_clause_can {
 
   local($1,$2);
   if ($method =~ /^(.*)::([^:]+)$/) {
+    no strict "refs";
     my($module, $meth) = ($1, $2);
-    return UNIVERSAL::can($module, $meth);
+    return UNIVERSAL::can($module,$meth) && &{$method}();
   } else {
     $self->lint_warn("bad 'if' line, cannot find '::' in can($method), ".
                 "in \"$self->{currentfile}\"", undef);