rpms/spamassassin/devel spamassassin-3.0.3-r164513.patch, NONE, 1.1 spamassassin.spec, 1.39, 1.40 spamassassin-3.0.3-r122144-uri_to_domain.patch, 1.1, NONE spamassassin-3.0.3-r122144-userdefined-rule-score.patch, 1.1, NONE spamassassin-3.0.3-r122144.patch, 1.1, NONE

fedora-cvs-commits at redhat.com fedora-cvs-commits at redhat.com
Tue Apr 26 02:00:27 UTC 2005


Author: wtogami

Update of /cvs/dist/rpms/spamassassin/devel
In directory cvs.devel.redhat.com:/tmp/cvs-serv17606

Modified Files:
	spamassassin.spec 
Added Files:
	spamassassin-3.0.3-r164513.patch 
Removed Files:
	spamassassin-3.0.3-r122144-uri_to_domain.patch 
	spamassassin-3.0.3-r122144-userdefined-rule-score.patch 
	spamassassin-3.0.3-r122144.patch 
Log Message:
3.0.3-r164513 (almost final)


spamassassin-3.0.3-r164513.patch:
 MANIFEST                                           |    1 
 MANIFEST.SKIP                                      |    1 
 lib/Mail/SpamAssassin.pm                           |   15 ++
 lib/Mail/SpamAssassin/Conf.pm                      |  109 ++++++++++++++-------
 lib/Mail/SpamAssassin/Conf/Parser.pm               |    6 -
 lib/Mail/SpamAssassin/DBBasedAddrList.pm           |   11 +-
 lib/Mail/SpamAssassin/Message/Metadata/Received.pm |    4 
 lib/Mail/SpamAssassin/PerMsgStatus.pm              |   28 +++++
 lib/Mail/SpamAssassin/Plugin.pm                    |    2 
 lib/Mail/SpamAssassin/Reporter.pm                  |    4 
 lib/Mail/SpamAssassin/Util.pm                      |    2 
 rules/50_scores.cf                                 |    2 
 spamassassin.raw                                   |    6 -
 spamassassin.spec                                  |    2 
 spamd/spamd.raw                                    |    8 -
 t/data/nice/spf1                                   |    6 -
 t/data/spam/spf1                                   |   22 ++++
 t/spf.t                                            |    9 +
 t/uri.t                                            |    3 
 19 files changed, 175 insertions(+), 66 deletions(-)

--- NEW FILE spamassassin-3.0.3-r164513.patch ---
diff -urN Mail-SpamAssassin-3.0.2/lib/Mail/SpamAssassin/Conf/Parser.pm Mail-SpamAssassin-3.0.3/lib/Mail/SpamAssassin/Conf/Parser.pm
--- Mail-SpamAssassin-3.0.2/lib/Mail/SpamAssassin/Conf/Parser.pm	2004-10-22 05:21:03.000000000 -1000
+++ Mail-SpamAssassin-3.0.3/lib/Mail/SpamAssassin/Conf/Parser.pm	2005-04-24 17:48:26.000000000 -1000
@@ -311,6 +311,9 @@
       next;
     }
 
+    # preprocessing? skip all other commands
+    next if $skip_parsing;
+
     if ($key eq 'require_version') {
       # if it wasn't replaced during install, assume current version ...
       next if ($value eq "\@\@VERSION\@\@");
@@ -337,9 +340,6 @@
       next;
     }
 
-    # preprocessing? skip all other commands
-    next if $skip_parsing;
-
     my $cmd = $lut_frequent->{$key}; # check the frequent command set
     if (!$cmd) {
       $cmd = $lut_remaining->{$key}; # no? try the rest
diff -urN Mail-SpamAssassin-3.0.2/lib/Mail/SpamAssassin/Conf.pm Mail-SpamAssassin-3.0.3/lib/Mail/SpamAssassin/Conf.pm
--- Mail-SpamAssassin-3.0.2/lib/Mail/SpamAssassin/Conf.pm	2004-12-15 17:10:03.000000000 -1000
+++ Mail-SpamAssassin-3.0.3/lib/Mail/SpamAssassin/Conf.pm	2005-04-21 12:59:59.000000000 -1000
@@ -1145,6 +1145,20 @@
     },
   });
 
