You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@spamassassin.apache.org by fe...@apache.org on 2004/10/11 15:08:13 UTC
svn commit: rev 54579 - spamassassin/branches/3.0/lib/Mail/SpamAssassin/Conf
Author: felicity
Date: Mon Oct 11 06:08:13 2004
New Revision: 54579
Modified:
spamassassin/branches/3.0/lib/Mail/SpamAssassin/Conf/Parser.pm
Log:
bug 3865: specifying certain configuration parameters without a value didn't result in an error at parse time, but set an invalid value internally which could cause errors/etc. do a simple check for numeric, boolean, and string values.
Modified: spamassassin/branches/3.0/lib/Mail/SpamAssassin/Conf/Parser.pm
==============================================================================
--- spamassassin/branches/3.0/lib/Mail/SpamAssassin/Conf/Parser.pm (original)
+++ spamassassin/branches/3.0/lib/Mail/SpamAssassin/Conf/Parser.pm Mon Oct 11 06:08:13 2004
@@ -564,16 +564,31 @@
sub set_numeric_value {
my ($conf, $key, $value, $line) = @_;
+
+ unless (defined $value && $value =~ /^-?\d+(?:\.\d+)?$/) {
+ return $Mail::SpamAssassin::Conf::INVALID_VALUE;
+ }
+
$conf->{$key} = $value+0.0;
}
sub set_bool_value {
my ($conf, $key, $value, $line) = @_;
+
+ unless (defined $value && ($value == 1 || $value == 0) ) {
+ return $Mail::SpamAssassin::Conf::INVALID_VALUE;
+ }
+
$conf->{$key} = $value+0;
}
sub set_string_value {
my ($conf, $key, $value, $line) = @_;
+
+ unless (defined $value) {
+ return $Mail::SpamAssassin::Conf::MISSING_REQUIRED_VALUE;
+ }
+
$conf->{$key} = $value;
}