2006-03-22  Mark Grondona <mgrondona@llnl.gov>
	* src/common/split.c, src/common/split.h, src/pdsh/opt.c : 
	  Move list_join() from pdsh/opt.c to common/split.c.

	* src/pdsh/rcmd.h, src/pdsh/rcmd.c, src/pdsh/dsh.c, 
	  src/pdsh/opt.c, src/modules/sshcmd.c, src/modules/genders.c :
	  Missing updates from rcmd-rewrite branch. Allow user@
	  to be specified in -w host spec. Add rcmd_opt_set() to
	  allow rcmd modules to set rcmd-specific options (e.g. resolve_hosts).

	* testsuite/pdsh.test/pdsh.exp :
	  Add test for "," in host range. Increase version number.

	* pdsh.spec : Add COPYING to docs. Remove -n from %setup.

	* : tag pdsh-2.10.

2006-03-21  Mark Grondona <mgrondona@llnl.gov>

	* src/pdsh/main.c (_interactive_dsh) : 
	  Add support for command history in interactive mode when using 
	  readline.  History file is placed in ~/.pdsh/history. 
	  Original patch from Sebastien Cabaniols <Sebastian.Cabaniols@hp.com>.

2006-03-16  Jim Garlick <garlick@llnl.gov>

	* src/modules/xcpucmd.c : Add support support for signals.
	  Change mini shell script so -S hack will work.

2006-03-15  Mark Grondona <mgrondona@llnl.gov>
	* src/pdsh/mod.c : Remove error message when loading duplicate
	  module in pdsh. This is OK since we removed code which
	  only loaded .la's, we could be loading corresponding .so
	  after the .la (or vice versa).

	* pdsh.spec : Remove unneeded .la and .a files in packages.

	* : tag pdsh-2.9

2006-03-15  Jim Garlick <garlick@llnl.gov>

	* src/modules/xcpucmd.c : Use io session file instead of 
	stdout and stdin session files.  Enable pdcp support.

	* doc/pdsh.1.in, doc/pdcp.1.in : Describe xcpu module.

2006-03-14  Mark Grondona <mgrondona@llnl.gov>

	* src/pdsh/mod.c : Remove code which only loaded pdsh modules via
	  *.la files. This probably doesn't save much time and didn't allow
	  us to only install .so's on some systems.

	* src/common/split.c : Include xmalloc.h for Strdup () prototype.

2006-03-14  Jim Garlick <garlick@llnl.gov>

	* src/modules/xcpucmd.c, config/ac_xcpu.m4 : New (experimental).

	* configure.ac, config/Makefile.am, src/modules/Makefile.am : 
	Add xcpu module support.

	* src/pdsh/rcmd.c : set precedence for xcpu module.

	* README.modules, NEWS : List xcpu module.

2006-02-24  Mark Grondona <mgrondona@llnl.gov>

	* config/ac_debug.m4, configure : 
	  Do not strip executables on Mac OSX, this seems to remove all access 
	  to global dynamic symbols for loaded modules.

	* src/pdsh/Makefile.am, src/pdsh/Makefile.in : 
	  Do not install pdsh/pdcp setuid root by default anymore.

	* pdsh.spec : Apply Ben Woodard's <woodard@redhat.com> patches
	  for Fedora acceptance.

2006-02-14  Mark Grondona <mgrondona@llnl.gov>

	* : Update Copyright dates.

2006-02-13  Mark Grondona <mgrondona@llnl.gov>

	* pdsh.spec : Modified to comply with rpmlint 
	  (Ben Woodard <woodard@redhat.com>).

	* README, README.modules, doc/pdsh.1.in, NEWS : Update documentation.

2006-02-08  Mark Grondona <mgrondona@llnl.gov>

	* src/modules/sshcmd.c : Allow arguments to ssh command to be
	  generated at runtime, and thus overrode or appended to by
	  new env vars PDSH_SSH_ARGS and PDSH_SSH_ARGS_APPEND.

2006-02-07  Mark Grondona <mgrondona@llnl.gov>

	* config/ltmain.sh : Remove and regenerate ltmain.sh.

2006-02-02  Mark Grondona <mgrondona@llnl.gov>

	* src/modules/sshcmd.c : Change ssh_pid type from int to pid_t.

2006-01-20  Mark Grondona <mgrondona@llnl.gov>

	* src/pdsh/dsh.c (_thd_init) : Initialize th->resolve_hosts.

	* src/pdsh/privsep.c (privsep_rresvport, privsep_server) :
	  Send lport argument passed to privsep_rresvport to privsep
	  server so it can pass this value to rresvport() unchanged.
	  This is required because lport must be initialized on some
	  systems.

2006-01-19  Mark Grondona <mgrondona@llnl.gov>

	* config/libtool.m4 : Update libtool.m4 to version from 1.5.22. 
	  Fixes some problems with dlopen and dlsym on OS X.
	
	* configure.ac : Test for existence of sys/uio.h.

	* src/pdsh/privsep.c : Need to #include <sys/uio.h> on OS X for
	  struct iovec declaration.

	* configure, aclocal.m4, Makefile.in, scripts/Makefile.in, 
	  src/Makefile.in, src/common/Makefile.in, src/modules/Makefile.in,
	  src/qsnet/Makefile.in, src/pdsh/Makefile.in, testsuite/Makefile.in
	  testsuite/pdsh.test/Makefile.in, config/Makefile.in, doc/Makefile.in,
	  etc/Makefile.in:
	  Rerun ./bootstrap with autoconf 2.59, automake 1.9.6, libtool 1.5.22.

2006-01-11  Mark Grondona <mgrondona@llnl.gov>

	* src/pdsh/privsep.c, src/pdsh/privsep.h, src/pdsh/main.c : 
	  Add "privilege separation" capability to pdsh to support safely
	  running rsh/mqshell and mrsh/ssh/etc. together in the same process.
	  During initialization, if pdsh detects it is running setuid, 
	  a child process is forked to retain elevated privileges, while
	  pdsh swaps effective uid back to that of the user for the remainder
	  of the run. The privileged process is used to bind reserved ports 
	  on behalf of pdsh.

	* src/modules/xrcmd.c, src/modules/qcmd.c, src/modules/k4cmd.c :
	  Use priv_rresvport() instead of rresvport().

	* src/modules/mcmd.c, src/modules/sshcmd.c, src/modules/mqcmd.c :
	  If running with effective uid 0, and real user id is not also 0,
	  drop all privileges (as a sanity check).

	* src/modules/genders.c : Add hostlist_uniq() after converting genders
	  nodelist to hostlist format. 

2006-01-04  Mark Grondona <mgrondona@llnl.gov>

	* src/pdsh/rcmd.c, src/pdsh/rcmd.h : Added a new rcmd module
	  interface API which allows for multiple rcmd modules to be 
	  loaded in a single execution of pdsh.

	* src/pdsh/mod_rcmd.c, src/pdsh/mod_rcmd.h : Removed.

	* src/pdsh/opt.c : Update to use new rcmd interface.
	  Process hosts passed to on command line to accept rcmd type prefix
	  as rcmd_type:hosts,... Allow multiple invocations of -w.

	* src/pdsh/dsh.c, src/pdsh/dsh.h : 
	  Update to use new rcmd interface.

	* src/pdsh/Makefile.am, src/pdsh/Makefile.in : 
	  Remove mod_rcmd.[ch] and add rcmd.[ch].

	* src/modules/genders.c : Add support for pdsh_rcmd_type genders 
	  attribute which will change the default rcmd type for a given set
	  of hosts.

2005-12-22  Mark Grondona <mgrondona@llnl.gov>

	* src/common/split.c, src/common/split.h : Added. 
	  Move list_split() implementation which was used in several 
	  modules into pdsh common code.

	* src/modules/genders.c, src/modules/sdr.c, src/modules/nodeattr.c,
	  src/modules/dshgroup.c, src/modules/netgroup.c, src/modules/slurm.c :
	  Use list_split() from src/common/split.c instead of internal
	  _list_split() implementation.