+=item spamcop_max_report_size		(default: 50)
+
+The size (in kilobytes) at which SpamAssassin will truncate messages
+reported to SpamCop.  The default is the maximum size SpamCop will
+accept at the time of release.
+
+=cut
+
+  push (@cmds, {
+    setting => 'spamcop_max_report_size',
+    default => 50,
+    type => $CONF_TYPE_NUMERIC
+  });
+
 =item trusted_networks ip.add.re.ss[/mask] ...   (default: none)
 
 What networks or hosts are 'trusted' in your setup.  B<Trusted> in this case
@@ -2222,7 +2236,11 @@
         $self->{descriptions}->{$1} = "Found a $2 header";
       }
       else {
-        $self->{parser}->add_test (split(/\s+/,$value,2), $TYPE_HEAD_TESTS);
+	my @values = split(/\s+/, $value, 2);
+	if (@values != 2) {
+	  return $MISSING_REQUIRED_VALUE;
+	}
+        $self->{parser}->add_test (@values, $TYPE_HEAD_TESTS);
       }
     }
   });
@@ -2256,7 +2274,11 @@
         $self->{parser}->add_test ($1, $2, $TYPE_BODY_EVALS);
       }
       else {
-        $self->{parser}->add_test (split(/\s+/,$value,2), $TYPE_BODY_TESTS);
+	my @values = split(/\s+/, $value, 2);
+	if (@values != 2) {
+	  return $MISSING_REQUIRED_VALUE;
+	}
+        $self->{parser}->add_test (@values, $TYPE_BODY_TESTS);
       }
     }
   });
@@ -2285,7 +2307,11 @@
     is_priv => 1,
     code => sub {
       my ($self, $key, $value, $line) = @_;
-      $self->{parser}->add_test (split(/\s+/,$value,2), $TYPE_URI_TESTS);
+      my @values = split(/\s+/, $value, 2);
+      if (@values != 2) {
+        return $MISSING_REQUIRED_VALUE;
+      }
+      $self->{parser}->add_test (@values, $TYPE_URI_TESTS);
     }
   });
 
@@ -2315,7 +2341,11 @@
       if ($value =~ /^(\S+)\s+eval:(.*)$/) {
         $self->{parser}->add_test ($1, $2, $TYPE_RAWBODY_EVALS);
       } else {
-        $self->{parser}->add_test (split(/\s+/,$value,2), $TYPE_RAWBODY_TESTS);
+	my @values = split(/\s+/, $value, 2);
+	if (@values != 2) {
+	  return $MISSING_REQUIRED_VALUE;
+	}
+        $self->{parser}->add_test (@values, $TYPE_RAWBODY_TESTS);
       }
     }
   });
@@ -2344,7 +2374,11 @@
       if ($value =~ /^(\S+)\s+eval:(.*)$/) {
         $self->{parser}->add_test ($1, $2, $TYPE_FULL_EVALS);
       } else {
-        $self->{parser}->add_test (split(/\s+/,$value,2), $TYPE_FULL_TESTS);
+	my @values = split(/\s+/, $value, 2);
+	if (@values != 2) {
+	  return $MISSING_REQUIRED_VALUE;
+	}
+        $self->{parser}->add_test (@values, $TYPE_FULL_TESTS);
       }
     }
   });
@@ -2383,7 +2417,11 @@
     is_priv => 1,
     code => sub {
       my ($self, $key, $value, $line) = @_;
-      $self->{parser}->add_test (split(/\s+/,$value,2), $TYPE_META_TESTS);
+      my @values = split(/\s+/, $value, 2);
+      if (@values != 2) {
+        return $MISSING_REQUIRED_VALUE;
+      }
+      $self->{parser}->add_test (@values, $TYPE_META_TESTS);
     }
   });
 
@@ -2456,6 +2494,36 @@
 
 =over 4
 
+=item version_tag string
+
+This tag is appended to the SA version in the X-Spam-Status header. You should
+include it when modify your ruleset, especially if you plan to distribute it.
+A good choice for I<string> is your last name or your initials followed by a
+number which you increase with each change.
+
+The version_tag will be lowercased, and any non-alphanumeric or period
+character will be replaced by an underscore.
+
+e.g.
+
+  version_tag myrules1    # version=2.41-myrules1
+
+=cut
+
+  push (@cmds, {
+    setting => 'version_tag',
+    is_admin => 1,
+    code => sub {
+      my ($self, $key, $value, $line) = @_;
+      my $tag = lc($value);
+      $tag =~ tr/a-z0-9./_/c;
+      foreach (@Mail::SpamAssassin::EXTRA_VERSION) {
+        if($_ eq $tag) { $tag = undef; last; }
+      }
+      push(@Mail::SpamAssassin::EXTRA_VERSION, $tag) if($tag);
+    }
+  });
+
 =item test SYMBOLIC_TEST_NAME (ok|fail) Some string to test against
 
 Define a regression testing string. You can have more than one regression test
