[Dxspider-support] filters

Dirk Koopman djk at tobit.co.uk
Thu Feb 24 00:33:21 GMT 2000


On 23-Feb-2000 Steven Franke wrote:
> How about allowing for filtering based on the callsign of the _node_ that 
> the spot originated from. Looking at the format of the PC11 protocol
> messages, I see that the node callsign comes along with the spot. With the
> "power of perl", it'd be easy to write a script to analyze
> the spot database from a contest weekend and determine which nodes are
> supplying the bulk of the unwanted spots.  

Can I just remind people of what is currently possible:-

1) It is possible for a sysop to define one or more filters using the
existing filter scheme, any of which can be assigned to a callsign by
symlinking it to the users callsign in the /spider/filter/spots directory as
<callsign>.pl (with the callsign in upper or lower case).

2) It is currently possible for you to filter spots on the following fields:-

   0 = frequency
   1 = dx call
   2 = date in unix format
   3 = comment
   4 = spotter
   5 = origin (the original node on which was generated [allegedly])
   6 = spotted dxcc country
   7 = spotted itu
   8 = spotted cq
   9 = spotter's dxcc country
   10 = spotter's itu
   11 = spotter's cq
   12 = incoming spot's interface callsign 

3) At the moment you have a linear filter where each rule can test one of 
these quantities in various ways and either accept this spot or reject it. In
either case if a filter line matches, the filter stops and returns. If the
filter line DOESN'T match then it tries the next rule. It follows that order
is important.

4) Fields 0-5 are contained in the spot. Fields 6-12 are provided by the
system.

5) The filter only affects outgoing spots, all spots accepted into the spots
database and stored.

6) you can place a filter on either nodes or users. It will only begin to
have an effect on the next login.

7) If a node is isolated, the ONLY way of propagating spots FROM that
callsign is to have a filter active on all outgoing nodes that want that
isolated node's spots. If you want to propagate incoming spots from other
nodes TO that isolated node, you need a filter for that node. 

8) All spots FROM any node will be displayed locally (unless users have
filters saying not), but not otherwise propagated. There are ways round this
but they involve using the "Local.pm" arrangement and writing a small
quantity of perl to call the filter subroutine and deal appropriately with
the result.

9) Also in "Local.pm" you can put a line along the lines of:-

  @DXProt::nodx_node = qw(GB7DJK GB7BAA K1XX);

which will drop any incoming spots which originate from any of those
callsign. If you would like that as a command one of you could clone one of
the /spider/cmd/set/.. and /spider/cmd/unset/.. commands, call it something
suitable and update the above variable in realtime (I could do it as well,
but then I would call it the wrong thing and.. and..).

There is a similar filter system available to control incoming and outgoing
announces and outgoing wwv's. Similar rules for isolation also apply.

Dirk G1TLH
-- 
Dirk-Jan Koopman, Tobit Computer Co Ltd 
At the source of every error which is blamed on the computer you will find
at least two human errors, including the error of blaming it on the computer.







More information about the Dxspider-support mailing list