2005-12-15  Mark Grondona <mgrondona@llnl.gov>

	* src/modules/netgroup.c : Add netgroup module providing support
	  for reading list of targets from /etc/netgroup file or NIS using
	  standard setnetent/getnetent calls.
	
	* configure.ac, pdsh.spec, config/ac_netgroup.m4, doc/pdsh.1.in,
	  src/modules/Makefile.am : 
	  Build, package, and document dshgroup module.

	* : Rerun ./bootstrap 

2005-12-06  Mark Grondona <mgrondona@llnl.gov>

	* src/pdsh/opt.c : Move processing of -x (exclude hosts by name)
	  until after mod_postop() has been called, because mod_postop()
	  may modify the list of target hosts.

	* src/modules/sshcmd.c (_pipecmd) : Close all file descriptors >2 
	  before exec'ing ssh, so that one ssh process' stdin doesn't remain
	  open in a subsequently invoked ssh. We tried to do this by setting
	  the close-on-exec flag on the fds when the socketpair was created
	  in pdsh, but this introduces a race between when the fd is opened
	  to when the flag is set where an ssh in another thread can be 
	  created. Closing all fds greater than 2 should work in all cases
	  and is simpler.

2005-10-26  Mark Grondona <mgrondona@llnl.gov>

	* src/modules/xrcmd.c : Fix typo in error message "k4cmd" -> "rcmd".
	  Patch supplied by Joe Ramey <ramey@ti.com>.
	  
2005-10-13  Mark Grondona <mgrondona@llnl.gov>

	* : tag pdsh-2.8.

2005-10-10  Mark Grondona <mgrondona@llnl.gov>
	
	* src/pdsh/mod_rcmd.h, src/pdsh/mod_rcmd.c : Replace mod_rcmd() 
	  function with mod_rcmd_create() which returns a created struct 
	  rcmd_info with created stdout/err file descriptors and module-specific
	  opaque data. The created rcmd_info is freed with mod_rcmd_destroy()
	  before each dsh thread exits.

	* src/pdsh/mod.h, src/pdsh/mod.c  : Allow modules to optionally
	  export an rcmd_destroy function for cleanup of rcmd_info structure
	  and associated opaque data. Change rcmd_signal interface to pass
	  struct rcmd_info instead of efd, and rcmd interface passes 
	  pointer to void * argument (module-specific opaque data).

	* src/pdsh/dsh.h, src/pdsh/dsh.c : Replace thd_t fd and efd members
	  with pointer to struct rcmd_info created by call the 
	  mod_rcmd_create(). Call mod_rcmd_destroy() before thread termination.

	* src/modules/sshcmd.c : Remove ssh_reaper thread and collect ssh
	  process exit status in new "rcmd_destroy" function.

	* src/modules/mqcmd.c, src/modules/k4cmd.c, src/modules/xrcmd.c,
	  src/modules/mcmd.c, src/modules/qcmd.c :
	  Update remaining rcmd modules to reflect changes in 
	  pdsh_rcmd_operations components.

	* src/modules/sdr.c (_sdr_cache_hresp_line) : Ignore host_responds
	  for node ids with no node information.

2005-09-30  Mark Grondona <mgrondona@llnl.gov>

	* src/pdsh/qsnet/qswutil.h : fix compile warning against definition
	  of QSW_RAILMASK_MAX.

2005-09-22  Mark Grondona <mgrondona@llnl.gov>

	* src/pdsh/dsh.c (_wdog) : Don't sleep for connect_timeout seconds 
	  at beginning of watchdog poll (breaks command timeout). 

	* src/pdsh/dsh.c (_rsh_thread) : Send SIGTERM to commands that have
	  been timed out by watchdog. (for SSH, this allows us to kill
	  the ssh process but not the remote commands)

2005-09-22  Mark Grondona <mgrondona@llnl.gov>

	* doc/pdsh.1.in : Add note in LIMITATIONS about inability for
	  pdsh to guarantee remote commands are terminated after command
	  timeout.

2005-09-21  Mark Grondona <mgrondona@llnl.gov>

	* src/common/dsh.c (_rcp_response) : Print error string recvd from
	  remote RCP server. Remove confusing "Failed to initiate RCP protocol"
	  error message.

	* src/common/dsh.c (_rcp_response) : Remove legacy comments about
	  pcp response codes (we never send a response prefixed with 2) and
	  other small changes to rcp_response.

2005-09-14  Mark Grondona <mgrondona@llnl.gov>

	* src/common/hostlist.c : Update to latest hostlist code which
	  allows a suffix on hostlist expressions, e.g. foo[0-10]-bar.

2005-08-26  Mark Grondona <mgrondona@llnl.gov>

	* src/modules/dshgroup.c (_read_groupfile) : module was testing 
	  for backupfile (/etc/dsh/group/%s), after access() call for 
	  default ($HOME/.dsh/group/%s) failed, but was still opening
	  default instead of backupfile. (Joe Ramey <ramey@it.com>)

2005-08-17  Mark Grondona <mgrondona@llnl.gov>

	* src/pdsh/dsh.c (dsh) : Remove debug output when processing
	  remote return codes.

2005-08-15  Mark Grondona <mgrondona@llnl.gov>

	* pdsh.spec : Allow PDSH_WITH_OPTIONS and PDSH_WITHOUT_OPTIONS
	  to be used to specify which conditional subpackages to build with
	  rpmbuild as well as existing --with and --without flags.

	* src/modules/genders.c : Tweak module help info for clarity.

	* : tag pdsh-2.7

2005-08-12  Mark Grondona <mgrondona@llnl.gov>

	* src/modules/dshgroup.c : Add dshgroup module providing 
	  -g/-X groupname to read list of targets from groupname file in 
	  ~/.dsh/group/ or /etc/dsh/group/groupname.
	
	* configure.ac, pdsh.spec, config/ac_dshgroup.m4, 
	  src/modules/Makefile.am : 
	  Build, package, and document dshgroup module.

	* src/pdsh/dsh.c : Add alternate definition of PTHREAD_STACK_MIN in
	  case definition is missing from pthread.h.

2005-08-10  Mark Grondona <mgrondona@llnl.gov>

	* src/pdsh/dsh.c : Include fd.h to avoid warning.

	* src/modules/sshcmd.c : Fix some compile warnings.

	* configure.ac : Add AM_MAINTAINER_MODE to disable maintainer-mode by
	  default. Remove AC_AIX which appears to leave CFLAGS set and disrupt
	  proper functioning of other macros. Run ./bootstrap.

2005-08-09  Mark Grondona <mgrondona@llnl.gov>

	* src/modules/sshcmd.c : Add close-on-exec flag to file descriptors
	  passed back from sshcmd() so they aren't inadvertently left open
	  in subsequently invoked ssh commands.

2005-08-08  Mark Grondona <mgrondona@llnl.gov>

	* src/pdsh/opt.c (opt_default, _find_path) : Initialize path_progname
	  for both pdsh and pdcp.

	* src/pdsh/mod.h, src/pdsh/mod.c, src/pdsh/main.c : 
	  Accept module path element as secure if owner matches pdsh/pdcp 
	  executable ownership, as well as root or current user. 

	* src/pdsh/mod.c (_path_permissions_ok) : Use stat() instead of lstat().

2005-08-06  Mark Grondona <mgrondona@llnl.gov>

	* src/pdsh/main.c : Change seteuid() to plain setuid() which is
	  more portable and has the intended effect.

	* src/modules/sshcmd.c : Change setenv() to putenv() for portability.

	* src/modules/sshcmd.c : Remove sshcmdr() which is now identical
	  to sshcmdrw().
	
	* src/pdsh/dsh.c () : Don't automatically close fd on XPOLLERR, there
	  might still be pending data to read. Fixes output truncation bug
	  report by Fred Cassirer <fred.cassirer@hp.com>.