@@ -3051,35 +3119,6 @@
     }
   });
 
-=item version_tag string
-
-This tag is appended to the SA version in the X-Spam-Status header. You should
-include it when modify your ruleset, especially if you plan to distribute it.
-A good choice for I<string> is your last name or your initials followed by a
-number which you increase with each change.
-
-The version_tag will be lowercased, and any non-alphanumeric or period
-character will be replaced by an underscore.
-
-e.g.
-
-  version_tag myrules1    # version=2.41-myrules1
-
-=cut
-
-  push (@cmds, {
-    setting => 'version_tag',
-    code => sub {
-      my ($self, $key, $value, $line) = @_;
-      my $tag = lc($value);
-      $tag =~ tr/a-z0-9./_/c;
-      foreach (@Mail::SpamAssassin::EXTRA_VERSION) {
-        if($_ eq $tag) { $tag = undef; last; }
-      }
-      push(@Mail::SpamAssassin::EXTRA_VERSION, $tag) if($tag);
-    }
-  });
-
 =back
 
 =head1 TEMPLATE TAGS
diff -urN Mail-SpamAssassin-3.0.2/lib/Mail/SpamAssassin/DBBasedAddrList.pm Mail-SpamAssassin-3.0.3/lib/Mail/SpamAssassin/DBBasedAddrList.pm
--- Mail-SpamAssassin-3.0.2/lib/Mail/SpamAssassin/DBBasedAddrList.pm	2004-10-22 05:21:03.000000000 -1000
+++ Mail-SpamAssassin-3.0.3/lib/Mail/SpamAssassin/DBBasedAddrList.pm	2005-04-21 12:59:59.000000000 -1000
@@ -163,11 +163,12 @@
     # try to delete any per-IP entries for this addr as well.
     # could be slow...
     my $mailaddr = $1;
-    my @keys = grep { /^\Q${mailaddr}\E\|ip=\d+\.\d+$/ }
-					keys %{$self->{accum}};
-    foreach my $key (@keys) {
-      delete $self->{accum}->{$key};
-      delete $self->{accum}->{$key.'|totscore'};
+
+    while (my ($key, $value) = each %{$self->{accum}}) {
+      # regex will catch both key and key|totscore entries and delete them
+      if ($key =~ /^\Q${mailaddr}\E\|/) {
+        delete $self->{accum}->{$key};
+      }
     }
   }
 }
diff -urN Mail-SpamAssassin-3.0.2/lib/Mail/SpamAssassin/Message/Metadata/Received.pm Mail-SpamAssassin-3.0.3/lib/Mail/SpamAssassin/Message/Metadata/Received.pm
--- Mail-SpamAssassin-3.0.2/lib/Mail/SpamAssassin/Message/Metadata/Received.pm	2004-12-15 17:10:02.000000000 -1000
+++ Mail-SpamAssassin-3.0.3/lib/Mail/SpamAssassin/Message/Metadata/Received.pm	2005-04-24 17:48:26.000000000 -1000
@@ -393,9 +393,9 @@
   # with ESMTPA, ESMTPSA, LMTPA, LMTPSA should cover RFC 3848 compliant MTAs
   # with ASMTP (Authenticated SMTP) is used by Earthlink, Exim 4.34, and others
   # with HTTP should only be authenticated webmail sessions
-  if (/^from .*?(\]\)|\)\]) .*?\(.*?authenticated.*?\).*? by/) {
+  if (/^from .*?(?:\]\)|\)\]) .*?\(.*?authenticated.*?\).*? by/) {
     $auth = 'Sendmail';
-  } elsif (/ by .*? with (ESMTPA|ESMTPSA|LMTPA|LMTPSA|ASMTP|HTTP) /i) {
+  } elsif (/ by .*? with (ESMTPA|ESMTPSA|LMTPA|LMTPSA|ASMTP|HTTP)\;? /i) {
     $auth = $1;
   }
 
diff -urN Mail-SpamAssassin-3.0.2/lib/Mail/SpamAssassin/PerMsgStatus.pm Mail-SpamAssassin-3.0.3/lib/Mail/SpamAssassin/PerMsgStatus.pm
--- Mail-SpamAssassin-3.0.2/lib/Mail/SpamAssassin/PerMsgStatus.pm	2004-12-15 17:10:03.000000000 -1000
+++ Mail-SpamAssassin-3.0.3/lib/Mail/SpamAssassin/PerMsgStatus.pm	2005-04-24 17:48:26.000000000 -1000
@@ -1032,6 +1032,17 @@
   } @{$info}[0..$amt-1];
 }
 
