added scrolling and color
[spider.git] / Changes
diff --git a/Changes b/Changes
index cb3bb25462ede54e2d914be41ee122fc7101ad5f..824457049172dfb729473276db410bec4eed89af 100644 (file)
--- a/Changes
+++ b/Changes
@@ -1,3 +1,201 @@
+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