2008-04-25 Jim Garlick <garlick@llnl.gov>

	* etc/powerman.dev : Remove status_all, add status.   This is slower
	but unless all hosts are entered into both powerman.conf files, 
	status_all doesn't work.

2008-03-19 Jim Garlick <garlick@llnl.gov>

	* etc/ibmbladecenter.dev : Clean up:
	- Simplify some regexes and delete commented out, non-working code.
	- Add delays to account for settling time after on/off commands.
	- Add command to login script to disable telnet session timeout.
	- Tested with "Advanced Management Module".

	* etc/baytech-rpc28-nc.dev : Clean up:
	- Fix problem problem with initial command failing (serial RPC-28A)
	  by adding delay and "end of buffer" prompt matching.
	- Use \r not \r\n for line termination.

2008-02-19 Jim Garlick <garlick@llnl.gov>

	* src/client.c, parse.y, powerman.c, powermand.c, wrappers.c : Change 
	a few #includes for gcc 4.3/Fedora 9. [Jarod Wilson]

2008-01-24 Jim Garlick <garlick@llnl.gov>

	* powerman.spec : BuildRequires changes:
	- change tcp_wrappers-devel to tcp_wrappers for RHEL 5
	- add readline-devel

	* : tag powerman-1.0.32

2007-12-10 Jim Garlick <garlick@llnl.gov>

	* etc/swpdu.dev : New, for APPRO PDU. [Trent D'Hooge]

2007-12-04 Jim Garlick <garlick@llnl.gov>

	* etc/apcpdu3.dev : Make query response tolerant of configurable 
	plug name strings [Trent D'Hooge]

2007-11-26 Jim Garlick <garlick@llnl.gov>

	* src/httppower.c : New httppower daemon for HTTP based power controllers.

	* etc/dli.dev : Support for Digital Loggers, Inc. power controllers.

2007-11-21 Jim Garlick <garlick@llnl.gov>

	* etc/apcpdu3.dev : New apc variant for new firmware [Trent D'Hooge]

2007-10-20 Jim Garlick <garlick@llnl.gov>

	* etc/ilom-inline.dev : Add support for Sun ILOM over system console.

	* man/powerman-devices.7 : Fix typo in cyclades section.

	* scripts/build : Remove, also rpm targets in Makefile.

	* : tag powerman-1.0.31

2007-10-05 Jim Garlick <garlick@llnl.gov>

	* powerman.spec : Add BuildRequries for bison.

	* src/parse.lex : Consider \r to be white space.

	* : tag powerman-1.0.30

2007-09-06 Albert Chu <chu11@llnl.gov>

	* etc/ipmipower.dev: Modify cycle/reset to use off and on.

	* man/powerman-devices.7: Adjust text appropriately for changes.
	
	* : tag powerman-1.0.29

2007-06-19 Jim Garlick <garlick@llnl.gov>

	* powerman.spec : Add flex to BuildRequires.

2007-06-13 Jim Garlick <garlick@llnl.gov>

	* scripts/build : Build .src.rpm and append %{?dist} to Release.

2007-05-07 Jim Garlick <garlick@llnl.gov>

	* etc/*.dev : Raise cycle and cycle_all delays from 2 sec to 4 sec
	to accomodate power supplies that take a while to bleed off.

	* : tag powerman-1.0.28

2007-04-24 Jim Garlick <garlick@llnl.gov>

	* Makefile : Added rpms-working, rpms-trunk, rpms-release, tagrel 
	targets.

	* ChangeLog : Unexpand tabs to unconfuse vim syntax coloring.

	* : tag powerman-1.0.27

2007-03-05 Jim Garlick <garlick@llnl.gov>

	* scripts/stonith-powerman : New for heartbeat package.

	* etc/powerman.spec : Install stonith-powerman into the location
	where heartbeat expects it.

	* scripts/build : Added copy of Chris's build script.

	* Makefile : Added testrpm target.

2007-01-07 Jim Garlick <garlick@llnl.gov>

	* etc/baytech-rpc28-nc.dev : Fix problem problem with plugs >= 10.

2006-12-28 Albert Chu <chu11@llnl.gov>

	* man/powerman-devices.7: Add information about ipmipower.
	
2006-12-21 Jim Garlick <garlick@llnl.gov>

	* etc/baytech-rpc{3,28}-nc.dev: Work around problem with foreachplug 
	where loop doesn't reset after a reconnect.

	* : tag powerman-1.0.26

2006-11-27 Jim Garlick <garlick@llnl.gov>

	* etc/baytech-rpc3-nc.dev: Fix status_all regex.

	* etc/baytech-rpc28-nc.dev: Bring over changes from rpc3-nc in
	anticipation of new firmware.

2006-11-15 Albert Chu <chu11@llnl.gov>

	* : Branched powerman-2-0-0

2006-11-14 Albert Chu <chu11@llnl.gov>

	Add ranged power control support.

	* src/parse.lex, src/parse.y, src/device.h : Add parsing support
	  for on_range, off_range, cycle_range, and reset_range.

	* src/device.c (_get_ranged_script): New function.

	* src/device.c (_create_action, _create_exec_ctx,
	  _destroy_exec_ctx, _process_ifonoff, _process_send,
	  _process_setplugstate): Rearchitect to support multiple plugs.

	* src/device.c (_enqueue_targetted_actions): Call range script
	when appropriate.

	* man/powerman.dev.5: Updated appropriately.

	* etc/ipmipower.dev: Add ranged scripts.

	* META, powerman.spec: Update for pre-release.

	* : tag powerman-1.0.26-0-pre1

	* NEWS: Updated with ranged support news.
	
2006-10-27 Jim Garlick <garlick@llnl.gov>

	* etc/apcold.dev: New. [Zach Brown]

2006-10-25 Jim Garlick <garlick@llnl.gov>

	* examples/*: Move tcpwrappers directive to after includes, otherwise
	it's a parse error.

2006-09-11 Albert Chu <chu11@llnl.gov>

	* etc/ipmipower.dev: Cleaned up regex for all possible outputs. 
	
2006-09-08 Jim Garlick <garlick@llnl.gov>

	* etc/baytech-rpc3-nc.dev: tighten up expect script to avoid confusing
	status of outlet 1 with temperature in status screen on some units.

2006-08-29 Jim Garlick <garlick@llnl.gov>

	* etc/apc7900.dev: New.  [Martin Petereson]

2006-08-22 Jim Garlick <garlick@llnl.gov>

	* src/device.c: handle_read(): log EOF only if DBG_DEVICE, 
	not unconditionally on stderr.

2006-08-18 Jim Garlick <garlick@llnl.gov>

	* src/hostlist.[ch]: update to the latest from lsd-tools to
	fix memory leak regression [coverity].

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

	* test/vicebox.[ch], test/svicebox.c, etc/vicebox.dev: Removed.

	* scripts/*.sh: Removed (vicebox stuff).

	* Makefile, src/Makefile: Cleanup.

	* src/parse.y, src/device_tcp.c: Support 'quiet' TCP device option
	which suppresses connect/disconnect/telnet log messages.
	Undocumented for now (for Douglas Clay at Sandia CA).

	* src/device_tcp.c: Respond WONT to TELOPT_BINARY sent by Cyclades.

	* : tag powerman-1.0.25

2006-08-01 Jim Garlick <garlick@llnl.gov>

	* src/device_tcp.c: _telnet_recvopt(): Respond WONT to
	TELOPT_ECHO and TELOPT_LFLOW sent by newer baytechs.

2006-07-12 Jim Garlick <garlick@llnl.gov>

	* etc/baytech-rpc3-nc.dev: slight mods to support newer firmware.

2006-06-20 Jim Garlick <garlick@llnl.gov>

	* etc/icebox4.dev: New (from Jarod Wilson).

2006-05-30 Jim Garlick <garlick@llnl.gov>

	* : tag powerman-1.0.24

	* powerman.spec: fixed typo in %defattr

	* : tag powerman-1.0.24-2

2006-05-25 Jim Garlick <garlick@llnl.gov>

	* src/hostlist.[ch]: update to the latest from lsd-tools to
	fix case where powerman would not expand [00-26]p.

2006-05-24 Jim Garlick <garlick@llnl.gov>

	* src/device_tcp.c: _telnet_recvopt(): log any ignored option 
	negotiation requests.  Respond WONT to TELOPT_NEW_ENVIRON, 
	TELOPT_XDISPLOC, TELOPT_TSPEED to make Digi terminal server in
	telnet mode happy (gnat powerman/634).

	* powerman.spec: Include examples directory in RPM.

	* etc/cyclades-pm10.dev: New [Trent D'Hooge].

2006-04-26 Jim Garlick <garlick@llnl.gov>

	* src/hostlist.c: hostlist_next(): call out_of_memory() on malloc 
	failure [coverity].

	* src/client.c: always free hostlist_next() result if non-null [coverity].

	* src/device_serial.c: document valid return for sscanf() with an 
	assert() [coverity].

	* src/client.c: _client_query_status_reply_nointerp(): ensure 
	hostlist_destroy() is called on all function exit paths [coverity].

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

	* etc/powerman.spec: Rework %files section per
	https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=180747

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

	* man/powerman.dev.5: New.

	* man/powerman.conf.5: Tidy up.

	* etc/ibmbladecenter.dev: Tidy up.

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

	* src/device_serial.c: support baud rates up to B460800 if system does.

	* etc/phantom4.dev: fix for early v4.0 firmware with broken P0|P1.

	* etc/cb-7050.dev: New, experimental.
	
	* etc/README: Removed.

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

	* etc/ibmbladecenter.dev: New, experimental.

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

	* test/vpcd.c: handle undefined PTHREAD_THREADS_MAX on FC4.

	* Makefile, src/Makefile: take release number out of version string.

	* powerman.spec: spec file changes for Fedora submission [Ben Woodard]

	* : tag powerman-1.0.23

2005-10-12 Jim Garlick <garlick@llnl.gov>

	* Makefile, Make-rpm.mk, META: Update for Chris's build script.

	* : tag powerman-1.0.22

2005-09-22 Jim Garlick <garlick@llnl.gov>

	* etc/apcpdu.dev: fixed script after debug on Gauss cluster.

2005-07-09 Jim Garlick <garlick@llnl.gov>

	* src/hprintf.c: fixed improper va_list handling (originally reported
	by Thayne Harbaugh at LNXI) that was causing powermand to segfault when
	the client used -T on a nakoma 64 bit system.

	* etc/apcpdu.dev: New (from Makia Minich)

	* Makefile: Added apcpdu.dev to install target.

	* etc/*, test/*.pl, test/*.c: Remove RCS Source keyword and fix some 
	instances of Id that got mangled somewhere along the way.

	* contributed/pullizi.tgz: This tarball was corrupt.  Removed for now.

2005-07-08 Jim Garlick <garlick@llnl.gov>

	* : Chris converted from CVS to subversion.  Roughly here are his comments:
	I did not disable cvs2svn's keyword expansion.  On the plus side, 
	cvs2svn automatically sets the svn:keywords property on most files,
	which is the behavior you pro'ly want.  On the down side, tagged releases 
	are no longer byte-compatible with their former cvs counterparts since 
	keyword expansion differs slightly under svn; the dollar-Id-dollar 
	metadata is the same, just in a slightly different format.  I've added 
	our default hook scripts which requires you enter a commit message, 
	allows you to modify the svn:log revision property, and prevents you from 
	modifying anything under a /tags/ dir.

2005-03-22 Albert Chu <chu11@llnl.gov>

	* META: Updated for new release.

	* : tag powerman-1-0-21

2005-03-09 Jim Garlick <garlick@llnl.gov>

	* src/device.c: fixed memory leak dbg_actions (gnat powerman/233).

	* src/list.c: turn on MYALLOC.

2005-02-25 Jim Garlick <garlick@llnl.gov>

	* test/Makefile: run64vg and run2048vg targets added for valgrind.

	* src/list.[ch]: updated to latest from lsd-tools project.
	There appears to be a memory leak fix in here.

	* src/hash.c: fixed memory leak in hash_destroy(), also fixed in
	latest from lsd-tools.  Didn't update because latest requires thread.h
	stuff and didn't want to hassle.

	* src/hostlist.c: updated to latest from lsd-tools project.
	Added "MYALLOC" define to allow local memory allocator to be turned
	on and off when debugging with valgrind.

	* src/arglist.c: fixed two memory leaks 
	strings returned by hostlist_next() must be freed

	* src/client.c: fixed two memory leaks
	strings returned by hostlist_next() must be freed

	* src/parse_util.c: fixed three memory leaks
	strings returned by hostlist_next() must be freed

	* src/pluglist.c: fixed four memory leaks
	strings returned by hostlist_next() must be freed

	* src/device.c: fixed memory leak in dev_destroy().

	* src/parse.y: add a missing 'break' after default case stmt.

2004-09-21 Albert Chu <chu11@llnl.gov>

	* ChangeLog: Fixed dates in ChangeLog.  It's 2004 not 2003.

	* examples/powerman.conf-thundered: Fix typo in example and added a
	  few notes.

2004-05-28 Jim Garlick <garlick@llnl.gov>

	* examples: added a few example powerman.conf files per Robin's request.

2004-03-19 Jim Garlick <garlick@llnl.gov>
   
	* etc/apc.dev, etc/apcnew.dev: changed comments about firmware revs
	supported by each APC script variant per report by Zach Brown
	<zab@clusterfs.com>.

	* : tag powerman-1-0-20
	
2004-03-17 Albert Chu <chu11@llnl.gov>
	
	* etc/ipmipower.dev: Updated regex with new possible output and
	fixed regex bug.
	
2004-02-24 Jim Garlick <garlick@llnl.gov>

	* powerman.spec: fixed default attrs for %doc files.

2004-02-19 Jim Garlick <garlick@llnl.gov>

	* src/pluglist.[ch]: new PlugList abstraction for lists of Plugs.

	* src/device.c, src/parse.y, src/client.c: use new PlugList code.

	* test/tpl.c: test driver for pluglist code.

2004-02-09 Jim Garlick <garlick@llnl.gov>

	* src/parse.lex: fixed for gnat 323: powerman core dumps on incorrect 
	config file.

2004-01-12 Jim Garlick <garlick@llnl.gov>

	* src/arglist.[ch], src/device.c: further cleanup of ArgList abstraction

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

	* etc/ipmipower.dev: Fixed regex typo, it should now compile.

2004-01-10 Jim Garlick <garlick@llnl.gov>

	* src/parse.y: allow hostlists in the 'plug name' field of a node
	specification, e.g. this now works:
	  node "thunder[0-63]" "i0" "pthunder[0-63]"

	* etc/ipmipower.dev: Last regex didn't compile - try this one?

	* powerman.spec: fix test in %post scriptlet

2004-01-09 Albert Chu <chu11@llnl.gov>

	* etc/ipmipower.dev: Added additional expressions that result
	in powerman returning an unknown state.
	
2003-12-22 Jim Garlick <garlick@llnl.gov>

	* etc/ibmh8.dev: Fixed regular expression bug in status_all script.

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

	* etc/ipmipower.dev: Removed "not discovered" as acceptable message to 
	indicate power is off.  Power status should be unknown.  Fixed regular 
	expression bug in status_all script.
	
2003-12-22 Jim Garlick <garlick@llnl.gov>

	* src/arglist.[ch]: Fixed thinko in arglist_get prototype.

2003-12-21 Jim Garlick <garlick@llnl.gov>

	* src/arglist.[ch]: New.  Pulled content from device.c and tried to
	abstract more effectively.  Make it possible to preserve order of
	ArgList despite the use of a hash table for efficiency.

	* src/device.c, src/client.c: use new arglist interfaces.

	* : tag powerman-1-0-19-argval

2003-12-19 Jim Garlick <garlick@llnl.gov>

	* Makefile, powerman.spec, man/powerman.1: remove 'on' and 'off' sym links.

	* etc/README: added statement description.

	* powerman.spec: post scriptlet stops and restarts powerman, if it was
	running.
   
	* etc/powerman.dev: New.

2003-12-17 Jim Garlick <garlick@llnl.gov>

	* src/device.c: remove _verify_plugassign (hold over from when we had
	setplugname commands in scripts).

	* src/device_pipe.c: assert no string overflow from forkpty().

2003-12-08 Jim Garlick <garlick@llnl.gov>

	* etc/vpc.dev: implement status_all, on_all, off_all, and cycle_all
	for efficiency.

	* src/device.c, src/powermand.c, src/wrappers.c: introduce poll debugging
	code and fix bug where poll loop would spin when poll returned errors
	on devices.

	* src/device.c: rewrite dev_post_poll() for clarity.

	* src/device_pipe.c, Makefile: use openpty() from -lutil instead of local
	pty_open.  This gets pty allocation right once and for all.

	* src/pty.[ch]: removed.

	* src/hash.[ch]: new from lsd-tools (courtesy Chris Dunlap)

	* src/device.[ch], src/client.c: changed ArgList to use hash_t instead of
	List since gprof showed list searching was the bottleneck in big configs.
	Caveat: unsorted output (-x, temperature) is no longer returned in config 
	file order. 

	* : tag powerman-1-0-19

2003-12-04 Jim Garlick <garlick@llnl.gov>

	* etc/cyclades-pm8.dev: fixed status script to not fail intermittently
	depending on breakdown of partial reads.

	* etc/cyclades-pm8.dev: device has a non-configurable inactivity
	timeout so log on and off for each command.

	* etc/baytech-rpc28-nc.dev: device has a non-configurable inactivity
	timeout so repeat login sequence before each command (it works whether
	logged in or not).
	
	* powerman.spec: add %dir entries for directories that may be inadvertantly
	created with too restrictive permissions like /usr/man/man7.

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

	* /etc/ipmipower.dev: Removed "timed out" as acceptable message to
	indicate power is off.  Power status should be unknown when there
	is a timeout.
 
2003-12-02 Jim Garlick <garlick@llnl.gov>

	* man/powerman-devices.7: Added.

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

	* etc/ipmipower.dev: Replaced "failed to connect" with "timed out" 
	and "not discovered".

2003-11-30 Jim Garlick <garlick@llnl.gov>

	* src/wrappers.[ch], src/device.[ch], src/client.[ch], powermand.c:
	Add logic to use poll() if available, or select() if not.  This gets
	around the fixed 1024 bit size of FD_SETS used with select under Linux,
	which effectively limited the maximum number of devices to under 1024.

2003-11-30 Jim Garlick <garlick@llnl.gov>

	* src/powerman.c: handle partial reads on powermand socket.
	Fixes the very occasional 'unexpected response from server' errors.

	* src/powerman.c: don't initiate connect to server until options
	have been validated (avoids 'client read returned EOF' messages
	from server when someone mistypes a command).

	* src/client_proto.h, src/client.c: add connect_state to device query
	output.

	* test/vpcd.c, test/mkconf.pl, etc/vpc.dev: change vpcd plugs from 8 to 16.

	* src/pty.c: fixed _ptym_open to work beyond 176 ptys on Linux (up to 256).

	* test/Makefile: targets for testing scalability

	* test/testing.txt: added.

	* src/Makefile, src/debug.h: make dbg() macro a noop out if NDEBUG defined.

	* : tag powerman-1-0-18-prepoll

2003-11-28 Jim Garlick <garlick@llnl.gov>

	* src/wrappers.c, src/powerman.c, src/device_tcp.c: make Connect()
	non-fatal on ECONNREFUSED.

	* src/powermand.c: make daemonization happen after cli_listen() so
	errors about binding to the powermand port are reported on stderr.

	* src/pty.c: rework error handling.

2003-11-24 Jim Garlick <garlick@llnl.gov>

	* src/parse.y: add ability to put hostlists in 'node' line.
	If hardwired plug names, plug names are assigned in order.
	If not, plug names are set equal to node names.
	This should substantially reduce the size of powerman.conf files on 
	large clusters.

	* test/vpcd.c: add --foreground option for running on a pty.

	* test/TESTRIG: removed

	* test/mkconf.pl: added

2003-10-29 Albert Chu <chu11@llnl.gov>

	* etc/ipmipower.dev: Added "failed to connect" to query checks.

2003-10-17 Albert Chu <chu11@llnl.gov>
	
	* etc/ipmipower.dev: New File

	* man/powerman.1: 
	Added info about HOST RANGES under tcsh.	
	Fixed typo in powerman examples.

	* Makefile: Install new ipmipower.dev file.	
	
2003-10-16 Jim Garlick <garlick@llnl.gov>

	* src/device_pipe.c: after closing one side of the pty, send a SIGTERM to 
	child processes before attempting to reap them.  This solves a powerman 
	deadlock observed with h8power on ALC.

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

	* src/hostlist.[ch], src/config.h: updated to latest hostlist package
	from lsd-tools.

2003-09-26 Jim Garlick <garlick@llnl.gov>

	* etc/phantom-llnl.dev: remove this config file for LLNL-specific 
	phantom3 functionality which was never deployed in production.

	* etc/phantom4.dev: New.

2003-09-18 Jim Garlick <garlick@llnl.gov>

	* src/device.c, src/parse.y, etc/ibmh8.dev: removed support for setplugname
	statement.  Now if the 'plug name' line is omittted from the device.dev 
	file, any plug name can be specified in the config file.  Also, if the
	plug name is omitted in the config file, the node name is used.
	  
	* NEWS: updated for 1.0.19 release.  Include as news everything since
	1.0.16 since 17 and 18 were not widely distributed.

2003-09-17 Jim Garlick <garlick@llnl.gov>

	* src/hprintf.[ch], src/argv.[ch], src/wrappers.[ch]: import stuff
	from h8power project.

	* src/device_serial.c: lockf serial devices, close fd on error path.

2003-09-03 Jim Garlick <garlick@llnl.gov>

	* etc/ibmrsa.dev, etc/ibmrsa-smc.dev: Removed support for IBM RSA adapter
	per request of IBM.

	* : tag powerman-1-0-18

2003-08-17 Jim Garlick <garlick@llnl.gov>

	* etc/ibmh8.dev: Added and got working with 'h8power' utility.

2003-08-06 Jim Garlick <garlick@llnl.gov>

	* etc/cyclades-pm8.dev: got working with PM8i over serial.

	* man/powerman.conf.5: document the three forms of device specification.

	* : tag powerman-1-0-17

2003-08-04 Jim Garlick <garlick@llnl.gov>

	* src/client.c: clean up disconnect logic.

	* etc/ipmi.dev: got working with Intel SE7501WV1 motherboard.

	* etc/baytech-rpc3-nc.dev: minor tweak to get working again on ILX cluster.

	* powerman.spec: don't start/stop daemon on install per Trent's request.

2003-08-03 Jim Garlick <garlick@llnl.gov>

	* src/device*.c: move all retry logic to device.c and enforce backoff on
	all reconnects whether they be due to inability to establish a connection
	or a script timeout.  The only thing that resets the reconnect backoff
	count is a client request.

2003-08-02 Jim Garlick <garlick@llnl.gov>

	* src/device.c: print useful error message in process_setplugname if
	node does not exist.

	* src/client.c: pm --device output now lists nodes only if they
	have been mapped to plug names.

	* src/client.c: sort the list of nodes returned by pm --list.

	* src/device.c: emit warning if node does not have plug name assigned
	after login script completes (successfully or with timeout).

	* src/device.h: increase max buffer size from 8K to 64K as we were seeing
	the occasional ENOSPC error.

2003-08-01 Jim Garlick <garlick@llnl.gov>

	* src/device.h: decrease max buffer size from 1M to 8K.

	* src/client.c: sort the list of nodes returned by pm --device

2003-07-29 Jim Garlick <garlick@llnl.gov>

	* etc/phantom-llnl.dev,etc/phantom.dev: reduced timeout 20s->5s.

	* Makefile: distribute phantom-llnl.dev.

2003-07-23 Jim Garlick <garlick@llnl.gov>

	* etc/ibmrsa.dev: Tweaked for new firmware release.

	* etc/ibmrsa-smc.dev: New.  Config for RSA connected to main board via
	system management connector.

	* etc/baytech-rpc3-nc.dev: Make it look more like the rpc28 config.

2003-07-21 Jim Garlick <garlick@llnl.gov>

	* : minor code cleanup

2003-07-16 Jim Garlick <garlick@llnl.gov>

	* etc/ipmi.dev: New.

2003-07-15 Jim Garlick <garlick@llnl.gov>

	* etc/baytech-rpc28-nc.dev, etc/baytech-rpc3-nc.dev: minor fine tuning
	based on IGS cluster experience with rpc28's.

	* src/device_pipe.[ch], src/pty.[ch]: New.

	* src/parse.y: Support for "pipe device".

	* etc/phantom-llnl.dev: New - phantom firmware with llnl mods.

2003-07-09 Jim Garlick <garlick@llnl.gov>

	* etc/baytech-rpc28-nc.dev, etc/baytech-rpc3-nc.dev, etc/baytech.dev:
	Make prompt recognition less restrictive.

2003-07-01 Jim Garlick <garlick@llnl.gov>

	* etc/phantom.dev: Reflect changes in 3.0.4b firmware.

2003-06-23 Jim Garlick <garlick@llnl.gov>

	* etc/baytech-rpc3-nc.dev: New for ilx RPC3 "NC" model with new/different 
	firmware than expected in baytech.dev.

	* etc/baytech-rpc28-nc.dev: Renamed from baytech-rpc28.dev to reflect
	that this is the same "NC" firmware as above (but with 28 ports).

	* README, Makefile, powerman.spec: Cleanup.

2003-06-06 Jim Garlick <garlick@llnl.gov>

	* etc/README: New doc for specification syntax.

	* etc/parse.lex, etc/parse.y: Removed some unused tokens.

2003-06-04 Jim Garlick <garlick@llnl.gov>

	* etc/apcnew.dev: New device type for newer firmware APC masterswitches.

2003-05-20 Jim Garlick <garlick@llnl.gov>

	* etc/baytech-rpc28.dev: New

2003-05-06 Jim Garlick <garlick@llnl.gov>

	* src/{device*,parse.y}: abstract tcp- or serial-specific data in
	device_serial.c and device_tcp.c.

2003-05-05 Jim Garlick <garlick@llnl.gov>

	* src/{device.[ch],device_tcp.c,device_serial.c}: renamed 
	dev->connect_status to dev->connect_state and fixed a couple of places 
	where it was being treated as a bitmask instead of an enum.

	* src/device.[ch]: replaced dev->script_status with dev->logged_in flag
	and ExecCtx 'processing' flag.

	* src/device*: replaced conditional calls to tcp/serial connect/disconnect
	functions with function pointers.  Moved device_telnet.c into device_tcp.c.

	* src/parse.y: cleaned up host/flags parsing.

	* src/powermand.c: ignore SIGPIPE.
	
2003-05-01 Jim Garlick <garlick@llnl.gov>

	* src/parse.y: destroyStmt was trying to destroy NULL setplugstate.interps
	list.

	* src/*: Eliminate device types.  Deduce whether TCP or serial from
	presence of leading '/' in hostname.  Change powerman.conf syntax to
	want hostname:port in the hostname field, reserving last position for
	flags (future use).  Enable telnet option processing always.

	* etc/powerman.conf.vicebox: Removed.

	* etc/powerman.conf.vpc : Removed.

2003-05-01 Jim Garlick <garlick@llnl.gov>
   
	* etc/phantom.dev: got working with the actual hardware (all but temp)

2003-04-23 Jim Garlick <garlick@llnl.gov>

	* src/*: rename "setstatus" to "setplugstate".

	* etc/ibmrsa.dev: fix reversed regex parameters to setplugname command.

2003-04-21 Jim Garlick <garlick@llnl.gov>

	* src/{parse.y,parse.lex,device.c}: Add "ifon" and "ifoff" conditionals.

	* src/wrappers.c: workaround for RH9 getaddrinfo core dumps.

	* Makefile,powerman.spec: install phantom.dev.

	* test/vpcd.c,etc/vpc.dev: add toggle command to test ifoff/ifon 
	functionality.

	* etc/phantom.dev: fix ifoff syntax and add cycle script.

2003-04-18 Jim Garlick <garlick@llnl.gov>

	* src/{parse.y,parse.lex,device.c}: Get rid of "onstring" and "offstring" 
	and add optional on="regex" off="regex" parameters to setstatus stmt.

	* etc/phantom.dev: Beginnings of phantom device support.

2003-04-17 Jim Garlick <garlick@llnl.gov>

	* src/{parse.y,parse.lex,device.c}: Implement "foreachnode" and 
	"foreachplug" constructs which will execute an inner block of statements 
	N times, where N is the number of configured nodes on this device, or 
	the number of plugs respectively.  In the inner block, "%s" will iterate 
	through the list of plugs (or plugs corresponding to configured nodes).

2003-04-16 Jim Garlick <garlick@llnl.gov>

	* src/parse.y:  Remove ordering dependency of device config directives.  
	Specify device name in front of spec open brace instead of "name" line.  
	Plug names are now handled as single directive with a list of strings 
	rather than individual plug name directives.  Make device types known to 
	the scanner and remove quotes around them.  Move all "spec" handling to 
	parse.y.  Do away with maxplugcount directive.

2003-04-15 Jim Garlick <garlick@llnl.gov>

	* src/parse.y: Cleanup to prepare for nested blocks of script code.

	* src/{parse.y,parse.lex,device.c}: Add 'foreachplug' and 'foreachnode' 
	script constructs to allow repeated execution of a subblock of statements.
	The number of iterations is the number of plugs configured or the number 
	of nodes. (not yet tested)

2003-04-14 Jim Garlick <garlick@llnl.gov>

	* src/parse.lex: Renamed "plugcount" to "maxplugcount" in device conf.
	Renamed "map" to "setstatus".

	* src/{device.h,device.c}: Moved regex subexpression match buffer to the 
	device structure.  There will be a persistant copy per device so $N can 
	reference the most recent expect results from a seperate statement.

	* src/{device.c,parse.lex,parse.y}: Make "setstatus" its own statement and 
	change to work as follows - "setstatus [plugname] status", where status is 
	a regex match, and name can be a regex match or a literal plug name in 
	quotes.  If omitted, the plug name defaults to the current target.

	* src/{device.c,parse.lex,parse.y}: Add "setplugname" statement, 
	"setplugname nodename plugname", where both args are regex matches.  
	Rework plug/node logic so plug names must either be defined in 
	powerman.conf so that they match the plug names in the device config, 
	or they are omitted along with the device config plug names.  In the 
	latter case, the plug names must come from a setplugname statement in a 
	device script.

2003-04-13 Jim Garlick <garlick@llnl.gov>

	* README: began update for 1.0.17 release.

2003-04-12 Jim Garlick <garlick@llnl.gov>

	* src/{device.c,parse.y}: If no plugs defined in device config, allow 
	the plug names to come from the node config lines.

	* src/{device_telnet.c,device.c}, etc/*: Implement TELNET_DEV and remove 
	all the telnet escapes from device configurations.

	* src/{device.c,device_tcp.c,device_serial.c}: Split tcp, serial, and 
	telnet device types off to seperate files.

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

	* etc/ibmasm.dev: renamed to ibmrsa.dev and implemented first cut on RSA 
	telnet protocol.

2003-03-31 Jim Garlick <garlick@llnl.gov>

	* etc/*: Adjust power cycle for all devices to wait at least 2 sec between 
	off/on.  Was 0.7sec on icebox and this seemed to cause initialization 
	problems with SuperMicro P4DPR motherboards running LinuxBIOS.

2002-01-20 Jim Garlick <garlick@llnl.gov>

	* src/device.c: Make serial connections non-blocking.

	* ChangeLog: begin using more accepted format.

2002-01-20 garlick  
	* Back out beacon change that requires B70 of ice box v3 firmware.
	  Now we will work with all versions.
	* Check aliases for bogus nodes
	* Tagged powerman-1-0-16

2002-01-19 garlick
	* Add alias capability in powerman.conf.

2002-01-17 garlick
	* Map plug names to node names on the fly at each subexpression
	  interpretation instead of caching mappings in the Interp struct.
	* Major Changes to device specifications (old style no longer supported)
	  - "all string" deprecated (use _ALL script variant)
	  - various strings shortened
	  - begin/end changed to C-style braces
	  - query scripts are now named with _all suffixes ("all" semantics were
	    previously assumed).
	  - new, single-plug (non "all") query scripts added
	  - second argument of 'map' can be "%s" to support single-plug query
	* Minor changes to config file (old style causes warnings but still parsed)
	  - "tcpwrappers" takes an on|off argument
	  - "client listener port" shortened to "port"
	  - "begin_nodes", "end_nodes", "begin global", "end_global" statements
	    deprecated
	* Support wti-rps10.
	* Added support for setting serial parameters, e.g. "9600,8n1"

2002-01-16 garlick
	* Add SERIAL_DEV device type
	* Begin support for wti-rps10 device (serial)

2002-01-13 garlick
	* Update icebox3 beacon script for B70 of the ice box firmware.

2002-12-30 garlick
	* More refinement of device error handling.
	* Strip out unused DBG_* flags and redundant DBG_SCRIPT printfs.

2002-12-27 garlick
	* Clean up passing of errors to client action completion callback.
	* Make all informational message names CP_INFO_*.  Delete some unused
	  protocol responses.
	* Disable calling of err() function in hostlist.c.

2002-12-26 garlick
	* Beginnings of redundant power supply support.
	* Increase CP_LINEMAX to accomodate longer lines returned by --telemetry
	* Return powerman version in banner string and warn if version mismatch
	  between server and client.
	* Add --exprange option to select one-line-per-node query responses
	* Added README

2002-12-25 garlick
	* Baytech cycle script based on 'reboot' is a no-op if plug is off.  
	  Do an explicit off then on instead.  Reduce timeout from 20 to 10s.

2002-12-24 garlick
	* Fix POWERMAN_VERSION string to include %{release} when building
	  with make rpm tag=HEAD.
	* Added --telemetry option for device telemetry

2002-12-23 garlick
	* Added -D,--device [targets] command for getting status of RPC
	  controlling [targets]. 
	* Suppress 'Query complete' message in client.
	* Sort hostlists before returning to client.

2002-12-22 garlick
	* Updated list.[ch] and cbuf.[ch] to latest lsd-tools versions.

2002-12-20 garlick
	* Added powerman/powermand --version option.

2002-11-21 garlick
	* Fixed etc/icebox3.dev to handle flashing multiple beacons.

2002-11-12 garlick
	* Added etc/apc.dev for APC MasterSwitch

2002-11-09 garlick
	* Updated list.[ch], hostlist.[ch], and cbuf.[ch] from lsd-tools.
	* Renamed config.[ch] to parse_util.[ch] and created config.h.
	* Tagged powerman-1-0-15

2002-11-04 garlick
	* Switched over to Chris Dunlap's circular buffer module.
	* Update list.[ch] and cbuf.[ch] from lsd-tools.

2002-10-28 garlick
	* Minor cosmetic cleanup of data structures

2002-10-27 garlick
	* Added client options -d host[:port] (use alt server/port), 
	  -L (display license).  
	* Cleaned up server options.
	* Updated man pages.
	* Tagged powerman-1-0-14

2002-10-26 garlick
	* Fix bug where inappropriate match ($N) values caused a runtime assert.
	* Attempting to initiate a command to a device now short circuits
	  exponential reconnect backoff.
	* Implemented --beacon, --flash, --unflash, --temp, and --node in client.
	* Fix bug where actions never make it to the head of the device queue
	  to time out when the device is hung trying to login (e.g. 
	  vpcd --hung_rpc).  Now all actions queued up behind a timing out action
	  on a device are also timed out.

2002-10-24 garlick
	* Changed magic vim comment at bottom of each file for tab expansion.
	* Tagged before-2nd-indent
	* Ran indent --no-tabs -kr *.[ch] on everything in src except 
	  hostlist.[ch] and list.[ch] 
	* Tagged after-2nd-indent
	* Removed /etc/powerman/powerman.conf from RPM so powermand won't start
	  unless it has been properly configured.

2002-10-22 garlick
	* Fixed bug where buf_readline() would occasionally assert on the 
	  size of destination buffer on client read (gnat powerman/123)

2002-10-21 garlick
	* Added "devices" query to get mapping of devices to nodes and
	  per-device statistics (reconnects, successful actions).
	* Renamed "TCP wrappers" to "tcpwrappers", added to etc/powerman.conf.
	* Fixed bug where tcp wrappers denial would kill powermand.
	* Tagged powerman-1-0-13

2002-10-21 grondo
	* hostlist.c : fixed bug where test matches testN

2002-10-20 garlick
	* Added temperature support for icebox.dev.
	* Added temperature and beacon support for icebox3.dev.

2002-10-19 garlick
	* Fixded bug in _update_timeout where usecs were not checked for zero
	  when testing if timer is set.
	* Tagged powerman-1-0-12

2002-10-18 garlick
	* Added several new script types and factored code for building scripts
	  in parse.y (now there is one function - makeScriptSec()).
	* Implemented "ping period N" directive in device scripts which
	  enables PING_SCRIPT to run every N seconds.  This works around
	  broken TCP implementations in RPC's (such as Baytech's) which don't
	  send a FIN when they tear down a connection (which would unblock
	  powerman's select call and cause a reconnect).  Configured
	  90 second ping period for Baytech.
	* Changed logic for "all" plug processing.  If _ALL version of
	  script is defined, use that.  If all string "*" is defined, use
	  that.  If neither is defined, use one command per plug.

2002-10-16 garlick
	* Make Action struct private to device.c
	* Move script names to config.h.
	* Merged _match_regex into _match_subexpression.  Removed intermediate
	  regex match data from Interpretation struct (now temporary in 
	  _match_subexpression).
	* Fixed bug where query for N-1 plugs on an N-plug device resulted
	  in N-1 separate queries, each acquiring state for the whole device.
	* Fixed bug where read returned EOF occasionally.  This was a read
	  attempt on a zero length buffer.  It turns out the read buffer was
	  huge and never was compacted.  Reduced buffer size from 64K to 8K.
	* Tagged powerman-1-0-11.

 2002-10-14 garlick
	* Remove RESET_SCRIPT definitions in wti and baytech device files.
	* Got rid of Cluster and Node data structures.
	* Plug state is no longer global - seperate copy for each client cmd.
	* Fixed memory leaks in _create_client/_destroy_client.
	* Trimmed TODO file.
	* Fixed bug where actions could not make progress torward timeout
	  while device is in unconnected state.

2002-10-11 garlick
	* Fix bug in vpcd where empty line would look like EOF on socket.

2002-10-08 garlick
	* Fixed bug where Action "found" client by client struct address, but
	  if client had died, address could still be valid.  Now we use a 
	  unique integer identifier to find client.
	* Made device read/write error handling a little cleaner.
	* Don't set plug state to unknown before querying status to avoid
	  triggering race described in FIXME comment in client.c _parse_input()
	* Tagged powerman-1-0-10.

2002-10-06 garlick
	* More man page edits.

2002-10-06 garlick
	* Updated hostlist.[ch] to latest from the pdsh sources.
	* Tagged powerman-1-0-9.

2002-10-06 garlick
	* _process_send can now time out.
	* Clean up device.c select handling a bit to make it clear why actions
	  will not time out if device is not connected. 
	* _handle_write now handles errors from buf_write.
	* Client now returns error on unimplemented commands.
	* Changed powerman "-z --report" option to "-q --query"
	* Added soft power status support to vpc, fixed login logic in vpc,
	  Added --soft-off test.
	* Don't clear wset bit after finish_connect unless fd != -1.
	* Tagged powerman-1-0-8.

2002-10-05 garlick
	* More man page updates
	* Updated TODO, moved README to doc/Overview.txt, removed Retagging.
	* Removed various outdated scripts in scripts subdir.
	* Added --off_rpc and --hung_rpc options to vpcd for testing.
	* Updated timeouts from 0.3 to 0.5 in icebox3.dev (determined to be
	  safe on MCR).

2002-10-04 garlick
	* Client now performs on and off command if executable is 
	  linked to "on" and "off".  Install links "on", "off", and "pm"
	  in spec file.
	* Set all plug/node state to ST_UNKNOWN prior to status query command.
	* Updated client man page.

2002-10-04 garlick
	* Now properly handles the case of one ice box hanging.
	  (tested with vpcd --bad_response)
	* Don't call action callback from within dev_enqueue_actions
	  (triggers act->cmd != NULL assertion in _act_finish).
	  Error handling was inappropriate anyway - try silently ignoring
	  unimplemented commands, and queuing actions for un-logged-in devices.
	* Client works again (though still minimal)
	* Tagged powerman-1-0-7.

2002-10-02 garlick
	* Created Command data structure to represent what was called
	  a "server action" and moved device action functions to device.c 
	  and got rid of action.[ch]
	* Device actions now execute a callback to the client code rather
	  than call exported functions.
	* Made the status command's hostlist argument optional.

2002-10-02 behlendo
	* Fixed memory leak in config parsing.  Memory was being malloc'ed
	  for each line in the config file as it was parsed; pointers to this
	  memory were not preserved and the memory was never free'd.  These
	  pointers are now tracked and free'd after scanning completes.

2002-10-02 garlick
	* Changed protocol so query-status is now status and requires an
	  argument, and query-nodes is now nodes.
	* No more server action queue.
	* Device actions notify client when they complete.  A count of 
	  outstanding actions in the client structure is decremented as 
	  each completes and when zero, returns success or failure depending
	  on wether any of the actions failed.
	* Device actions now have an error flag.  If set, when the action
	  completes, an error flag is set in the client.
	* More than one client may initiate actions in parallel across the
	  cluster.  This works as each device has a queue.

2002-09-30 garlick
	* Added debug.[ch] and changed --telemetry to --debug mask
	* Fixed bug where _reconnect did not update the file descriptor
	  in the underlying buffer.

2002-09-29 garlick
	* Tagged powerman-1-0-6.

2002-09-25 garlick
	* Reimplement _process_delay() so it uses the select loop to time out.
	* Incomplete work on _process_expect() so it uses the select loop
	  to time out.
	* Added separate ice box v3 config - i think the timeouts/delays
	  are going to be subtly different but worth caring about at MCR scale.

2002-09-25 garlick
	* Removed inter-dev delay (behlendo)
	* Removed timeout interval and update interval.
	* Disabled automatic status queries.
	* Tagged powerman-1-0-5.

2002-09-23 garlick
	* Create per-device reconnect state (count and time stamp)
	* Removed seperate soft power monitoring device from Plug.
	* Remove periodic status query.
	* Implement a sane reconnect algorithm.
	* Handle 'quit' command immediately (don't queue it).

2002-09-22 garlick
	* Improve handling of numeric values in config files.  They are no 
	  longer specified in quotes.  Floats are parsed by strtod; integers
	  are parsed by strtol.
	* Regex match positions in "map" lines are now specified as $N
	  rathern than "N".
	* Changed "size" to "plug count" in device configuration.
	* Defined fatal out_of_memory function in powermand.c for list.[ch].
	* Removed PM_CHECK_LOGIN script.
	* Renamed script names in config files (e.g. PM_LOG_IN -> LOGIN_SCRIPT).
	* Removed PM_NAMES and PM_ERROR action types.

2002-09-21 garlick
	* Got rid of unimplemented device types (SNMP, TTY, TELNET) and PMD 
	  device type.  Deleted 'string interpretation mode' and associated 
	  code/data structures used for PMD device type.
	* Fixed lexer/parser to report correct file and line number when
	  errors occur (works with include files).  Reworded many parsing 
	  error messages.

2002-09-20 garlick
	* Moved vicebox stuff to test subdir and got rid of redundant
	  exit_error.c and wrappers.c.  Added virtual power controller vpcd.c.
	* Brian updated the TODO file.
	* Cleanup of functions in client.c, util.c.
	* Tagged powerman-1-0-4.

2002-09-18 garlick
	* Client protocol now in client_proto.h
	* Numbered response codes
	* Cleanup of control flow in client.c
	* Bad nodes in on/off/reset.. etc cause the whole command to abort
	* query-status command response is three hostlists rather than bitmap
	* soft power status deprecated in protocl (consider generating 
	  warnings when nodes are accessed which have soft != hard) 

2002-09-18 behlendorf
	* Added some basic memory accounting functionality
	* Fixed several memory leaks
	* Removed string.[ch] and replaced all String structures and functions
	  with equivilant char * replacements.  
	* Parsed hostlists now stored in the action structure and free'd
	  when the action is completed.
	* Badly formated hostlists no longer crash the daemon.
	* Fixed segfault related to quit command, client connections are
	  now properly cleaned up on the daemon side.

2002-09-18 behlendorf
	* Fixed coalescing of actions to the devices.

2002-09-17 behlendorf
	* Reworked the powerman client/server protocol (highlights follow)
	* Removed send/expect parsing, replaced with a simple switch.
	* Host lists have replaced regexs in the protocol.
	* Powerman authentication step removed.
	* Check login command removed.

2002-09-17 garlick
	* Reformatting, cleanup, doc of data structures
	* Made device list static in device.c
	* Use static array allocation for scripts[]

2002-09-17 garlick
	* Fix bug introduced in cleanup where actions were initiated but
	  not completed.  Select loop should only set status to STAT_OCCUPIED
	  if action was one requiring completion.
	* Tagged powerman-1-0-3.

2002-09-16 garlick
	* Got rid of remnants of second "completion" expect script 
	* Got rid of cheat->g global structure.
	* Reduced interdependencies between modules.
	* Tagged powerman-1-0-2.

2002-09-14 garlick
	* Renamed functions to use lower case module prefix.
	* Renamed client.[ch] -> server.[ch].
	* Renamed pm_string.[ch] -> string.[ch]
	* Renamed exit_error.[ch] -> error.[ch]
	* Indented inline comments.
	* Made some globals local to powermand.c

2002-09-13 garlick
	* Ran indent -kr *.[ch] on everything in src except hostlist.[ch], list.[ch]
	* Tagged src with after-indent.
	* Got rid of NDUMP code (deprecated debugging stuff).
	* Added "vi:softtabstop=4" to *.c

2002-09-12 garlick
	* Brian documented some problems in the top of TODO.
	* Chris cleaned up some type casting.
	* Chris fixed icebox.dev to add delay after cmds to prevent 
	  icebox "ERROR 5" (resource is busy).  This was causing "bulk" 
	    commands to fail on MCR
	* Tagged powerman-1-0-1.

2002-09-06 dun
	* Fixed bug where downed network device would cause select to spin.

2002-08-16 auselton
	* Chris tells me he updated the date format in the "make rpm"
	  target stuff.
	* icebox.dev's script for PM_UPDATE_NODES now allows for a node
	  status of "2" (== "unavailable") in its expect.  This is in 
	  keeping with the change to the protocol in V3.0 of the icebox
	  firmware.
	* device.c (do_target_some) had a bug similar to that addressed 
	  by Gregg Hommes above.  If a plug does not have a node plugged
	  into it then a) it should be skipped when trying to determine
	  the targets for a device, and b) that is a sufficient condition 
	  for not using the "all" target on the device.

2002-08-14 garlick
	* Split baytech.dev into baytechF500.dev and baytechF501.dev.
	   Our test baytech has the f/w rev F 5.00, and pengra baytechs have
	  rev F 5.01.  The latter prompts (Y/N)> after every power action.
	* Put back baytech.dev, documenting that prompting is configurable.

2002-08-10 hommes
	* Modify do_PMD_semantics() in device.c to set plug->node->p_state
	  and plug->node->n_state only if the plug is associated with node.
	  (previous behavior was assertion failure)
	* Modify loops in do_Device_semantics() in device.c to skip iteration
	  if variable interp->node is NULL. (previous behavior was assertion
	  failure)
	* Fix dump_Plug() function in device.c to print node name only if
	  variable plug->node is not NULL.
	* The match_Regex() function in device.c had duplicate tests for
	  "pmatch[0].rm_so == -1". Changed second one to "pmatch[0].rm_se == -1"
	* Removed local variable <dev_com> which was set but never used in
	  do_Action() in action.c.  

2002-08-09 garlick
	* Sort hostlists before display in powerman.c
	* Comment out baytech password expect/send in baytech.dev.
	  Pengra doesn't use passwords.

2002-08-08 garlick
	* Make some char *'s into unsigned char *'s that are carrying
	  non-printable values such as \376 (baytech telnet handshake).
	* Redo telemetry logging to support callback at the Buffer level.
	* Fixed a memory leak where buffers were reallocated on a device
	  reconnect but old ones weren't freed.
	* Telemetry logging on server now shows when expect or delay
	  commands are being processed.
	* Updated baytech and icebox configs to use 10 sec timeout.
	  Baytech at least seems to require > 2sec to respond sometimes.
	  Fixed a thinko I introduced to the config file earlier.
	* Instead of stripping NULL's out of buffers when creating strings,
	  convert them to \377.
	* Fix get_String_from_Buffer() to only consume buffer up to and
	  including regex match - not whole buffer (Gregg H.)
	* Server telemetry now shows the buffer contents when reporting
	  no match.

2002-08-07 garlick
	* Did away with Log - just use syslog.  Removed log from configuration 
	  syntax.
	* Added delay back into default powerman.conf.
	* Added "\nnn" (octal byte) support to config file for expect/send 
	  sequences.

2002-08-06 garlick
	* Added --telemetry option to server.

2002-08-05 garlick
	* Moved string stuff out of buffer.c into util.c and refactored.
	* Found problem with short reads, process_script() would delete
	  actions if they didn't match the partial buffer.
	* Config file cleanup (removed second expect "completion" regex,
	  cluster name).
	* Took vicebox.dev out of spec file install.
	* Made a general helper function for wrapped regcomp special
	  character expansion.

2002-08-02 garlick
	* A bit more cleanup in pm_string.c.
	* ON, OFF changed to ST_ON, ST_OFF
	* Transferred all remaining inline review comments.
	* Reworked log.c.
	* Fixed all [v]snprintf's to check for both result == -1 
	    (glibc <= 2.0.6) and result > len (glibc >= 2.1, C99 standard).

2002-08-01 garlick
	* Do not use ${srcbin} for products.  Clean up other Makefile targets.
	* Added --telemetry to client to allow us to watch protocol happen.
	* Change client to not request list of nodes from daemon unless
	  requesting status.
	* Convert completely over to hostlist.c routines in client.
	* Remove --soft option and always warn if plug=on and node=off.
	* Removed duplicate hostlist handling from pm_string.c.
	* Added powerman init script

2002-07-29 dun
	* Fixed parms to gethostbyaddr().

2002-07-29 garlick
	* Make --queryon, --queryoff work with or without targets on cmd line.

2002-07-28 garlick
	* Fixed bug where log fd was always being checked for writeability
	  in main select loop, chewing 100% of a CPU.
	* Commenting out the "log file" config line now disables logging.
	* Made wrapper Malloc/Free more robust (embed size/magic cookie in
	  each buffer allocated).  Size is no longer a parameter to Free.

2002-07-27 garlick
	* Renamed main.[ch] to powermand.[ch]; renamed client.c to powerman.c.
	* Moved set_tv() from powermand.c to config.c.
	* Moved overdue() from powermand.c to device.c.
	* Moved read_Config_file() from config.c to powermand.c and exported
	  init_Client_protocol() from config.c.
	* Created get_String_from_Buffer() buffer in util.[ch] to eliminate
	  dependence of buffer.h pm_string.h.
	* Fixed Delay to account for select EINTR.
	* Created gettimeofday wrapper.
	* Fixed Read/Write to retry on EINTR and handle other errors gracefully
	* Have Free() wrapper clear memory to zero magic cookies, etc..
	* Made Buffer an opaque type with magic cookie.
	* Made String an opaque type with magic cookie.
	* Give appropriate errors when powermand config file is not set or 
	  set improperly, and start with a default config file.
	* Powermand options changed per code review.
	* Moved system includes out of powerman.h.
	* Merged general code review suggestions in to TODO file
	  (but not the specific yet)
	* Added support for quadrics style host ranges in powerman client.
	* Move powermand from bin to sbin.
	* Use standard assert instead of powerman.h one so we get killed
	  with a SIGABORT and get debugger stack traces.
	* Added some list_iterator_destroy's to match list_iterator_create's
	  in powerman.c
	* Pid file stuff moved to pidlock.c and disabled for the moment.

2002-07-26 garlick
	* Reformatted ChangeLog
	* Added 'make depend' target to address missing dependencies.
	  Added .c.o production and removed some redundant targets.
	  Modified powerman, powermand targets to match products to address
	  extraneous relinks (src/Makefile).
	* Moved check for root to after process_command_line() so root 
	  privilege is not required to get --help (src/client.c)
	* Moved Report_Memory() to wrappers.c and made allocated_memory static
	  (src/exit_error.c)
	* Added init_error()  and exit_msg() functions to exit_error.
	  The exit_error() function now uses strerror() and does not close
	  file descriptors, flush stderr, or close log before exit.  Added 
	  syslog_on_error() accessor function for syslog_on (src/exit_error.c)
	* Client now uses exit_error.c (src/client.c)
	* Rename some client options per code review.  Reduced verbosity
	  of usage() output. (src/client.c)
	* Config->com is now an enum and command format strings are 
	  individually #defined and end in _FMT (src/client.c)
	* Made all functions in client static and discovered duplicate 
	  functions defined in config.[ch].  Prepended 'x' to client versions
	  for now (factor later) (src/client.h)
	* Added accessor functions and made 'log' private to log module 
	  (src/log.[ch])
	* Made clean target clean up after default target, remove no-op cd
	     commands, employ make -C where appropriate, do not build vicebox 
	  by default (Makefile)
	* Fixed compilation errors if NDUMP is not defined; added exit callback
	  to init_error() (null in client, set in server if NDUMP defined).
	* Updated powerman.1 to match option changes.
	* bzero->memset
	* Took local includes out of powerman.h (still need to do sys includes)

2002-07-25 uselton
	* With the release of version 1.0.0 the code has been
	  entirely rewritten.  ChangeLog truncated.
	* Tagged powerman-1-0-0.

#  vi:tabstop=4 shiftwidth=4