+###########################################################################
+
+# public API for plugins
+=item $status->set_tag($tagname, $value)
+
+Set a template tag, as used in C<add_header>, report templates, etc. This API
+is intended for use by plugins.   Tag names will be converted to an
+all-uppercase representation internally.  See C<Mail::SpamAssassin::Conf>'s
+C<TEMPLATE TAGS> section for more details on tags.
+
+=cut
 
 sub set_tag {
   my $self = shift;
@@ -1041,6 +1052,23 @@
   $self->{tag_data}->{$tag} = $val;
 }
 
+# public API for plugins
+=item $string = $status->get_tag($tagname)
+
+Get the current value of a template tag, as used in C<add_header>, report
+templates, etc. This API is intended for use by plugins.  Tag names will be
+converted to an all-uppercase representation internally.  See
+C<Mail::SpamAssassin::Conf>'s C<TEMPLATE TAGS> section for more details on
+tags.
+
+=cut
+
+sub get_tag {
+  # expose this previously-private API
+  return shift->_get_tag(uc shift);
+}
+
+###########################################################################
 
 sub _get_tag_value_for_yesno {
   my $self   = shift;
diff -urN Mail-SpamAssassin-3.0.2/lib/Mail/SpamAssassin/Plugin.pm Mail-SpamAssassin-3.0.3/lib/Mail/SpamAssassin/Plugin.pm
--- Mail-SpamAssassin-3.0.2/lib/Mail/SpamAssassin/Plugin.pm	2004-10-22 05:21:04.000000000 -1000
+++ Mail-SpamAssassin-3.0.3/lib/Mail/SpamAssassin/Plugin.pm	2005-04-24 17:48:26.000000000 -1000
@@ -598,6 +598,8 @@
 
 C<Mail::SpamAssassin::PerMsgStatus>
 
+http://wiki.apache.org/spamassassin/PluginWritingTips
+
 http://bugzilla.spamassassin.org/show_bug.cgi?id=2163
 
 =cut
diff -urN Mail-SpamAssassin-3.0.2/lib/Mail/SpamAssassin/Reporter.pm Mail-SpamAssassin-3.0.3/lib/Mail/SpamAssassin/Reporter.pm
--- Mail-SpamAssassin-3.0.2/lib/Mail/SpamAssassin/Reporter.pm	2004-12-15 17:10:03.000000000 -1000
+++ Mail-SpamAssassin-3.0.3/lib/Mail/SpamAssassin/Reporter.pm	2005-04-21 12:59:59.000000000 -1000
@@ -428,8 +428,8 @@
 	      );
 
   # truncate message
-  if (length($original) > 64*1024) {
-    substr($original,(64*1024)) = "\n[truncated by SpamAssassin]\n";
+  if (length($original) > $self->{conf}->{spamcop_max_report_size}*1024) {
+    substr($original,($self->{conf}->{spamcop_max_report_size}*1024)) = "\n[truncated by SpamAssassin]\n";
   }
 
   my $body = <<"EOM";
diff -urN Mail-SpamAssassin-3.0.2/lib/Mail/SpamAssassin/Util.pm Mail-SpamAssassin-3.0.3/lib/Mail/SpamAssassin/Util.pm
--- Mail-SpamAssassin-3.0.2/lib/Mail/SpamAssassin/Util.pm	2004-10-22 05:21:03.000000000 -1000
+++ Mail-SpamAssassin-3.0.3/lib/Mail/SpamAssassin/Util.pm	2005-04-24 17:48:26.000000000 -1000
@@ -788,7 +788,7 @@
   $uri =~ s#^[a-z]+:/{0,2}##gsi;	# drop the protocol
   $uri =~ s,^[^/]*\@,,gs;		# username/passwd
   $uri =~ s,[/\?\&].*$,,gs;		# path/cgi params
-  $uri =~ s,:\d+$,,gs;			# port
+  $uri =~ s,:\d*$,,gs;			# port, bug 4191: sometimes the # is missing
 
   return if $uri =~ /\%/;         # skip undecoded URIs.
   # we'll see the decoded version as well
diff -urN Mail-SpamAssassin-3.0.2/lib/Mail/SpamAssassin.pm Mail-SpamAssassin-3.0.3/lib/Mail/SpamAssassin.pm
--- Mail-SpamAssassin-3.0.2/lib/Mail/SpamAssassin.pm	2004-12-15 17:10:03.000000000 -1000
+++ Mail-SpamAssassin-3.0.3/lib/Mail/SpamAssassin.pm	2005-04-24 17:48:26.000000000 -1000
@@ -98,19 +98,19 @@
   @site_rules_path
 };
 