2005-08-02  Mark Grondona <mgrondona@llnl.gov>

	* src/pdsh/dsh.c, src/pdsh/pcp_server.c : Remove debug code for pdcp 
	  which was accidentally committed.

	* src/pdsh/pcp_server.c : Change all writes to go through stdout fd 
	  instead of stdin fd. Stdin will work when pdcp is invoked via rshd
	  started from inetd, and appears to work under Linux even for sshd, 
	  but writing to stdin will block on many systems, hanging the pcp
	  protocol. (Yehia Beyh <Yehia.Beyh@hp.com>)

	* : tag pdsh-2.6

2005-07-21  Mark Grondona <mgrondona@llnl.gov>

	* src/common/hostlist.c, src/common/hostlist.h : Update hostlist code
	  to latest version from LSD-Tools project, which fixes many bugs.

	* src/pdsh/mod.c (_dir_ok) : Directory permissions are ok even if 
	  other has write permission if the sticky bit is set.

	* src/pdsh/mod.c (_mod_load_dynamic_modules) : Don't load module
	  files owned by users other than current user and root, or files that
	  have write permissions for other.

	* : tag pdsh-2.5

2005-07-20  Mark Grondona <mgrondona@llnl.gov>

	* src/modules/sshcmd.c : Add ssh "reaper" thread to collect exit status
	  of all ssh commands and print any nonzero exit codes at end of pdsh run.
	  No longer invoke ssh backgrounded, as this is no longer needed since
	  pdsh now reaps these processes.

	* config/Make-rpm.mk, Makefile.am : Remove unneeded "make rpm" target.

	* doc/pdsh.1.in : Fix up some manpage text.

2005-07-19  Mark Grondona <mgrondona@llnl.gov>

	* src/common/xmalloc.h, src/common/xmalloc.c : Strdup takes const arg.

	* src/modules/mqcmd.c (mqcmd) : Fail gracefully if munge_ctx_create
	  returns NULL.


2005-07-15  Mark Grondona <mgrondona@llnl.gov>

	* src/pdsh/dsh.c (dsh) : Be sure to handle error conditions on file
	  descriptors when returning from xpoll(). (fixes pdsh hang on OS X
	  as reported by Andrina Kelly <andrina@corefa.com>).

2005-05-31  Mark Grondona <mgrondona@llnl.gov>
	
	* src/pdsh/dsh.c (dsh) : Don't call _increase_nofile_limit() until after 
	  mod_rcmd_init().

2005-05-09  Albert Chu <chu11@llnl.gov>

	* : Added genders querying support to -g and -X options.

	* src/modules/genders.c (genders_init): New function.

	* src/modules/genders.c (genders_fini): Call lt_dlclose
	  appropriately.  Fix prototype to match ModExitF type and return 0.
	
	* src/modules/genders.c (_read_genders_attr): Modified
	  appropriately to call genders_query if it is available.
	
	* src/modules/genders.c (_read_genders): Renamed 'attr' local var
	  to 'query'.  

	* doc/pdsh.1.in: Updated information on -g and -X options
	  appropriately.

2005-03-28  Mark Grondona <mgrondona@llnl.gov>

	* config/ac_qshell.m4, config/ac_mqshell.m4 : Abort configure script 
	  when --with-qshell or --with-mqshell is supplied and PAM support
	  cannot be found (instead of silently deactivating these options).

	* Makefile.am : Remove redundant install and uninstall hooks from top-
	  level Makefile. (reported by Tsung-i Mark Huan <tihuang@cs.uh.edu>)

2005-03-18  Mark Grondona <mgrondona@llnl.gov>

	* README.QsNet : Add reference to Quadrics' pdsh FAQ.

2005-03-12  Mark Grondona <mgrondona@llnl.gov>

	* src/common/xpoll.c : Move include of sys/types.h above sys/select.h
	  for OS X. (patch from Andrew Mortensen <admorten@umich.edu>).

2005-01-10  Mark Grondona <mgrondona@llnl.gov>

	* pdsh.spec.in : Update path to xinetd init script as reported by 
	  Daniel Blueman <daniel.blueman@quadrics.com> for compatibility
	  with SuSE.

2005-01-07  Mark Grondona <mgrondona@llnl.gov>

	* src/qsnet/qswutil.c (qsw_have_elan3) : Fix bug in m/qshd which
	  caused pdsh to fail on nodes without an elan3 adapter.
	  (patch supplied by Daniel Blueman <daniel.blueman@quadrics.com>)

2004-12-08  Mark Grondona <mgrondona@llnl.gov>

	* src/modules/mcmd.c : Update to mrsh protocol version 2.1,
	  which allows mrsh over "localhost."

	* : tag pdsh-2-4-1

2004-11-22  Mark Grondona <mgrondona@llnl.gov>

	* README.QsNet : Update location of libelanhosts. Describe 
	  "slurm" module.

	* src/pdsh/dsh.c (dsh) : Increase max number of open files to hard
	  limit for large fanout.

	* : tag pdsh-2-3-1
	
2004-09-21  Albert Chu <chu11@llnl.gov>

	Added large file support to pdcp (gnat pdsh/497).

	* src/pdsh/pcp_server.c (_sink): Redeclare 'size' as off_t type
	instead of integer.

	* src/pdsh/dsh.c (_rcp_sendfile): Fix typo in comments.
	
2004-09-21  Mark Grondona <mgrondona@llnl.gov>

	* configure.ac : Add AC_SYS_LARGEFILE (fix for gnat pdsh/497).

2004-07-30  Mark Grondona <mgrondona@llnl.gov>

	* : Tagged pdsh-2-2-1

2004-07-19  Mark Grondona <mgrondona@llnl.gov>

	* src/modules/slurm.c : Allow multiple jobids to -j option.

	* doc/pdsh.1.in : Change name of mqshell/qshell modules to mqsh/qsh.

2004-06-23  Mark Grondona <mgrondona@llnl.gov>

	* src/pdsh/opt.c (opt_args) : Do not abort when none of the 
	hosts in exclude_buf (i.e. -x) match the current wcoll.

	* src/common/err.c (lsd_fatal_error) : Added.

	* configure.ac : Define WITH_LSD_FATAL_ERROR_FUNC.

2004-06-09  Mark Grondona <mgrondona@llnl.gov>

	* src/pdsh/dsh.c (_dsh_attr_init) : Added function to initialize
	pthread attr and set stacksize and detach state. 
	
	* src/pdsh/dsh.c (dsh) : Use _dsh_attr_init() instead of 
	pthread_attr_init() directly. Set stacksize argument using
	DSH_THREAD_STACKSIZE (Currently set to 128K).

	* README : Add note to look at README.QsNet for --with-qshell.

	* : Tagged pdsh-2-1-1

2004-06-01  Mark Grondona <mgrondona@llnl.gov>

	* src/qsnet/qswutil.c (_qsw_cap_create) : Fix multirail loop for
	libelan3 systems to never go past ELAN_MAX_RAILS.

2004-05-28  Mark Grondona <mgrondona@llnl.gov>

	* scripts/dshbak : Use regex instead of split() to allow for
	whitespace padding in node names (suggested by Ashley Pittman
	<ashley@quadrics.com>)

2004-05-26  Mark Grondona <mgrondona@llnl.gov>

	* src/modules/slurm.c (_slurm_wcoll) : Add extra "show_all"
	argument needed for slurm_load_jobs().

	* config/ac_elan.m4 : Fix typos. Abort configure if libelanhosts 
	not found.  

	* : Tagged pdsh-2-0-1

