+20Apr24======================================================================
+1. Try to "fix" Spot deduping (again). This is probably Work In Progress...
+2. A new(er) band.pl gratefully received from Andy G4PIQ.
+13Apr24======================================================================
+1. Fix small issue with perl 5.20 (and possibly earlier) compilation.
+27Mar24======================================================================
+1. Fix dupe PC[16]1 (spot) coming in "too fast" for dupe filter to work.
+
+ Probably.
+25Mar24======================================================================
+1. Make talk work. Note: this now works as the mojo branch originally
+ expected - which means that it may (and likely will) flood route talks
+ where the callsign that you want to talk to does not have a route to
+ both the callsign and any nodes that it may be connected to.
+22Mar24======================================================================
+1. Change the processing of trailing callsigns slightly so that /1 /2 etc are
+ retained, but the /P /M /A /MM etc are removed.
+20Mar24======================================================================
+1. Has it really been so long since the last update?
+2. Since forever, mainly because filtering was done very early on in
+ DXSpider's development, clearing a filter needed a disconnect/reconnect
+ cycle from the user/node to activate. Now clearing or changing a filter is
+ immediately effective in the current session.
+
+ Also things like: 'rej/spot user_default on vhf' will immediately apply
+ to all users that do not already have some other filter in place. Users
+ can override this by setting a filter.
+
+ The Filter system will now show the actual token that a faulty command
+ dislikes.
+3. Disable the "is there a route to callsign X3XXX" test in talk. This is a
+ legacy test that should not apply at the user level. The resulting PC93 is
+ flood routed unless there is a genuine direct route to that callsign.
+25Mar23=======================================================================
+1. Changed the default of X and Y (in item 2 below) to 27 and 20 respectively.
+24Mar23=======================================================================
+1. Restore perl regex version of is_ipaddr. This *should* allow windows
+ updates to work again.
+2. Added cmd entry rate limiting. If a user sends X commmands in Y secs then
+ they are disconnected without notice. The defaults are X
+ ($DXCommandmode::maxcmdcount) = 16 and Y ($DXCommandmode::cmdinterval) = 9.
+
+ These can be changed by the startup script.
+
+ These default values are set generously deliberately to allow certain user
+ programs to get with the program and reduce the number of cmds that they
+ issue on connection down to something reasonable. For instance, I cannot
+ see why things like name, qth, lat/long/QRA (amongst several other sticky
+ user attributes that only need to be entered once) are sent on every login.
+
+ These default values WILL reduce over time.
+23Mar23=======================================================================
+1. Fix DXCIDR brokenness introduced recently, speeded up DXCIDR::sort, allow
+ sh/badip 2a05:dfc7:402a::1 45.134.225.96 159.69.38.160 to test individual
+ IP address as well as show the default (of every badip).
+2. Speed up and be more strict with input for is_ipaddr(<ip address>).
+22Mar23=======================================================================
+1. Fix warning in DXUtil::difft.
+21Mar23=======================================================================
+1. Fix DXUtil is_ipaddr function which was accidentally included in previous
+ commit.
+2. Do not extract IP addresses to create routing info as default.
+17Mar23=======================================================================
+1. Try to nail down incoming PC92s that attempt to change the type of $myalias
+ or $mycall.
+2. Do some housekeeping with the startup and finish debugging to make the
+ order of messaging more logical. Also disable some messaging caused by
+ other errors/circumstances causing various object handles disappearing.
+3. Make sure that $mycall and $myalias are upper case (and moan about it if
+ they aren't.
+10Mar23=======================================================================
+1. I am aware that there are windows nodes out there on mojo (brave, impetuous
+ that you are) and wget is not an easy option to download badip files. So,
+ through the power of mojo I give you the new 'download' command. As it
+ stands at the moment, it will download a file from a webserver and place
+ it in /spider/local_data. If it downloads successfully, it will overwrite
+ any file with that name in /spider/local_data. Needless to say this is a
+ sysop only command.
+
+24 * * * * run_cmd('download http://www.dxspider.net/download/badip.torexit')
+24 * * * * run_cmd('download http://www.dxspider.net/download/badip.torrelay')
+24 * * * * run_cmd('download http://www.dxspider.net/download/badip.global')
+25 * * * * run_cmd('load/badip')
+
+ would be an obvious use. But it can also be used to download spot, USDB
+ and other data as well. If you do use it then you will still need to
+ do a spawn_cmd in crontab for the conversion programs, but that too is
+ going to change.
+07Mar23=======================================================================
+1. Fix odd (and old) regression dx command (line ending 59+++) '++' being the
+ culprit.
+2. Allow multiple commands on one line when separated with the 2 character
+ string '\n' (sigh).
+3. Move a few init things about on startup so that more parameters are
+ scriptable.
+4. Put some debug comments before loading various caches (that might take a
+ longgggg time) and then tell people how long each cache load took. This
+ should reduce the worry that something is "wrong" when there is a delay
+ (such as searching for announces).
+06Mar23=======================================================================
+1. Fix filter error reporting, including incrementing concurrent error count
+ if there are actually any detected parse errors.
+2. Fix warnings on difft.
+3. Add the origin of any incoming SP if it is emailed to the recipient.
+4. Oops I accidently restored one path of the node being disconnected that I
+ fixed below (because of changes to filtering).
+04Mar23=======================================================================
+1. Fixed regression caused by too many command errors in (startup) script
+ files. This is caused by much stricter checking of commands entered both
+ by users AND scripts. If there more concurrent errors ie. greater than
+ $DXChannel::maxerrors (default 10) then that user will be disconnected.
+
+ Unfortunately this could include the $mycall (node) channel if there were
+ too many command users in the startup script. The example I looked at had
+ a load of HTML pasted into it.
+
+ For various reasons the only manifestation of this problem was that pings
+ no longer worked.
+
+ This has been fixed. I am grateful to Fulvio HB9DHG for letting me break
+ his node for an hour or so until I worked out what was going on.
+03Mar23=======================================================================
+1. Fix DXDebug::DXDebug not found errors in rarely used functions. This is
+ also an interaction with differing versions of Mojolicious. Clearly this
+ has never happened to me (sigh).
+2. Allow non-privileged users to use ping (no arguments) and get 'PONG nn'
+ where nn is an incrementing counter or if there is an argument it will
+ return 'PONG <argument>' - all in UPPER CASE. See help ping for more
+ details.
+02Mar23=======================================================================
+1. Fix sh/dx/30 problem. I.e. allow old style version of sh/dx 30.
+01Mar23=======================================================================
+1. Revert PC92 A D and PC92 C record flags back to defaults.
+2. Deal with users that send gibberish.
+3. Fix show/425 (default) URL.
+4. Improve Spot deduping.
+28Feb23=======================================================================
+1. Default ip addresses ON in PC92 C records, disable PC92 A D record output.
+2. Add CTY-3308 prefixes.
+3. Fix gen_usdb_data.pl (add missing use DXUtil), update current location of
+ official FCC databases.
+4. Remove the duplicate IP addresses across exits and relays from badip lists
+ during generation by create_master_badip_files.pl.