-$VERSION = "3.000002";      # update after release (same format as perl $])
-$IS_DEVEL_BUILD = 0;        # change for release versions
+$VERSION = "3.000003";      # update after release (same format as perl $])
+$IS_DEVEL_BUILD = 1;        # change for release versions
 
 @ISA = qw();
 
 # SUB_VERSION is now just <yyyy>-<mm>-<dd>
-$SUB_VERSION = (split(/\s+/,'$LastChangedDate: 2004-11-16 16:50:46 -0800 (Tue, 16 Nov 2004) $ updated by SVN'))[1];
+$SUB_VERSION = (split(/\s+/,'$LastChangedDate: 2005-04-24 16:01:29 -1000 (Sun, 24 Apr 2005) $ updated by SVN'))[1];
 
 # If you hacked up your SA, you should add a version_tag to you .cf files.
 # This variable should not be modified directly.
 @EXTRA_VERSION = qw();
 if (defined $IS_DEVEL_BUILD && $IS_DEVEL_BUILD) {
-  push(@EXTRA_VERSION, ( 'r' . qw{$LastChangedRevision: 76069 $ updated by SVN}[1] ));
+  push(@EXTRA_VERSION, ( 'r' . qw{$LastChangedRevision: 164513 $ updated by SVN}[1] ));
 }
 
 sub Version { $VERSION=~/^(\d+)\.(\d\d\d)(\d\d\d)$/; join('-', sprintf("%d.%d.%d",$1,$2,$3), @EXTRA_VERSION) }
@@ -1788,6 +1788,9 @@
         }
       }
     }
+    elsif ($k eq 'scores') {
+      # this is dealt with below, but we need to ignore it for now
+    }
     elsif ($i eq 'SCALAR' || $i eq 'ARRAY' || $i eq 'HASH') {
       # IMPORTANT: DO THIS AFTER EVERYTHING ELSE!
       # If we don't do this at the end, any "special" object handling
@@ -1802,6 +1805,10 @@
 #    }
   }
 
+  # deal with $conf->{scores}, it needs to be a reference into the scoreset
+  # hash array dealy
+  $dest->{scores} = $dest->{scoreset}->[$dest->{scoreset_current}];
+
   return 1;
 }
 
diff -urN Mail-SpamAssassin-3.0.2/MANIFEST Mail-SpamAssassin-3.0.3/MANIFEST
--- Mail-SpamAssassin-3.0.2/MANIFEST	2004-12-15 17:10:04.000000000 -1000
+++ Mail-SpamAssassin-3.0.3/MANIFEST	2005-04-21 13:00:22.000000000 -1000
@@ -279,6 +279,7 @@
 t/data/spam/bsmtp
 t/data/spam/dnsbl.eml
 t/data/spam/gtube.eml
+t/data/spam/spf1
 t/data/testplugin.pm
 t/data/whitelists/action.eff.org
 t/data/whitelists/amazon_co_uk_ship
diff -urN Mail-SpamAssassin-3.0.2/MANIFEST.SKIP Mail-SpamAssassin-3.0.3/MANIFEST.SKIP
--- Mail-SpamAssassin-3.0.2/MANIFEST.SKIP	2004-10-22 05:21:08.000000000 -1000
+++ Mail-SpamAssassin-3.0.3/MANIFEST.SKIP	2005-04-21 13:00:22.000000000 -1000
@@ -117,3 +117,4 @@
 tmon.out
 todo$
 wordfreqs/.*
+^build/buildbot_ready$
diff -urN Mail-SpamAssassin-3.0.2/rules/50_scores.cf Mail-SpamAssassin-3.0.3/rules/50_scores.cf
--- Mail-SpamAssassin-3.0.2/rules/50_scores.cf	2004-10-22 05:21:11.000000000 -1000
+++ Mail-SpamAssassin-3.0.3/rules/50_scores.cf	2005-04-21 13:00:08.000000000 -1000
@@ -683,7 +683,7 @@
 # otherwise.  The penalties for an *incorrect* record, however, are large.  ;)
 ifplugin Mail::SpamAssassin::Plugin::SPF
 score SPF_PASS -0.001