2004-05-12  Mark Grondona <mgrondona@llnl.gov>
	
	* src/pdsh/dsh.c (_rcp_thread) : Generate error message and copy
	any pending stderr data to user when _rcp_response() fails.
	(gnats:433)

2004-05-12  Albert Chu <chu11@llnl.gov>

	* doc/pdcp.1.in: Added note that pdcp must be installed on remote
	destination nodes.
	
2004-05-06  Mark Grondona <mgrondona@llnl.gov>

	* src/qsnet/elanhosts.c, src/qsnet/elanhosts.h, src/qsnet/Makefile.am :
	Removed elanhosts.[ch] (functionality moved into libelanhosts library).

	* config/ac_elan.m4 : Check for presence of libelanhosts.

2004-04-27  Mark Grondona <mgrondona@llnl.gov>

	* src/qsnet/qshell.c (get_qshell_info) : Increase max environment
	string from 1k to 4k.

2004-04-26  Mark Grondona <mgrondona@llnl.gov>

	* src/qsnet/qswutil.c : Add missing variable in #ifdef HAVE_LIBELAN3

	* src/qsnet/qshell.c : Add missing newlines to error messages.

	* src/pdsh/opt.h, src/pdsh/opt.c : Added and initialized ret_remote_rc.

	* src/pdsh/dsh.c (dsh) : Initialize opt->getstat if either of
	ret_remote_rc or kill_on_fail are true, but only adjust exit value
	of pdsh process when ret_remote_rc is true.

	* src/pdsh/dsh.c (_rsh_thread) : Kill all processes if remote
	process is killed by a signal and opt->kill_on_fail is true.

	* src/pdsh/dsh.c (_die_if_signalled) : Added.

2004-04-08  Mark Grondona <mgrondona@llnl.gov>

	* src/qsnet/qswutil.c (_qsw_cap_create, _qsw_elan_nrails) : Added.

	* src/qsnet/qswutil.c (qsw_setup_program) : Further refinement
	of Elan multirail support.

2004-04-07  Mark Grondona <mgrondona@llnl.gov>

	* src/pdsh/dsh.c (_fwd_signal) : Check for valid file descriptor
	before passing to mod_rcmd_signal().

	* src/pdsh/dsh.c (_rsh_thread) : Block SIGPIPE outside while loop
	and before call to connect.

	* src/pdsh/opt.c (opt_args) : Pass PCP only arguments to modules
	when in DSH mode.

	* src/qsnet/qswutil.c, src/modules/mqcmd.c, src/modules/qcmd.c: 
	Add support for user supplied railmask (default to 1). Fix 
	broken multrail (for elanctrl interface) reported by Fabrizio
	Petrini <fabrizio@lanl.gov>

	* src/qsnet/qshell.c (get_qshell_info) : Re-map QSHELL_REMOTE_* 
	environment variables to their unprefixed counterparts to allow  
	propagation of LD_LIBRARY_PATH and LD_PREOPEN to qshell jobs as
	suggested by Ashley Pittman <ashley@quadrics.com>.
	
	
2004-04-02  Mark Grondona <mgrondona@llnl.gov>

	* src/qsnet/Makfile.am : Need to link libqsw with libdl when not using 
	PAM. (Reported by Nicholas Henke <nic@clusterfs.com>)

	* src/common/hostlist.c : Update to latest hostlist code from
	LSD-Tools project.

2004-03-30  Mark Grondona <mgrondona@llnl.gov>

	* src/pdsh/dsh.c (_rsh_thread) : Remove calls to xfgets() and
	use internal pdsh buffering to line-buffer output data. (gnats:408)
	
	* src/pdsh/cbuf.c, src/pdsh/cbuf.h: Added.
	
	* src/common/xstring.c (xfgets, xfgets2) : Removed unused functions.
	
2004-03-23  Mark Grondona <mgrondona@llnl.gov>

	* src/pdsh/dsh.c (_wdog) : Fix bug in watchdog sleep (found
	by Al Chu <chu11@llnl.gov>).

	* src/pdsh/dsh.c (_rcp_thread, _rsh_thread): Set thread connect
	time before updating thread state to DSH_READING to avoid potential
	race in watchdog (found by Al Chu <chu11@llnl.gov>).

2004-03-15  Mark Grondona <mgrondona@llnl.gov>

	* src/pdsh/mod.c, src/pdsh/mod.h, src/pdsh/opt.c : Misc. doc and 
	other cosmetic changes suggested by Py Watson <py@llnl.gov>.

	* src/pdsh/mod_rcmd.c : Move "mrsh" module to top position in
	rcmd_rank[], making it the default whenever installed.
	
	* src/pdsh/dsh.c (_wdog) : Terminate watchdog if thread info
	has been freed.

2004-03-08  Mark Grondona <mgrondona@llnl.gov>

	* src/modules/sdr.c : Rewrite module so that -a, -i, and -v can be
	used independently of eachother and along with other node selection
	options.

	* src/modules/genders.c : Modified behavior of -a such that all 
	nodes are targeted =except= those with "pdsh_all_skip" attribute.
	New "-A" option provides old -a behavior. Added -F option to point
	pdsh to a non-default genders file.

	* src/modules/nodeattr.c : Added -A option and changed semantics
	of -a to match genders module.

2004-03-03  Mark Grondona <mgrondona@llnl.gov>

	* src/qsnet/qswutil.c (qsw_spawn_neterr_thr) : Dlopen libelan3.so 
	when needed on Elan3 systems for running the network error thread. 
	Allows single qshd/mqshd binary to run on Elan3 or Elan4.

	* doc/pdsh.1.in, doc/pdcp.1.in : Rewrite of pdsh/pdcp documentation.

2004-02-25  Mark Grondona <mgrondona@llnl.gov>

	* src/modules/Makefile.am, src/qsnet/Makefile.am : Build convenience
	libs (libqsnet, libmods) only when needed. 

	* configure.ac, src/pdsh/Makefile.am : Add -Wl,-bgcbypass=1000 when 
	building pdsh with dynamic modules on AIX. This is hack to ensure to
	that symbols in libcommon not used by pdsh but possibly needed by
	dlopen'd modules are not garbage-collected by the AIX linker.

2004-02-24  Mark Grondona <mgrondona@llnl.gov>
	
	* configure.ac : Export WITH_GNU_LD Automake conditional.

	* src/modules/Makefile.am : Build version script for all pdsh modules
	if using GNU linker.

2004-02-17  Mark Grondona <mgrondona@llnl.gov>

	* src/modules/genders.c : Allow multiple genders attributes to be
	passed to -g and -X, either via comma-separated list or multiple 
	invocations of these options.

	* src/modules/nodeattr.c : Same.

	* src/modules/sdr.c : Truncate domain part of hostnames. 

2004-02-12  Mark Grondona <mgrondona@llnl.gov>

	* src/pdsh/mod.c : Modules now optionally export pdsh_module_priority 
	which affects sorting in the list of loaded modules. This can be used 
	to ensure that some modules interfaces are called after others.

	* src/modules/ : add pdsh_module_priority to existing modules.

	* src/modules/genders.c : Added -X option. Changed behavior of -i 
	such that it always translates between altnames to canonical names.

	* config/ac_static_modules.m4 : Place static_modules.h in top level
	builddir -- src/modules might not exist at time configure is run.

	* src/modules/Makefile.am : Be sure to include QSW libs in libmods
	when compiling with static modules.

	* src/qsnet/elanhosts.c, src/qsnet/qswutil.c : Improve error message
	when hostname not found in /etc/elanhosts.

2004-02-11  Mark Grondona <mgrondona@llnl.gov>

	* : Added "slurm" module to support running under SLURM allocations.

	* config/ac_slurm.m4, src/modules/slurm.c : Added.

	* src/modules/Makefile.am, configure.ac: Support new slurm module.

