Mailing List Archive

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();