-score SPF_FAIL 0 0 0 0.875
+score SPF_FAIL 0 0.001 0 0.875
 score SPF_SOFTFAIL 0.500 0.842 0.500 0.500
 score SPF_HELO_PASS -0.001
 score SPF_HELO_FAIL 0 0.405 0 0.001
diff -urN Mail-SpamAssassin-3.0.2/spamassassin.raw Mail-SpamAssassin-3.0.3/spamassassin.raw
--- Mail-SpamAssassin-3.0.2/spamassassin.raw	2004-12-15 17:10:04.000000000 -1000
+++ Mail-SpamAssassin-3.0.3/spamassassin.raw	2005-04-23 14:30:00.000000000 -1000
@@ -100,7 +100,7 @@
 
 sub print_version {
   print "SpamAssassin version " . Mail::SpamAssassin::Version() . "\n"
-      . "  running on Perl version " . join(".", map { $_ * 1 } ($] =~ /(\d)\.(\d{3})(\d{3})/ )) . "\n";
+      . "  running on Perl version " . join(".", map { $_||=0; $_*1 } ($] =~ /(\d)\.(\d{3})(\d{3})?/ )) . "\n";
 }
 
 sub print_usage_and_exit {
@@ -453,9 +453,9 @@
 
 B<spamassassin> B<-d> [ < I<mailmessage> | I<path> ... ]
 
-B<spamassassin> B<-r> [B<-w> I<addr>] [ < I<mailmessage> | I<path> ... ]
+B<spamassassin> B<-r> [ < I<mailmessage> | I<path> ... ]
 
-B<spamassassin> B<-k> [B<-w> I<addr>] [ < I<mailmessage> | I<path> ... ]
+B<spamassassin> B<-k> [ < I<mailmessage> | I<path> ... ]
 
 B<spamassassin> B<-W>|B<-R> [ < I<mailmessage> | I<path> ... ]
 
diff -urN Mail-SpamAssassin-3.0.2/spamassassin.spec Mail-SpamAssassin-3.0.3/spamassassin.spec
--- Mail-SpamAssassin-3.0.2/spamassassin.spec	2004-12-15 17:10:04.000000000 -1000
+++ Mail-SpamAssassin-3.0.3/spamassassin.spec	2005-04-21 13:00:22.000000000 -1000
@@ -4,7 +4,7 @@
 # the perl-Mail-SpamAssassin rpm for the modules only.
 
 # the version in the tar name
-%define real_version 3.0.2
+%define real_version 3.0.3
 # the display version number
 %define version %{real_version}
 
diff -urN Mail-SpamAssassin-3.0.2/spamd/spamd.raw Mail-SpamAssassin-3.0.3/spamd/spamd.raw
--- Mail-SpamAssassin-3.0.2/spamd/spamd.raw	2004-10-22 05:21:26.000000000 -1000
+++ Mail-SpamAssassin-3.0.3/spamd/spamd.raw	2005-04-21 13:00:22.000000000 -1000
@@ -84,7 +84,7 @@
 
 sub print_version {
   printf("%s version %s\n", "SpamAssassin Server", Mail::SpamAssassin::Version());
-  printf("  running on Perl %s\n", join(".", map { $_*1 } ($] =~ /(\d)\.(\d{3})(\d{3})/)));
+  printf("  running on Perl %s\n", join(".", map { $_||=0; $_*1 } ($] =~ /(\d)\.(\d{3})(\d{3})?/)));
   eval { require IO::Socket::SSL; };
   printf("  with SSL support (%s %s)\n", "IO::Socket::SSL", $IO::Socket::SSL::VERSION) unless ($@);
 }
@@ -1350,7 +1350,7 @@
   my $ident_username = ident_lookup( $client, $opt{'ident-timeout'} );
   my $dn = $ident_username || 'NONE';    # display name
   warn "ident_username = $dn, spamc_username = $username\n" if $opt{'debug'};