2004-02-10  Mark Grondona <mgrondona@llnl.gov>

	* config/ac_rsh.m4 : added file.
	
	* configure.ac, config/ac_static_modules.m4, src/modules/Makefile.am : 
	Don't unconditionally include BSD rsh module.

	* src/common/hostlist.c : Update to lastest for lsd-tools.

	* src/pdsh/mod.c : Workaround glibc <= 2.2.4 dl.so bug (gnats:322)

	* src/pdsh/dsh.c (_int_handler) : Sanity check for NULL thread
	info array before attempting to print stats.

2003-12-30  Albert Chu <chu11@llnl.gov>

	* README.modules: Removed mrshd package requirement.

2003-12-22  Albert Chu <chu11@llnl.gov>

	* src/qsnet/mqshd.c (check_interfaces): Removed logically unused
	code.
	
2003-12-18  Mark Grondona <mgrondona@llnl.gov>

	* src/qsnet/qswutil.c (_setbitmap): Fixed bug when using cyclic
	distribution and non-contiguous nodesets.

	* src/pdsh/main.c, src/pdsh/opt.c: Move mod_rcmd_exit() from main()
	into opt_free() since mod_rcmd_load() is called in opt_args().

2003-12-16  Albert Chu <chu11@llnl.gov>

	* src/qsnet/qshell.c (getcommon): Renamed to readchar.

	* src/qsnet/qshell.c (getint): Modified to not use readchar.  See
	comments for info why.

	* src/qsnet/qshell.c (qshell_conv): New function.

	* src/qsnet/qshell.c (pamauth): Modified to use new qshell_conv
	function.

	* src/qsnet/qshell.c (get_qshell_info): Added "\n" to end of all
	errlog messages.

	* src/qsnet/qshd.c (doauth, qshd_get_args): Made changes to
	support changes to pamauth.

	* src/qsnet/qshd.c (qshd_get_args): Fixed bug in which remuser
	buffer was being interpreted as the command buffer.

	* src/qsnet/mqshd.c (mqshell_get_args): Made changes to support
	changes to pamauth.

	* src/qsnet/qshell.h, src/qsnet/qshell.c (errorsock): Removed this
	unused function.
	
	* src/modules/mqcmd.c (mqcmd): Made error messages have more
	consistent wording.

2003-12-12  Albert Chu <chu11@llnl.gov>

	Upgraded mqshd daemon based on changes in the original mrshd
	daemon.
	
	* src/qsnet/mqshd.c (check_interfaces): Changed h_length parameter
	to addr_len.

	* src/qsnet/mqshd.c (check_munge_ip): New function.

	* src/qsnet/mqshd.c (mqshell_get_args): Use new check_munge_ip
	function.  Remove calls to gethostname and gethostbyname.
	getpwnam error now outputs "Permission Denied" instead of
	"Internal System Error".  Cleaned up code to be more similar to
	mrshd daemon code.

	Misc

	* src/modules/mqcmd.c (mqcmd): Added munge ctx for better error
	message.

	* src/modules/mcmd.c, src/modules/mqcmd.c: Re-worked code to have
	similar style to mcmd module from mrsh project, easing potential
	bug fixes later on.
	
2003-12-10  Mark Grondona <mgrondona@llnl.gov>
	
	* src/common/Makefile.am, src/modules/Makefile.am, 
	src/pdsh/Makefile.am: No whitespace between -I and arguments -- 
	some compilers (Compaq *cough*) can't handle it.

	* configure.ac: remove -q from grep command lines for portability.

	* src/pdsh/opt.c (opt_register): _init_pdsh_options() doesn't take 
	an arg.

	* src/pdsh/dsh.c (_xsignal): Actually return old signal handler. 

	* src/pdsh/pcp_server.c: Include sys/sysmacros.h on systems that have
	it (for roundup() macro declaration).

	* src/qsnet/qswutil.c: Added qsw_prgsignal.

	* src/qsnet/qshell.c (stderr_parent): Call qsw_prgsignal() abstraction
	instead of rms_prgsignal() directly.

	* src/pdsh/opt.c (opt_default, opt_verify): Only allocate list for
	opt->infile_names if personality == PCP.

	* src/modules/mcmd.c (mcmd): Use a munge ctx for better error msgs.
	
	* src/modules/genders.c: Added ModExitF genders_fini to free any
	memory used by module.

	* src/pdsh/main.c, src/pdsh/dsh.c: Move rcmd_exit() call from dsh()
	back up into main().

2003-12-09  Albert Chu <chu11@llnl.gov>

	* config/ac_nodeupdown.m4: Added check for old vs. new nodeupdown
	APIs.

	* src/modules/nodeupdown.c (remove_all_down_nodes): Added support
	for both old and new nodeupdown APIs.

	* pdsh.spec.in: Changed whatsup >= 1.3 requirement to just
	whatsup.
	
2003-12-09  Albert Chu <chu11@llnl.gov>

	* src/modules/nodeupdown.c (remove_all_down_nodes): Updated for
	change in nodeupdown API version 1.3.

	* pdsh.spec.in: Added requirement that nodeupdown module requires
	whatsup >= 1.3 package.

	* : Tagged pdsh-2-0-0-pre12.

2003-12-02  Mark Grondona <mgrondona@llnl.gov>

	* src/pdsh/dsh.c (dsh): Reinstall old SIGINT handler before
	freeing thread info array.

2003-12-01  Mark Grondona <mgrondona@llnl.gov>

	* src/modules/genders.c (_read_genders): Search attribute argument
	for an attr=value pair and pass value to genders_getnodes() if found.

2003-11-24  Mark Grondona <mgrondona@llnl.gov>

	* configure.ac, config/Make-rpm.mk: Allow date-tagged builds off 
	unstable branches.

2003-11-19  Albert Chu <chu11@llnl.gov>

	* config/ac_static_modules.m4: Fixed variable names.  Variable
	names were changed in ac_qshell.m4 and ac_mqshell.m4, but never
	modified in this particular macro.

2003-11-13  Albert Chu <chu11@llnl.gov>

	* src/qsnet/mqshd.c (getifrlen): Added fix for ia64 portability
	issue.

2003-11-12  Mark Grondona <mgrondona@llnl.gov>

	* pdsh.spec.in: Only build ssh and rsh modules by default. All
	other modules must be enabled via --with <pkg> on rpmbuild 
	command line.

	* config/Make-rpm.mk: Pass options to rpmbuild via WITH_OPTIONS and
	WITHOUT_OPTIONS environment variable (instead of ``rpmargs'').

2003-11-06  Mark Grondona <mgrondona@llnl.gov>

	* src/pdsh/ltdl.c, config/libtool.m4 : Update to libtool 1.4.3.

	* src/pdsh/opt.c (_show_version, _usage) : Created common function
	to print list of loaded rcmd modules.

2003-10-28  Mark Grondona <mgrondona@llnl.gov>
	
	* src/pdsh/Makefile.am : Removed QSW_LIBS from pdsh binaries.

2003-10-27  Jim Garlick <garlick@llnl.gov>

	* src/qsnet/qswutil.c (qsw_decode_cap) : Changed format
	for cap->cap_elan_type/cap->cap_spare to %hx from %x. This
 	member is unsigned short.
 
2003-10-14  Mark Grondona <mgrondona@llnl.gov>

	* Makefile.am, pdsh.spec.in: Do not install pdsh/pdcp with setuid
	bits on by default.

	* src/modules/mcmd.c, src/modules/mqcmd.c (rcmd_init): drop
	elevated permissions if they are set.

2003-10-13  Mark Grondona <mgrondona@llnl.gov>

	* config/ac_mqshell.m4, config/ac_qshell.m4, config/ac_elan.m4:
	Abstract Elan tests into AC_ELAN macro. Test for either libelanctrl
	or libelan3.

	* src/qsnet/qswutil.c: Integrate patch from Quadrics to support
 	new QSW elanctrl interface.
	
