You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@spamassassin.apache.org by qu...@apache.org on 2005/04/21 02:05:11 UTC
svn commit: r162095 [1/2] - in /spamassassin/trunk: ./ lib/Mail/
lib/Mail/SpamAssassin/ lib/Mail/SpamAssassin/BayesStore/
lib/Mail/SpamAssassin/Conf/ lib/Mail/SpamAssassin/Locker/
lib/Mail/SpamAssassin/Logger/ lib/Mail/SpamAssassin/Message/
lib/Mail/SpamAssassin/Plugin/ masses/ spamd/
Author: quinlan
Date: Wed Apr 20 17:05:10 2005
New Revision: 162095
URL: http://svn.apache.org/viewcvs?rev=162095&view=rev
Log:
new logging code
Added:
spamassassin/trunk/lib/Mail/SpamAssassin/Logger/
spamassassin/trunk/lib/Mail/SpamAssassin/Logger.pm
spamassassin/trunk/lib/Mail/SpamAssassin/Logger/File.pm
spamassassin/trunk/lib/Mail/SpamAssassin/Logger/Stderr.pm
spamassassin/trunk/lib/Mail/SpamAssassin/Logger/Syslog.pm
Modified:
spamassassin/trunk/lib/Mail/SpamAssassin.pm
spamassassin/trunk/lib/Mail/SpamAssassin/AutoWhitelist.pm
spamassassin/trunk/lib/Mail/SpamAssassin/Bayes.pm
spamassassin/trunk/lib/Mail/SpamAssassin/BayesStore.pm
spamassassin/trunk/lib/Mail/SpamAssassin/BayesStore/DBM.pm
spamassassin/trunk/lib/Mail/SpamAssassin/BayesStore/MySQL.pm
spamassassin/trunk/lib/Mail/SpamAssassin/BayesStore/PgSQL.pm
spamassassin/trunk/lib/Mail/SpamAssassin/BayesStore/SDBM.pm
spamassassin/trunk/lib/Mail/SpamAssassin/BayesStore/SQL.pm
spamassassin/trunk/lib/Mail/SpamAssassin/Conf.pm
spamassassin/trunk/lib/Mail/SpamAssassin/Conf/LDAP.pm
spamassassin/trunk/lib/Mail/SpamAssassin/Conf/Parser.pm
spamassassin/trunk/lib/Mail/SpamAssassin/Conf/SQL.pm
spamassassin/trunk/lib/Mail/SpamAssassin/DBBasedAddrList.pm
spamassassin/trunk/lib/Mail/SpamAssassin/HTML.pm
spamassassin/trunk/lib/Mail/SpamAssassin/Locker/Flock.pm
spamassassin/trunk/lib/Mail/SpamAssassin/Locker/UnixNFSSafe.pm
spamassassin/trunk/lib/Mail/SpamAssassin/Locker/Win32.pm
spamassassin/trunk/lib/Mail/SpamAssassin/Message.pm
spamassassin/trunk/lib/Mail/SpamAssassin/Message/Metadata.pm
spamassassin/trunk/lib/Mail/SpamAssassin/Message/Node.pm
spamassassin/trunk/lib/Mail/SpamAssassin/NetSet.pm
spamassassin/trunk/lib/Mail/SpamAssassin/PerMsgLearner.pm
spamassassin/trunk/lib/Mail/SpamAssassin/PerMsgStatus.pm
spamassassin/trunk/lib/Mail/SpamAssassin/Plugin.pm
spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/AWL.pm
spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/AutoLearnThreshold.pm
spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/DCC.pm
spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/DomainKeys.pm
spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/Hashcash.pm
spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/MIMEHeader.pm
spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/NetCache.pm
spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/Pyzor.pm
spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/Razor2.pm
spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/RelayCountry.pm
spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/ReplaceTags.pm
spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/SPF.pm
spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/SpamCop.pm
spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/TextCat.pm
spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/URIDNSBL.pm
spamassassin/trunk/lib/Mail/SpamAssassin/PluginHandler.pm
spamassassin/trunk/lib/Mail/SpamAssassin/Reporter.pm
spamassassin/trunk/lib/Mail/SpamAssassin/SQLBasedAddrList.pm
spamassassin/trunk/lib/Mail/SpamAssassin/SpamdForkScaling.pm
spamassassin/trunk/lib/Mail/SpamAssassin/Util.pm
spamassassin/trunk/masses/mass-check
spamassassin/trunk/spamassassin.raw
spamassassin/trunk/spamd/spamd.raw
Modified: spamassassin/trunk/lib/Mail/SpamAssassin.pm
URL: http://svn.apache.org/viewcvs/spamassassin/trunk/lib/Mail/SpamAssassin.pm?rev=162095&r1=162094&r2=162095&view=diff
==============================================================================
--- spamassassin/trunk/lib/Mail/SpamAssassin.pm (original)
+++ spamassassin/trunk/lib/Mail/SpamAssassin.pm Wed Apr 20 17:05:10 2005
@@ -63,6 +63,7 @@
require 5.006_001;
+use Mail::SpamAssassin::Logger;
use Mail::SpamAssassin::Constants;
use Mail::SpamAssassin::Conf;
use Mail::SpamAssassin::Conf::SQL;
@@ -86,10 +87,8 @@
Time::HiRes->import( qw(time) ) unless $@;
}
-
use vars qw{
@ISA $VERSION $SUB_VERSION @EXTRA_VERSION $IS_DEVEL_BUILD $HOME_URL
- $DEBUG $INFO %facilities
@default_rules_path @default_prefs_path
@default_userprefs_path @default_userstate_dir
@site_rules_path
@@ -259,10 +258,10 @@
bless ($self, $class);
# enable or disable debugging
- Mail::SpamAssassin::_init_debugger($self->{debug});
+ Mail::SpamAssassin::Logger::add_facilities($self->{debug});
# first debugging information possibly printed should be the version
- info("generic: SpamAssassin version ".Version());
+ info("generic: SpamAssassin version " . Version());
# if the libs are installed in an alternate location, and the caller
# didn't set PREFIX, we should have an estimated guess ready ...
@@ -297,44 +296,6 @@
$self;
}
-# Do not use this routine in any 3rd-party scripts, it's not part of the
-# official public API! spamd needs it though.
-#
-# Enables or disables debugging based on the facilities given. This will
-# affect ALL SpamAssassin objects!
-sub _init_debugger {
- # define debugging facilities first
- $Mail::SpamAssassin::INFO = 0;
- $Mail::SpamAssassin::DEBUG = 0;
-
- my $facilities = $_[0];
- my @facilities = ();
- if (ref ($facilities) eq '') {
- return if not defined $facilities or $facilities eq '0';
- @facilities = split(/,/, $facilities);
- }
- elsif (ref ($facilities) eq 'ARRAY') {
- @facilities = @{ $facilities };
- }
- elsif (ref ($facilities) eq 'HASH') {
- @facilities = grep { $facilities{$_} } keys %{ $facilities };
- }
- else {
- return;
- }
- @facilities = grep(/^\S+$/, @facilities);
-
- if (@facilities) {
- $Mail::SpamAssassin::facilities{$_} = 1 for @facilities;
- # turn on informational notices
- $Mail::SpamAssassin::INFO = 1;
- # turn on debugging if facilities other than "info" are enabled
- $Mail::SpamAssassin::DEBUG = keys %Mail::SpamAssassin::facilities > 1
- || !$Mail::SpamAssassin::facilities{info};
- }
-}
-
-
sub create_locker {
my ($self) = @_;
@@ -1674,81 +1635,6 @@
}
###########################################################################
-
-sub _dbg_info_helper {
- my ($facility, $prefix, $message) = ("generic", @_);
-
- if ($message =~ /^(\S+?):\s*(.*)/s) {
- $facility = $1;
- $message = $2;
- }
-
- if ($facilities{all} || $facilities{$prefix} || $facilities{$facility}) {
- $message =~ s/\n+$//s;
- $message =~ s/^/${prefix}: ${facility}: /mg;
- warn "$message\n";
- }
-}
-
-# usage: dbg("facility: message")
-# This is used for all low priority debugging messages.
-sub dbg {
- return unless $Mail::SpamAssassin::DEBUG;
- _dbg_info_helper("debug", @_);
-}
-
-# returns whether or not debugging is enabled in general or (if specified) for
-# a certain facility
-sub dbg_check {
- my $facility = shift;
- my $useall = 1;
-
- if (defined $facility) {
- if ($facility =~ /^(\+)(.+)$/) {
- $facility = $2;
- $useall = 0;
- }
- return($Mail::SpamAssassin::DEBUG && (
- ($useall && $Mail::SpamAssassin::facilities{all}) ||
- $Mail::SpamAssassin::facilities{$facility}
- ));
- }
-
- return($Mail::SpamAssassin::DEBUG && $Mail::SpamAssassin::facilities{all});
-}
-
-# usage: info("facility: message")
-# This is used for informational messages indicating a normal, but
-# significant, condition. This should be very infrequently called.
-sub info {
- return unless $Mail::SpamAssassin::INFO;
- _dbg_info_helper("info", @_);
-}
-
-# returns whether or not info output is enabled in general or (if specified) for
-# a certain facility
-sub info_check {
- my $facility = shift;
- my $useall = 1;
-
- if (defined $facility) {
- if ($facility =~ /^(\+)(.+)$/) {
- $facility = $2;
- $useall = 0;
- }
- return($Mail::SpamAssassin::INFO && (
- ($useall &&
- ($Mail::SpamAssassin::facilities{all} ||
- $Mail::SpamAssassin::facilities{info})) ||
- $Mail::SpamAssassin::facilities{$facility}
- ));
- }
-
- return($Mail::SpamAssassin::INFO && (
- $Mail::SpamAssassin::facilities{all} ||
- $Mail::SpamAssassin::facilities{info}
- ));
-}
# sa_die -- used to die with a useful exit code.
Modified: spamassassin/trunk/lib/Mail/SpamAssassin/AutoWhitelist.pm
URL: http://svn.apache.org/viewcvs/spamassassin/trunk/lib/Mail/SpamAssassin/AutoWhitelist.pm?rev=162095&r1=162094&r2=162095&view=diff
==============================================================================
--- spamassassin/trunk/lib/Mail/SpamAssassin/AutoWhitelist.pm (original)
+++ spamassassin/trunk/lib/Mail/SpamAssassin/AutoWhitelist.pm Wed Apr 20 17:05:10 2005
@@ -40,14 +40,12 @@
package Mail::SpamAssassin::AutoWhitelist;
-# Make the main dbg() accessible in our package w/o an extra function
-*dbg=\&Mail::SpamAssassin::dbg;
-
use strict;
use warnings;
use bytes;
use Mail::SpamAssassin;
+use Mail::SpamAssassin::Logger;
use vars qw{
@ISA
Modified: spamassassin/trunk/lib/Mail/SpamAssassin/Bayes.pm
URL: http://svn.apache.org/viewcvs/spamassassin/trunk/lib/Mail/SpamAssassin/Bayes.pm?rev=162095&r1=162094&r2=162095&view=diff
==============================================================================
--- spamassassin/trunk/lib/Mail/SpamAssassin/Bayes.pm (original)
+++ spamassassin/trunk/lib/Mail/SpamAssassin/Bayes.pm Wed Apr 20 17:05:10 2005
@@ -47,15 +47,13 @@
package Mail::SpamAssassin::Bayes;
-# Make the main dbg() accessible in our package w/o an extra function
-*dbg=\&Mail::SpamAssassin::dbg;
-
use strict;
use warnings;
use bytes;
use Mail::SpamAssassin;
use Mail::SpamAssassin::PerMsgStatus;
+use Mail::SpamAssassin::Logger;
# pick ONLY ONE of these combining implementations.
use Mail::SpamAssassin::Bayes::CombineChi;
Modified: spamassassin/trunk/lib/Mail/SpamAssassin/BayesStore.pm
URL: http://svn.apache.org/viewcvs/spamassassin/trunk/lib/Mail/SpamAssassin/BayesStore.pm?rev=162095&r1=162094&r2=162095&view=diff
==============================================================================
--- spamassassin/trunk/lib/Mail/SpamAssassin/BayesStore.pm (original)
+++ spamassassin/trunk/lib/Mail/SpamAssassin/BayesStore.pm Wed Apr 20 17:05:10 2005
@@ -29,12 +29,10 @@
package Mail::SpamAssassin::BayesStore;
-# Make the main dbg() accessible in our package w/o an extra function
-*dbg=\&Mail::SpamAssassin::dbg;
-
use strict;
use warnings;
use bytes;
+use Mail::SpamAssassin::Logger;
=head1 METHODS
@@ -322,7 +320,7 @@
return 0 unless (%delta);
# This will skip the for loop if debugging isn't enabled ...
- if (Mail::SpamAssassin::dbg_check('bayes')) {
+ if (would_log('dbg', 'bayes')) {
dbg("bayes: atime\ttoken reduction");
dbg("bayes: ========\t===============");
for(my $i = 1; $i<=$max_expire_mult; $i <<= 1) {
Modified: spamassassin/trunk/lib/Mail/SpamAssassin/BayesStore/DBM.pm
URL: http://svn.apache.org/viewcvs/spamassassin/trunk/lib/Mail/SpamAssassin/BayesStore/DBM.pm?rev=162095&r1=162094&r2=162095&view=diff
==============================================================================
--- spamassassin/trunk/lib/Mail/SpamAssassin/BayesStore/DBM.pm (original)
+++ spamassassin/trunk/lib/Mail/SpamAssassin/BayesStore/DBM.pm Wed Apr 20 17:05:10 2005
@@ -16,9 +16,6 @@
package Mail::SpamAssassin::BayesStore::DBM;
-# Make the main dbg() accessible in our package w/o an extra function
-*dbg=\&Mail::SpamAssassin::dbg;
-
use strict;
use warnings;
use bytes;
@@ -27,6 +24,7 @@
use Mail::SpamAssassin;
use Mail::SpamAssassin::Util;
use Mail::SpamAssassin::BayesStore;
+use Mail::SpamAssassin::Logger;
use Digest::SHA1 qw(sha1);
use File::Basename;
use File::Spec;
Modified: spamassassin/trunk/lib/Mail/SpamAssassin/BayesStore/MySQL.pm
URL: http://svn.apache.org/viewcvs/spamassassin/trunk/lib/Mail/SpamAssassin/BayesStore/MySQL.pm?rev=162095&r1=162094&r2=162095&view=diff
==============================================================================
--- spamassassin/trunk/lib/Mail/SpamAssassin/BayesStore/MySQL.pm (original)
+++ spamassassin/trunk/lib/Mail/SpamAssassin/BayesStore/MySQL.pm Wed Apr 20 17:05:10 2005
@@ -35,14 +35,12 @@
package Mail::SpamAssassin::BayesStore::MySQL;
-# Make the main dbg() accessible in our package w/o an extra function
-*dbg=\&Mail::SpamAssassin::dbg;
-
use strict;
use warnings;
use bytes;
use Mail::SpamAssassin::BayesStore::SQL;
+use Mail::SpamAssassin::Logger;
use vars qw( @ISA );
Modified: spamassassin/trunk/lib/Mail/SpamAssassin/BayesStore/PgSQL.pm
URL: http://svn.apache.org/viewcvs/spamassassin/trunk/lib/Mail/SpamAssassin/BayesStore/PgSQL.pm?rev=162095&r1=162094&r2=162095&view=diff
==============================================================================
--- spamassassin/trunk/lib/Mail/SpamAssassin/BayesStore/PgSQL.pm (original)
+++ spamassassin/trunk/lib/Mail/SpamAssassin/BayesStore/PgSQL.pm Wed Apr 20 17:05:10 2005
@@ -33,14 +33,12 @@
package Mail::SpamAssassin::BayesStore::PgSQL;
-# Make the main dbg() accessible in our package w/o an extra function
-*dbg=\&Mail::SpamAssassin::dbg;
-
use strict;
use warnings;
use bytes;
use Mail::SpamAssassin::BayesStore::SQL;
+use Mail::SpamAssassin::Logger;
use vars qw( @ISA );
Modified: spamassassin/trunk/lib/Mail/SpamAssassin/BayesStore/SDBM.pm
URL: http://svn.apache.org/viewcvs/spamassassin/trunk/lib/Mail/SpamAssassin/BayesStore/SDBM.pm?rev=162095&r1=162094&r2=162095&view=diff
==============================================================================
--- spamassassin/trunk/lib/Mail/SpamAssassin/BayesStore/SDBM.pm (original)
+++ spamassassin/trunk/lib/Mail/SpamAssassin/BayesStore/SDBM.pm Wed Apr 20 17:05:10 2005
@@ -16,15 +16,13 @@
package Mail::SpamAssassin::BayesStore::SDBM;
-# Make the main dbg() accessible in our package w/o an extra function
-*dbg=\&Mail::SpamAssassin::dbg;
-
use strict;
use warnings;
use bytes;
use Fcntl;
use Mail::SpamAssassin::BayesStore::DBM;
+use Mail::SpamAssassin::Logger;
use vars qw{ @ISA @DBNAMES };
Modified: spamassassin/trunk/lib/Mail/SpamAssassin/BayesStore/SQL.pm
URL: http://svn.apache.org/viewcvs/spamassassin/trunk/lib/Mail/SpamAssassin/BayesStore/SQL.pm?rev=162095&r1=162094&r2=162095&view=diff
==============================================================================
--- spamassassin/trunk/lib/Mail/SpamAssassin/BayesStore/SQL.pm (original)
+++ spamassassin/trunk/lib/Mail/SpamAssassin/BayesStore/SQL.pm Wed Apr 20 17:05:10 2005
@@ -28,14 +28,12 @@
package Mail::SpamAssassin::BayesStore::SQL;
-# Make the main dbg() accessible in our package w/o an extra function
-*dbg=\&Mail::SpamAssassin::dbg;
-
use strict;
use warnings;
use bytes;
use Mail::SpamAssassin::BayesStore;
+use Mail::SpamAssassin::Logger;
use Digest::SHA1 qw(sha1);
use vars qw( @ISA );
Modified: spamassassin/trunk/lib/Mail/SpamAssassin/Conf.pm
URL: http://svn.apache.org/viewcvs/spamassassin/trunk/lib/Mail/SpamAssassin/Conf.pm?rev=162095&r1=162094&r2=162095&view=diff
==============================================================================
--- spamassassin/trunk/lib/Mail/SpamAssassin/Conf.pm (original)
+++ spamassassin/trunk/lib/Mail/SpamAssassin/Conf.pm Wed Apr 20 17:05:10 2005
@@ -72,11 +72,8 @@
use Mail::SpamAssassin::NetSet;
use Mail::SpamAssassin::Constants qw(:sa);
use Mail::SpamAssassin::Conf::Parser;
+use Mail::SpamAssassin::Logger;
use File::Spec;
-
-# Make the main dbg() accessible in our package w/o an extra function
-*dbg=\&Mail::SpamAssassin::dbg;
-*info=\&Mail::SpamAssassin::info;
use strict;
use warnings;
Modified: spamassassin/trunk/lib/Mail/SpamAssassin/Conf/LDAP.pm
URL: http://svn.apache.org/viewcvs/spamassassin/trunk/lib/Mail/SpamAssassin/Conf/LDAP.pm?rev=162095&r1=162094&r2=162095&view=diff
==============================================================================
--- spamassassin/trunk/lib/Mail/SpamAssassin/Conf/LDAP.pm (original)
+++ spamassassin/trunk/lib/Mail/SpamAssassin/Conf/LDAP.pm Wed Apr 20 17:05:10 2005
@@ -40,8 +40,7 @@
package Mail::SpamAssassin::Conf::LDAP;
-# Make the main dbg() accessible in our package w/o an extra function
-*dbg=\&Mail::SpamAssassin::dbg;
+use Mail::SpamAssassin::Logger;
use strict;
use warnings;
Modified: spamassassin/trunk/lib/Mail/SpamAssassin/Conf/Parser.pm
URL: http://svn.apache.org/viewcvs/spamassassin/trunk/lib/Mail/SpamAssassin/Conf/Parser.pm?rev=162095&r1=162094&r2=162095&view=diff
==============================================================================
--- spamassassin/trunk/lib/Mail/SpamAssassin/Conf/Parser.pm (original)
+++ spamassassin/trunk/lib/Mail/SpamAssassin/Conf/Parser.pm Wed Apr 20 17:05:10 2005
@@ -120,12 +120,9 @@
package Mail::SpamAssassin::Conf::Parser;
-# Make the main dbg() accessible in our package w/o an extra function
-*dbg=\&Mail::SpamAssassin::dbg;
-*info=\&Mail::SpamAssassin::info;
-
use Mail::SpamAssassin::Conf;
use Mail::SpamAssassin::Constants qw(:sa);
+use Mail::SpamAssassin::Logger;
use strict;
use warnings;
Modified: spamassassin/trunk/lib/Mail/SpamAssassin/Conf/SQL.pm
URL: http://svn.apache.org/viewcvs/spamassassin/trunk/lib/Mail/SpamAssassin/Conf/SQL.pm?rev=162095&r1=162094&r2=162095&view=diff
==============================================================================
--- spamassassin/trunk/lib/Mail/SpamAssassin/Conf/SQL.pm (original)
+++ spamassassin/trunk/lib/Mail/SpamAssassin/Conf/SQL.pm Wed Apr 20 17:05:10 2005
@@ -40,8 +40,7 @@
package Mail::SpamAssassin::Conf::SQL;
-# Make the main dbg() accessible in our package w/o an extra function
-*dbg=\&Mail::SpamAssassin::dbg;
+use Mail::SpamAssassin::Logger;
use strict;
use warnings;
Modified: spamassassin/trunk/lib/Mail/SpamAssassin/DBBasedAddrList.pm
URL: http://svn.apache.org/viewcvs/spamassassin/trunk/lib/Mail/SpamAssassin/DBBasedAddrList.pm?rev=162095&r1=162094&r2=162095&view=diff
==============================================================================
--- spamassassin/trunk/lib/Mail/SpamAssassin/DBBasedAddrList.pm (original)
+++ spamassassin/trunk/lib/Mail/SpamAssassin/DBBasedAddrList.pm Wed Apr 20 17:05:10 2005
@@ -16,9 +16,6 @@
package Mail::SpamAssassin::DBBasedAddrList;
-# Make the main dbg() accessible in our package w/o an extra function
-*dbg=\&Mail::SpamAssassin::dbg;
-
use strict;
use warnings;
use bytes;
@@ -26,6 +23,7 @@
use Mail::SpamAssassin::PersistentAddrList;
use Mail::SpamAssassin::Util;
+use Mail::SpamAssassin::Logger;
use vars qw{
@ISA
Modified: spamassassin/trunk/lib/Mail/SpamAssassin/HTML.pm
URL: http://svn.apache.org/viewcvs/spamassassin/trunk/lib/Mail/SpamAssassin/HTML.pm?rev=162095&r1=162094&r2=162095&view=diff
==============================================================================
--- spamassassin/trunk/lib/Mail/SpamAssassin/HTML.pm (original)
+++ spamassassin/trunk/lib/Mail/SpamAssassin/HTML.pm Wed Apr 20 17:05:10 2005
@@ -24,7 +24,10 @@
use bytes;
package Mail::SpamAssassin::HTML;
+
use HTML::Parser 3.24 ();
+use Mail::SpamAssassin::Logger;
+
use vars qw($re_loose $re_strict $re_other @ISA @EXPORT @EXPORT_OK);
require Exporter;
@@ -32,9 +35,6 @@
@EXPORT = qw(get_results name_to_rgb);
@EXPORT_OK = qw();
-# Make the main dbg() accessible in our package w/o an extra function
-*dbg=\&Mail::SpamAssassin::dbg;
-
# elements defined by the HTML 4.01 and XHTML 1.0 DTDs (do not change them!)
# does not include XML
my %elements = map {; $_ => 1 }
@@ -140,7 +140,7 @@
my @tmp = Mail::SpamAssassin::Util::uri_list_canonify($uri);
$info->{cleaned} = \@tmp;
# list out the URLs for debugging ...
- if (Mail::SpamAssassin::dbg_check('uri')) {
+ if (would_log('dbg', 'uri')) {
dbg("uri: html uri found, $uri");
foreach my $nuri (@tmp) {
dbg("uri: cleaned html uri, $nuri");
Modified: spamassassin/trunk/lib/Mail/SpamAssassin/Locker/Flock.pm
URL: http://svn.apache.org/viewcvs/spamassassin/trunk/lib/Mail/SpamAssassin/Locker/Flock.pm?rev=162095&r1=162094&r2=162095&view=diff
==============================================================================
--- spamassassin/trunk/lib/Mail/SpamAssassin/Locker/Flock.pm (original)
+++ spamassassin/trunk/lib/Mail/SpamAssassin/Locker/Flock.pm Wed Apr 20 17:05:10 2005
@@ -16,9 +16,6 @@
package Mail::SpamAssassin::Locker::Flock;
-# Make the main dbg() accessible in our package w/o an extra function
-*dbg=\&Mail::SpamAssassin::dbg;
-
use strict;
use warnings;
use bytes;
@@ -26,6 +23,7 @@
use Mail::SpamAssassin;
use Mail::SpamAssassin::Locker;
use Mail::SpamAssassin::Util;
+use Mail::SpamAssassin::Logger;
use File::Spec;
use IO::File;
use Fcntl qw(:DEFAULT :flock);
Modified: spamassassin/trunk/lib/Mail/SpamAssassin/Locker/UnixNFSSafe.pm
URL: http://svn.apache.org/viewcvs/spamassassin/trunk/lib/Mail/SpamAssassin/Locker/UnixNFSSafe.pm?rev=162095&r1=162094&r2=162095&view=diff
==============================================================================
--- spamassassin/trunk/lib/Mail/SpamAssassin/Locker/UnixNFSSafe.pm (original)
+++ spamassassin/trunk/lib/Mail/SpamAssassin/Locker/UnixNFSSafe.pm Wed Apr 20 17:05:10 2005
@@ -16,9 +16,6 @@
package Mail::SpamAssassin::Locker::UnixNFSSafe;
-# Make the main dbg() accessible in our package w/o an extra function
-*dbg=\&Mail::SpamAssassin::dbg;
-
use strict;
use warnings;
use bytes;
@@ -26,6 +23,7 @@
use Mail::SpamAssassin;
use Mail::SpamAssassin::Locker;
use Mail::SpamAssassin::Util;
+use Mail::SpamAssassin::Logger;
use File::Spec;
use Time::Local;
use Fcntl qw(:DEFAULT :flock);
Modified: spamassassin/trunk/lib/Mail/SpamAssassin/Locker/Win32.pm
URL: http://svn.apache.org/viewcvs/spamassassin/trunk/lib/Mail/SpamAssassin/Locker/Win32.pm?rev=162095&r1=162094&r2=162095&view=diff
==============================================================================
--- spamassassin/trunk/lib/Mail/SpamAssassin/Locker/Win32.pm (original)
+++ spamassassin/trunk/lib/Mail/SpamAssassin/Locker/Win32.pm Wed Apr 20 17:05:10 2005
@@ -16,9 +16,6 @@
package Mail::SpamAssassin::Locker::Win32;
-# Make the main dbg() accessible in our package w/o an extra function
-*dbg=\&Mail::SpamAssassin::dbg;
-
use strict;
use warnings;
use bytes;
@@ -27,6 +24,7 @@
use Mail::SpamAssassin;
use Mail::SpamAssassin::Locker;
use Mail::SpamAssassin::Util;
+use Mail::SpamAssassin::Logger;
use File::Spec;
use Time::Local;
Added: spamassassin/trunk/lib/Mail/SpamAssassin/Logger.pm
URL: http://svn.apache.org/viewcvs/spamassassin/trunk/lib/Mail/SpamAssassin/Logger.pm?rev=162095&view=auto
==============================================================================
--- spamassassin/trunk/lib/Mail/SpamAssassin/Logger.pm (added)
+++ spamassassin/trunk/lib/Mail/SpamAssassin/Logger.pm Wed Apr 20 17:05:10 2005
@@ -0,0 +1,202 @@
+# <@LICENSE>
+# Copyright 2004 Apache Software Foundation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# </...@LICENSE>
+
+=head1 NAME
+
+Mail::SpamAssassin::Logger - SpamAssassin logging module
+
+=head1 SYNOPSIS
+
+ use Mail::SpamAssassin::Logger;
+
+ $SIG{__WARN__} = sub {
+ log_message("warn", $_[0]);
+ };
+
+ $SIG{__DIE__} = sub {
+ log_message("error", $_[0]) if $_[0] !~ /\bin eval\b/;
+ };
+
+=cut
+
+package Mail::SpamAssassin::Logger;
+
+use vars qw(@ISA @EXPORT @EXPORT_OK);
+
+require Exporter;
+
+use strict;
+use warnings;
+use bytes;
+
+@ISA = qw(Exporter);
+@EXPORT = qw(dbg info would_log);
+@EXPORT_OK = qw(log_message);
+
+use constant ERROR => 0;
+use constant WARNING => 1;
+use constant INFO => 2;
+use constant DBG => 3;
+
+our %LOG_SA;
+
+# defaults
+$LOG_SA{level} = WARNING; # log warnings and errors
+$LOG_SA{facility} = {}; # no dbg facilities turned on
+
+# always log to stderr initially
+use Mail::SpamAssassin::Logger::Stderr;
+$LOG_SA{method}->{stderr} = Mail::SpamAssassin::Logger::Stderr->new();
+
+END {
+ while (my ($name, $object) = each %{ $LOG_SA{method} }) {
+ $object->close();
+ }
+}
+
+sub add_facilities {
+ my ($facilities) = @_;
+
+ my @facilities = ();
+ if (ref ($facilities) eq '') {
+ if (defined $facilities && $facilities ne '0') {
+ @facilities = split(/,/, $facilities);
+ }
+ }
+ elsif (ref ($facilities) eq 'ARRAY') {
+ @facilities = @{ $facilities };
+ }
+ elsif (ref ($facilities) eq 'HASH') {
+ @facilities = keys %{ $facilities };
+ }
+ @facilities = grep(/^\S+$/, @facilities);
+ if (@facilities) {
+ $LOG_SA{facility}->{$_} = 1 for @facilities;
+ # turn on debugging if facilities other than "info" are enabled
+ if (keys %{ $LOG_SA{facility} } > 1 || !$LOG_SA{facility}->{info}) {
+ $LOG_SA{level} = DBG if $LOG_SA{level} < DBG;
+ }
+ else {
+ $LOG_SA{level} = INFO if $LOG_SA{level} < INFO;
+ }
+ }
+}
+
+sub log_message {
+ my ($level, @message) = @_;
+ my $message = join(" ", @message);
+ $message =~ s/[\r\n]+$//; # remove any trailing newlines
+ $message =~ s/[\x00-\x1f]/_/g; # replace control characters with "_"
+ while (my ($name, $object) = each %{ $LOG_SA{method} }) {
+ $object->log_message($level, $message);
+ }
+}
+
+# usage: dbg("facility: message")
+# This is used for all low priority debugging messages.
+sub dbg {
+ return unless $LOG_SA{level} >= DBG;
+ _log("dbg", @_);
+}
+
+# usage: info("facility: message")
+# This is used for informational messages indicating a normal, but
+# significant, condition. This should be infrequently called.
+sub info {
+ return unless $LOG_SA{level} >= INFO;
+ _log("info", @_);
+}
+
+sub _log {
+ my ($level, $message) = @_;
+
+ my $facility = "generic";
+ if ($message =~ /^(\S+?):\s*(.*)/s) {
+ $facility = $1;
+ $message = $2;
+ }
+
+ # only debug specific facilities
+ # log all info, warn, and error messages
+ if ($level eq "dbg") {
+ return unless ($LOG_SA{facility}->{all} ||
+ $LOG_SA{facility}->{$facility});
+ }
+
+ $message =~ s/\n+$//s;
+ $message =~ s/^/${facility}: /mg;
+
+ # no reason to go through warn()
+ log_message($level, $message);
+}
+
+sub add {
+ my %params = @_;
+
+ my $name = lc($params{method});
+ my $class = ucfirst($name);
+
+ eval 'use Mail::SpamAssassin::Logger::'.$class.';';
+ ($@) and die "logger: add $class failed: $@";
+
+ if (!exists $LOG_SA{method}->{$name}) {
+ my $object = eval 'Mail::SpamAssassin::Logger::'.$class.'->new(%params);';
+ if (!$@ && $object) {
+ $LOG_SA{method}->{$name} = $object;
+ dbg("logger: successfully added $name method\n");
+ return 1;
+ }
+ warn("logger: failed to add $name method\n");
+ return 0;
+ }
+
+ warn("logger: $name method already added\n");
+ return 1;
+}
+
+sub remove {
+ my ($method) = @_;
+
+ my $name = lc($method);
+ for (keys %{ $LOG_SA{method} }) {
+ print STDERR "a: $_\n";
+ }
+ if (exists $LOG_SA{method}->{$name}) {
+ delete $LOG_SA{method}->{$name};
+ return 1;
+ }
+ # should warn here
+ return 1;
+}
+
+sub would_log {
+ my ($level, $facility) = @_;
+
+ if ($level eq "info") {
+ return $LOG_SA{level} >= INFO;
+ }
+ if ($level eq "dbg") {
+ return 0 if $LOG_SA{level} < DBG;
+ return 1 if !$facility;
+ return 2 if $LOG_SA{facility}->{$facility};
+ return 1 if $LOG_SA{facility}->{all};
+ return 0;
+ }
+ warn "logger: would_log called with unknown level: $level\n";
+ return 0;
+}
+
+1;
Added: spamassassin/trunk/lib/Mail/SpamAssassin/Logger/File.pm
URL: http://svn.apache.org/viewcvs/spamassassin/trunk/lib/Mail/SpamAssassin/Logger/File.pm?rev=162095&view=auto
==============================================================================
--- spamassassin/trunk/lib/Mail/SpamAssassin/Logger/File.pm (added)
+++ spamassassin/trunk/lib/Mail/SpamAssassin/Logger/File.pm Wed Apr 20 17:05:10 2005
@@ -0,0 +1,87 @@
+# <@LICENSE>
+# Copyright 2004 Apache Software Foundation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# </...@LICENSE>
+
+=head1 NAME
+
+Mail::SpamAssassin::Logger::File - log to file
+
+=head1 SYNOPSIS
+
+ loadplugin Mail::SpamAssassin::Logger::File
+
+=head1 DESCRIPTION
+
+=cut
+
+package Mail::SpamAssassin::Logger::File;
+
+use strict;
+use warnings;
+use bytes;
+use Mail::SpamAssassin::Logger;
+
+use vars qw(@ISA);
+@ISA = ();
+
+sub new {
+ my $class = shift;
+
+ $class = ref($class) || $class;
+ my $self = { };
+ bless ($self, $class);
+
+ # parameters
+ my %params = @_;
+ $self->{filename} = $params{filename} || 'spamassassin.log';
+
+ if (! $self->init()) {
+ die "logger: file initialization failed\n";
+ }
+
+ return($self);
+}
+
+# logging via file is requested
+sub init {
+ my ($self) = @_;
+
+ if (open(STDLOG, ">> $self->{filename}")) {
+ dbg("logger: successfully opened file $self->{filename}");
+ return 1;
+ }
+ else {
+ warn "logger: failed to open file $self->{filename}: $!\n";
+ return 0;
+ }
+}
+
+sub log_message {
+ my ($self, $level, $msg) = @_;
+
+ my @date = reverse((gmtime(time))[0..5]);
+ $date[0] += 1900;
+ $date[1] += 1;
+ syswrite(STDLOG, sprintf("%04d-%02d-%02d %02d:%02d:%02d [%s] %s: %s\n",
+ @date, $$, $level, $msg));
+}
+
+sub close {
+ my ($self) = @_;
+
+ close(STDLOG) if defined $self->{filename};
+}
+
+1;
Added: spamassassin/trunk/lib/Mail/SpamAssassin/Logger/Stderr.pm
URL: http://svn.apache.org/viewcvs/spamassassin/trunk/lib/Mail/SpamAssassin/Logger/Stderr.pm?rev=162095&view=auto
==============================================================================
--- spamassassin/trunk/lib/Mail/SpamAssassin/Logger/Stderr.pm (added)
+++ spamassassin/trunk/lib/Mail/SpamAssassin/Logger/Stderr.pm Wed Apr 20 17:05:10 2005
@@ -0,0 +1,58 @@
+# <@LICENSE>
+# Copyright 2004 Apache Software Foundation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# </...@LICENSE>
+
+=head1 NAME
+
+Mail::SpamAssassin::Logger::Stderr - log to standard error
+
+=head1 SYNOPSIS
+
+ loadplugin Mail::SpamAssassin::Logger::Stderr
+
+=head1 DESCRIPTION
+
+=cut
+
+package Mail::SpamAssassin::Logger::Stderr;
+
+use strict;
+use warnings;
+use bytes;
+
+use vars qw(@ISA);
+@ISA = ();
+
+sub new {
+ my $class = shift;
+
+ $class = ref($class) || $class;
+ my $self = { };
+ bless ($self, $class);
+
+ return($self);
+}
+
+sub log_message {
+ my ($self, $level, $msg) = @_;
+
+ print STDERR "$level: $msg\n";
+}
+
+sub close {
+ my ($self) = @_;
+}
+
+1;
Added: spamassassin/trunk/lib/Mail/SpamAssassin/Logger/Syslog.pm
URL: http://svn.apache.org/viewcvs/spamassassin/trunk/lib/Mail/SpamAssassin/Logger/Syslog.pm?rev=162095&view=auto
==============================================================================
--- spamassassin/trunk/lib/Mail/SpamAssassin/Logger/Syslog.pm (added)
+++ spamassassin/trunk/lib/Mail/SpamAssassin/Logger/Syslog.pm Wed Apr 20 17:05:10 2005
@@ -0,0 +1,211 @@
+# <@LICENSE>
+# Copyright 2004 Apache Software Foundation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# </...@LICENSE>
+
+=head1 NAME
+
+Mail::SpamAssassin::Logger::Syslog - log to syslog
+
+=head1 SYNOPSIS
+
+ loadplugin Mail::SpamAssassin::Logger::Syslog
+
+=head1 DESCRIPTION
+
+=cut
+
+package Mail::SpamAssassin::Logger::Syslog;
+
+use strict;
+use warnings;
+use bytes;
+use Mail::SpamAssassin::Logger;
+use Sys::Syslog qw(:DEFAULT setlogsock);
+use POSIX qw(:sys_wait_h);
+use POSIX qw(setsid sigprocmask);
+
+use vars qw(@ISA);
+@ISA = ();
+
+sub new {
+ my $class = shift;
+
+ $class = ref($class) || $class;
+ my $self = { };
+ bless ($self, $class);
+
+ # initialization
+ $self->{already_done_failure_warning} = 0;
+ $self->{disabled} = 0;
+ $self->{consecutive_failures} = 0;
+ $self->{failure_threshold} = 10;
+
+ # parameters
+ my %params = @_;
+ $self->{ident} = $params{ident} || 'spamassassin';
+ $self->{log_socket} = $params{socket};
+ $self->{log_facility} = $params{facility};
+
+ if (! $self->init()) {
+ die "logger: syslog initialization failed\n";
+ }
+
+ return($self);
+}
+
+# logging via syslog is requested
+sub init {
+ my ($self) = @_;
+
+ my $log_socket = $self->{log_socket};
+
+ dbg("logger: trying to connect to syslog/${log_socket}...\n");
+ eval {
+ defined(setlogsock($log_socket)) || die "logger: $!";
+ dbg("logger: opening syslog with $log_socket socket");
+ # the next call is required to actually open the socket
+ openlog($self->{ident}, 'cons,pid,ndelay', $self->{log_facility});
+ };
+ my $err = $@;
+ chomp($err);
+
+ # Solaris sometimes doesn't support UNIX-domain syslog sockets apparently;
+ # the same is true for perl 5.6.0 build on an early version of Red Hat 7!
+ # In these cases we try it with INET instead.
+ if ($err and $log_socket ne 'inet') {
+ dbg("logger: connection to syslog/${log_socket} failed: $err\n"
+ . "trying to connect to syslog/inet...");
+ eval {
+ defined(setlogsock('inet')) || die "logger: $!";
+ dbg("logger: failed to setlogsock(${log_socket}): $err");
+ dbg("logger: opening syslog using inet socket");
+ openlog($self->{ident}, 'cons,pid,ndelay', $self->{log_facility});
+ };
+ }
+
+ # we failed!
+ if ($@) {
+ return 0;
+ }
+ else {
+ dbg("logger: successfully connected to syslog/${log_socket}");
+ return 1;
+ }
+}
+
+sub log_message {
+ my ($self, $level, $msg) = @_;
+
+ return if $self->{disabled};
+
+ # map level names
+ # info is already info
+ $level = 'debug' if $level eq 'dbg';
+ $level = 'warning' if $level eq 'warn';
+ $level = 'err' if $level eq 'error';
+
+ # install a new handler for SIGPIPE -- this signal has been
+ # found to occur with syslog-ng after syslog-ng restarts.
+ local $SIG{'PIPE'} = sub {
+ $self->{SIGPIPE_RECEIVED}++;
+ # force a log-close. trap possible die() calls
+ eval { closelog(); };
+ };
+
+ # important: do not call syslog() from the SIGCHLD handler
+ # child_handler(). otherwise we can get into a loop if syslog()
+ # forks a process -- as it does in syslog-ng apparently! (bug 3625)
+ $Mail::SpamAssassin::Logger::LOG_SA{INHIBIT_LOGGING_IN_SIGCHLD_HANDLER} = 1;
+ eval { syslog($level, "%s", $msg); };
+ $Mail::SpamAssassin::Logger::LOG_SA{INHIBIT_LOGGING_IN_SIGCHLD_HANDLER} = 0;
+
+ if ($@) {
+ if ($self->check_syslog_sigpipe($msg)) {
+ # dealt with
+ }
+ else {
+ warn "logger: syslog failed: $@"; # includes a \n
+
+ # only write this warning once, it gets annoying fast
+ if (!$self->{already_done_failure_warning}) {
+ warn "logger: try using --syslog-socket={unix,inet} or --syslog=file\n";
+ $self->{already_done_failure_warning} = 1;
+ }
+ }
+ $self->syslog_incr_failure_counter();
+ }
+ else {
+ $self->{consecutive_failures} = 0;
+ $self->check_syslog_sigpipe($msg); # check for SIGPIPE anyway (bug 3625)
+ }
+
+ $SIG{PIPE} = 'IGNORE'; # this may have been reset (bug 4026)
+}
+
+sub check_syslog_sigpipe {
+ my ($self, $msg) = @_;
+
+ if (!$self->{SIGPIPE_RECEIVED}) {
+ return 0; # didn't have a SIGPIPE
+ }
+
+ eval {
+ # SIGPIPE received when writing to syslog -- close and reopen
+ # the log handle, then try again.
+ closelog();
+ openlog($self->{ident}, 'cons,pid,ndelay', $self->{log_facility});
+ syslog('debug', "%s", "syslog reopened");
+ syslog('info', "%s", $msg);
+
+ # now report what happend
+ $msg = "SIGPIPE received, reopening log socket";
+ dbg("log: $msg");
+ syslog('info', "%s", $msg);
+
+ # if we've received multiple sigpipes, logging is probably still broken.
+ if ($self->{SIGPIPE_RECEIVED} > 1) {
+ warn "logger: syslog failure: multiple SIGPIPEs received\n";
+ $self->{disabled} = 1;
+ }
+
+ $self->{SIGPIPE_RECEIVED} = 0;
+ return 1;
+ };
+
+ if ($@) { # something died? that's not good.
+ $self->syslog_incr_failure_counter();
+ }
+}
+
+sub syslog_incr_failure_counter {
+ my ($self) = @_;
+
+ $self->{consecutive_failures}++;
+ if ($self->{consecutive_failures}++ > $self->{failure_threshold}) {
+ warn("syslog() failed " . $self->{consecutive_failures} .
+ " times in a row, disabled\n");
+ $self->{disabled} = 1;
+ return 1;
+ }
+ return 0;
+}
+
+sub close {
+ my ($self) = @_;
+
+ closelog();
+}
+
+1;
Modified: spamassassin/trunk/lib/Mail/SpamAssassin/Message.pm
URL: http://svn.apache.org/viewcvs/spamassassin/trunk/lib/Mail/SpamAssassin/Message.pm?rev=162095&r1=162094&r2=162095&view=diff
==============================================================================
--- spamassassin/trunk/lib/Mail/SpamAssassin/Message.pm (original)
+++ spamassassin/trunk/lib/Mail/SpamAssassin/Message.pm Wed Apr 20 17:05:10 2005
@@ -43,9 +43,6 @@
package Mail::SpamAssassin::Message;
-# Make the main dbg() accessible in our package w/o an extra function
-*dbg=\&Mail::SpamAssassin::dbg;
-
use strict;
use warnings;
use bytes;
@@ -54,6 +51,7 @@
use Mail::SpamAssassin::Message::Node;
use Mail::SpamAssassin::Message::Metadata;
use Mail::SpamAssassin::Constants qw(:sa);
+use Mail::SpamAssassin::Logger;
use vars qw(@ISA);
Modified: spamassassin/trunk/lib/Mail/SpamAssassin/Message/Metadata.pm
URL: http://svn.apache.org/viewcvs/spamassassin/trunk/lib/Mail/SpamAssassin/Message/Metadata.pm?rev=162095&r1=162094&r2=162095&view=diff
==============================================================================
--- spamassassin/trunk/lib/Mail/SpamAssassin/Message/Metadata.pm (original)
+++ spamassassin/trunk/lib/Mail/SpamAssassin/Message/Metadata.pm Wed Apr 20 17:05:10 2005
@@ -49,9 +49,6 @@
package Mail::SpamAssassin::Message::Metadata;
-# Make the main dbg() accessible in our package w/o an extra function
-*dbg=\&Mail::SpamAssassin::dbg;
-
use strict;
use warnings;
use bytes;
@@ -59,6 +56,7 @@
use Mail::SpamAssassin;
use Mail::SpamAssassin::Constants qw(:sa);
use Mail::SpamAssassin::Message::Metadata::Received;
+use Mail::SpamAssassin::Logger;
=item new()
Modified: spamassassin/trunk/lib/Mail/SpamAssassin/Message/Node.pm
URL: http://svn.apache.org/viewcvs/spamassassin/trunk/lib/Mail/SpamAssassin/Message/Node.pm?rev=162095&r1=162094&r2=162095&view=diff
==============================================================================
--- spamassassin/trunk/lib/Mail/SpamAssassin/Message/Node.pm (original)
+++ spamassassin/trunk/lib/Mail/SpamAssassin/Message/Node.pm Wed Apr 20 17:05:10 2005
@@ -35,9 +35,6 @@
package Mail::SpamAssassin::Message::Node;
-# Make the main dbg() accessible in our package w/o an extra function
-*dbg=\&Mail::SpamAssassin::dbg;
-
use strict;
use warnings;
use bytes;
@@ -45,6 +42,7 @@
use Mail::SpamAssassin;
use Mail::SpamAssassin::Constants qw(:sa);
use Mail::SpamAssassin::HTML;
+use Mail::SpamAssassin::Logger;
=item new()
Modified: spamassassin/trunk/lib/Mail/SpamAssassin/NetSet.pm
URL: http://svn.apache.org/viewcvs/spamassassin/trunk/lib/Mail/SpamAssassin/NetSet.pm?rev=162095&r1=162094&r2=162095&view=diff
==============================================================================
--- spamassassin/trunk/lib/Mail/SpamAssassin/NetSet.pm (original)
+++ spamassassin/trunk/lib/Mail/SpamAssassin/NetSet.pm Wed Apr 20 17:05:10 2005
@@ -17,14 +17,12 @@
package Mail::SpamAssassin::NetSet;
-# Make the main dbg() accessible in our package w/o an extra function
-*dbg=\&Mail::SpamAssassin::dbg;
-
use strict;
use warnings;
use bytes;
use Mail::SpamAssassin::Util;
+use Mail::SpamAssassin::Logger;
use vars qw{
@ISA $TESTCODE $NUMTESTS
Modified: spamassassin/trunk/lib/Mail/SpamAssassin/PerMsgLearner.pm
URL: http://svn.apache.org/viewcvs/spamassassin/trunk/lib/Mail/SpamAssassin/PerMsgLearner.pm?rev=162095&r1=162094&r2=162095&view=diff
==============================================================================
--- spamassassin/trunk/lib/Mail/SpamAssassin/PerMsgLearner.pm (original)
+++ spamassassin/trunk/lib/Mail/SpamAssassin/PerMsgLearner.pm Wed Apr 20 17:05:10 2005
@@ -45,9 +45,6 @@
package Mail::SpamAssassin::PerMsgLearner;
-# Make the main dbg() accessible in our package w/o an extra function
-*dbg=\&Mail::SpamAssassin::dbg;
-
use strict;
use warnings;
use bytes;
@@ -55,6 +52,7 @@
use Mail::SpamAssassin;
use Mail::SpamAssassin::PerMsgStatus;
use Mail::SpamAssassin::Bayes;
+use Mail::SpamAssassin::Logger;
use vars qw{
@ISA
Modified: spamassassin/trunk/lib/Mail/SpamAssassin/PerMsgStatus.pm
URL: http://svn.apache.org/viewcvs/spamassassin/trunk/lib/Mail/SpamAssassin/PerMsgStatus.pm?rev=162095&r1=162094&r2=162095&view=diff
==============================================================================
--- spamassassin/trunk/lib/Mail/SpamAssassin/PerMsgStatus.pm (original)
+++ spamassassin/trunk/lib/Mail/SpamAssassin/PerMsgStatus.pm Wed Apr 20 17:05:10 2005
@@ -46,9 +46,6 @@
package Mail::SpamAssassin::PerMsgStatus;
-# Make the main dbg() accessible in our package w/o an extra function
-*dbg=\&Mail::SpamAssassin::dbg;
-
use strict;
use warnings;
use bytes;
@@ -58,6 +55,7 @@
use Mail::SpamAssassin::EvalTests;
use Mail::SpamAssassin::Conf;
use Mail::SpamAssassin::Util;
+use Mail::SpamAssassin::Logger;
use vars qw{
@ISA
@@ -98,7 +96,7 @@
}
delete $self->{should_log_rule_hits};
- my $dbgcache = Mail::SpamAssassin::dbg_check('rules');
+ my $dbgcache = would_log('dbg', 'rules');
if ($dbgcache || $self->{save_pattern_hits}) {
$self->{should_log_rule_hits} = 1;
}
@@ -1942,7 +1940,7 @@
$self->{parsed_uri_list} = \@uris;
# list out the URLs for debugging ...
- if (Mail::SpamAssassin::dbg_check('uri')) {
+ if (would_log('dbg', 'uri')) {
foreach my $nuri (@uris) {
dbg("uri: parsed uri found: $nuri");
}
@@ -2366,7 +2364,7 @@
my ($self, $evalhash, $prepend2desc, @extraevalargs) = @_;
local ($_);
- my $debugenabled = Mail::SpamAssassin::dbg_check();
+ my $debugenabled = would_log('dbg');
my $scoreset = $self->{conf}->get_score_set();
while (my ($rulename, $test) = each %{$evalhash}) {
Modified: spamassassin/trunk/lib/Mail/SpamAssassin/Plugin.pm
URL: http://svn.apache.org/viewcvs/spamassassin/trunk/lib/Mail/SpamAssassin/Plugin.pm?rev=162095&r1=162094&r2=162095&view=diff
==============================================================================
--- spamassassin/trunk/lib/Mail/SpamAssassin/Plugin.pm (original)
+++ spamassassin/trunk/lib/Mail/SpamAssassin/Plugin.pm Wed Apr 20 17:05:10 2005
@@ -94,11 +94,8 @@
package Mail::SpamAssassin::Plugin;
-# Make the main dbg() accessible in our package w/o an extra function
-*dbg=\&Mail::SpamAssassin::dbg;
-*info=\&Mail::SpamAssassin::info;
-
use Mail::SpamAssassin;
+use Mail::SpamAssassin::Logger;
use strict;
use warnings;
Modified: spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/AWL.pm
URL: http://svn.apache.org/viewcvs/spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/AWL.pm?rev=162095&r1=162094&r2=162095&view=diff
==============================================================================
--- spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/AWL.pm (original)
+++ spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/AWL.pm Wed Apr 20 17:05:10 2005
@@ -57,14 +57,12 @@
package Mail::SpamAssassin::Plugin::AWL;
-# Make the main dbg() accessible in our package w/o an extra function
-*dbg=\&Mail::SpamAssassin::Plugin::dbg;
-
use strict;
use warnings;
use bytes;
use Mail::SpamAssassin::Plugin;
use Mail::SpamAssassin::AutoWhitelist;
+use Mail::SpamAssassin::Logger;
use vars qw(@ISA);
@ISA = qw(Mail::SpamAssassin::Plugin);
Modified: spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/AutoLearnThreshold.pm
URL: http://svn.apache.org/viewcvs/spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/AutoLearnThreshold.pm?rev=162095&r1=162094&r2=162095&view=diff
==============================================================================
--- spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/AutoLearnThreshold.pm (original)
+++ spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/AutoLearnThreshold.pm Wed Apr 20 17:05:10 2005
@@ -50,10 +50,8 @@
package Mail::SpamAssassin::Plugin::AutoLearnThreshold;
-# Make the main dbg() accessible in our package w/o an extra function
-*dbg=\&Mail::SpamAssassin::Plugin::dbg;
-
use Mail::SpamAssassin::Plugin;
+use Mail::SpamAssassin::Logger;
use strict;
use warnings;
use bytes;
Modified: spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/DCC.pm
URL: http://svn.apache.org/viewcvs/spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/DCC.pm?rev=162095&r1=162094&r2=162095&view=diff
==============================================================================
--- spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/DCC.pm (original)
+++ spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/DCC.pm Wed Apr 20 17:05:10 2005
@@ -44,11 +44,8 @@
package Mail::SpamAssassin::Plugin::DCC;
-# Make the main dbg() accessible in our package w/o an extra function
-*dbg=\&Mail::SpamAssassin::Plugin::dbg;
-*info=\&Mail::SpamAssassin::Plugin::info;
-
use Mail::SpamAssassin::Plugin;
+use Mail::SpamAssassin::Logger;
use IO::Socket;
use strict;
use warnings;
Modified: spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/DomainKeys.pm
URL: http://svn.apache.org/viewcvs/spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/DomainKeys.pm?rev=162095&r1=162094&r2=162095&view=diff
==============================================================================
--- spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/DomainKeys.pm (original)
+++ spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/DomainKeys.pm Wed Apr 20 17:05:10 2005
@@ -33,15 +33,13 @@
package Mail::SpamAssassin::Plugin::DomainKeys;
use Mail::SpamAssassin::Plugin;
+use Mail::SpamAssassin::Logger;
use strict;
use warnings;
use bytes;
# Have to do this so that RPM doesn't find these as required perl modules
BEGIN { require Mail::DomainKeys::Message; require Mail::DomainKeys::Policy; }
-
-# Make the main dbg() accessible in our package w/o an extra function
-*dbg=\&Mail::SpamAssassin::Plugin::dbg;
use vars qw(@ISA);
@ISA = qw(Mail::SpamAssassin::Plugin);
Modified: spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/Hashcash.pm
URL: http://svn.apache.org/viewcvs/spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/Hashcash.pm?rev=162095&r1=162094&r2=162095&view=diff
==============================================================================
--- spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/Hashcash.pm (original)
+++ spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/Hashcash.pm Wed Apr 20 17:05:10 2005
@@ -80,10 +80,8 @@
package Mail::SpamAssassin::Plugin::Hashcash;
-# Make the main dbg() accessible in our package w/o an extra function
-*dbg=\&Mail::SpamAssassin::Plugin::dbg;
-
use Mail::SpamAssassin::Plugin;
+use Mail::SpamAssassin::Logger;
use Digest::SHA1 qw(sha1);
use Fcntl;
use File::Path;
Modified: spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/MIMEHeader.pm
URL: http://svn.apache.org/viewcvs/spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/MIMEHeader.pm?rev=162095&r1=162094&r2=162095&view=diff
==============================================================================
--- spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/MIMEHeader.pm (original)
+++ spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/MIMEHeader.pm Wed Apr 20 17:05:10 2005
@@ -54,11 +54,9 @@
package Mail::SpamAssassin::Plugin::MIMEHeader;
-# Make the main dbg() accessible in our package w/o an extra function
-*dbg=\&Mail::SpamAssassin::Plugin::dbg;
-
use Mail::SpamAssassin::Plugin;
use Mail::SpamAssassin::Conf;
+use Mail::SpamAssassin::Logger;
use strict;
use warnings;
use bytes;
Modified: spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/NetCache.pm
URL: http://svn.apache.org/viewcvs/spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/NetCache.pm?rev=162095&r1=162094&r2=162095&view=diff
==============================================================================
--- spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/NetCache.pm (original)
+++ spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/NetCache.pm Wed Apr 20 17:05:10 2005
@@ -41,11 +41,9 @@
package Mail::SpamAssassin::Plugin::NetCache;
-# Make the main dbg() accessible in our package w/o an extra function
-*dbg=\&Mail::SpamAssassin::Plugin::dbg;
-
use Mail::SpamAssassin::Plugin;
use Mail::SpamAssassin::Util;
+use Mail::SpamAssassin::Logger;
use strict;
use warnings;
use bytes;
Modified: spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/Pyzor.pm
URL: http://svn.apache.org/viewcvs/spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/Pyzor.pm?rev=162095&r1=162094&r2=162095&view=diff
==============================================================================
--- spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/Pyzor.pm (original)
+++ spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/Pyzor.pm Wed Apr 20 17:05:10 2005
@@ -35,11 +35,8 @@
package Mail::SpamAssassin::Plugin::Pyzor;
-# Make the main dbg() accessible in our package w/o an extra function
-*dbg=\&Mail::SpamAssassin::Plugin::dbg;
-*info=\&Mail::SpamAssassin::Plugin::info;
-
use Mail::SpamAssassin::Plugin;
+use Mail::SpamAssassin::Logger;
use strict;
use warnings;
use bytes;
Modified: spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/Razor2.pm
URL: http://svn.apache.org/viewcvs/spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/Razor2.pm?rev=162095&r1=162094&r2=162095&view=diff
==============================================================================
--- spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/Razor2.pm (original)
+++ spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/Razor2.pm Wed Apr 20 17:05:10 2005
@@ -42,11 +42,8 @@
package Mail::SpamAssassin::Plugin::Razor2;
-# Make the main dbg() accessible in our package w/o an extra function
-*dbg=\&Mail::SpamAssassin::Plugin::dbg;
-*info=\&Mail::SpamAssassin::Plugin::info;
-
use Mail::SpamAssassin::Plugin;
+use Mail::SpamAssassin::Logger;
use strict;
use warnings;
use bytes;
@@ -138,7 +135,7 @@
my $debug = $type eq 'check' ? 'razor2' : 'reporter';
# razor also debugs to stdout. argh. fix it to stderr...
- if (Mail::SpamAssassin::dbg_check($debug)) {
+ if (would_log('dbg', $debug)) {
open(OLDOUT, ">&STDOUT");
open(STDOUT, ">&STDERR");
}
@@ -157,7 +154,7 @@
if ($rc) {
$rc->{opt} = {
- debug => Mail::SpamAssassin::dbg_check('+razor2'),
+ debug => (would_log('dbg', $debug) > 1),
foreground => 1,
config => $self->{main}->{conf}->{razor_config}
};
@@ -327,7 +324,7 @@
Mail::SpamAssassin::PerMsgStatus::leave_helper_run_mode($self);
# razor also debugs to stdout. argh. fix it to stderr...
- if (Mail::SpamAssassin::dbg_check($debug)) {
+ if (would_log('dbg', $debug)) {
open(STDOUT, ">&OLDOUT");
close OLDOUT;
}
Modified: spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/RelayCountry.pm
URL: http://svn.apache.org/viewcvs/spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/RelayCountry.pm?rev=162095&r1=162094&r2=162095&view=diff
==============================================================================
--- spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/RelayCountry.pm (original)
+++ spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/RelayCountry.pm Wed Apr 20 17:05:10 2005
@@ -36,10 +36,8 @@
package Mail::SpamAssassin::Plugin::RelayCountry;
-# Make the main dbg() accessible in our package w/o an extra function
-*dbg=\&Mail::SpamAssassin::Plugin::dbg;
-
use Mail::SpamAssassin::Plugin;
+use Mail::SpamAssassin::Logger;
use strict;
use warnings;
use bytes;
Modified: spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/ReplaceTags.pm
URL: http://svn.apache.org/viewcvs/spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/ReplaceTags.pm?rev=162095&r1=162094&r2=162095&view=diff
==============================================================================
--- spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/ReplaceTags.pm (original)
+++ spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/ReplaceTags.pm Wed Apr 20 17:05:10 2005
@@ -48,12 +48,9 @@
package Mail::SpamAssassin::Plugin::ReplaceTags;
-# Make the main dbg() accessible in our package w/o an extra function
-*dbg=\&Mail::SpamAssassin::Plugin::dbg;
-*info=\&Mail::SpamAssassin::Plugin::info;
-
use Mail::SpamAssassin;
use Mail::SpamAssassin::Plugin;
+use Mail::SpamAssassin::Logger;
use strict;
use warnings;
@@ -90,7 +87,7 @@
# skip if not listed by replace_rules
next unless $opts->{conf}->{rules_to_replace}{$rule};
- if (Mail::SpamAssassin::dbg_check('+replacetags')) {
+ if (would_log('dbg', 'replacetags') > 1) {
dbg("replacetags: replacing $rule: $re");
}
@@ -136,7 +133,7 @@
# do the actual replacement
$opts->{conf}->{$type}->{$priority}->{$rule} = $re;
- if (Mail::SpamAssassin::dbg_check('+replacetags')) {
+ if (would_log('dbg', 'replacetags') > 1) {
dbg("replacetags: replaced $rule: $re");
}
}
Modified: spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/SPF.pm
URL: http://svn.apache.org/viewcvs/spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/SPF.pm?rev=162095&r1=162094&r2=162095&view=diff
==============================================================================
--- spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/SPF.pm (original)
+++ spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/SPF.pm Wed Apr 20 17:05:10 2005
@@ -32,10 +32,8 @@
package Mail::SpamAssassin::Plugin::SPF;
-# Make the main dbg() accessible in our package w/o an extra function
-*dbg=\&Mail::SpamAssassin::Plugin::dbg;
-
use Mail::SpamAssassin::Plugin;
+use Mail::SpamAssassin::Logger;
use strict;
use warnings;
use bytes;
@@ -281,7 +279,7 @@
$query = Mail::SPF::Query->new (ip => $ip,
sender => $scanner->{sender},
helo => $helo,
- debug => Mail::SpamAssassin::dbg_check('+rbl'),
+ debug => 0,
trusted => 0);
};
Modified: spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/SpamCop.pm
URL: http://svn.apache.org/viewcvs/spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/SpamCop.pm?rev=162095&r1=162094&r2=162095&view=diff
==============================================================================
--- spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/SpamCop.pm (original)
+++ spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/SpamCop.pm Wed Apr 20 17:05:10 2005
@@ -42,11 +42,8 @@
package Mail::SpamAssassin::Plugin::SpamCop;
-# Make the main dbg() accessible in our package w/o an extra function
-*dbg=\&Mail::SpamAssassin::Plugin::dbg;
-*info=\&Mail::SpamAssassin::Plugin::info;
-
use Mail::SpamAssassin::Plugin;
+use Mail::SpamAssassin::Logger;
use IO::Socket;
use strict;
use warnings;
Modified: spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/TextCat.pm
URL: http://svn.apache.org/viewcvs/spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/TextCat.pm?rev=162095&r1=162094&r2=162095&view=diff
==============================================================================
--- spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/TextCat.pm (original)
+++ spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/TextCat.pm Wed Apr 20 17:05:10 2005
@@ -43,11 +43,8 @@
package Mail::SpamAssassin::Plugin::TextCat;
-# Make the main dbg() accessible in our package w/o an extra function
-*dbg=\&Mail::SpamAssassin::Plugin::dbg;
-*info=\&Mail::SpamAssassin::Plugin::info;
-
use Mail::SpamAssassin::Plugin;
+use Mail::SpamAssassin::Logger;
use strict;
use warnings;
use bytes;
Modified: spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/URIDNSBL.pm
URL: http://svn.apache.org/viewcvs/spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/URIDNSBL.pm?rev=162095&r1=162094&r2=162095&view=diff
==============================================================================
--- spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/URIDNSBL.pm (original)
+++ spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/URIDNSBL.pm Wed Apr 20 17:05:10 2005
@@ -110,12 +110,10 @@
package Mail::SpamAssassin::Plugin::URIDNSBL;
-# Make the main dbg() accessible in our package w/o an extra function
-*dbg=\&Mail::SpamAssassin::Plugin::dbg;
-
use Mail::SpamAssassin::Plugin;
use Mail::SpamAssassin::Constants qw(:ip);
use Mail::SpamAssassin::Util;
+use Mail::SpamAssassin::Logger;
use strict;
use warnings;
use bytes;
Modified: spamassassin/trunk/lib/Mail/SpamAssassin/PluginHandler.pm
URL: http://svn.apache.org/viewcvs/spamassassin/trunk/lib/Mail/SpamAssassin/PluginHandler.pm?rev=162095&r1=162094&r2=162095&view=diff
==============================================================================
--- spamassassin/trunk/lib/Mail/SpamAssassin/PluginHandler.pm (original)
+++ spamassassin/trunk/lib/Mail/SpamAssassin/PluginHandler.pm Wed Apr 20 17:05:10 2005
@@ -22,12 +22,10 @@
package Mail::SpamAssassin::PluginHandler;
-# Make the main dbg() accessible in our package w/o an extra function
-*dbg=\&Mail::SpamAssassin::dbg;
-
use Mail::SpamAssassin;
use Mail::SpamAssassin::Plugin;
use Mail::SpamAssassin::Util;
+use Mail::SpamAssassin::Logger;
use strict;
use warnings;
Modified: spamassassin/trunk/lib/Mail/SpamAssassin/Reporter.pm
URL: http://svn.apache.org/viewcvs/spamassassin/trunk/lib/Mail/SpamAssassin/Reporter.pm?rev=162095&r1=162094&r2=162095&view=diff
==============================================================================
--- spamassassin/trunk/lib/Mail/SpamAssassin/Reporter.pm (original)
+++ spamassassin/trunk/lib/Mail/SpamAssassin/Reporter.pm Wed Apr 20 17:05:10 2005
@@ -18,14 +18,12 @@
package Mail::SpamAssassin::Reporter;
-# Make the main dbg() accessible in our package w/o an extra function
-*dbg=\&Mail::SpamAssassin::dbg;
-
use strict;
use warnings;
use bytes;
use Carp;
use POSIX ":sys_wait_h";
+use Mail::SpamAssassin::Logger;
use vars qw{
@ISA $VERSION
Modified: spamassassin/trunk/lib/Mail/SpamAssassin/SQLBasedAddrList.pm
URL: http://svn.apache.org/viewcvs/spamassassin/trunk/lib/Mail/SpamAssassin/SQLBasedAddrList.pm?rev=162095&r1=162094&r2=162095&view=diff
==============================================================================
--- spamassassin/trunk/lib/Mail/SpamAssassin/SQLBasedAddrList.pm (original)
+++ spamassassin/trunk/lib/Mail/SpamAssassin/SQLBasedAddrList.pm Wed Apr 20 17:05:10 2005
@@ -71,9 +71,6 @@
package Mail::SpamAssassin::SQLBasedAddrList;
-# Make the main dbg() accessible in our package w/o an extra function
-*dbg=\&Mail::SpamAssassin::dbg;
-
use strict;
use warnings;
use bytes;
@@ -82,6 +79,7 @@
BEGIN { require DBI; import DBI; }
use Mail::SpamAssassin::PersistentAddrList;
+use Mail::SpamAssassin::Logger;
use vars qw(@ISA);
Modified: spamassassin/trunk/lib/Mail/SpamAssassin/SpamdForkScaling.pm
URL: http://svn.apache.org/viewcvs/spamassassin/trunk/lib/Mail/SpamAssassin/SpamdForkScaling.pm?rev=162095&r1=162094&r2=162095&view=diff
==============================================================================
--- spamassassin/trunk/lib/Mail/SpamAssassin/SpamdForkScaling.pm (original)
+++ spamassassin/trunk/lib/Mail/SpamAssassin/SpamdForkScaling.pm Wed Apr 20 17:05:10 2005
@@ -18,13 +18,12 @@
package Mail::SpamAssassin::SpamdForkScaling;
-*dbg=\&Mail::SpamAssassin::dbg;
-
use strict;
use warnings;
use bytes;
use Mail::SpamAssassin::Util;
+use Mail::SpamAssassin::Logger;
use vars qw {
@PFSTATE_VARS %EXPORT_TAGS @EXPORT_OK
Modified: spamassassin/trunk/lib/Mail/SpamAssassin/Util.pm
URL: http://svn.apache.org/viewcvs/spamassassin/trunk/lib/Mail/SpamAssassin/Util.pm?rev=162095&r1=162094&r2=162095&view=diff
==============================================================================
--- spamassassin/trunk/lib/Mail/SpamAssassin/Util.pm (original)
+++ spamassassin/trunk/lib/Mail/SpamAssassin/Util.pm Wed Apr 20 17:05:10 2005
@@ -20,12 +20,11 @@
package Mail::SpamAssassin::Util;
-# Make the main dbg() accessible in our package w/o an extra function
-*dbg=\&Mail::SpamAssassin::dbg;
-
use strict;
use warnings;
use bytes;
+
+use Mail::SpamAssassin::Logger;
use vars qw (
@ISA @EXPORT
Modified: spamassassin/trunk/masses/mass-check
URL: http://svn.apache.org/viewcvs/spamassassin/trunk/masses/mass-check?rev=162095&r1=162094&r2=162095&view=diff
==============================================================================
--- spamassassin/trunk/masses/mass-check (original)
+++ spamassassin/trunk/masses/mass-check Wed Apr 20 17:05:10 2005
@@ -98,6 +98,7 @@
eval "use bytes";
use Mail::SpamAssassin::ArchiveIterator;
use Mail::SpamAssassin;
+use Mail::SpamAssassin::Logger;
use File::Copy;
use Getopt::Long;
use POSIX qw(strftime);
@@ -141,6 +142,11 @@
usage(1) if !@targets;
$opt_debug ||= 'all' if defined $opt_debug;
+
+Mail::SpamAssassin::Logger::add(method => 'syslog',
+ ident => 'mass-check',
+ socket => 'unix',
+ facility => 'mail');
my $user_prefs = "$opt_p/user_prefs";
# generated user_prefs
Modified: spamassassin/trunk/spamassassin.raw
URL: http://svn.apache.org/viewcvs/spamassassin/trunk/spamassassin.raw?rev=162095&r1=162094&r2=162095&view=diff
==============================================================================
--- spamassassin/trunk/spamassassin.raw (original)
+++ spamassassin/trunk/spamassassin.raw Wed Apr 20 17:05:10 2005
@@ -28,7 +28,10 @@
use lib '@@INSTALLSITELIB@@'; # substituted at 'make' time
BEGIN {
-
+ # redirect __WARN__ and __DIE__
+ $SIG{__WARN__} = sub {
+ log_message("warn", $_[0]);
+ };
# Locate locally installed SA libraries *without* using FindBin, which
# generates warnings and causes more trouble than its worth. We don't
# need to be too smart about this BTW.
@@ -341,13 +344,6 @@
# Ok, exit!
exit( $exitvalue || 0 );
-
-###########################################################################
-
-# this is never called, it's just used to shut up the warnings
-sub NEVERCALLED {
- $Mail::SpamAssassin::DEBUG = 0;
-}
###########################################################################