-  if ( $username ne $ident_username ) {
+  if ( !defined($ident_username) || $username ne $ident_username ) {
     logmsg( "fatal: ident username ($dn) does not match "
         . "spamc username ($username)" );
     return 0;
@@ -2146,8 +2146,8 @@
 is to setuid() to the user running C<spamc>, if C<spamd> is running
 as root.
 
-Note: "--username=root" disables the setuid() functionality and leaves
-spamd running as root.
+Note: "--username=root" is not a valid option.  If specified, C<spamd> will
+exit with a fatal error on startup.
 
 Note: If this option is set to a non-root user, and spamd is to run on
 a privileged port (any < 1024, default 783 or via -p), the parent will
diff -urN Mail-SpamAssassin-3.0.2/t/data/nice/spf1 Mail-SpamAssassin-3.0.3/t/data/nice/spf1
--- Mail-SpamAssassin-3.0.2/t/data/nice/spf1	2004-10-22 05:21:22.000000000 -1000
+++ Mail-SpamAssassin-3.0.3/t/data/nice/spf1	2005-04-21 13:00:17.000000000 -1000
@@ -1,10 +1,10 @@
-Return-Path: <newsalerts-noreply at google.com>
-Received: from proxy.google.com (proxy.google.com [216.239.51.5]) by amgod.boxhost.net (Postfix) with SMTP id B9B2931016D for <jm-google-news-alerts at jmason.org>; Tue, 10 Feb 2004 18:18:49 +0000 (GMT)
+Return-Path: <newsalerts-noreply at dnsbltest.spamassassin.org>
+Received: from bugzilla.spamassassin.org (bugzilla.spamassassin.org [64.142.3.173]) by amgod.boxhost.net (Postfix) with SMTP id B9B2931016D for <jm-google-news-alerts at jmason.org>; Tue, 10 Feb 2004 18:18:49 +0000 (GMT)
 Received: by proxy.google.com with SMTP id so1951389 for <jm-google-news-alerts at jmason.org>; Tue, 10 Feb 2004 10:14:01 -0800 (PST)
 Received: by abbulk2 with SMTP id mr733125; Tue, 10 Feb 2004 10:14:01 -0800 (PST)
 Message-ID: <1076436841.67074.8fa05ccdc458abe5.1446041b at persist.google.com>
 Date: Tue, 10 Feb 2004 10:14:01 -0800 (PST)
-From: newsalerts-noreply at google.com
+From: newsalerts-noreply at dnsbltest.spamassassin.org
 To: jm-google-news-alerts at jmason.org
 Subject: Google News Alert - spamassassin
 MIME-Version: 1.0
diff -urN Mail-SpamAssassin-3.0.2/t/data/spam/spf1 Mail-SpamAssassin-3.0.3/t/data/spam/spf1
--- Mail-SpamAssassin-3.0.2/t/data/spam/spf1	1969-12-31 14:00:00.000000000 -1000
+++ Mail-SpamAssassin-3.0.3/t/data/spam/spf1	2005-04-21 13:00:16.000000000 -1000
@@ -0,0 +1,22 @@
+Return-Path: <newsalerts-noreply at dnsbltest.spamassassin.org>
+Received: from bugzilla.spamassassin.org (bugzilla.spamassassin.org [65.214.43.155]) by amgod.boxhost.net (Postfix) with SMTP id B9B2931016D for <jm-google-news-alerts at jmason.org>; Tue, 10 Feb 2004 18:18:49 +0000 (GMT)
+Received: by proxy.google.com with SMTP id so1951389 for <jm-google-news-alerts at jmason.org>; Tue, 10 Feb 2004 10:14:01 -0800 (PST)
+Received: by abbulk2 with SMTP id mr733125; Tue, 10 Feb 2004 10:14:01 -0800 (PST)
+Message-ID: <1076436841.67074.8fa05ccdc458abe5.1446041b at persist.google.com>
+Date: Tue, 10 Feb 2004 10:14:01 -0800 (PST)
+From: newsalerts-noreply at dnsbltest.spamassassin.org
+To: jm-google-news-alerts at jmason.org
+Subject: Google News Alert - spamassassin
+MIME-Version: 1.0
+Content-Type: text/plain; charset="ISO-8859-1";
+
+SWSOFT Unveils Plesk 7, Deployed by 1&1
+Web Host Industry Review - USA
+... The software also features a newly designed Windows XP-like user interface,
+is equipped SpamAssassin, an open source anti-spam tool, and includes
+"Application ...
+<http://thewhir.com/marketwatch/sws021004.cfm>
+See all stories on this topic:
+<http://news.google.com/news?hl=en&lr=&ie=UTF-8&oe=utf8&client=google&num=30&newsc
+lusterurl=http://thewhir.com/marketwatch/sws021004.cfm>
+
diff -urN Mail-SpamAssassin-3.0.2/t/spf.t Mail-SpamAssassin-3.0.3/t/spf.t
--- Mail-SpamAssassin-3.0.2/t/spf.t	2004-10-22 05:21:17.000000000 -1000
+++ Mail-SpamAssassin-3.0.3/t/spf.t	2005-04-21 13:00:18.000000000 -1000
@@ -16,7 +16,7 @@
 
 BEGIN {
   
-  plan tests => (DO_RUN ? 2 : 0);
+  plan tests => (DO_RUN ? 4 : 0);
 
 };
 
@@ -32,3 +32,10 @@
 sarun ("-t < data/nice/spf1", \&patterns_run_cb);
 ok_all_patterns();
 
+%patterns = (
+    q{ SPF_HELO_FAIL }, 'helo_fail',
+    q{ SPF_FAIL }, 'fail',
+);
+
+sarun ("-t < data/spam/spf1", \&patterns_run_cb);
+ok_all_patterns();
diff -urN Mail-SpamAssassin-3.0.2/t/uri.t Mail-SpamAssassin-3.0.3/t/uri.t
--- Mail-SpamAssassin-3.0.2/t/uri.t	2004-10-22 05:21:17.000000000 -1000
+++ Mail-SpamAssassin-3.0.3/t/uri.t	2005-04-24 17:48:26.000000000 -1000
@@ -21,7 +21,7 @@
 use Mail::SpamAssassin::HTML;
 use Mail::SpamAssassin::Util;
 
-plan tests => 62;
+plan tests => 63;
 
 ##############################################
 
@@ -80,6 +80,7 @@
 ok(try_domains('http:/www.spamassassin.org/lists.html', 'spamassassin.org'));
 ok(try_domains('http:www.spamassassin.org/lists.html', 'spamassassin.org'));
 ok(try_domains('http://kung.pao.com.cn', 'pao.com.cn'));
+ok(try_domains('http://blah.blah.com:/', 'blah.com'));
 
 ##############################################
 


Index: spamassassin.spec
===================================================================
RCS file: /cvs/dist/rpms/spamassassin/devel/spamassassin.spec,v
retrieving revision 1.39
retrieving revision 1.40
diff -u -r1.39 -r1.40
--- spamassassin.spec	21 Apr 2005 23:19:33 -0000	1.39
+++ spamassassin.spec	26 Apr 2005 02:00:25 -0000	1.40
@@ -5,8 +5,8 @@
 
 Summary: Spam filter for email which can be invoked from mail delivery agents.
 Name: spamassassin
-Version: 3.0.2
-Release: 9.fc4
+Version: 3.0.3
+Release: 0.r164513.fc4
 License: Apache License
 Group: Applications/Internet
 URL: http://spamassassin.apache.org/
@@ -19,12 +19,9 @@
 # Patches 0-99 are RH specific
 # none yet
 # Patches 100+ are SVN backports (DO NOT REUSE!)
-Patch100: spamassassin-3.0.3-r122144.patch
-# Not svn yet... but soon
 Patch101: spamassassin-3.0.3-r122144-get_envelope_from.patch
-Patch102: spamassassin-3.0.3-r122144-uri_to_domain.patch
-Patch103: spamassassin-3.0.3-r122144-multipart-0-parts.patch 
-Patch104: spamassassin-3.0.3-r122144-userdefined-rule-score.patch
+Patch103: spamassassin-3.0.3-r122144-multipart-0-parts.patch
+Patch105: spamassassin-3.0.3-r164513.patch
 # end of patches
 Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version))
 Buildroot: %{_tmppath}/%{name}-root
@@ -66,11 +63,9 @@
 # Patches 0-99 are RH specific
 # none yet
 # Patches 100+ are SVN backports (DO NOT REUSE!)
-%patch100 -p1
 %patch101 -p0
-%patch102 -p1
 %patch103 -p0
-%patch104 -p0
+%patch105 -p1
 # end of patches
 
 %build
@@ -157,6 +152,9 @@
 exit 0
 
 %changelog
+* Mon Apr 25 Warren Togami <wtogami at redhat.com. - 3.0.3-0.r164513
+- 3.0.3-r164513 (almost final)
+
 * Thu Apr 21 2005 Warren Togami <wtogami at redhat.com> - 3.0.2-9
 - SA#4191 uri_to_domain() is broken for urls with empty port
   SA#4232 multipart message with 0 parts -> uninitialized in m//


--- spamassassin-3.0.3-r122144-uri_to_domain.patch DELETED ---


--- spamassassin-3.0.3-r122144-userdefined-rule-score.patch DELETED ---


--- spamassassin-3.0.3-r122144.patch DELETED ---




More information about the fedora-cvs-commits mailing list