You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@spamassassin.apache.org by jm...@apache.org on 2005/06/15 07:57:57 UTC

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

Author: jm
Date: Tue Jun 14 22:57:56 2005
New Revision: 190711

URL: http://svn.apache.org/viewcvs?rev=190711&view=rev
Log:
bug 4317: ok_languages was part of default core up to 3.0.x; it is now in an off-by-default plugin.  to support this case and avoid breaking user configurations, add a --lint case to issue a more specific, non-fatal warning instead of an error, for settings in this category

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/viewcvs/spamassassin/trunk/lib/Mail/SpamAssassin/Conf.pm?rev=190711&r1=190710&r2=190711&view=diff
==============================================================================
--- spamassassin/trunk/lib/Mail/SpamAssassin/Conf.pm (original)
+++ spamassassin/trunk/lib/Mail/SpamAssassin/Conf.pm Tue Jun 14 22:57:56 2005
@@ -85,6 +85,7 @@
   $CONF_TYPE_NUMERIC $CONF_TYPE_HASH_KEY_VALUE
   $CONF_TYPE_ADDRLIST $CONF_TYPE_TEMPLATE
   $INVALID_VALUE $MISSING_REQUIRED_VALUE
+  @MIGRATED_SETTINGS
 
 $TYPE_HEAD_TESTS $TYPE_HEAD_EVALS
 $TYPE_BODY_TESTS $TYPE_BODY_EVALS $TYPE_FULL_TESTS $TYPE_FULL_EVALS
@@ -2696,6 +2697,16 @@
 
   return \@cmds;
 }
+
+###########################################################################
+
+# settings that were once part of core, but are now in (possibly-optional)
+# bundled plugins. these will be warned about, but do not generate a fatal
+# error when "spamassassin --lint" is run like a normal syntax error would.
+
+@MIGRATED_SETTINGS = qw{
+  ok_languages
+};
 
 ###########################################################################
 

Modified: spamassassin/trunk/lib/Mail/SpamAssassin/Conf/Parser.pm
URL: http://svn.apache.org/viewcvs/spamassassin/trunk/lib/Mail/SpamAssassin/Conf/Parser.pm?rev=190711&r1=190710&r2=190711&view=diff
==============================================================================
--- spamassassin/trunk/lib/Mail/SpamAssassin/Conf/Parser.pm (original)
+++ spamassassin/trunk/lib/Mail/SpamAssassin/Conf/Parser.pm Tue Jun 14 22:57:56 2005
@@ -226,6 +226,8 @@
   # get fast-access handles on the command lookup tables
   my $lut_frequent = $self->{command_luts}->{frequent};
   my $lut_remaining = $self->{command_luts}->{remaining};
+  my %migrated_keys = map { $_ => 1 }
+            @Mail::SpamAssassin::Conf::MIGRATED_SETTINGS;
 
   $self->{currentfile} = '(no file)';
   my $skip_parsing = 0;
@@ -409,9 +411,17 @@
 
 failed_line:
     my $msg = $parse_error;
+    my $is_error = 1;
     if (!$msg) {
-      # the default warning, if a more specific one isn't output
-      $msg = "config: failed to parse line, skipping: $line";
+      # use a default warning, if a more specific one wasn't output
+      if ($migrated_keys{$key}) {
+        # this key was moved into a plugin; non-fatal for lint
+        $is_error = 0;
+        $msg = "config: failed to parse, now a plugin, skipping: $line";
+      } else {
+        # a real syntax error; this is fatal for --lint
+        $msg = "config: failed to parse line, skipping: $line";
+      }
     }
 
     if ($conf->{lint_rules}) {
@@ -419,7 +429,10 @@
     } else {
       info($msg);
     }
-    $conf->{errors}++;
+
+    if ($is_error) {
+      $conf->{errors}++;
+    }
   }
 
   $self->lint_check();