+30Nov00=======================================================================
+1. remove %nn strings from dups of announces and spots
+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