X-Git-Url: http://dxcluster.net/gitweb/gitweb.cgi?a=blobdiff_plain;f=Changes;h=4161d2ac4a6d34e7b39e04abced9ec2ffcb4900f;hb=refs%2Fheads%2Fmojo;hp=44fe04abba23ec6a248bbbd7399adc6cdab48cd1;hpb=ca5baf12f22e041cb14af595254af4ae88d82ae0;p=spider.git diff --git a/Changes b/Changes index 44fe04ab..4161d2ac 100644 --- a/Changes +++ b/Changes @@ -1,3 +1,241 @@ +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(). +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 ' - 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. +14Feb23======================================================================= +1. Attempt to be more M$ Windows compatible. This basically is to do with the + unfortunate fact that most of the Windows perl cannot do, or simulate + spawning (running another process in parallel) and/or Mojolicious cannot + handle coping with one or more versions of these simulations. + + I don't have a windows perl available to me at moment so I can only + simulate running under windows by setting a variable. + + You need to know that running any version of DXSpider on Windows will do + all long running commands in line. Much as the 'master' branch does. So + running large nodes on Windows boxes with versions of perl that do not + support running spawned processes continues to be contra-indicated. Much + as it has ALWAYS been. +04Feb23======================================================================= +1. Fixed sh/log so that callsigns beginning with a digit (or several) are + printed rather than being ignored. + This affects: show/ann, chat, log, rcmd and wx +03Feb23======================================================================= +1. Fix is_ipaddr to accept trailing '::' on IPV6 addresses. +2. Fix and extend the TEST program 'showdx' so that it now works on the mojo + branch. Type 'showxd -?' for more information or read the source. This is + NOT a user program, but is will accept most sh/dx expressions. +3. Fix create_master_badip_files.pl so that it does not emit IP addresses + that the system is_ipaddr() function fails. +01Feb23======================================================================= +1. Harden DXCIDR (badip stuff) against format errors in downloaded badip files + downloaded using wget from the crontab. If these problems persist PLEASE + TELL me and send me examples of the errors that end up in the badip files. +30Jan23======================================================================= +1. Add ip addresses to outgoing PC93 messages +2. Get rid of (some of?) the uninitialised warnings +3. Add the ability to set the (time) locale to UTC or LOCALTIME by adding + the string LOCALE = UTC or LOCALE = LOCAL(TIME)? to your local crontab + + NOTE: this will affect ALL timings in both the system as well as your + local crontabs. Changing the LOCALE will make no difference to the system + crontab other than using localtime rather than UTC. Which is fine by me. + + You can see what crontab is doing and which LOCALE is in use by doing a + 'set/debug cron' in a console and running a 'watchdbg cron' in another + shell. +25Jan23======================================================================= +1. Add a switch to enable the routing of generated PC92 A/D records and also + prevent the rebroadcast of incoming ones. + + set/var $DXProt::pc92_ad_enable 0 + + to disable PC92 A/D records. +2. Add a switch to enable the addition of IP addresses to PC92 C records. + + set/var $DXProt::pc92c_ipaddr_enable 1 + + to enable the addition of IP addresses to outgoing PC92 C records. + + ## These two features are experimental, but will become the default if + ## some other changes and these are successful +24Jan23======================================================================= +1. Optimise the PC11->PC61 promotion code, improve readability of the + debugging when 'set/debug pc11' is active. +2. Remove spurious '$' character at the end of Listeners.pm (thanks Kin). +3, Fix show/ik3qar command +20Jan23======================================================================= +1. Add the variable @main::localhost_names to allow other IP addresses to + be treated in the same way as localhost in item 1 on 19Jan23 below. NOTE + you must include ALL the normal localhost names + any other interface + names that you might want to include: + + set/var @main::localhost_names qw(127.0.0.1 ::1 192.168.1.30) + + using the qw() construction is easier than: + + set/var @main::localhost_names ('127.0.0.1', '::1', '192.168.1.30') + + but either will work. You can define as many IP addresses as you like and + they can be IPV4 or 6. + + You do NOT need to fiddle with this unless you specifically have more + than just the normal definitions of localhost. So for 'normal' nodes with + one external interface, you DO NOT NEED TO DO ANY OF THIS. +2. Added CTY-3304 prefix data +3. Fix Bad IP address system so that one can carry on as normal without + Net::CIDR::Lite (or libnet-cidr-lite-perl on debian based systems) +19Jan23======================================================================= +1. Introduce aliasing for localhost in DX Spots and outgoing PC92 A records + on login. There are two variables which can be set with the alias to use: + $main::localhost_alias_ipv4 + $main::localhost_alias_ipv6 + These can be set in the /spider/scripts/startup, but this is only + necessary if the node has more than one interface, or virtual hosts. If + there is ONLY ONE ipv4 and/or ipv6 IP address on the node machine then + these variables will be automatically populated on first use. But the SAFE + thing to do is to set them in the startup file. + + THIS FEATURE IS EXPERIMENTAL... 18Jan23======================================================================= 1. Make sure than *every* channel has an IP address. Thank you (I think) Kin for pointing out that PC92 A records were not going out with IP addresses.