1$Id: CHANGES,v 1.20 2008/02/27 19:35:46 garbled Exp $ 2 3* Release 2.5 * 4 5Add -b option to pcp. This adds the ability to reverse the operation of pcp 6and use it to gather files from remote machines, rather than push to them. 7 8Add -t (test) option to all the utilities. This allows the user to perform 9a quick port-is-active test on each node, before attempting to run the remote 10commands on those nodes. 11 12Switch the default RCMD's from rsh to ssh by popular demand. 13 14Change the RCMD_CMD and similar settings parsing to allow the user to set 15RCMD_CMD to something like "ssh -v" and have it work properly. 16 17Fix dsh interactive mode on linux. 18 19Fix timeout handling on linux, and fix the bug where -x didn't work if there 20were no groups present in the clusterfile. 21 22Run all of clusterit through coverity until all bugs were fixed (mostly memory 23leaks) 24 25Add dtop, a distributed top command. 26 27Add -s option to dsh. This adds the ability to copy a script to a remote 28machine, execute it, and delete it, all in a single operation. 29 30Add RCP_CMD_ARGS processing to pcp. 31 32* Release 2.4 * 33 34Fix jsd to work properly on Linux. 35 36Fix stdin command mode on all the utilities. 37 38Make jsh and jsd more robust. Keep jsd from permanently losing it's nodes. 39 40Fix pdf to work on Linux. 41 42Add a -v option to all programs to tell the user what version of 43ClusterIt they are running. CVS will allways have _BETA tagged on the end, 44and it will be removed at release. 45 46Add RVT_CMD_ARGS to dvt, to allow passing of args to rvt 47 48Incorporate patches from debian xvt package into rvt: 49Fix xvt manpage typos 50Add -rv (reverse-video) option 51Better colormap handling 52All other patches were either irrelevant (makefile fixes, etc) or allready 53incorporated. 54 55Fix pdf to work on linux hosts 56 57Replace most instances of sprintf with snprintf. Did not touch rvt, as I would 58prefer to keep that as unmodified as possible, and most of them would not 59be easy to fix anyhow. 60 61Replace most instances of malloc with calloc. Mostly to prevent any 62unanticipated wierdness, and a few of the mallocs were immediately followed 63by memset commands anyhow. 64 65Add RCMD_CMD_ARGS to most of the programs. This makes it easier to do 66things like run "ssh -4" as your RCMD_CMD. 67 68Stop allocating the command to be run on the remote end as buf[MAXBUF], 69instead compute it at runtime and dynamically allocate it to prevent 70possible overflow on a huge command. 71 72Fix a bug noted by Jot Powers, where trailing whitespace on a GROUP or LUMP 73entry would cause dsh -g to not match it. 74 75Fix a bug noted by John Bales where linux machines often recieved truncated 76output from the child ssh/rsh process. 77 78Fix bug where all the programs would mangle argv[0] for ps. 79 80* Release 2.3.1 * 81 82Fix a bug noted by James F Wilkus on OpenBSD where dsh would segv when 83reading the clusterfile. 84 85Convert seq over to rseq fully, not just for linux anymore. Sigh. 86 87Fix the clusterit.spec file to work properly. Tested on redhat 88 89* Release 2.3 * 90 91Made all remote commands use poll instead of a while loop to read the incoming 92stream of data from stdout and stderr. This fixes bug where linux ssh will 93hang up. 94 95Fixed linux command line argument processing. 96 97Changed the -l <username> processing to invoke RCMD_CMD with user@host rather 98than -l user host. This makes it much more reliable. 99 100Added an option to dsh to test remote ports before connecting. This can be 101useful where a remote host might be down, and a long timeout would occur 102waiting for a response. 103 104Updated rvt to use a newer set of sources from xvt. Fixes questionable 105licensing in xvt, and makes it more reliable. 106 107Converted makefiles to autoconf for ease of porting. No more stupid patch 108sets which were a terrible burden to maintain and generate. 109 110ANSIfyed most of the code (other than rvt). Nobody uses KNF anymore.. sigh.. 111 112Incorporated many patches sent by users from the internet. I have 113unfortunately lost track of what patch came from who, but thier help is 114greatly appreciated. Most of these patches either fixed bugs, added stability 115or fixed porting bugs. The xvt conversion was based mainly on a patch sent 116in by a user. My thanks go out to those of you who have sent them in. 117 118# changes since 2.2 119 120* Release 2.2 * 121Missing this data, sorry 122* Release 2.0 * 123 124Added dvt and rvt.. an interactive form of dsh with xterms. 125 126Fixed a bug in jsd and dsh where it would lock up running ssh waiting for 127input. 128 129Add a jsd dir, and move jsd.c from dsh to the jsd dir. Add nearly complete 130jsh program, and jcommon.[ch]. 131 132Add new common subdir and move a tonnage of crap in there. Mainly 133common.c, common.h and strsep.c. 134 135Fix horrid bug in dsh where dsh | more would lock terminals up. Still 136need to fix in seq, run, probably pcp. 137 138Add <netinet/if_ether.h> to barrierd.c to shut AIX C up. 139 140Lots of minor bugfixes, mostly dealing with failures to open files, opening 1410 byte clusters, etc etc.. 142 143Pcp was still using it's own code to parse strings and groups. Fully rewrote 144the back-end internals to use the new linked-list stuff, and utilize common.c. 145Pcp's code is now virtually identical to dsh, whereas before it had diverged 146significantly. 147 148Error handling has finally graduated to where I no longer feel that it 149"needs work". 150 151Fix a place where malloced data was strcatted to without being bzeroed. 152 153Group, exclusion and -w nodes are now dynamicly generated arrays. Removes 154the MAX_GROUPS restrictions. 155 156The nodelist and grouplists are no longer maintained in any way similar to 157the original setup. Nodes are not stored in a flat array of nodes, with a 158corresponding flat array of group names. Nodes are now stores in a linked 159list of machines to run on. Nodes which are not to be run on, are not 160included in this list, so the back-end routines only need to execute code 161on every node they are handed in the linked list. This is all handled in 162common.c now. This removes the all compile time restrictions on MAXNODES, 163allowing the program to scale much more efficiently. 164 165# changes since 1.3 166* Release 1.3 * 167 168Break dsh, run and seq's common code into a common.c and common.h file, 169so I don't forget to add options to run and seq when fixing dsh. Also, fix 170some locations where run and seq were out of sync slightly. 171 172Fix a bug in pdf where if the -m option was used, filesystems at 100% 173would not be displayed. 174 175Handle ^C's correctly. If a remote process is hung, and it is the current 176process being read, you may ^C it, and the interrupt will be sent to the 177remote process. This would be just like hitting ^C on the remote end, 178and will only affect the process you are currently reading from. 179 180Added ability to pcp multiple files and wildcards to remote hosts. 181 182Made pcp and dsh compile on an ANSI compiler (IBM C, SUN C) 183 184Make output from dsh look nicer, and format well. 185 186# changes since 1.2 187* Release 1.2 * 188 189Bug fixes in dsh to deal with the start of a fangroup, and 190a race condition, where large output would cause it to hang 191waiting for descriptors to die. 192 193Fix a bug in dsh that caused it to lose data on AIX, and 194dump core when transitioning fangroups. 195 196Added the rungroup, and exclusion commands to all the programs. 197 198Fix pdf to work on a heterogeneous cluster. 199 200Add concurrency to pcp, to eliminate startup latency lossage. 201 202Take some of the work out of the main loop in pcp, and only do it 203once. This should speed up serial copies by small amount. 204 205Fix seq, and run to actually work. Use a semi-atomic test and set 206to create the seq file, so it actually runs through the nodes, rather 207than execute on the same one over and over. 208 209* Release 1.1 * 210#no data previous to 1.1. Sorry. 211