+06Jan02=======================================================================
+1. fix leading space removal from messages input from the keyboard
+2. make some mods to allow perl 5.7.2 to run
+3. create $DXProt::eph_restime to allow variable slugging of ephemeral dups
+4. create $DXProt::eph_info_restime to allow a long dupe time for these
+5. create $DXProt::eph_pc34 to allow a short anti dupe slug for rcmd loops
+6. Add a new sysop cmd 'save' which will save the output of any command (or
+list of commands in "<cmd>") to a file.
+7. Add a new command "echo" which echos its argument to the screen (useful
+for titling in the save command above.
+8. Increase interval between logins causing for/opernam to 60 days (from 30)
++ a random factor between 0 and 9.
+9. Added Italian Messages from Luca IT9ROT (thank you very much).
+10. Added the /<cmd> feature (as in talk) to execute a cmd whilst typing a
+message, then enhanced it so that if you do //sh/dx (for instance) it will
+put the result into the message (as well as show it to you).
+11. Added the // feature to talk as well.
+02Jan02=======================================================================
+1. updated the copyright dates
+2. modernised and extended the Windows instructions a bit.
+3. added a TODO file which is the list of things that I need to do. Please
+badger me to put YOUR enhancement on this list. It will then get done.
+31Dec01=======================================================================
+1. Make a couple of changes to the Installation Manual and add a FAQ on msg
+deletion. (g0vgs)
+2. Fix unset/register so it works (g0vgs)
+30Dec01=======================================================================
+1. make PC21 coming from the channel's node call then treat it as a PC39 and
+disconnect it.
+2. Send the client a 'Z' command (shutdown) to see if this has any effect on
+the hangs.
+26Dec01=======================================================================
+1. make some detail changes to help texts
+2. Added 'all' to the Band's region table to allow 'acc/spot on all/cw'
+23Dec01=======================================================================
+1. allow sh/dx on 1000/4000 (or 1000-4000).
+2. merge sh/dx and sh/dxcc commands (Alias sh/dxcc to sh/dx dxcc). You can
+now do things like 'sh/dxcc oq2 by w dxcc'.
+20Dec01=======================================================================
+1. Fix 'not' in filtering
+2. alter default max spots to 100 and the no of WWV to 5
+17Dec01=======================================================================
+1. added new satellite stuff from Steve K9AN. Fixed upper/lower problem
+in convkeps.pl.
+2. enhanced load/keps to accept a message no. This will create a new keps
+file from a msg (hopefully containing 2 Line Nasa keps) and then load - all
+in one step. Added load/keps to the help files
+3. Updated spanish Messages
+4. Improve wcy command from Stephan DK8LV's input
+5. Added set/prompt (and unset/prompt) command so that Stephan can fool some
+external programs into thinking it is talking to clx.
+15Dec01=======================================================================
+1. added superfluous spaces back into PC73 for the benefit of clx
+14Dec01=======================================================================
+1. make Spanish in set/lang & Messages 'es' instead of 'sp'
+2. added prototype WCY and WWV commands (for qualified users only)
+3. Added Commands_es.hlp contributed by Angel EA7WA
+12Dec01=======================================================================
+1. added Commands_de.hlp contributed (in record time) by Stephan DK8LV.
+2. fixed help command so it uses it!
+11Dec01=======================================================================
+1. make PC17 generation more unconditional
+08Dec01=======================================================================
+1. added unset/hops command
+02Dec01=======================================================================
+1. Fix spurious 'new message for you' messages if things are deleted but
+unread.
+2. stop remote passive nodes (those with version numbers of 0000) from
+poluting the nodes table. Maybe this will make things slightly more stable.
+3. Take off rspf checks on announces and spots and allow the dupe filters
+to take the strain.
+4. Move the dupe checking AFTER the input filtering for announces and spots.
+5. Changed the checking of PC19/21 that it doesn't alter the wrong node
+6. Alter the storage of messages so that illegal characters are stored as '.'
+in an attempt to stop such messages from hanging.
+26Nov01=======================================================================
+1. Make changes to the installation manual to show making the client before
+actually trying to use it! Thanks to oz1lqh. Also add a line for SuSE
+distros on useradd.
+22Nov01=======================================================================
+1. finally fix DELETE = ^H = Backspace in console.pl
+21Nov01=======================================================================
+1. altered the PC16/17 generation slightly to see whether this cures Roland's
+problem.
+19Nov01=======================================================================
+1. added Ducie Island to prefixes
+17Nov01=======================================================================
+1. updated the Java Web Interface from Ian, m0azm to allow passwords. If
+a user with no password enters anything, including null, it is happily
+accepted and ignored.
+2. added the German language to the Messages file from Stephan, dk8lv
+14Nov01=======================================================================
+1. make the number of characters of the dx comment dependant on the type of
+connection. This should mean that 'legacy' user programs can cope.
+2. move the handling of unprintable characters out of IntMsg
+07Nov01=======================================================================
+1. fix is_pctext so that it actually catches corrupt spots and announces.
+2. fix console.pl so that you can type in '0' again
+3. Fix problem with reply disappearing up its own bottom.
+4. Added Steve's latest sh/moon stuff
+06Nov01=======================================================================
+1. fix read so that sysop reading doesn't increment the read counter for
+private mail not addressed to them.
+2. fix console.pl to show blank lines more reliably.
+3. fix msgs so that 2 R: lines are only stored on initial entry (not just
+after forwarding).
+04Nov01=======================================================================
+1. Allow the user to equal the node in RSPF checks (this allows spots and
+stuff with the origin and spotter to be the same (although it is STRONGLY
+recommended that they are NOT!!! [hint hint]).
+2. make the send command rather more sensitive to what is allowed. Basically
+it will only allow TO addresses that are bull addresses (if not private) or
+vaild callsigns (if private). Bull addresses are the ones in
+/spider/msg/forward.pl with a 'T' flag on them. If there is no forward
+file it will only allow 'ALL' and 'DX' as valid Bull TO addresses. You may
+use commas as callsign separators if you like.
+02Nov01=======================================================================
+1. fixed some Aliasing problems, but this whole area will have to be addressed
+more comprehensively.
+2. Changed talk logging so that it hopefully is more consistant and maybe even
+useful.
+3. Altered the mechanism of the personal emailing so that it uses lower level
+components and should be therefore available on M$ platforms. You will need
+to install a version of libnet (perl -MCPAN -eshell, then install Net::SMTP).
+I believe all 5.6.x perls have this built in (ie M$ should have this). If you
+are on M$ or you want to use an MTA via SMTP in linux then you need to declare
+the dns name of the MTA by: set/var $DXMsg::email_server = 'post.fred.net'
+(or whatever the MTA is called). You can also use local programs other than
+sendmail by: set/var $DXMsg::email_prog = '/usr/bin/postfix ..' or whatever.
+Finally you can alter the 'from' address using: set/var $DXMsg::email_from
+= 'FBloggs@msn.com' (\@ if you use " and ") - bewarned that you may be
+prevented from using just any old address. You can place these commands in
+/spider/scripts/startup for permanent use.
+01Nov01=======================================================================
+1. added information on registration, login scripts and passwords to the
+26Oct01=======================================================================
+1. If $main::reqreg = 1 then set/register will allow 'registered' users
+full access, if $main::reqreg = 2 then registered users will be 'read-only'
+(ie the opposite). If $main::reqreg = 0 then registration and its effects
+are disabled.
+25Oct01=======================================================================
+1. added unset/password command to allow sysops (only) to completely delete
+and remove a user's password.
+2. make 'read' increment the 'no of times read' for all messages.
+3. give a read receipt for everybody that reads a message so marked.
+4. enhance set/email so that if you set email address(es) with this command
+it will send any messages to your callsign as they come in. unset/email
+will disable forwarding.
+24Oct01=======================================================================
+1. added (un)set/register, show/registered commands which when a 'set/var
+$main::reqreg = 1' is done in the startup script will require users to
+be 'registered' in order for them to have 'write' access to the node. Non-
+registered users will only be allowed to TALK or SEND PRIVATE to the cluster
+sysop callsign.
+2. Added password interrogation to the ExtMsg connections. If a user comes
+in via telnet and this is being done with the internal listener and a pass-
+word has been set for that user - he will be asked for it. You can force
+a password interrogation (for ALL users) with a 'set/var $main::passwdreq = 1'
+in the node's startup script. It is anticipated that if you are using
+registration you will also issue passwords to those registered users.
+3. set/password has been changed so that users already with passwords can
+change them.
+4. A non-registered user will get the /spider/data/motd_nor file instead of
+the motd on login.
+5. made the BadWord regexes slightly less aggressive WARNING this may let
+some constructions thru, but hopefully will also allow more legitimate
+foreign (mainly) things thru as well.
+19Oct01=======================================================================
+1. Allow DELETE (0x7f) for backspace in console.pl
+2. redo prefix table using latest cty.dat
+14Oct01=======================================================================
+1. Add the shortform SH/ST like display to sh/user <call> to make it more
+AK1A compatible (G0RDI+G4PDQ pace).
+12Oct01=======================================================================
+1. make del nnn delete messages again (fix system Aliases file)
+2. substr the subject so that the dup works for stuff coming back via AK1A
+09Oct01=======================================================================
+1. change Aliases to allow shutdown as a command again. If you have changed
+/spider/cmd/Aliases and you update from CVS you may find it better to remove
+this file and then do another 'cvs update'. Otherwise you may get conflicts
+and the Aliase file will not load properly. The cvs update will recreate
+the (now) missing file.
+2. Remove the 'please don't use XXXX on here' messages to prevent people
+from exploring the 'bad words space'. Three bad words will still disconnect
+without warning.
+3. Sending dx spots/announces with bad words will succeed - but only back to
+the sender. These two mods are designed to annoy the perpitrators of the
+sort of filth as much as possible whilst not inconveniencing 'normal' users.
+4. Add expunge feature to kill. Deleting messages now marks a msg for
+deletion two days hence. To have the old behaviour, do a 'kill exp' or use
+the standard alias "expunge". This will cause the message to be deleted at
+the next queue message cycle.
+5. Put in prototype echo handling for direct connections using ExtMsg and
+Listeners.pm.
+6. fix msgs to g1tlh-2 (as opposed to g1tlh)
+04Oct01=======================================================================
+1. allow a residence time of (default) 2 days before actually deleting a msg.
+2. reduce the number R: lines on a bull from a bbs to 2 (the origin and the
+last port of call).
+3. ignore deleted messages for queuing purposes
+4. store deleted status across restarts!
+5. make callsign checking more rigorous
+6. dup check PC49 (kill full)
+7. improved the regex matching of badwords (more efficient, better coverage)
+8. added default badword and badw_regex tables (as .issue files) which will
+activate unless there is one there already. It will NOT overwrite an existing
+file - so if you change it your changes will remain intact.
+03Oct01=======================================================================
+1. don't allow @WWW to become a 'TO' field...
+2. handle @gb7tlh.#35.eu type addresses as well
+02Oct01=======================================================================
+1. fixed the 'ever lengthening msg' syndrome and probably made the whole
+thing more reliable at the same time.
+2. do some restructuring of the msg system and upissue the version no.
+3. fix @xxxx syntax for bbs input
+01Oct01=======================================================================
+1. made login info not the default
+2. change the looping protoection for PC16/17/19/21 and also be more rigorous
+in who we accept which PC16/17/21's from.
+3. fix MAJOR disconnect bug introduced accidentally in the NP work.
+4. Try each badword with an S on the end as well and also check for 'f.u c'
+type things as well (this only works for a few wellknown english ones).
+5. Go back to the old way of caching commands (but without the silly warnings
+because I know better what I am doing now). This allows symbolic debugging
+of commands again without coredumps. Hurrah!
+6. Add badword handling for messages. Users will get rude messages back if
+they try to send naughty words in msgs. Incoming messages with badwords will
+be dropped on receipt and their contents logged.
+7. and if you swear 3 or more times you are unceremoniously logged out.
+30Sep01=======================================================================
+1. made some small bug fixes in rspf checking and also messages.
+23Sep01=======================================================================
+1. I have incorporated Steve's (K9AN) lastest sh/sun and sh/moon stuff which
+copes much better with some of the end effects that occur in these calc-
+ulations. You can now also see up to a year into the past or future. The
+results compare favourably with the US Naval Obs (unlike certain other
+software's output which "I would not want to use their results to aim my
+moon rocket..."). It also fixes some ambiguity about which day the results
+are actually for.
+21Sep01=======================================================================
+1. fix set/lockout so that it is possible to lock out all SSIDs except those
+specifically unlocked and so that you don't need to lock the non-SSID call in
+order to lock an SSID call. So set/lock g1tlh will lock out all instances of
+g1tlh, g1tlh-1, g1tlh-15 etc except (for instance) unset/lock g1tlh-9.
+2. show/lock allows partial callsign matching so sh/lock gb7 will only show
+GB7* calls that are locked.
+3. Had a grand shift around for the start of NP.
+19Sep01=======================================================================
+1. put in some rudimentory rsfp checking for various things
+2. tried to do some fixes on console.pl - YOU WILL REQUIRE Curses 1.06 from
+CPAN (perl -MCPAN -eshell, then at cpan> install Curses).
+17Sep01=======================================================================
+1. Fixed help and apropos commands so that they default to english if
+the language is not english and help in the 'not english' language isn't
+available.
+2. added some help text for sh/newc.
+15Sep01=======================================================================
+1. released 1.48
+2. found 1st bug, fixed unset/logininfo reseting itself after logout
+14Sep01=======================================================================
+1. added the start of script files on login/startup. You can now add
+commands (for example to set variables) to a file called
+/spider/scripts/startup. You can also put in scripts for a callsign which
+will be executed when that callsign logs on. A sample script is in the
+directory (you did remember to do cvs update -d?). User settable versions
+of this will happen when the general mechanism for doing that is available.
+2. Added set/unset/anntalk commands. If you unset/anntalk then you will
+no longer see many of the of talk like announces. Unfortunately you may
+miss the odd useful one as well (but since everything is repeated many times
+you probably won't :-)
+3. centralise the invalid callsign check so that g1tlh1 and similar calls
+will not be allowed to login anymore.
+4. Fiddle with the lockout mechanism so that set/login g1tlh also locks out
+g1tlh-1 -> g1tlh-15 UNLESS one of these is specifically unlocked.
+5. Make sh/log only show stuff that sh/ann, sh/talk, sh/rcmd doesn't.
+6. Make the scripts look for user and node_default files if there isn't a
+more specific one.
+7. add the blank command which prints nn blank lines (default 1), this cmd
+can also print lines of characters: see help for examples.
+13Sep01=======================================================================
+1. did some work on making talk more intelligent and fixed a>b problem.
+2. fixed a nasty problem on input when being hit with full buffers of
+data (eg at init time with large lists of node/users on fast links).
+3. fixed realtime input filter changing.
+4. added announce->talk conversion for routable calls when announces of the
+form 'to g1tlh hello', 't g1tlh hello' or 'g1tlh hello' appear.
+This also suppresses similar announces for users whose callsign is not the
+one in the announce.
+5. Change the badwords interface to be the same as baddx, badspotter et al.
+added set/badword, unset/badword and show/badword. This routine will auto
+convert (and delete afterwards) the old badwords file.
+6. fix intermittant bullitin mail forwarding?
+11Sep01=======================================================================
+1. added IP address logging of connections
+10Sep01=======================================================================
+1. clear/* node_default and user_default now work.
+2. in acc or rej/* you can now use (comma separated) prefixes as well as lists
+of numbers for things like *_dxcc, *_itu and *_cq (eg: by_dxcc ve,w); just
+remember that countries like ve and w have lots of zones and itus!
+3. Added all the clear/* commands to help and added some comments about 2.
+4. All filters (including *_default ones) are now reinstalled on channels in
+realtime, so changing a filter does NOT require a disconnect and reconnect
+cycle anymore.
+09Sep01=======================================================================
+1. Add show/dxstats command
+2. Add show/hfstats command
+3. Add show/vhfstats command
+4. Add show/hftable command
+5. Add show/vhftable command (BE WARNED, the first time you run one of these
+commands it will take some considerable time to complete, thereafter it will
+be a lot faster).
+08Sep01=======================================================================
+1. Update the sgml docs on filtering a bit.
+06Sep01=======================================================================
+1. prevent nodes appearing as users from incoming PC16s
+2. Change ping averaging to be like TCP and become a smoothed RTT.
+3. Make all the Prompts in stat/* like output appear in alphebetical order
+4. Fix problem with 17m spots not appearing in sh/dx
+5. pump up eph dups everytime they re-occur and increase life to 180 secs
+04Sep01=======================================================================
+1. add delete/user command
+03Sep01=======================================================================
+1. make spot dups look back 5 mins.
+2. strip the top off each character in any text field of a Spot for duping.
+3. Try to make the routing tables more accurate for users that login to
+more than one node.
+4. Make PC50s come out in one heap on all channels every 14 mins, instead of
+on the 14th minute in the connection time for each channel. This should
+reduce (slightly) the dups that are dumped.
+5. Speed up input queue processing (a lot).
+6. make set/isolate and acc/route mutually exclusive (and issue appropriate
+error messages) and fix set/iso on PC18 input.
+7. Improve stat/route_node and stat/route_user for diagnostics.
+8. strip top bit of comments in ann/spots.
+9. fix the announce filtering problem.
+10. Fix the double announcement of node disconnections?
+01Sep01=======================================================================
+1. Change build number calc (hopefully for the last time)
+27Aug01=======================================================================
+1. make rej/wwv and rej/wcy work
+26Aug01=======================================================================
+1. make all newly learned nodes locked out by default.
+2. add lock_nodes.pl which locks out all the nodes in the user file whose
+privilege is 1 or less and which isn't mentioned as an argument to the
+command on the command line.
+3. make set/node, set/spider and their friends unlock a node as well as make
+them one.
+4. Make sh/log et al more efficient / less memory hungry (and the display
+the correct way round!)
+24Aug01=======================================================================
+1. Allow badmsg to reject on interface callsign ('I')
+20Aug01=======================================================================
+1. protect against PC41s with field[3] == field[2]
+2. Redo Julian stuff as proper objects
+3. Make the various Log display come out forwards instead of backwards
+4. Add the dbgclean routine to system cron to clear out all debug files
+more then 10 days old.
+19Aug01=======================================================================
+1. Fix rcmds
+2. make isolation when there are no filters present work again?
+3. dup check PC16/17/19/21 !
+17Aug01=======================================================================
+1. Sort out PC41 handling to include type 5 records for QRA locators and also
+remove all filtering (but retain ephemeral dup checking).
+2. Improve format checking in latlong and qra locators.
+3. Sort sh/st so that sh/st by itself displays only the local call not the
+whole lot (all 17000+ users records in my case). SH/ST ALL does this.
+16Aug01=======================================================================
+1. send a forward/opernam for a logged in user once a month (when they next
+login).
+2. rearrange rcmd stuff to be more maintainable and also be certain that
+they are translated in both directions correctly for clx and ak1a style.
+3. Allow PC41s to be propagated and hope that the ephemeral dup filters
+do their job!
+15Aug01=======================================================================
+1. fix problem with talks not coming out anymore
+13Aug01=======================================================================
+1. fixed problem of dxspots not being echoed back to spotter (announces too)
+02Aug01=======================================================================
+1. correct manual and help references on accept/route and reject/route. Thanks
+to ea1dav for pointing out the errors
+2. make sure that the actual line is printed in grepdbg & watchdbg esp. with
+ALL the '^' and leading space characters as they really are
+30Jul01=======================================================================
+1. changes to manuals to add links etc. (g0vgs)
+23Jul01=======================================================================
+1. made ann,dx spots,wwv,wcy,wx more 'object oriented'.
+2. allow for 'enhanced clients' and tell them what sort of thing is being
+sent.
+3. Allow debug info to be sent via interface to an enhanced client.
+21Jul01=======================================================================
+1. started a gtkconsole program. It appears to sort of work. Requires Gtk-
+Perl-0.7007.
+2. start doing some spot statistical stuff.
+19Jul01=======================================================================
+1. changes to Admin Manual to reflect route filtering. Some alterations to
+the help files (g0vgs)
+09Jul01=======================================================================
+1. fix cron so that it allows stuff to be executed on the hour (ie min=0)
+06Jul01=======================================================================
+1. fix talk and routing problems to mycall
+2. add unset/privilege command to relinquish any sysop privileges you might
+have for the current session.
+05Jul01=======================================================================
+1. disconnect channels whose route node has disappeared
+29Jun01=======================================================================
+1. fix merge command
+28Jun01=======================================================================
+1. fix problems with users on more than one node
+27Jun01=======================================================================
+1. try adding an ARC mail hack
+2. slug the not here messages so they can't loopback
+25Jun01=======================================================================
+1. added automatic 'not here' message
+21Jun01=======================================================================
+1. fix (some) problems with 'init'
+2. fix stat/msg a bit more
+3. small change to PC28 generation to make sure that the subject always
+contains at least a blank
+16Jun01=======================================================================
+1. fix talk
+2. fix stat/msg
+14Jun01=======================================================================
+1. changed debug api to (potentially) use less cpu time
+2. changed the spider.cgi in Arnold's borrowed java client to Ian's perl
+script
+3. Added input route filtering
+4. put back the set/isolate logic into routing which is now overridable with
+filters whcih means a default filter is no longer generated. If you want the
+OLD behaviour, do rm /spider/filter/route/*.pl*, restart and try again.
+5. Add http_proxy to Internet.pm and allow sh/qrz to use an HTTP Proxy
+13Jun01=======================================================================
+1. fix init cnd rinit cmds
+2. add missing clear/route cmd
+10Jun01=======================================================================
+1. fix set/here and unset/here
+2. fix indirect routing to users two hops away
+09Jun01=======================================================================
+1. more fixes
+2. add set/debug filter so that you can see why your filters aren't working
+(for sysops only)
+3. add ephemera deduping for all those PC41,24,50 etc etc broadcasts
+4. Fix a problem with the connect text being sent on outgoing connections
+(this confuses db0fhf amongst other things)
+5. catch deep recursion bugs before you run out of memory.
+6. Make sure that PC16|17|19|21 update as well as add and delete
+7. local announces by the sysop will always be displayed
+08Jun01=======================================================================
+1. first cut with new routing code. Created NEW_ROUTE branch
+2. added acc/route and rej/route commands
+3. added stat/route_node and stat/route_user commands to look at the routing
+table entities
+07Jun01=======================================================================
+1. move userconfig.pl and nodeconfig.pl to stat/
+2. fix problem with locally connected users not being removed from the
+routing tables
+3. Fix the build calc to take into account subdirectories
+06Jun01=======================================================================
+1. add stat/route_node and stat/route_user commands
+2. add sh/userconfig command (to show backward links to nodes)
+3. add sh/nodeconfig command
+05Jun01=======================================================================
+1. add set/bbs command
+2. more work on Routing code.
+3. status/msg on its own will print the status of the msg system.
+4. add sh/newconfig command
+03Jun01=======================================================================
+1. Fix the problem with ExtMsg and unresolvable IP addresses, hopefully
+properly this time.
+15May01=======================================================================
+1. set/lockout now prevents any outgoing connection taking place.
+2. Started the new routing stuff which will run in parallel for a while.
+3. changed the msg timeout arrangements so that it might not get stuck so
+easily.
+4. add $DXMsg::bulltopriv global to make msgs to known callsigns private
+14May01=======================================================================
+1. fix problem with re-reading in db definitions for remote databases.
+2. try to prevent situations where two can (semi) successfully login, probably
+under load, and get a 'tried to connect whilst already connected' abort.
+3. change the max number of days to search for spots to 100
+11May01=======================================================================
+1. allow stat/msg on priv 1
+07May01=======================================================================
+1. set/page 0 switches off paging
+03May01=======================================================================
+1. It appears that for ages now, not enough PC19 and PC16s are being sent
+if you have more than one of them. Sigh..
+02May01=======================================================================
+1. put an upper limit on the number of concurrent errors allowed in command
+mode (20). This should disconnect runaway spot suckers....
+28Apr01=======================================================================
+1. fix an occasional problem with 'sorry connected to' messages
+23Apr01=======================================================================
+1. fix very long standing bug in storing and transmitting spots. The decimal
+point was left off :-(
+22Apr01=======================================================================
+1. Sysops can now have full privileges if there is a ExtMsg listener on
+localhost (or everything) and they telnet to localhost and login with their
+callsign. This means that they don't need a client anymore (for local access)
+2. added input spot filtering.
+3. Added run_cmd to DXCron which allows you to run any command on the system
+from the crontab. (Dunno why I didn't do this before).
+18Apr01=======================================================================
+1. added Ian M0AZM's Java Client (SpiderConsole)
+17Apr01=======================================================================
+1. made a slight speedup on write in Msg.pm (about doubled it)
+16Apr01=======================================================================
+1. make the correct error messages come out on reject/accept when people
+leave out keywords like 'on'.
+2. Fairly major changes to the documentation tree. Split the admin manual
+into 2 sections, Installation and Admin and merge the Windows stuff.
+15Apr01=======================================================================
+1. made some mods to the sgml documentation for 1.47
+2. added show/connect command
+11Apr01=======================================================================
+1. fixed more of the "xxx disappeared from yyy" messages
+2. altered the build no logic so that it always checksums the same files
+regardless of whatever else you might have in the directory.
+3. made shortcut at shutdown so that you don't get a storm of PC21s on busy
+nodes as each connection goes down. Just send a pc39 to each interface and
+nothing else.
+4. changed action of SIG{INT} and SIG{TERM} so that they now work on MSWin32
+10Apr01=======================================================================
+1. altered PC21 logic somewhat to eliminate dup PC21s
+2. disconnect should remove dangling local users in the routing table.
+3. fixed nasty recursive timer bug
+4. added some extra info to make connect tracking a bit easier.
+5. improved docs on connect scripts a bit (to include agw connects)
+09Apr01=======================================================================
+1. changed lockfile name to cluster.lck (from .lock) for MSWin's benefit
+08Apr01=======================================================================
+1. added a quick installation guide to the admin manual and removed references
+to client.pl (g0vgs)
+01Apr01=======================================================================
+1. changed agwrestart semantics. You need to use main::agwrestart() in your
+crontabs rather than AGWMsg::init();
+2. try to thread winclient.pl for MSWin32.
+31Mar01=======================================================================
+1. added agwrestart command
+2. add Iains Windoze installation manual (g0vgs)
+3. various alterations to adminmanual and initial version of the CVS changes
+file (g0vgs)
+30Mar01=======================================================================
+1. fix errors on accept in ExtMsg and in Msg
+2. fix the non-blocking problems of connects (and other things in general).
+non-blocking only works for unix implementations at the moment.
+3. add rinit command (sends a PC20)
+4. improve debuging so that stuff is always escaped and a new 'raw' debug
+mode that shows everything sent and received in glorious hex and characters
+29Mar01=======================================================================
+1. add better tracking of AGW circuits (possibly)
+2. add set and unset/agwmonitor (ing) [for all the notice it seems to take]
+28Mar01=======================================================================
+1. AGW engine stuff now accepts incoming calls and at least attempts to do
+outgoing ones. YMMV.
+2. fixed 'always' telnet on a client line in a connect script
+27Mar01=======================================================================
+1. add first cut at an AGW Engine. Copy /spider/perl/AGWConnect.pm to
+/spider/local and edit it appropriately. You shouldn't need a login and passwd
+if you are using the default setup. It may allow incoming connects (and then
+again it may not - I don't have a reliable infrostructure to test with at the
+moment). The AGW Engine is a M$ thingy, but that don't preclude you connecting
+to it from a unix box.
+22Mar01=======================================================================
+1. edit the helpfile for set/debug and add help for show/debug
+2. Allow ^Z again on messages
+3. Added back onboard support for ax25 OUTBOUND connections. You will need
+exactly the same facilities as before (ie netrom_call, ax25_call suid root
+etc) but it is called direct from the cluster.pl - client.pl is DEAD!
+19Mar01=======================================================================
+1. Add 'not allowed' messages into sh/filter with callsign and reduce priv
+2. decode %xx characters in winclient.pl
+necessary to 1.
+18Mar01=======================================================================
+1. minor changes to user and admin manuals. Added revsion numbers
+17Mar01=======================================================================
+1. put block check back in, try a work around for EWOULDBLOCK/EINPROGRESS
+for M$.
+16Mar01=======================================================================
+1. integrate build number into main cluster and change the PC18 to show
+version and build in the text portion
+14Mar01=======================================================================
+1. first cut at outgoing ax25 /external program connects
+2. slight change of interface to connect
+3. added a build number to sh/version
+13Mar01=======================================================================
+1. implemented first cut at non blocking connect
+2. removed memory leakage in connects
+3. add link IP address if available on who
+4. made the \r\n work correctly on External connections
+5. removed client.pl
+6. fixed memory leakages in DXMsg
+7. fixed pc39/21 handling
+8. fixed routing table issues and general disconnection tidy up
+10Mar01=======================================================================
+1. minor changes to the admin manual to reflect differences in distibutions
+thanks to pa3ezl (g0vgs)
+2. add (finally) the first draft of the usermanual (g0vgs)
+05Mar01=======================================================================
+1. do some major surgery on the connect logic to shorten the possibility of
+duplicate connects happening
+2. fix stupid error on sh/qrz queries that don't work
+04Mar01=======================================================================
+1. allow fallback to english for help
+03Mar01=======================================================================
+1. allow incoming and outgoing IP connects direct to cluster.pl
+2. fixed (long standing)a hole in PC17 handling
+3. added winclient.pl (actually just a very basic client) from Iain G0RDI
+4. Added Spanish as a language (thanks ea1dav) (g0vgs)
+5. ignore BUST(ED) spots
+28Feb01=======================================================================
+1. allow sh/c gb7 (ie show the config of all gb7 nodes)(for example)
+2. get rid of spurious DXHash 'uninitialised' messages if no corresponding
+file is present.
+3. changed policy of $censorpc in DXProt.pm so that badwords are looked for
+in all text announces etc.
+4. Unpad (remove excess spaces from) spotted callsigns in PC11.
+5. test for opertaing system in various places and do different if M$
+27Feb01=======================================================================
+1. allow partial node callsigns on sh/c (eg sh/c gb7)
+2. Changed Msg.pm to allow a more generalised interface with more than one
+listener.
+3. Added IntMsg.pm to implement the internal connection management that is
+currently scattered about the cluster code.
+25Feb01=======================================================================
+1. Fixed watchdbg so that simple arguments work again
+22Feb01=======================================================================
+1. Added platform name to sh/version
+2. changed client.pl so that it send \r\n instead of \n on telnet connects
+3. added lineend '\r\n' command to connect scripts so you can override
+defaults
+03Feb01=======================================================================
+1. Changes and additions to the manual and added a help file for sh/log (g0vgs)
+13Jan01=======================================================================
+1. Documentation alterations to match new commands etc (g0vgs)
+08Jan01=======================================================================
+1. Changed the way that badnodes, baddx etc work. There is a new general way
+implemented (dunno why I didn't do this before - hey ho...) as a consequence
+there are set/unset/show baddx (for bad dx callsigns) badnode (for dx from
+bad nodes) badspotter (for bad spotters of dx eg VE2STN). Expect more of
+this sort of thing...
+2. Added one to the copyright dates...
+06Jan01=======================================================================
+1. Fix set/obscount so it actually works.
+2. Allow different number formats for set/pingint eg: 5m for 5 minutes and
+120s for 120 seconds (and 1h for 1 hour).
+03Jan01=======================================================================
+1. Added a txt directory for txt versions of manuals (g0vgs)
+2. Various documentation changes
+02Jan01=======================================================================
+1. added a help file for forward/latlong and updated the admin manual to
+match. (g0vgs)
+2. Add spot2csv.pl to convert spot files into tab delimited .csv format.
+3. Add show/route to see which interface a station is connected on.
+31Dec00=======================================================================
+1. add lat/long info to show/prefix
+30Dec00=======================================================================
+1. added latest version of the admin manual from Ian G0VGS.
+23Dec00=======================================================================
+1. don't route anything back down the channel it came from.
+2. and, in the process, fix some silly errors in routing converted rcmd PCs
+3. changed all occurrances of 'freq' in filter help to 'on' and corrected
+some errors (eg freq/ssb).
+4. added latest admin manual.
+18Dec00=======================================================================
+1. fix double printing of DB results
+2. add new style filtering for WWV and WCY to complete the set
+3. got the field nos right (hopefully) on Announces for filters
+05Dec00=======================================================================
+1. fix frequency hinting routine so it correctly handles things like 'on 23cm'
+where digits are the 'wrong' way round.
+2. made default max days to search for spots 3 months.
+3. added hex decodes for those pesky 'national' characters that aren't really
+in grepdbg and watchdbg.
+4. decide that we are using Latin-1 and therefore characters 0x80-0x9f are
+not allowed.
+5. fix the announces so that they are all UPPER CASE for poor old DXTelnet.
+03Dec00=======================================================================
+1. change grepdbg and watchdbg so that you can see a number of lines before
+the condx that you are looking for so:-
+ grepdbg 3 LOOP
+ watchdbg 3 LOOP
+will show both the LOOP line and the preceeding 2 lines.
+2. add PCPROT to all error condx lines in DXProt.pm so that you can watch
+for them more easily.
+30Nov00=======================================================================
+1. remove %nn strings from dups of announces and spots
+2. remove check for ssids on PC41s
+29Nov00=======================================================================
+1. make some small changes to DXmsg to try to track delete problems?
+2. fix ann/full so it doesn't dup
+27Nov00=======================================================================
+1. alter sh/wcy output slightly
+26Nov00=======================================================================
+1. made it possible for sysop calls to be used on other nodes and still have
+anti loop checking on PC16/17.
+25Nov00=======================================================================
+1. -l <nnn> now works on C client
+2. -e toggles echo cancelling (normally on) on C client
+20Nov00=======================================================================
+1. added even more checking to PC16,17 and 39
+19Nov00=======================================================================
+1. improve reaping code a bit more.
+2. put some extra checking in the PC16,17,19,21 code.
+3. fix problem with the aliased user disappearing and loads of 'unitialised'
+messages coming out.
+16Nov00=======================================================================
+1. Alter the process reaping code in cluster.pl to use waitpid
+12Nov00=======================================================================
+1. Fix lack 't' action in Filter.pm
+08Nov00=======================================================================
+1. fix cosmetic errors in for/oper for 'users'.
+07Nov00=======================================================================
+1. removed sh/call because the owner isn't happy about us using it.
+2. change sh/qrz to the new interface. MUCH QUICKER! you will need a user id
+and password from qrz.com to use it and you will have to copy the
+/spider/perl/Internet.pm to /spider/local and alter it accordingly. Do
+remember to set $allow=1 as well! The new interface comes courtesy of Fred
+LLoyd, the proprietor of http://www.qrz.com
+06Nov00=======================================================================
+1. Added sh/qrz to the list of callbook services
+05Nov00=======================================================================
+1. 75% speed up on sh/dx !, lower memory usage as well!
+2. Fixed problem with clear/spot 0 (how did this one last so long!!!)
+3. add 'on' in accept/reject spots as synonym for 'freq'
+4. add the same speed up to general log printing
+5. fixed help \
+04Nov00=======================================================================
+1. fix sh/filter so ity now works for any callsign (and not just connected
+ones).
+2. Have only one is_callsign and not an iscallsign as well.
+3. Add set/hops and show/hops commands.
+4. Add unset/badnode command and put some help in for these commands
+03Nov00=======================================================================
+1. allow - in filter strings
+2. store only the filter expression NOTE BENE: you will need to clear all
+your existing filters and re-enter them!!!!!!
+3. Added announce filtering
+4. Fixed problem with announce filtering on output to the node
+02Nov00=======================================================================
+1. updated filtering logic. You will need to RECREATE your filters (clear/spot
+all, then start again) for testing.
+2. allow PC73 for DXNet
+3. added some help text for filtering and filtering spots in particular.
+01Nov00=======================================================================
+1. put PC11 field 2 check back to m for pc text.
+2. improve 'simple' callsign checking
+3. Added the first cut of the new user/sysop filtering code. This cut works
+for spots and the syntax is:-
+
+accept/spots [<call>] [input] [<filterno>] things ..
+reject/spots [<call>] [input] [<filterno>] things ..
+
+where things are:
+ freq 0/30000 | hf | hf/cw | 6m,4m,2m
+ call G,PA,HB9
+ info iota
+ by G,PA,HB9
+ call_dxcc 61,62
+ call_itu 31
+ call_zone 14,15,16
+ by_dxcc 61,62
+ by_itu 31
+ by_zone 14,15,16
+ origin GB7,MB7
+ channel GB7DJK,GB7BAA
+
+You can simply string these together on one line one after the other and
+there is an implied 'and', you can also string together with 'or' 'not' (or
+'!') and '(' and ')' - in otherwords an arbitrary expression.
+
+You can see what you have done with:
+
+show/filter [<call>]
+
+You can clear your work with:
+
+clear/spots [<call>] [input] [<filterno>|all]
+
+Have fun and someone please write the documentation.
+4. Added show/msg_status.pl sysop command (shows some info on what is busy in
+the message system)
+31Oct00=======================================================================
+1. add 0x8e to the list of characters we clobber (make xterm go into graphics
+mode).
+30Oct00=======================================================================
+1. put in new Filter::it code and tested it. Now all we have to do is write
+the user access routines (oh and the help files!).
+29Oct00=======================================================================
+1. put in echo cancelling measures into the clients. This doesn't mean you
+shouldn't take steps to prevent echoing on node links, but it may help where
+(whatever you do) it still bloody echos! This is experimental.
+2. store dxchan and mynode as callsigns (and not references) in the routing
+tables and do some checking in accessors to see if we can capture some errors.
+3. tart up the stat/chan etc display to give more useful debugging info
+28Oct00=======================================================================
+1. updated show/sun and show/moon from stuff sent by Steve Franke K9AN
+2. added show/call which queries jeifer.pineknot.com for any call in the
+world (as opposed to UALR which only does US calls). Inspired by a bit of
+perl sent to me by Steve Franke (again!) and also Angel EA7WA who gave me the
+pineknot ip address.
+3. fixed clients so that they accept -0 as a valid SSID and then strip it off
+as though they had come in without (why has this taken so long to appear? How
+long have we been running this code ??????).
+27Oct00=======================================================================
+1. alter the code in clean_old of DXMsg system to see if we get some different
+behaviour with random crashing
+26Oct00=======================================================================
+1. if there is a 'connected' file in /spider/data then the client will send
+it out to the user after connection.
+25Oct00=======================================================================
+1. fix catchup and uncatchup commands so that they accept ranges
+24Oct00=======================================================================
+1. added cty.dat from http://www.k1ea.com/cty/index.htm to the prefix_data.pl
+data file and modified create_prefix.pl accordingly.
+2. the 'no text line' messages should now propagate correctly
+3. added the dxcc, itu and cq zone numbers for announcer and origining node
+on announce filters - see the /spider/filter/ann/*.issue files for more info.
+4. you can now specify a 'user_default.pl', 'node_default.pl' and
+'in_node_default.pl' in each of the filter directories
+23Oct00=======================================================================
+1. Added K5K as Kingman Reef
+1. Added K7K as Kure
+17Oct00=======================================================================
+1. force frames to go down the local interface when doing a route. This is
+particularly important for pings!
+16Oct00=======================================================================
+1. add a ':' after 'G7BRN de G1TLH' in a talk message.
+2. added /J to the list of things to ignore (as in G1TLH/J) in prefix
+processing (ie /J mean Jota not /JA [Japan]).
+3. change all INCOMING 00-08 0A-1F and 9B characters that make it past the
+intermediate client->server protocol to '.'.
+04Sep00=======================================================================
+1. made PC10,11,12 badword checking dependant on a flag variable ($censorpc)
+default = 0 (off).
+02Sep00=======================================================================
+1. fix a long standing talk bug to do with routing to specific nodes (t xxx >
+yyy .....)
+2. Add badwords checking in various places. You put a list of words into
+/spider/data/badwords one or several per line. Lines starting with # are
+ignored. PC10, PC11, PC12 with words contained in this file will not be
+sent on. Also ann, talk and dx commands have badword checking added. Words
+are NOT case sensitive, but you will need to put all the endings in (eg
+...k, ...ker, ...king).
+3. Added new version of admin manual from G0VGS.
+01Sep00=======================================================================
+1. allow blank on field 4 of PC10 (even though it's "illegal").
+28Aug00=======================================================================
+1. changes DXChannel::get_all_ak1a to get_all_nodes.
+2. ignore PC21s coming in on the interface with that callsign (ie nodes
+trying to disconnect themselves).
+3. output correct PC29 on blank lines and escape ^ characters differently
+(and transparently for spider nodes).
+26Aug00=======================================================================
+1. make blank origins on messages the node call.
+2. added new version of FAQ from Ian G0VGS
+3. added a dummy PC75 command (WCY merge?)
+4. Don't allow mail routing for clx nodes
+5. Log isolates
+25Aug00=======================================================================
+1. moan about and then delete empty message files
+24Aug00=======================================================================
+1. Removed WWV command so that users can't interfere (read mess up) the
+automatic feeds which come from various places on the net.
+23Aug00=======================================================================
+1. Added persistant dupe file so that all dupes are stored here (including
+announces) - announces are now kept for 5 days (as default).
+2. limit the characters stored in a dupe for spots and announces
+20Aug00=======================================================================
+1. Added system Alias for set/nodxgrid => unset/dxgrid
+2. Add full individual checking for all PC protocol fields in all messages
+and removed any language dependant stuff (hopefully).
+3. console.pl is now a bit more international (client.c/pl already are)
+19Aug00=======================================================================
+1. Added an efficiency thing for AUTOLOADed accessors from OO Perl by Conway.
+2. Fiddled with the rtty and digital bandplan frequencies.
+18Aug00=======================================================================
+1. added a couple of changes for perl 5.6.0
+2. removed del_dup from DXUser for earlier versions of DB '1.85' (ie real ones
+not 2.x versions in 1.85 compatibility mode).
+3. Started the OOing of the PC protocol stuff.
+15Aug00=======================================================================
+1. added 1.25 of the admin manual html
+14Aug00=======================================================================
+1. Added regex support to sh/dup_*.pl commands
+2. fixed rcmd in crontab so that will work again
+13Aug00=======================================================================
+1. removed extra /60 in AnnTalk to make deduping of announces work a bit
+better for longer...
+05Aug00=======================================================================
+1. Fixed hex character problem put in somewhen in the C Client
+03Aug00=======================================================================
+1. caught some more signals (are any of these causing the random stopping
+of the code?
+2. the Console now requires 1.05 of the Curses module ^R REFRESHES THE SCREEN
+(as does ^L) AT LAST!!!!!
+02Aug00=======================================================================
+1. put back hex check exception for PC29
+01Aug00=======================================================================
+1. made the export and import ascii system work finally. The user_asc file
+generated (automatically and 0000Z Sunday morning) is autoloading. Just
+execute it and it will automatically reload your user database.
+2. remove import_users.pl no longer necessary
+31Jul00=======================================================================
+1. try to fix paging problem.
+2. added help for spoof and set/forward
+3. fixed bogus callsign check for field 2 of a PC12
+4. Add DB_File to DXCommandmode to make it available for commands
+30Jul00=======================================================================
+1. Added talk mode so that I don't have to keep typing T <call> all the time.
+2. fiddled around with storing of Debug messages a bit more.
+3. bomb proofed the type command.
+4. started the objectifying for talk, dx and announcements.
+5. fix talkmode so that it only does 'via' PC10s when it really needs to.
+6. SEND now displays a message if you try to do it in not prompt mode.
+7. stopped a few more things being done by rcmd (eg send, talk, ann, dx)
+8. tidied up the talking a bit more.
+9. Increase default hop counts all round.
+10. Adjust hex encoding so that 8 bit characters should now go thru
+11. check more of the essential protocol fields for 8 bit characters.
+29Jul00=======================================================================
+1. added forward/latlong which will forward ALL the users that have a latitude
+and longitude set on them to one or more locally connected nodes - with a hop
+count of 1.
+2. speeded up the show/node command by using the DB_File interface and
+sequentially reading the data directly and only 'get'ting the ones that are
+nodes.
+3. did the same for show/isolate and show/lockout.
+28Jul00=======================================================================
+1. fixed watchdbg midnight rollover loop and removed the date part of the
+date/time translation to leave just the time.
+27Jul00=======================================================================
+1. made sure that 'en' is the default language on new users.
+2. issue error message if shutdown is attempted by a low privileged user.
+3. Make sure a privilege is defined for all users (even if it is 0).
+4. Try to fix some more dups (and the time on them).
+5. make the time stored on dups generated locally on spots an integer no of
+minutes * 60
+6. send unsolicited PC[38]5s to the sysop if online.
+7. merged current html from www.dxcluster.org with Ian's stuff
+8. Added sgml files into the source tree
+9. changed default paclen in client.c to 236
+26Jul00=======================================================================
+1. added wantgrid (to control display of grid square info on DX Broadcasts)
+2. added lastoper for controlling periodic demands for user info from other
+nodes.
+3. added spiderFAQ stuff from Ian G0VGS and latest update of the admin manual
+4. changed updating and deleting from user file in an attempt to keep down
+duplicates and possibly corruptions.
+5. added a DXUser::export routine to allow the cluster to automatically
+export the user data in ascii from cron.
+6. added a line in the ISSUED crontab to do the export once a week
+7. delete annok and dxok if set to 1 in user records.
+8. added export_users command to allow arbitary exporting of user files
+9. added set and unset/dxgrid command to allow control over the grid squares
+on DX announcements
+10. Removed export_user.pl (no longer needed)
+11. made import_users.pl accept a non related input filename and always
+update the current user file.
+12. added an 'auto rcmd <node> for/oper <call>' for people I can see on the
+cluster that issue spots and for whom I have no qra info (no more than once
+a month). This isn't the default - set $send_opernam in
+/spider/local/DXProtVars.pm (copied from /spider/perl). Good for gateways.
+13. Despace spot texts properly again for deduping purposes.
+14. Corrected Pc84/85 handling a bit.
+15. Sync the user database every 15 secs to see whether we can reduce the
+corruptions and duplicates.
+25Jul00=======================================================================
+1. ignore \n in ax25 mode for C client.
+2. remove extra space at the end of a DX spot announce when no grid square
+is output.
+3. added new admin manual from Ian G0VGS
+20Jul00=======================================================================
+1. Finally managed to update my source with the sourceforge one
+2. added user->qra cleaning in various places
+3. added four digit locator strings to broadcast DX spots (for users).
+4. PC11 with blank callsigns should now be ignored.
+5. put back the unpadding to the PC11 dup checking to catch spots with added
+blanks at the end of lines.
+25Jun00=======================================================================
+1. added 0 to the regex that checks for valid data on the cluster.pl->client
+channel - this will allow G0VGS and G0RDI to connect....
+2. removed technically unnecessary /= 60 from the dup routines to see if
+Arnold's Sparcs don't then crash.
+19Jun00=======================================================================
+1. move ann_dup, spot_dup etc to dup_ann, dup_spots etc
+2. made mode 3 the default line ending convention for all out going connects
+via telnet in client.pl
+18Jun00=======================================================================
+1. fixed line ending ambiguities (I think) for telnet connections. Well
+actually only really band aided it. It works but isn't how I want it.
+Client.pl has got to go....
+2. Added 1.21 of Ian G0VGS's admin manual
+17Jun00=======================================================================
+1. I believe I have fixed all the login/logout 'broken pipe' errors
+2. Added G0RDI's 'links' command.
+3. added update_sysop.pl which cleans out all previous versions of the sysops
+information from the user database and recreates it with that in DXVars.pm
+4. Added node type to links and who
+5. Hardened up the cluster->client link in the cluster software so that
+rubbish on port 27754 doesn't (usually) crash the cluster.
+14Jun00=======================================================================
+1. fixed sh/node crash
+2. fixed RTT in who.pl
+13Jun00=======================================================================
+1. fixed looping bug in C client on ending.
+12Jun00=======================================================================
+1. Added RCMD for clx
+2. Added WCY processing
+3. Added new node types (clx, spider, dxnet, arcluster)
+4. Store echo settings
+5. Store pagelth settings
+6. sort out source of DXVars for callbot.pl
+7. added sh/isolate
+8. added sh/lockout
+11Jun00=======================================================================
+1. removed extraneous DXDebug from DXUtil
+2. added help for set/echo
+3. Centralised all spot, wwv and ann dup handling into respective packages.
+4. Created new AnnTalk package (for above and OOing announce and talk
+handling).
+5. Fixed problem with outputting lines with | in them to console.pl.
+10Jun00=======================================================================
+1. got rid of some more nasty bugs in sh/qra.
+2. fixed 9A3xx to always be Croatia (and not Haiti!).
+09Jun00=======================================================================
+1. change some print commands in DXMsg to dbg('err'...
+2. overloaded confess, croak et al into DXDebug and removed Carp from
+everywhere and checked that the necessary debugging really does go into
+the debug files now.
+3. changed print statements in cluster.pl to dbg('err',... so they go into
+the debug files as well.
+4. Altered the logic around duplicate spots, reduced the length of comment
+checked to 20 characters (this should solve some problems including those
+people sucking ar-cluster spots with prefixes in the extreme rh end).
+08Jun00=======================================================================
+1. fixed problem with binary characters from cluster->client
+2. added set/echo and unset/echo commands
+3. echo login characters on login: prompt for C client
+4. Send \r\n on telnet connections for C Client
+5. Make echoing the default option (for M$ telnet clients :-()
+11May00=======================================================================
+1. fixed looping in Msg.pm (at last)
+10May00=======================================================================
+1. wrote a cross between 'tail -f' and grepdbg so that you can watch the
+debug files for particular strings and only have them print out.
+05May00=======================================================================
+1. rewrote parts of Msg.pm and client.c so that the messages no longer use
+a length word at the front of each one. They are simply strings of characters
+separated by a \n. No binary characters are allowed (they are encoded as %nn)
+a la HTTP. This hopefully cures Arnold's problem and also make it more
+secure anyway. It also paves the way for the ax25/ip multicast client.
+30Apr00=======================================================================
+1. put some extra checks and balances in to message send routine in Msg.pm to
+see if I can prevent the error seen by Arnold (which I think is only likely to
+appear in heavily loaded sites).
+25Apr00=======================================================================
+1. Changed reply so that you can reply to more than one address privately
+31Mar00=======================================================================
+1. fixed nnn-mmm in kill (erase/delete) msgs so that mmm is also deleted and
+not just nnn -> mmm-1.
+2. Added an autosplit to message importing so that messages are split
+automagically into bits if the filename used in the import directory starts
+with "split". This will add a [1/5] type string on the the end of the subject.
+3. dedupe more aggressively on the text of Spots so that only the 1st 27 chars
+of text are considered (as opposed to the whole lot).
+30Mar00=======================================================================
+1. altered client.pl connect code so that it doesn't falsely recognise
+/spider/src/client as a 'client' instruction.
+28Mar00=======================================================================
+1. Added buffering to client
+2. Fixed LOGIN so that you can login with an arbitrary callsign
+27Mar00=======================================================================
+1. updated wpxloc.raw and rsgb.cty for 4W and TX0.
+2. display 'start time' rather than 'last start time in' in who.
+3. Allow local users to see their own sh/talk or sh/log stuff.
+4. A more robust version of the C client.
+5. Added a message exporting command 'export'.
+6. allow swopping on all messages, including imported and manually sent ones
+7. S A < B @ C $BID now works from the command line and thus bbses ought to
+be able to send messages into the cluster. Bids are (currently) ignored.
+26Mar00=======================================================================
+1. first cut of C client
+18Mar00=======================================================================
+1. fixed convkeps.pl so that it accepts more formats for floating point.
+08Mar00=======================================================================
+1. tidied up Sun.pm and sh/sat
+2. fixed sh/qra so that the correct lat/long is displayed if only one locator
+is given.
+10Jan00=======================================================================
+1. added Steve Franke's new Sun.pm and show/satellite command
+08Jan00=======================================================================
+1. really removed the restriction on 0 length messages.
+2. added a periodic msg file import system a la FBB. Stick one or more files
+into /spider/msg/import with a suitable SEND line, subject and the text and
+it will import it. The importer will accept some BBS syntax (eg < GB7TLH) to
+allow you to customise the 'from' callsign.
+03Jan00=======================================================================
+1. changed the copyright statement in sh/version!
+2. added sh/date with special "be compatible with ak1a" syntax for the output
+of sh/date with no arguments, otherwise the same as sh/time. A special favour
+to G4PDQ...
+3. and another one, added show/node especially for G4PDQ.
+01Jan00=======================================================================
+1. Fixed Julian routines to get rid of the millenium bug! (do as I say, not
+as I do!).
+2. updated gdx.pl so that external programs can do a sh/dx just as a normal
+user can. On reflection this could be used as a model for all sorts of
+"external" interface routines.
+3. renamed gdx.pl as showdx.
+11Dec99=======================================================================
+1. added missing pc48 so that it calls the DXDb::process routine
+10Dec99=======================================================================
+1. allow msgs to marked as read or unread
+02Dec99=======================================================================
+1. DX command doesn't recognise '6M' as '6m' in SH/DX ON 6M.
+2. set/node now sets the homenode as the callsign.
+3. changed the label for the 18Mhz band from '18m' to '17m' in the bands
+table.
+01Dec99=======================================================================
+1. started the callbot which lives at n2tly.dxcluster.net 9000.
+2. added www.qrz.com
+3. added www.buck.com
+4. added k4ute at no4j.com
+28Nov99=======================================================================
+1. fixed all the stupid errors introduced in 1.36 confusing DXUser->get with
+DXCluster->get_exact.
+24Nov99=======================================================================
+1. extended badmsg.pl stuff so that it works like the forward file and allows
+one to reject on to, from, origin and subject fields.
+2. added a swop.pl again in a forward.pl like format that allows simple swop
+for a field or test on a field and set another.
+3. Fixed the problem that read private mail follows you around as well as
+unread private mail does.
+4. Change the logic of connections so that the node will accept callsigns with
+SSIDs to -8 as different entities from each other. SSIDs > 8 are subtracted
+from 15 and are assumed to be coming in via netrom diddled connections. This
+affects lots of the commands as well. I may not have got them all.
+5. Hangup clients on HUP signals. I originally ignored them, for reasons that
+are now lost in the mists of time. HUP signals now cause clients to die
+(cleanly) and disconnect everything correctly.
+6. Added show/time command
+21Nov99=======================================================================
+1. lose extraneous rubbish after the callsign as sent by BBSes.
+2. Change end label on sh/moon to RGain dB rather than Loss dB.
+3. Remove spurious call to DXCluster->get_exact in pc50.
+4. Allow rcmd to locally connected nodes that are not (for some reason) in the
+nodes table.
+5. Try and send a PC39 in more cases to a cluster that I want to disconnect
+from in the hope that it notices and disconnects its end.
+20Nov99=======================================================================
+1. Added set/unset logininfo which will tell anybody that has this set when
+someone has either logged in or out of this node.
+2. Added set/pinginterval command which alters the length of time between
+pings sent to nodes, the value is minutes < 120 and seconds above that, 0
+means disable pinging (not recommended).
+3. If someone does a sysop whilst connected via ax25, don't show privilege
+level or passwd in stat/user.
+4. Fixed the problem with the dx command where if the callsign ended in a ?
+then the call and the freq would be replicated in the remarks.
+5. Set/unset ann, dx, talk, beep, wx, wwv all are now permanent (ie stored in
+the user file)
+19Nov99=======================================================================
+1. Added new version of sh/sun and also sh/moon from Steve K9AN
+2. Added rtt to who.
+3. added Aliase for show/tnc_sta to who.
+4. added Alias for show/uptime to sh/cl
+18Nov99=======================================================================
+1. Added ping obs counter together with Time::HiRes timers. This will dis-
+connect nodes that fail to respond to 3 ping requests (on the 4th attempt).
+The default time is a ping every 3 mins, therefore a link will be struck out
+after 12 minutes of nil response.
+2. Maintain a table of outstanding connects to other nodes and prevent over-
+laps (special favour to G0RDI).
+17Nov99=======================================================================
+1. Started using Data::Dumper for things again
+2. 'Fixed' DXUser file corruption?
+3. Allow multiline (ie lines with \n in them) output in $DXChannel::send
+4. Added Andrew K9CW's updated wpxloc.raw, regenerated prefix_data.pl
+5. Put in callsign matching and stuff into sh/sun.
+14Nov99=======================================================================
+1. added BBS.pm to start BBS input of mail
+2. fixed eval in DXUser to log errors rather than banging out
+12Nov99=======================================================================
+1. added sh/sun command kindly supplied by Steve K9AN.
+2. allow ^Z on its own on a line to terminate a message
+08Nov99=======================================================================
+1. added spoofing (mk1 version) for sysops, useful for those little jobs like
+reseting a user's qra locator and such like "spoof g7brn set/qra jo02lq".
+2. fixed set/location so it stores the qra locator in the qra locator slot,
+NOT the lat/long (who wrote this stuff...?).
+07Nov99=======================================================================
+1. reduced the amount of stuff compared against for dup announces.
+2. Check the regex for DK0WCY announces produces results before storing it as
+a WWV.
+3. Added some logging for set/priv (un)set/lockout.
+4. Added test long path calc to sh/muf
+5. Only wonder down the msg queue every minute
+6. Put in the initial DB code (at last), you can create and remove local and
+standard remote dbs, you can import AK1A style .FUL ascii databases, you can
+enquire on a local or remote database.
+7. A return ping to a node will clear down all outstanding pings to
+that node (which might cause some confusion if more then one ping is
+outstanding for a node, but then - shit happens).
+04Nov99=======================================================================
+1. Removed ~ from the end of the PC18.
+2. Removed a hangover from duff character checking in cluster.pl
+3. Stop PC frames that are to be routed, being routed back to themselves.
+03Nov99=======================================================================
+1. Simplified command caching so it uses anonymous subroutines, you should
+also get error messages back on the console now when developing.
+2. Allow locally connected AK1A clusters that for some obscure reason don't
+issue PC19s to still appear as connected and allow them to acquire users.
+31Oct99=======================================================================
+1. updated Minimuf.pm and show/muf.pl to the fixed versions sent to me by
+Steve Franke K9AN.
+2. Made set/badnodes work, added show/badnodes. This is an interim fix until
+input spot filtering works.
+24Oct99=======================================================================
+1. fixed announces so that nodes only get one of them (not two).
+2. Altered the select timeouts to prevent apparent excessive CPU usage on
+multiprocessor machines (or at least that is what seems to be the trouble
+here).
+22Oct99=======================================================================
+1. allow filter CALLSIGNS to be in upper or lower case.
+2. create the concept of input and output filters, input filters are of the
+form "in_$call.pl" eg: "in_g1tlh.pl" (or "in_G1TLH.pl"), output filters are
+"g1tlh.pl" (or "G1TLH.pl").
+3. all users can now filter on spots, ann and wwv (assuming the sysop has set
+the filters up - still no user creatable filters. Nodes can filter on both
+input for announces and output for all of these. I would recommend setting
+up a few filters that are likely to be wanted and then symlinking callsigns
+to them as you get requests.
+4. added callsign and length of history/position of screen stats to console.
+If you want to change the colour of the callsign you will need to copy the
+Console.pm to your /spider/local directory and change the $mycallcolor equate.
+21Oct99=======================================================================
+1. fixed reply so that reply b or reply nop generate a bulletin with the
+correct address.
+2. implemented sh/muf command.
+3. reduced privilege of catchup and uncatchup to 5. This so that, suitably
+privileged, nodes that occasionally link can rcmd a "catchup <nodecall> all"
+to the node they are connecting to and thus prevent a large tranche of,
+potentially duplicate, mail. This isn't an issue for DXSpider, but may be
+an issue for any AK1A clusters you are connected to.
+20Oct99=======================================================================
+1. Translated all the subroutines of minimuf into perl as Minimuf.pm
+2. Limited the length of an ANN that is saved for de-duping to $pc12_dup_lth
+(def 72)
+3. help command should now return stuff that you expect.
+4. reduced necessary privilege to use 'MSG' command to 6.
+5. Correct the count of spots and wwv for a merge.
+6. Allow decodes of DK0WCY-3 WWV data beacon announces
+7. rewrote send so that an SB doesn't send a buckshee bull to NOPRIVATE!
+8. Changed default colouration on console so that all spots >= 50Mhz are red
+9. Fixed init command so that PC21s are sent down non-initted channels
+10. Allow forwarding of unknown private mail. This means that you can set up
+forwarding of 'foreign' mail across to and by gateways using the same
+mechanism as bulletins (/spider/msg/forward.pl).
+11. Allow line wrapping on the console (G0RDI, G0VGS et al).
+18Oct99=======================================================================
+1. changed help command so that it works correctly with multiple title lines.
+2. added to address to the list of things a message checks to see whether it
+is a duplicate (how on earth did it take _this_ long to find this one?).
+3. Changes S CC so that the callsign it says it has sent to is the real one
+(request from G8TIC)
+21Sep99=======================================================================
+1. allow zero messages to be stored (request from G4PDQ)
+2. make DX more flexible and change spotter syntax to be consistant with
+sh/dx (request from K9AN)
+30Aug99=======================================================================
+1. remove -@ as well as \d from SSIDs for spots
+2. remove WEB and/or NET from the front or rear of callsigns in Prefix.pm
+29Aug99=======================================================================
+1. Added msg command to allow the changing of To, From, Subject and so on the
+messages. This seems particularly important just now as a whole raft of G3's
+seem to be putting out non private bulls to callsigns.
+2. While I am at set messages to TO fields that appear to be users to private
+if they have been sent as bulls.
+3. Add DISTROs, if a callsign field appears in /spider/msg/distro in upper
+use that as a list of callsigns to send further. Note this is potentially
+recursive as callsigns in a distro can be distros.
+25Aug99=======================================================================
+1. check the date of a WWV much more carefully.
+24Aug99=======================================================================
+1. Prevented spots with lowercase callsigns being forwarded. This opens a
+much bigger can of worms which I shall have to address later.
+17Aug99=======================================================================
+1. all protocol except PC29 containing %XX characters will be dumped.
+2. Changed console.pl so that if you start typing it moves the top window
+back to the bottom.
+19Jul99=======================================================================
+1. Added iota and qra clauses to sh/dx as well, these take optional arguments
+and will look for the appropriate strings.
+17Jul99=======================================================================
+1. Started database integration.
+2. added qsl clause to sh/dx that searches for qsl or via in the dx info
+16Jul99=======================================================================
+1. drop frames with 'illegal' characters in them (but pass frames with
+embedded %XX characters).
+15Jul99=======================================================================
+1. Changed grepdbg to accept a regexp. More useful (to me anyway).
+2. Altered init command so that it doesn't send PC21s down the initted
+channel.
+10Jul99=======================================================================
+1. added an explicit disconnect from my side for already connected calls. This
+appears to have fixed a problem where if two consoles connect at the same time
+with the same (sysop?) callsign the cluster would stop.
+2. added some debugging in the Message handler to allow more state to be seen.
+3. Message handler now seems to work better for longer and doesn't spew out
+PC42 aborts with quite such gay abandon.
+05Jul99=======================================================================
+1. added stat/msg and stat/cluster commands to allow me to poke about inside
+the msg and cluster node tables.
+04Jul99=======================================================================
+1. removed silly 'new message has arrived' to connected nodes
+2. added a ! command to the console.pl program; works like the bash shell.
+01Jul99=======================================================================
+1. Altered priv to 5 for connect.pl to match disconnect for nodes
+29Jun99=======================================================================
+1. fixed merge command that I broke.
+2. added some randomness in waittimes for aborted outgoing messages
+3. Message Queuing now only occurs every 5 minutes (configurable if anyone
+wants to write the command for doing it) and on receipt of a PC16. This is
+a further attempt at sorting the crossing of messages!
+4. a PC33 will cause another attempt at queuing. If you are on a roll, keep
+going!
+28Jun99=======================================================================
+1. console.pl now works with history and editting.
+2. added scrolling to stuff sent by the cluster.
+3. added colours to things.
+27Jun99=======================================================================
+1. added WWV filtering
+2. added timeouts to for forwarding Messages, also added a waiting time for
+failed (stalled) outgoing messages.
+3. Incoming messages will now have priority over outgoing messages to the
+same node.
+4. Added 'catchup' command which will 'catchup' messages to date for a node.
+This means that when you start forwarding to a node, it doesn't get all the
+messages queued up that are probably old.
+5. added 'uncatchup' which does the opposite of the above.
+6. fixed kill full and PC49 handling so that it actually works.
+7. Fixed local aliases so they add to the front of the standard ones. This
+means you only need to add your specials or override the system ones you need
+to.
+21Jun99=======================================================================
+1. changed regex for cluster->client msgs so that strings like |---| are no
+longer ignored.
+20Jun99=======================================================================
+1. prevented a merge to myself (causes a loop)
+18Jun99=======================================================================
+1. fixed a problem with DXLogPrint repeating log entries.
+2. altered the permissions on disconnnect so that priv 5 users can disconnect
+clusters, but still require priv 8 to disconnect users.
+3. made sure that an incoming PC18 clears out all the cluster info for
+that channel before re-initialising.
+4. add init command.
+5. disconnect users before nodess on shutdown
+15Jun99=======================================================================
+1. added grepdbg program (so you can search your debug files and get times
+and dates of incidents).
+2. Moved DXVars.pm to DXVars.pm.issue to force new users to cp it to their
+local directory.
+3. added $allowzero to DXProt to allow thru PC19s with zero protocol versions.
+14Jun99=======================================================================
+1. changed IO::File in help and apropos to IO::File
+2. added a check for isa('DXNode') for PC50s
+08Jun99=======================================================================
+1. Started work on the curses based operator console.
+03Jun99=======================================================================
+1. cluster seems to have a memory leak, put DESTROY functions in where
+appropriate.
+2. try to make sure that PC21 commands are not issued inappropriately and
+also reformat PC19 for onward broadcast so that nodes coming in on loops are
+dropped from those broadcasts.
+3. make sure PC16,17,19,21 doen't affect locally connected nodes.
+4. Changed all instances of FileHandle to IO::File.
+01Jun99=======================================================================
+1. removed a output of an unwanted pc21 for isolated nodes
+31May99=======================================================================
+1. Added checking for PC16,17,19 and 21 to make sure that they come in from
+the channels that they are supposed to.
+2. Pass the RCMDing node's priv level to the command (rather than the
+connecting node's privilege level).
+3. Pass thru merge requests for other nodes.
+4. Removed a warning from client.pl
+5. routed external DB commands and drop them (for now) locally
+6. routed external mail commands (ie those addressed elsewhere)
+7. routed external PC26/27 lines
+25May99=======================================================================
+1. try to make the lastin value correct even for local users
+2. got rid of the stupid bug that failed to print out the offline message
+but put a "*main::STDOUTmain" for every line of that message instead.
+3. Ported to 5.00503 (well actually just installed it and it just runs).
+4. Added who command
+23May99=======================================================================
+1. Got rid of some of the useless error messages on global destruction when
+quiting a program.
+2. Stuck -w back on client.pl
+23May99=======================================================================
+1. tried to change connection to raw mode for cluster connections
+2. sh/c and sh/u are now sorted in alphabetical order
+3. Limited the number of queued dx spots when composing messages to 20 (the
+oldest one is lost for every one added above 20).
+4. Added generalised shell globbing everywhere I think it is useful, including
+sh/dx, dir, sh/files etc
+5. Made dir more compatible with ak1a and added 'to' and 'from' call searching
+it should now do everything that ak1a does except counts.
+6. added similar functionality to kill command so that you can kill ranges, to
+and from callsigns etc.
+22May99=======================================================================
+1. added check for -1 from Date::Parse and return undef for out of range dates
+2. added show/files and type commands
+21May99=======================================================================
+1. made set/nodx work again.
+2. made dx stuff queue nicely again when sending messages.
+18May99=======================================================================
+1. Added announce dup checking.
+2. Added system announce filtering.
+08May99=======================================================================
+1. Added a bit more checking to the rcmd thing to make more sure that this
+rcmd isn't coming from an imposter. Not possible to prevent everything
+ofcourse, just make it a bit harder.
+2. altered set/lockout and set/privilege so that they can't executed remotely.
+3. Added some code to reject rubbish (with invalid binary characters) protocol
+or user lines as input.
+4. prevented PC command being executed remotely :-)
+05May99=======================================================================
+1. change the connection overlap from an abort to a disconnect.
+02May99=======================================================================
+1. Added the mechanism for doing user spot filtering for spots in the cluster
+(no user control just yet - but sysops can do it).
+2. Fixed problem with nodes sending out the node lists of isolated nodes.
+30Apr99=======================================================================
+1. Try to make it even more AK1A friendly by putting the node list out in the
+'correct' order.
+2. added code so that local users and commands go to all connected nodes
+INCLUDING the isolated ones.
+26Apr99=======================================================================
+1. added set/user command as a hack, please use this with care, there is
+very little checking.
+2. added export_opernam.pl which is a basic reader of AK1A opernam.dat files
+to stdout
+25Apr99=======================================================================
+1. Fixed problem with filtered spots not coming out.
+2. Added the possibility of filtering on channel callsign
+20Apr99=======================================================================
+1. altered order of undefing and closing of user file in an attempt to make
+corruptions/missing users less likely.
+2. made messages that are addressed to the node call appear to the alias call
+3. check dates much more rigourously.
+4. ignore SIGTERM and SIGINT during shutdown of the cluster
+15Mar99=======================================================================
+1. added $actiondata to filter line to allow per action data such as no of hops
+2. fixed a silly problem in talk for non-existant callsigns
+3. Added sysop command
+02Mar99========================================================================
+1. Changed DXUser so that it uses a homemade import/export hash routine
+2. DXUser now uses a DB_BTREE file
+3. Added export_users.pl, import_users.pl and convert_users.pl
+25Feb99========================================================================
+1. added NL language stuff.
+2. added set/language
+21Feb99========================================================================
+1. Allowed multiple 'on <freq>' for show/dx
+2. Made sure the 'on 20m/ssb' thing worked (also 'on hf/cw').
+3. first cut of the Filtering code, no user commands yet but the file
+format is defined and manually added filters should work for spots
+17Feb99========================================================================
+1. added export_user.pl to export user files (for interest and safety)
+2. changed DXUser::init to allow O_RDONLY access which may limit the number
+of coredumps G0RDI seems to get.
+15Feb99========================================================================
+1. Added msg forwarding code which uses $main::root/msg/forward.pl.
+14Feb99========================================================================
+1. Changed A & K in WWV to be the other way around (I am told by G3IOR that
+this will mean that we won't have pole to pole aurora nor all the power lines
+overloading everywhere as well as a result of having values of K > 10).
+2. allow the '~' character in message bodies.
+3. Moved $main::data/badmsg.pl to $main::root/msg/badmsg.pl.
+11Feb99========================================================================
+1. Fixed a problem with isolated nodes' configurations being sent on sending
+local configs to new connections.
+08Feb99========================================================================
+1. added a $SIG{ALRM} in the client to actually catch the alarm when it goes
+off which means that the netrom/ax25 call programs terminate properly (and not
+loop as fast as their little legs can paddle, soaking up CPU time).
+2. Implemented read receipts as an especial request from G4PDQ.
+3. Fiddled with DXUser a bit to see whether I can stop it core dumping on new
+users in PC16s on G0RDI's machine.
+4. Added E4 (Palestine) to Prefix data.
+30Jan99========================================================================
+1. Some of the dates we get can cause crashes, tried to make it more robust (oh
+and Y2K compliant)
+2. PC16 seem to come in with missing callsigns from somewhere
+3. added $main::data/baddx.pl which prevents callsigns that are in the list being
+a) forwarded b) stored and c) (except for the originator, if local) being
+displayed locally.
+4. added $main::data/badmsg.pl which deletes any messages whose TO address is
+in this list (this is largely for european sensibilities).
+18Jan99========================================================================
+1. added present(),presentish() and disconnect() to DXCron so that you can see
+(easily) if a station is on the cluster anywhere and also disconnect them
+locally.
+2. added rcmd() to DXCron so you can send an rcmd to someone else from crontab.
+3. <embarrassment>Fixed create_sysop.pl so that longitude is spelt correctly
+there as well</embarrassment> made the update work properly. NOTE create_sysop
+will only do what you expect if all cluster.pl and client.pl programs are
+stopped.
+4. DXCron wasn't reading in reliably on startup, this is now (hopefully) fixed.
+the -M semantics are rather strange!
+5. The -w switch is now standard on cluster.pl
+6. Added last_connect() which gives the last connect time of a user (or now
+if connected).
+7. Added present_on(call, node) and presentish_on(ditto) which returns true if
+the call is connected to the node.
+8. incoming messages for users will now send a 'new message' message (instead
+of merely generating the message)[who wrote this rubbish?].
+9. Hooked $SIG{__WARN__} and $SIG{__DIE__} so we store these nasty error
+messages.
+10. Print the no of users on restricted protocol links if we have had PC50
+11. Had a go at making the sh/cl stats more accurate.
+12. PC11 was trying to call Local::spot1 instead of Local::spot, no warning
+previously.
+13. Added a simple lockfile to prevent more than one cluster running at a time
+17Jan99========================================================================
+1. fixed some permission problems on DXLog.
+2. There is a circumstance in DXMsg which caused the cluster to stop on an
+null ref pointer which I can't get to the bottom of but have bandaided out
+for now.
+3. Started filter and Database code.
+4. Upper cased all the TO callsigns for sending to more than one station in
+messages.
+07Jan99========================================================================
+1. Fixed Geomag after emacs reformatted it wrong so sh/wwv works again.
+2. Added more range checking in WWV spots (they really are a heap of ...)
+3. Changed create_sysop.pl so that you can update as well as create the user
+file
+4. Remove spotter's SSID from WWV spots
+06Jan99========================================================================
+1. Do some range checking for spots and WWV in the future (got a WWV for Oct
+2034 whhich caused a bit of confusion!)
+2. Make WWV spots broadcast them to the users! (as opposed to merely storing
+them)(thank you G0RDI).
+3. Allow users to do show/announce (thank you JE1SGH).
+4. Delay broadcasts to users if they are not in a 'prompt' state (means you can
+add messages and see what you are doing on a busy system)
+5. Made set/unset dx,ann,wx,talk,wwv do what is expected
+6. added set/sys_location and set/set_qra to set the cluster lat/long and qra
+7. New messages will now be announced on logon (if there are any)
03Jan99========================================================================
1. Upped the version no !!!!
2. made the DXProtocol routines much less sensitive to '~' characters (JE1SGH)