From 48d614dae214326305879ac572d8c5f0a6150f99 Mon Sep 17 00:00:00 2001 From: minima Date: Fri, 24 Aug 2001 22:04:12 +0000 Subject: [PATCH] allow someone to reject msgs from an interface call --- Changes | 2 ++ msg/badmsg.pl.issue | 4 ++-- perl/DXMsg.pm | 6 ++++-- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/Changes b/Changes index 862bb961..ea6a1c7a 100644 --- a/Changes +++ b/Changes @@ -1,3 +1,5 @@ +24Aug01======================================================================= +1. Allow badmsg to reject on interface callsign ('I') 20Aug01======================================================================= 1. protect against PC41s with field[3] == field[2] 2. Redo Julian stuff as proper objects diff --git a/msg/badmsg.pl.issue b/msg/badmsg.pl.issue index 3b13e3bf..2e127c8c 100644 --- a/msg/badmsg.pl.issue +++ b/msg/badmsg.pl.issue @@ -7,10 +7,10 @@ # The format of each line is as follows # # type source pattern -# P/B/F T/F/O/S regex +# P/B/F T/F/O/S/I regex # # type: P - private, B - bulletin (msg), F - file (ak1a bull) -# source: T - to field, F - from field, O - origin, S - subject +# source: T - to field, F - from field, O - origin, S - subject, I - interface call # pattern: a perl regex on the field requested # # Currently only type B and P msgs are affected by this code. diff --git a/perl/DXMsg.pm b/perl/DXMsg.pm index f136b16e..f3c2172c 100644 --- a/perl/DXMsg.pm +++ b/perl/DXMsg.pm @@ -284,7 +284,7 @@ sub process $ref->swop_it($self->call); # look for 'bad' to addresses - if ($ref->dump_it) { + if ($ref->dump_it($self->call)) { $ref->stop_msg($self->call); dbg("'Bad' message $ref->{to}") if isdbg('msg'); Log('msg', "'Bad' message $ref->{to}"); @@ -777,7 +777,7 @@ sub init } # delete any messages to 'badmsg.pl' places - if ($ref->dump_it) { + if ($ref->dump_it('')) { dbg("'Bad' TO address $ref->{to}") if isdbg('msg'); Log('msg', "'Bad' TO address $ref->{to}"); $ref->del_msg; @@ -992,6 +992,7 @@ sub forward_it sub dump_it { my $ref = shift; + my $call = shift; my $i; for ($i = 0; $i < @badmsg; $i += 3) { @@ -1007,6 +1008,7 @@ sub dump_it $tested = $ref->{from} if $field eq 'F'; $tested = $ref->{origin} if $field eq 'O'; $tested = $ref->{subject} if $field eq 'S'; + $tested = $call if $field eq 'I'; if (!$pattern || $tested =~ m{$pattern}i) { return 1; -- 2.34.1