2003-10-12  Mark Grondona <mgrondona@llnl.gov>

	* src/qsnet/qshell.c (getpwnam_common): return copy of passwd
	struct alloc'd on heap instead of return value from getpwnam.

	* src/common/hostlist.c: update to latest hostlist code from
	LSD-Tools project.
 
2003-10-02  Albert Chu <chu11@llnl.gov>

	* src/pdsh/opt.h: Increased MAX_USERNAME from 9 to 17.

	* src/pdsh/opt.c (opt_default, opt_args): Null terminate
	luser or ruser username strings in case overflow occurred.

2003-09-26  Albert Chu <chu11@llnl.gov>

	* src/modules/mcmd.c (mcmd): Changed size_t to socklen_t for 'len'
	variable to avoid compiler warnings.

	* src/modules/mcmd.c: Upped protocol version number to 2.0.

2003-09-19  Albert Chu <chu11@llnl.gov>

	* pdsh.spec.in: Removed dependency of mrshd package from
	pdsh-rcmd-mrsh.

2003-09-18  Albert Chu <chu11@llnl.gov>

	* doc/pdsh.1.in, doc/pdcp.1.in: 
	Replaced @PROJECT@ with @PACKAGE@, so that manpages will be
	output properly by configure.

	* src/qsnet/mqshd.c (check_interfaces): 
	Fixed a memory leak. 

2003-09-17  Albert Chu <chu11@llnl.gov>

	* src/pdsh/dsh.c (dsh): 
	Fixed bug in which _rsh_thread does not terminate jobs properly.
	Bug caused by kill_on_fail value not being propogated properly to
	_rsh_thread.

	* src/pdsh/dsh.c (dsh): 
	Before exiting on a pthread_create failure, added code to kill
	all remote jobs if kill_on_fail is true.

	* src/qsnet/qshell.c (stderr_parent):
	Added feature so that the remote daemon and job are killed if
	pdsh crashes.
	
2003-09-16  Albert Chu <chu11@llnl.gov>
	
	* src/modules/mcmd.c (mcmd): Fixed an additional error message
	inconsistency due to a close being called before an errno check.  

	* src/qsnet/mrshd.c (mqshell_get_args): Modified error messages to
	be more consistent with mrshd error messages in the mrshd project.

	* doc/pdsh.1.in: Added note to LIMITATIONS about how the maximum
	number of simultaneous jobs that can be executed is limited by the
	maximum number of concurrent threads that can be spawned.

2003-09-12  Albert Chu <chu11@llnl.gov>

	* src/pdsh/dsh.c (dsh): Error message from pthread_create()
	fixed to output error message based on return value from 
	pthread_create(), not errno.

2003-08-29  Mark Grondona <mgrondona@llnl.gov>

	* src/common/xpoll.c (_poll) : Removed variable length array
	declaration (not yet supported in many compilers).

	* src/modules/sdr.c, src/modules/nodeattr.c : Use hostlist_push
	instead of hostlist_push_host, which doesn't get exported on AIX.
	
	* configure.ac : Append -Wl,-bexpall and -Wl,-brtl to LDFLAGS if 
	using dynamic loading on AIX. Added AC_AIX macro. 

2003-08-28  Mark Grondona <mgrondona@llnl.gov>

	* : Reorganized pdsh code and changed sources accordingly.

	* src/qsnet/qshd_common.h, src/qsnet/qshd_common.c: 
	Renamed to qshell.[ch], changed	main_common() to qshell() and 
	removed references to ``doit.''

	* : Tagged pdsh-2-0-0-pre5 for testing.

2003-08-28  Albert Chu  <chu11@llnl.gov>

	* src/modules/mcmd.c (mcmd) src/modules/mqcmd.c (mqcmd): 
	Incorporated Al Chu's patch to fix potential error message
	inconsistencies due to a close call before an errno check. 

2003-08-19  Albert Chu  <chu11@llnl.gov>

	* mqshd.c (check_interfaces): Skip localhost IP address (127.0.0.1).

2003-08-12  Albert Chu  <chu11@llnl.gov> 

	* qshd_common.h, qshd_common.c: New Files.

	* qshd.c, mqshd.c: Moved common code into qshd_common.c.

	* ChangeLog: Slightly reformatted ChangeLog to conform to GNU
	standards.  Older entries will still contain their old format.

2003-08-07  Albert Chu  <chu11@llnl.gov>
	* mqshd daemon now properly uses remote hostname with PAM
	* Tagged pdsh-2-0-0-pre4
	
2003-08-04  Albert Chu  <chu11@llnl.gov>
	* Re-worked mcmd/mqcmd to handle stderr & stdout in one stream
	* Tagged pdsh-2-0-0-pre3
	
2003-07-21  Albert Chu  <chu11@llnl.gov>
	* Fixed typos in manpages.
	* Enabled PAM support in qshell & mqshell daemons
	* Updated configuration to output warning/notice
	  messages if particular modules cannot be built.
	* Tagged pdsh-2-0-0-pre2
	
2003-07-16  Albert Chu  <chu11@llnl.gov>
        * Fixed additional issues with command line options and modules
	  recognized (or not-recognized) between pdsh and pdcp.
	* Removed dependence of rcp command from pdcp.  All functionality
	  of the rcp command is now coded internaly within pdcp.  
	* Eliminated several bugs from original rcp code.
	* Fixed several pdcp bugs related to -r option.
	* Fixed pdcp access/modification time errors with -p option.
	* Updated pdcp manpage to be clearer about pdcp functionality.
	* "bsd" rcmd renamed to "rsh" rcmd 
	* Fixed scalability issues with mcmd/mqcmd file descriptors
	* Fixed scalability issues with select() by using poll()
	* Updated rcmd for new mrshd protocol 
	* Fixed possible race condition in mqcmd/mqshd
	* Tweaked configuration, makefiles, manpages, and documents for
	  readability and portability.
	
2003-06-24  Albert Chu  <chu11@llnl.gov>
	* added ability to compile modules in statically with
	  --enable-static-modules option
	* ssh no longer compiled automatically, needs --with-ssh option
	* mqshd built to be independent of net-toollib library 
	* added checks to differentiate between options/modules suitable for 
	  pdsh vs. pdcp
	* added several error/warning messages to specific modules
	* minor tweaking of configuration, makefiles, documents, and manpages
	  for readability and portability.

2003-06-13  Albert Chu  <chu11@llnl.gov>
	* added support for mqsh rcmd and mqshd daemon
	* updated manpages and docs for pdsh and pdcp
	* variety of minor tweaks and modifications in code and autoconf
        
2003-06-03  Albert Chu  <chu11@llnl.gov>
	* added support for mrsh rcmd
	
2003-05-21  Mark Grondona  <grondona1@llnl.gov>
	* Changed behavior of mod_read_wcoll() to call exported read_wcoll
 	functions from all modules (instead of only first to return non-NULL).
	* Added --with-* configure options for all modules mainly to support 
	rpmbuild which doesn't support configure-time determination of 
 	subpackages.

