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

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

Author: dos
Date: Fri May 20 22:07:41 2005
New Revision: 171195

URL: http://svn.apache.org/viewcvs?rev=171195&view=rev
Log:
bug 4347: check for blank values for: bayes_ignore_header, report_safe_copy_headers, allow_user_rules, redirector_pattern, version_tag, loadplugin   validate: allow_user_rules, redirector_pattern, loadplugin

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

Modified: spamassassin/trunk/lib/Mail/SpamAssassin/Conf.pm
URL: http://svn.apache.org/viewcvs/spamassassin/trunk/lib/Mail/SpamAssassin/Conf.pm?rev=171195&r1=171194&r2=171195&view=diff
==============================================================================
--- spamassassin/trunk/lib/Mail/SpamAssassin/Conf.pm (original)
+++ spamassassin/trunk/lib/Mail/SpamAssassin/Conf.pm Fri May 20 22:07:41 2005
@@ -1101,6 +1101,9 @@
     setting => 'bayes_ignore_header',
     code => sub {
       my ($self, $key, $value, $line) = @_;
+      if ($value eq '') {
+        return $MISSING_REQUIRED_VALUE;
+      }
       push (@{$self->{bayes_ignore_headers}}, split(/\s+/, $value));
     }
   });
@@ -1356,6 +1359,9 @@
     setting => 'report_safe_copy_headers',
     code => sub {
       my ($self, $key, $value, $line) = @_;
+      if ($value eq '') {
+        return $MISSING_REQUIRED_VALUE;
+      }
       push(@{$self->{report_safe_copy_headers}}, split(/\s+/, $value));
     }
   });
@@ -1570,6 +1576,13 @@
     default => 0,
     code => sub {
       my ($self, $key, $value, $line) = @_;
+      if ($value eq '') {
+        return $MISSING_REQUIRED_VALUE;
+      }
+      elsif ($value !~ /^[01]$/) {
+        return $INVALID_VALUE;
+      }
+
       $self->{allow_user_rules} = $value+0;
       dbg("config: " . ($self->{allow_user_rules} ? "allowing":"not allowing") . " user rules!");
     }
@@ -1594,17 +1607,21 @@
     is_priv => 1,
     code => sub {
       my ($self, $key, $value, $line) = @_;
+      if ($value eq '') {
+	return $MISSING_REQUIRED_VALUE;
+      }
+      elsif (!$self->{parser}->is_delimited_regexp_valid("redirector_pattern", $value)) {
+	return $INVALID_VALUE;
+      }
 
-      if ($self->{parser}->is_delimited_regexp_valid("redirector_pattern", $value)) {
-	# convert to qr// while including modifiers
-	$value =~ /^m?(\W)(.*)(?:\1|>|}|\)|\])(.*?)$/;
-	my $pattern = $2;
-	$pattern = "(?".$3.")".$pattern if $3;
-	$pattern = qr/$pattern/;
+      # convert to qr// while including modifiers
+      $value =~ /^m?(\W)(.*)(?:\1|>|}|\)|\])(.*?)$/;
+      my $pattern = $2;
+      $pattern = "(?".$3.")".$pattern if $3;
+      $pattern = qr/$pattern/;
 
-	push @{$self->{main}->{conf}->{redirector_patterns}}, $pattern;
-	dbg("config: adding redirector regex: " . $value);
-      }
+      push @{$self->{main}->{conf}->{redirector_patterns}}, $pattern;
+      dbg("config: adding redirector regex: " . $value);
     }
   });
 
@@ -2101,6 +2118,9 @@
     is_admin => 1,
     code => sub {
       my ($self, $key, $value, $line) = @_;
+      if ($value eq '') {
+        return $MISSING_REQUIRED_VALUE;
+      }
       my $tag = lc($value);
       $tag =~ tr/a-z0-9./_/c;
       foreach (@Mail::SpamAssassin::EXTRA_VERSION) {
@@ -2426,10 +2446,15 @@
     is_admin => 1,
     code => sub {
       my ($self, $key, $value, $line) = @_;
+      if ($value eq '') {
+        return $MISSING_REQUIRED_VALUE;
+      }
       if ($value =~ /^(\S+)\s+(\S+)$/) {
         $self->load_plugin ($1, $2);
-      } else {
+      } elsif ($value =~ /^(?:\S+)$/) {
         $self->load_plugin ($value);
+      } else {
+	return $INVALID_VALUE;
       }
     }
   });