Dirk Koopman [Mon, 3 Jan 2022 13:17:16 +0000 (13:17 +0000)]
prevent PC92 A/C changing our $my(alias|call)
It appears that some nodes are getting knickers in a twist in their
routing tables and causing routes and thus $my(alias|call) file types to
change. Prevent this from happening.
Dirk Koopman [Sun, 12 Dec 2021 21:29:10 +0000 (21:29 +0000)]
Git and Version string changes
1. Removed dependency on perl Git package.
2. Force code to change directory to $DXSPIDER_ROOT || '/spider'. Also force
git -C $root describe.
3. Change git commands AGAIN to work on old perls (which mojo won't work on,
but it makes my life easier).
4. Change version strings to include the perl version in use.
Dirk Koopman [Mon, 6 Dec 2021 14:33:55 +0000 (14:33 +0000)]
fix usdb, console.pl, sh/dx /p and sh/register
06Nov21=======================================================================
1. Improve console.pl scrolling. Split long lines (eg on announcements.
04Nov21=======================================================================
1. Fix illogicalities in USDB creations and make sure that O_CREAT on tie does
NOT encounter an existing file to barf about. Even though it shouldn't.
Thanks Howard WB3FFV.
2. Fixed a typo in show/registered that prevents a list of callsigns being
searched for. Got rid of some over complex code. Thnake Fabrizio iZ0UIN.
3. Fix long line wrapping in console.pl
03Nov21=======================================================================
1. Move motd and issue files to local_data if not already there.
30Nov21=======================================================================
1. Fix sh/dx with callsigns that have /p or VE/G1TLH in them.
2. Add unset/ak1a, unset/arcluster aliases and some minimal help for UNSET/
SPIDER, NODE, ARCLUSTER, AKIA and also SET/USER.
Dirk Koopman [Mon, 15 Nov 2021 10:20:20 +0000 (10:20 +0000)]
don't fork sh/dx on simple query
If the query does not contain an "expression" (or even just a
callsign and is garanteed to be satified by the cache - if it is
enabled - then do not fork / run as a sub command.
So 'sh/dx', 'sh/mydx' with or without a count will be run from
the cache - if it is enabled.
Dirk Koopman [Mon, 15 Mar 2021 13:50:24 +0000 (13:50 +0000)]
fix localdata(), add CTY 3105 prefixes
It appears that DXUtil::localdata had the mod time test the wrong
way around (how was this not noticed before???). That has been
fixed and the variable names make what is happening a bit more
obvious.
Dirk Koopman [Fri, 5 Mar 2021 09:41:06 +0000 (09:41 +0000)]
fix DXCron, lockout and close_gracefully
1. Fix DXCron::spawn_cmd so that more than one spawn_cmd can be active at a
time. This affects many nodes where lots of regular spawn_cmds happen at
a time and this prevented crucial things like 'start_connect' from working!
2. Sort user lockout issues to cope with all likely scenarios - including
"phantom" SSID working.
3. Fix "close_gracefully" error messages which are useless, but benign. These
happen (mainly) when outgoing connects timeout.
Dirk Koopman [Wed, 24 Feb 2021 09:18:01 +0000 (09:18 +0000)]
modify RBN timing arrangements
There are two new twiddle pots:
$limbotime (default 5*60 secs) which allows potential spots to
hang around longer to allow $minqual *different* skimmers to spot
them. At which point they are emitted. This is to catch the "slow
burning" spots where a call is spotted by different skimmers but
separated in time by more than $dwelltime - in fact maybe by
minutes.
$maxqual (default 9 skimmers) which short circuits the normal
hard maximum $quality (9 skimmer spots) and $dwelltime (10secs)
to allow a spot that has $maxqual *different* skimmers (usually
as the result of a burst from the RBN) to defeat $dwelltime and
be emitted the moment that condition is satisfied. There maybe
a better name for this.
As Changes says:
1, Change interface to watchdbg & grepdbg slightly so that multiple search
regexes are ANDed rather than ORed together. ORing is easily achieved
already by the usual regex pattern 'PATT..|PATT..|..' whereas ANDing could
not be done as easily without resorting lots of 'PATT.*PATH' things which
would not necessarily get what was wanted.
2. Make sure that the pc92 C record only contains nodes and users and not
other extranoeus things like skimmers...
Dirk Koopman [Fri, 14 Aug 2020 13:33:19 +0000 (14:33 +0100)]
fix missing fields in rbn_cache, add timings
set/debug rbntimer will show how long a queue takes to process (remember
that this includes sending data out to users).
set/debug rbnskim shows the process of determining the "one true frequency" of
a spot, by running a weighed "auction" of all the spotters's performance
in previous "auctions". A spotter's frequency "score" can be between 5 and -5
(good -> bad) and that is added to each version of the frequency that is
sent by the RBN. The frequency with the highest score is the one posted.
It is the 'QRGScore' in the "progress" spot message.
1. Add show/rbn command that allows one to see who is online and configured
for RBN. See help sh/rbn for details.
2. Fixed issue with set/ve7cc mode adding unwanted newlines to output.
3. Attempted to make the QRG normalisation more "intelligent". This would be
sooooooooo much easier if skimmers were calibrated more accurately.
4. Added CTY-3012 prefixes.
Filter has changed so that it is now a "simple" transliteration
into perl expressions and relies on perl to do what is required
It is quitely that some more work will be required for error
handling, but the I no longer attempt to do any bracket handling
and leave that up to perl. This means that brackets are fully
working (as opposed to NOT working at all).
Regexes are now robustly translated where necessary. In order to
do this I have ditched Data Dumper because it did not seem to cope
with the regex translations correctly. '\s' would seem have been
translated to '\\s' and not what the regex actually said. So I
have changed the file format to JSON. As this is now the 3rd or
4th JSON change I have made, I have created a "standard" encode and
decode in DXJSON.pm and retrofitted it to all the other places
which had their own purpose built one. DXJSON.pm is just a very
light shim over the standard one.
The RBN changes are:
1. don't short-circuit the zone iteration by a filter firing.
2. make sure that filtering and not filtering work identically
3. Add constants to the caches records to make it more obvious
what is going on.
This only happens if it catches a character during the idle loop
which is the only way to catch Curses RESIZE signal. But a stray
"normal" character might get through as well.