X-Git-Url: http://dxcluster.net/gitweb/gitweb.cgi?a=blobdiff_plain;f=perl%2FDXMsg.pm;h=e6662b59472fce0d46e8496235f3c52f271133e4;hb=ab811a0c902225075a9bd69749f65594079433a9;hp=b25b70a5b704c57f02ba863d88ca406a6bbdf651;hpb=dce19df96e5dab964cd89cab9c33af470d824109;p=spider.git diff --git a/perl/DXMsg.pm b/perl/DXMsg.pm index b25b70a5..e6662b59 100644 --- a/perl/DXMsg.pm +++ b/perl/DXMsg.pm @@ -4,7 +4,7 @@ # # Copyright (c) 1998 Dirk Koopman G1TLH # -# $Id$ +# # # # Notes for implementors:- @@ -32,12 +32,6 @@ eval { use strict; -use vars qw($VERSION $BRANCH); -$VERSION = sprintf( "%d.%03d", q$Revision$ =~ /(\d+)\.(\d+)/ ); -$BRANCH = sprintf( "%d.%03d", q$Revision$ =~ /\d+\.\d+\.(\d+)\.(\d+)/ || (0,0)); -$main::build += $VERSION; -$main::branch += $BRANCH; - use vars qw(%work @msg $msgdir %valid %busy $maxage $last_clean $residencetime @badmsg @swop $swopfn $badmsgfn $forwardfn @forward $timeout $waittime $email_server $email_prog $email_from @@ -130,7 +124,7 @@ sub alloc $self->{gotit} = []; # $self->{lastt} = $main::systime; $self->{lines} = []; - $self->{private} = 1 if $bulltopriv && DXUser->get_current($self->{to}); + $self->{private} = 1 if $bulltopriv && DXUser::get_current($self->{to}); return $self; } @@ -206,7 +200,7 @@ sub handle_28 $ref->{lastt} = $main::systime; # look to see whether this is a non private message sent to a known callsign - my $uref = DXUser->get_current($ref->{to}); + my $uref = DXUser::get_current($ref->{to}); if (is_callsign($ref->{to}) && !$ref->{private} && $uref && $uref->homenode) { $ref->{private} = 1; dbg("set bull to $ref->{to} to private") if isdbg('msg'); @@ -346,17 +340,21 @@ sub handle_32 } # check the message for bad words + my @bad; my @words; + @bad = BadWords::check($ref->{subject}); + push @words, [$ref->{subject}, @bad] if @bad; for (@{$ref->{lines}}) { - push @words, BadWords::check($_); + @bad = BadWords::check($_); + push @words, [$_, @bad] if @bad; } - push @words, BadWords::check($ref->{subject}); if (@words) { - dbg("$ref->{from} swore: '@words' -> $ref->{to} '$ref->{subject}' origin: $ref->{origin} via " . $dxchan->call) if isdbg('msg'); - Log('msg',"$ref->{from} swore: '@words' -> $ref->{to} origin: $ref->{origin} via " . $dxchan->call); - Log('msg',"subject: $ref->{subject}"); - for (@{$ref->{lines}}) { - Log('msg', "line: $_"); + LogDbg('msg',"$ref->{from} swore: $ref->{to} origin: $ref->{origin} via " . $dxchan->call); + LogDbg('msg',"subject: $ref->{subject}"); + for (@words) { + my $r = $_; + my $line = shift @$r; + LogDbg('msg', "line: $line (using words: ". join(',', @$r).")"); } $ref->stop_msg($fromnode); return; @@ -478,7 +476,7 @@ sub notify { my $ref = shift; my $to = $ref->{to}; - my $uref = DXUser->get_current($to); + my $uref = DXUser::get_current($to); my $dxchan = DXChannel::get($to); if (((*Net::SMTP && $email_server) || $email_prog) && $uref && $uref->wantemail) { my $email = $uref->email; @@ -1109,7 +1107,7 @@ sub do_send_stuff $ref->notify; } } else { - Log('msg', $self->call . " swore to @{$loc->{to}} subject: '$loc->{subject}' in msg, REJECTED"); + LogDbg('msg', $self->call . " swore to @{$loc->{to}} subject: '$loc->{subject}' in msg, REJECTED"); } delete $loc->{lines};