X-Git-Url: http://dxcluster.org/gitweb/gitweb.cgi?a=blobdiff_plain;f=Changes;h=e04ef39d0f2716f99254df65c035d0754e509414;hb=fe322eb02369fded6defe0f3fa7ae6530496ef9c;hp=982e9dd6e05342b340b85ed1a14ada0dfbaecec8;hpb=b4826d1f4125788e14fed3adbb99e66242904e74;p=spider.git diff --git a/Changes b/Changes index 982e9dd6..e04ef39d 100644 --- a/Changes +++ b/Changes @@ -1,8 +1,415 @@ +21Oct99======================================================================= +1. fixed reply so that reply b or reply nop generate a bulletin with the +correct address. +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 ' 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. Fixed create_sysop.pl so that longitude is spelt correctly +there as well 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) +3. added '^' -> ':' conversions on ann, talk and dx commands +4. You can now send messages containing blank lines. +5. Fixed merge command problem reported by G0RDI +28Dec98======================================================================== +1. Crossed fingers, got rid of the instabilities caused by execing programs +at vast speed (reduced it significantly anyway). +2. Personals will now move if homenode is known. +3. Added Local.pm for doing local specials +27Dec98======================================================================== +1. Various detail changes to remove some more warning with -w on +2. Added DXCron handling - you can do crontabs now. +3. Added show/program command so you can see where it is loading your .pm files +from. +4. Added pc26/27 replies to locally connected cluster's merge (pc25) requests +5. Added spotters DXCC and original cluster to Spot data files. +23Dec98======================================================================== +1. Reindented various things +2. Added missing $main::mycall on the end of outgoing PC11s (!) +3. Check that PC16/17 node calls really are nodes (AFAIAC). +22Dec98======================================================================== +1. Added brackets round callsign if not here for prompt +2. Added Iain's set/password routine +3. Fixed sh/dx problems (the xemacs indent region messed Spot.pm up!) +4. Issued 1.15 +21Dec98============= late! ==================================================== +1. fixed problem with missing DXDebug in DXProt. +2. Fixed DXDebug so that it actually works as advertised with and without +trailing \n. +3. Added deduping of WWV spots as well (at for date,time,sfi,k and i) dups +4. Replaced the 0 in "02-Dec-1998" with ' ' so it reads " 2-Dec-1998", it seems +hard to credit it but some 'programs' out there that connect to clusters have +problems with the leading '0'! +5. In the same vain, included a strictly AK1A compatible sh/heading, apparently +this is necessary for the same reason as 4. +6. Started contrib tree stored the old show/heading in contrib/g0rdi/show. +7. Because I now correctly dedupe spots and wwv (there's a hostage to fortune..) +I have added a merge command. +21Dec98======================================================================== +1. Added "issue" to the client program for 'login' connections +2. Added more docs for client program. +3. Fixed problem introduced in 1.12 where a connect locally with a callsign of +someone connected remotely would stop the cluster. +4. issue release 1.13 +20Dec98======================================================================== +1. Removed all the warnings I get with perl -w (at least for just starting the +cluster and running a few commands). +2. Added per node hop control. +3. Added some docs on how to use it and isolation +4. Made talk command more intelligent in that if the user isn't seen and the +user's last node is visible it tries the talk anyway. +19Dec98======================================================================== +1. Fixed problems with sh/rcmd (talk/ann/log) with a callsign as argument and +also made what G0RDI wanted work as well! +2. Added isolate flag to allow isolation of different networks at a gateway. +3. Changed make Makefile.PL to perl Makefile.PL in instructions +4. Copied latest instructions to html directory +5. Had another attempt at making clients disconnect without hanging everytime. +6. Changed msg queuing semantics so that the system routes on exact callsign. +7. Changed the protocol version so that it increments with the DXSpider version. +14Dec98======================================================================== +1. Made the telnet thing work a bit better. It still will not work reliably to +a real telnetd on port 23. +2. Allowed network logins on client by specifying login instead of call. +3. made msg handling more robust (PC30 with unknown streams cause PC42), queueing +is only done on channels that are in state 'normal'. +4. Added pc command which takes a callsign and some text and sends it without +mods to the callsign, useful for sending manual PC protocol to unstick things. +Also for sending anonymous messages to online users. +5. Stopped duplicate messages being stored (it receives them and then bins them) +6. Implemented PC49 delete/full from outside (kill full on the inside) +7. Implemented the client command in connect scripts so that you can have +different scripts for the same callsign. +8. Added sh/wwv command +13Dec98======================================================================== +1. Fixed VS6 lat/long in prefix_data and wpxloc.raw +2. Sorted out last in times for remote users +3. editted and substitued G0RDI's version of the install instructions over +mine in spider/html +4. fixed telnet connections +5. added connect instructions to html tree. +6. Added some more help +7. Upissued version +12Dec98======================================================================== +1. Incorporated sh/st, (un)set/lockout, forward/opername from Iain G0RDI +2. Added group handling with (un)set/group, show/group. This allows arbitrary +groups to be formed (for ann/ for example) and is also used to 'filter' +spots, announces, wwvs etc into groups of cluster nodes (useful for creating +disjoint cluster networks) +3. **** CHANGE mylongtitude to mylongitude in DXVars.pm **** +4. Altered QRA locator routines so they work correctly! +5. Fixed all commands that had the wrong mylat(itude) and mylong(itude) names +in. 07Dec98======================================================================== -1. Added set/name, set/qra, set/location, set/qth, set/homenode +1. Added set/name, set/qra, set/location, set/qth, set/homenode, set/bbs, +set/email 2. changed the Msg socket close to a shutdown (hopefully more reliable), this should stop clients hanging on exit. 3. Added Alias support for help +4. Added lltos and stoll routines to DXBearing +5. Added auto prompting for name, qth, location and homenode if any of these +aren't known. 06Dec98======================================================================== 1. Fixed DXBearing::is_qra so that it correctly detects full QRA locators 2. Added sh/qra for doing locator distances and bearings