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.
Including removing the 80-1 limit on local connections, fixing the
scrolling and generally tarting console.pl up.
Change dx spot RBN format to "traditional" '-#' format.
Historically there has been an issue with line endings in console.pl
which meant that the spot line (for instance) had to be 1 character
less than the window width (e.g. 79 chars in an 80 char window).
This has now FINALLY been fixed.
In the process I have fixed the issues of extra things like
cq/itu/us state/dxgrid strings overwriting or coming out in a
stupid priority. So the priority is now from nearest/smallest
area -> largest wiz: QRA, US State, ITU or CQ zone. So you
can have them all on, but ITU zone will always trump CQ zone.
Dirk Koopman [Tue, 30 Jun 2020 12:33:33 +0000 (13:33 +0100)]
add RBN stats + other fixes
Add some more comprehensive RBN stats (per minute, 10 minutes, hour).
Make the RBN spot cache global and make the inrush preventor code
work only on the first connection to skimmer provider.
Fix the $_isdbg clearing so that non-conditional logging messages
come out with a (*) in watchdbg and not the previous isdbg() sort.
Dirk Koopman [Thu, 25 Jun 2020 14:00:34 +0000 (15:00 +0100)]
various RBN fixes, fix links spacing
Add incoming RBN filtering from the RBN servers.
Use spot filtering if there is no RBN specific filtering.
Fix formatting issues in the 'links' command for isolated and skimmer nodes.
Dirk Koopman [Sun, 31 May 2020 13:49:56 +0000 (14:49 +0100)]
fix sh/dx by call and missing files
Add a basic implimentation of allowing callsigns like PA0/G1TLH
to login as normal users that are completely distinct from their
(apparent) parent callsign. PA0/G1TLH has no connection with
G1TLH despite appearances.