$Id: CHANGES,v 1.17 2006/02/01 17:52:50 garbled Exp $ * Release 2.4 * Fix jsd to work properly on Linux. Fix stdin command mode on all the utilities. Make jsh and jsd more robust. Keep jsd from permanently losing it's nodes. Fix pdf to work on Linux. Add a -v option to all programs to tell the user what version of ClusterIt they are running. CVS will allways have _BETA tagged on the end, and it will be removed at release. Add RVT_CMD_ARGS to dvt, to allow passing of args to rvt Incorporate patches from debian xvt package into rvt: Fix xvt manpage typos Add -rv (reverse-video) option Better colormap handling All other patches were either irrelevant (makefile fixes, etc) or allready incorporated. Fix pdf to work on linux hosts Replace most instances of sprintf with snprintf. Did not touch rvt, as I would prefer to keep that as unmodified as possible, and most of them would not be easy to fix anyhow. Replace most instances of malloc with calloc. Mostly to prevent any unanticipated wierdness, and a few of the mallocs were immediately followed by memset commands anyhow. Add RCMD_CMD_ARGS to most of the programs. This makes it easier to do things like run "ssh -4" as your RCMD_CMD. Stop allocating the command to be run on the remote end as buf[MAXBUF], instead compute it at runtime and dynamically allocate it to prevent possible overflow on a huge command. Fix a bug noted by Jot Powers, where trailing whitespace on a GROUP or LUMP entry would cause dsh -g to not match it. Fix a bug noted by John Bales where linux machines often recieved truncated output from the child ssh/rsh process. Fix bug where all the programs would mangle argv[0] for ps. * Release 2.3.1 * Fix a bug noted by James F Wilkus on OpenBSD where dsh would segv when reading the clusterfile. Convert seq over to rseq fully, not just for linux anymore. Sigh. Fix the clusterit.spec file to work properly. Tested on redhat * Release 2.3 * Made all remote commands use poll instead of a while loop to read the incoming stream of data from stdout and stderr. This fixes bug where linux ssh will hang up. Fixed linux command line argument processing. Changed the -l <username> processing to invoke RCMD_CMD with user@host rather than -l user host. This makes it much more reliable. Added an option to dsh to test remote ports before connecting. This can be useful where a remote host might be down, and a long timeout would occur waiting for a response. Updated rvt to use a newer set of sources from xvt. Fixes questionable licensing in xvt, and makes it more reliable. Converted makefiles to autoconf for ease of porting. No more stupid patch sets which were a terrible burden to maintain and generate. ANSIfyed most of the code (other than rvt). Nobody uses KNF anymore.. sigh.. Incorporated many patches sent by users from the internet. I have unfortunately lost track of what patch came from who, but thier help is greatly appreciated. Most of these patches either fixed bugs, added stability or fixed porting bugs. The xvt conversion was based mainly on a patch sent in by a user. My thanks go out to those of you who have sent them in. # changes since 2.2 * Release 2.2 * Missing this data, sorry * Release 2.0 * Added dvt and rvt.. an interactive form of dsh with xterms. Fixed a bug in jsd and dsh where it would lock up running ssh waiting for input. Add a jsd dir, and move jsd.c from dsh to the jsd dir. Add nearly complete jsh program, and jcommon.[ch]. Add new common subdir and move a tonnage of crap in there. Mainly common.c, common.h and strsep.c. Fix horrid bug in dsh where dsh | more would lock terminals up. Still need to fix in seq, run, probably pcp. Add <netinet/if_ether.h> to barrierd.c to shut AIX C up. Lots of minor bugfixes, mostly dealing with failures to open files, opening 0 byte clusters, etc etc.. Pcp was still using it's own code to parse strings and groups. Fully rewrote the back-end internals to use the new linked-list stuff, and utilize common.c. Pcp's code is now virtually identical to dsh, whereas before it had diverged significantly. Error handling has finally graduated to where I no longer feel that it "needs work". Fix a place where malloced data was strcatted to without being bzeroed. Group, exclusion and -w nodes are now dynamicly generated arrays. Removes the MAX_GROUPS restrictions. The nodelist and grouplists are no longer maintained in any way similar to the original setup. Nodes are not stored in a flat array of nodes, with a corresponding flat array of group names. Nodes are now stores in a linked list of machines to run on. Nodes which are not to be run on, are not included in this list, so the back-end routines only need to execute code on every node they are handed in the linked list. This is all handled in common.c now. This removes the all compile time restrictions on MAXNODES, allowing the program to scale much more efficiently. # changes since 1.3 * Release 1.3 * Break dsh, run and seq's common code into a common.c and common.h file, so I don't forget to add options to run and seq when fixing dsh. Also, fix some locations where run and seq were out of sync slightly. Fix a bug in pdf where if the -m option was used, filesystems at 100% would not be displayed. Handle ^C's correctly. If a remote process is hung, and it is the current process being read, you may ^C it, and the interrupt will be sent to the remote process. This would be just like hitting ^C on the remote end, and will only affect the process you are currently reading from. Added ability to pcp multiple files and wildcards to remote hosts. Made pcp and dsh compile on an ANSI compiler (IBM C, SUN C) Make output from dsh look nicer, and format well. # changes since 1.2 * Release 1.2 * Bug fixes in dsh to deal with the start of a fangroup, and a race condition, where large output would cause it to hang waiting for descriptors to die. Fix a bug in dsh that caused it to lose data on AIX, and dump core when transitioning fangroups. Added the rungroup, and exclusion commands to all the programs. Fix pdf to work on a heterogeneous cluster. Add concurrency to pcp, to eliminate startup latency lossage. Take some of the work out of the main loop in pcp, and only do it once. This should speed up serial copies by small amount. Fix seq, and run to actually work. Use a semi-atomic test and set to create the seq file, so it actually runs through the nodes, rather than execute on the same one over and over. * Release 1.1 * #no data previous to 1.1. Sorry.