2003-05-21  Mark Grondona  <grondona1@llnl.gov>
	* Changed pdsh list implementation to Chris Dunlap's list.[ch]
	* Added mod.[ch] and mod_rcmd.[ch] for pdsh module loading/unloading.
	* Added ltdl.[ch] from libtool 1.4.3 (1.922.2.111 2002/10/23 02:54:36)
	* Updated to new pdsh "modules" design. Added modules subdirectory,
	removed sshcmd.c, qcmd.c, xrcmd.c and added new "rcmd" modules with
	same functionality. Moved libgenders, nodeattr, nodeupdown, and
	sdr specific code from main pdsh code into modules. 
	* Reorganized configure.ac and added new tests as auxdir/*.m4

2003-05-16  Albert Chu  <chu11@llnl.gov>
	* updated for gendersllnl API changes and removal of -r
	  option from nodeattr
	* tagged pdsh-1-8-5chaos

2003-04-22  Albert Chu  <chu11@llnl.gov>
	* updated for genders API changes in genders-1-1-9
	* updated for whatsup API changes in whatsup-1-0-5
	* tagged pdsh-1-8-4chaos
	
2003-03-12  Albert Chu  <chu11@llnl.gov>
	* tagged pdsh-1-8-3chaos
	* updated for changes in whatsup-1-0-3 libnodeupdown API
	* updated for changes in genders-1-1-3 libgenders API
	* minor fix on "--help" output
	
2003-03-07  Albert Chu  <chu11@llnl.gov>
	* tagged pdsh-1-8-2chaos
	* fixed logic bug with -i option.
	* fixed output from -V option

2003-02-28  Albert Chu  <chu11@llnl.gov>
	* tagged pdsh-1-8-1chaos

2003-02-26  Albert Chu  <chu11@llnl.gov>
	* Added linux support for -v option by using nodeupdown library
	  to check for up and down nodes.
	* Upgraded read_genders() function to use genders C library
	* Made appropriate changes to configure.ac, manpage, etc. 
	* Tagged pdsh-1-8-7noelan

2002-12-08 garilck
	* New release code for GPL.  Updated DISCLAIMER, source file headers.
	* Ran through "indent --no-tabs -kr *.[ch]" and installed standard
          vi footers (except hostlist.[ch])
	* Tagged pdsh-1-7-7noelan

2002-10-21  Jim Garlick  <garlick1@llnl.gov>
	* Bulding version for ILX cluster with genders but no elan
	* Tagged pdsh-1-7-6noelan

2002-10-09  Jim Garlick  <garlick1@llnl.gov>
	* Building non-chaos version for distro.
	* Tagged pdsh-1-7-6

2002-10-09  Jim Garlick  <garlick1@llnl.gov>
	* Eliminate third fork in qswutil.c per Addy at Quadrics.
	* Tagged pdsh-1-7-6chaos

2002-10-02  Mark Grondona  <grondona1@llnl.gov>
	* hostlist.c: properly handle deletion of unsuffixed hosts (pdsh/120)
	* opt.c: Abort when -x option given but hostlist_delete() returns 0
	* Makefile.am, configure.ac: only need READLINE_LIBS for pdsh binary
	* Tagged pdsh-1-7-5chaos (sent this version to addy@quadrics.com)

2002-09-27  Jim Garlick  <garlick1@llnl.gov>
	* Added support for readline in interactive mode if found.
	* Taggged pdsh-1-7-4chaos

2002-09-27  Mark Grondona  <grondona1@llnl.gov>
	* Make-rpm.mk: Updated rpm target for compatibility with automake
	* pdsh.1.in, pdcp.1.in: Improve documentation of hostname 
	  range handling (gnat pdsh/97)

2002-09-26  Mark Grondona  <grondona1@llnl.gov>
	* configure.ac: workaround autoconf-2.53 bug affecting improper
	  expansion of path in AC_PATH_PROG macro (fix for pdsh/116)

2002-09-26  Jim Garlick  <garlick1@llnl.gov>
	* Mark fixed pdsh/118 (bad usage of hostlist api)
	* Removed possibilty of string overflow in a couple places.
	* Taggged pdsh-1-7-3chaos (sent to LNXI for MCR)

2002-09-12  Jim Garlick  <garlick1@llnl.gov>
	* Reordered ChangeLog in reverse chronological order.
	* Mark fixed Elan context number wrap-around bug.

2002-09-12  Jim Garlick  <garlick1@llnl.gov>
	* Repair a file descriptor leak in rcp_thread  (gnat pdsh/113)
	* More error reporting in qswutil.c, qcmd.c, qshd.c
	* Fixed bug in sending of long bitmaps.
	* Taggged pdsh-1-7-2chaos (sent to LNXI for MCR)

2002-09-03  Mark Grondona  <grondona1@llnl.gov>
	* Automake-ified
	* Have `dshbak -c' generate bracketed ranges compatible with pdsh -w
	* Updated testsuite for compatibility with bracketed host ranges

2002-08-12  Jim Garlick  <garlick1@llnl.gov>
	* Make all static "helper" functions underbar-prefixed.

2002-08-11  Jim Garlick  <garlick1@llnl.gov>
	* If no genders, mpich machines, or SDR, allow configuration, but 
	  pdsh -a generates an error.
	* Fix SDR wcoll generation to use hostlist package.
	* Fixed --enable-debug option in configure.ac.
	* Removed range operator configurability altogether.
	* Enable "reckless hostrange expansion" (foo1-4 style ranges) for AIX


2002-08-10  Jim Garlick  <garlick1@llnl.gov>
	* Broke TODO out of ChangeLog
	* Removed aborted attempt at QsNet cleanup (libqsw dir)
	* Added support for Mark's hostlist.[ch].
	* Added COPYING and added GPL headers to source modules.
	* Removed code that deleted unreachable hosts from the target list in
	  interactive mode.  This didn't work because we fork for each
	  round.  Got rid of -c option which was used to disable this behavior.
	  As this has not worked for a long time, probably won't be missed.
	* Handle arbitrarily large cap->Bitmap in qcmd/qshd protocol.
	* Taggged pdsh-1-7-1chaos

2002-08-10 addy@quadrics.com (via Jim Garlick)
	* Removed garlick's conditional support for new driver
	  (addy's changes below are more complete)
	* ELAN_CAPABILITY has had the Generation element name changed. 
	  This change should be backwards compatible to older headers.
	* libelan now requires ELAN_CAP_TYPE_BROADCASTABLE to be always set 
	  as it supports segmented broadcast.
	* The elan3_create() code needed work to sync up with the new ioctl 
	  based device interface.
	* The xinet.d/qshell script was trying to use a service call 'xshell'.
	  Changed to qshell to match the /etc/service entry.
	* Doing a 'service xinetd restart' seems to cause the daemon to die
	  shortly after starting when done with pdsh or prun. I changed it to
	  'reload' inside the specfile which seems safer.

2002-07-22  Mark Grondona  <grondona1@llnl.gov> (via Jim Garlick)
	* Support HAVE_WORKING_STRERROR_R || STRERROR_R_CHAR_P
	  mail.gnu.org/pipermail/autoconf-patches/2001-October/007964.html

2002-06-20 akeane@quadrics.com (via Jim Garlick)
	* configure.ac fix to find pthreads on OSF/TRU64.
	* Taggged pdsh-1-6-4chaos.

2002-06-14  Jim Garlick  <garlick1@llnl.gov>
	* Moved list_split_range to hostrange.c (now called range_split)

2002-06-03  Jim Garlick  <garlick1@llnl.gov>
	* Fixed a bug in dshbak which did not properly compress multi-digit
	  hostname suffixes.
	* Switch ChangeLog format.
	* Added a few test cases to deja-gnu.

2002-05-29  Jim Garlick  <garlick1@llnl.gov>
	* Pdsh would sometimes block when cleaning up after a Ctrl-C.
	  Change fcntl(efd, F_SETFD, O_NONBLOCK) to F_SETFL (xrcmd.c)
	  Add fcntl call to k4cmd.c and qcmd.c.
	* Added include <qsw/types.h> to compile with RMS 2.73.
	  Other API changes for new quadrics libs.
	* Temporarily disable --with-rms and PAM support in qshd
	* Taggged pdsh-1-6-3chaos.

2002-05-24  Jim Garlick  <garlick1@llnl.gov>
	* Allow hostname ranges in WCOLL files.
	* Add -x option to exclude a list of hostnames from WCOLL.
	* Genders: -i option now selects canonical names.  The default is to
	  get what nodeattr -r gives you (alternate names, if any).
	* Tagged pdsh-1-6-2 
	* Released 1.6-2 to http://www.llnl.gov/icc/lc/pdsh.html
	* Chaos flag in spec file back on, tagged pdsh-1-6-2chaos

2002-04-11  Jim Garlick  <garlick1@llnl.gov>
	* RMS: Get rid of -P and -N options and use RMS_RESOURCEID as set by
	  the RMS 'allocate' command instead.
	* Change semantics of -n option: now it is tasks per node instead of 
	  total number of tasks.  This is no longer a qshell specific argument,
  	  but unless qshell is used it must be == 1.

2002-02-09  Jim Garlick  <garlick1@llnl.gov>
	* Misc cleanup of headers, function defs, README, and man pages.
	  Run man pages through autoconf.
	* Test HAVE_WORKING_STRERROR_R before using strerror_r (pdsh-1.6 %m 
	  fails on AIX).
	* Added HAVE_MTSAFE_GETHOSTBYNAME and HAVE_MAGIC_RSHELL_CLEANUP in
	  place of #ifdef _AIX.
	* Use socklen_t for accept() length argument and add a check in
	  autoconf to default it to int if undefined.
	* Rcp code now handles short writes on socket.  A short write would
	  have corrupted the copied file, though this has never been reported.
	* Additional configure options: --with-fanout=N, --with-timeout=N, 
	  --with-rangeop=c.  Removed -x and -X options since this is now
	  configurable at compile time.
	* Print "timed out" message instead of "interrupted system call" if
	  xrcmd/qcmd times out waiting for a response from the server 
	  (gnats:45).

2001-12-24  Jim Garlick  <garlick1@llnl.gov>
	    Mark Grondona  <grondona1@llnl.gov>
	* Call htons on hard-coded port numbers before using (rcmd.c, k4cmd.c)
	* Renamed rcmd.c -> xrcmd.c, pipecmd.c -> sshcmd.c.
	* Add -Wall to CFLAGS and eliminate all warnings on Linux.
	* Updated to latest Chris Dunlap RPM Make target for Linux.
	* Support signal propagation via rsh backchannel (dsh.c, xrcmd.c).
	* Added hidden magic cookie and size integers to xmalloc buffers.
	  Changed names to avoid conflict with dmalloc (now Strdup, Malloc, 
	  Free, Realloc).  Delete size pointer from various functions that
	  deal with resizeable strings.
	* Use memset instead of bzero.
	* Added qshell support for running Quadrics Elan3 jobs on Linux
	  with -E option and qshd server (added qshd subpackage to RPM target).
	* Stderr socket now opened by default to enable proper remote cleanup
	  after SIGINT, except on AIX where cleanup seems to work without the
	  extra socket.  Everywhere but AIX, the meaning of the -s option is now
	  reversed.
	* Default fanout is 64 on systems where we don't open stderr by default,
	  e.g. AIX, and 32 everywhere else.
	* Added support for expansion of hostname ranges passed through -w
	  (e.g. -w host1-5 means run on host1,host2,...,host5) (Mark Grondona)
	* Added new options -x and -X for disabling hostname range expansion
	  and defining new expansion operator, respectively. (Mark Grondona)
	* Added support for allocating the wcoll from an RMS partition.
	* Autoconfiscated. 
	* Added a list of configured features to pdsh -V output.
	* Avoid non-portable gethostbyname_r call on non-AIX system by doing 
	  all DNS lookups before threads start up.
	* Configure --with-ssh configures pdsh to use ssh for all connections.
	  Configure --with-krb4 configures pdsh to use krb4 for all 
	  connnections.  The two configuration options cannot be specified 
	  together.  In the absense of either, rsh is used (the preferred 
	  option).  Got rid of -e, -R, and -k options for selecting these at 
	  runtime.  Do not use rsh for non-root users if --with-krb4 specified.
	* Support ssh2's different option for batch mode.
	* If --with-machines=/path/to/machines is specified, use that for -a
	  processing no matter what.  In the absense of a machines file, if
	  SDRGetObjects exists, use that; if nodeattr exists, use that.
	  None of the above is a configure error.
	* Released 1.6 to http://www.llnl.gov/icc/lc/pdsh.html
	* Chaos flag in spec file back on, tagged pdsh-1-6-1chaos

2001-06-28  Jim Garlick  <garlick1@llnl.gov>
	* Renamed spec file to pdsh.spec.  Gzip installed man pages on Linux.
	* Moved path definitions to conf.h.  Changed nodeattr path to /usr/bin.
	* Fixed handling of numerical ranges with multiple root names (dshbak)
	* Fix %S handling to avoid truncating dotted quads (err.c)
	* Rename pcp to pdcp - avoid conflict with SGI Performance Co-Pilot RPM.
	* Updated RPM rules for chaos release.
	* Released version 1.5 (linux only)

2001-04-25  Jim Garlick  <garlick1@llnl.gov>
	* Added RPM spec file.
	* Fixed bug with opt_list dumping core on linux.
	* Added pdsh -V to display version (PDSH_VERSION in conf.h).
	* Changed wcoll logic on SP so pdsh -aiv drops nodes which have
	  either switch_responds or host_responds false instead of falling
	  back to the reliable_hostname.
	* Added wcoll hack to deal with changed SDR attributes for Colony switch
	* Released version 1.4

2000-07-14  Jim Garlick  <garlick1@llnl.gov>
	* Activated POSIX mode for getopt() on linux.
	* Abort cleanly if working collective is empty.
	* Fixed bug in pcp option handling (core on empty source file list).
	* Added install rule for pcp link to Makefiles.
	* Added -d (debug) option to get verbose thread status on ^C,
	  and connect/command time report at the end.
	* Use gethostbyname_r() on linux, but need mutex anyway for RH6.2.
	* Cleanup of rcmd selection code
	* -c option taken out of usage message due to lack of interest,
	  though still supported for SP dsh compatibility.  Took SP-isms
	  i.e. "partitions" and "working collective" out of Usage message
	  and other places.
	* Removed Makefile.sol and Makefile.aix42 (added commented out LIBS
	  defs to Makefile for solaris and aix42)
	* Fix DSHPATH handling for csh users.
	* Reword man entry for -l to note that even root needs to be in .rhosts
	  file of remote user.
	* Rework README.
	* Added dshbak perl script and manpage.
	* Added -S option to make pdsh return largest of remote return codes,
	  or 254 if any of the rsh transactions fail.
	* Added pcp man page.
	* Added -e option and pipecmd.c to use ssh.
	* Convert bcopy, index, rindex -> memcpy, strchr, strrchr.
	* Verified working on the following platforms:
	  Linux 2.2.14-5.0 i686, Linux 2.2.14 #5 SMP alpha, 
	  Linux 2.2.14-5.0smp sparc, AIX 3 4, OSF1 V4.0 alpha,
	  SunOS 5.7 sun4u sparc SUNW,Ultra-Enterprise
	* Released version 1.3

2000-06-22  Jim Garlick  <garlick1@llnl.gov>
	* -b option to cause single SIGINT to terminate pdsh (needed when pdsh
	  is run from a script).
	* 1:1 feature in release 1.1 was actually #ifdefed out.
	* Call sigaction() instead of signal() to avoid old-style signal
	  semantics.  (Was avoiding on AIX by linking with -lbsd).  Also, block
	  SIGINT in all but main thread to be compatible with Linux pthreads,
	  which seems to deliver that signal to all threads that don't block it.
	* Pcp functionality added.
	* Fixed DSHPATH.
	* Added genders support.
	* Released version 1.2.

1999-04-13  Jim Garlick  <garlick1@llnl.gov>
	* Portability to linux, OSF1, AIX4.3.2, Solaris 2.5.
	* Request 1:1 mapping to kernel threads, if M:N available.
	* Kerberos IV off by default.
	* Released version 1.1

1998-09-04  Jim Garlick  <garlick1@llnl.gov>
	* Initial release of version 1.0
