** Changes.txt

        **********************************************
		
Version:	upsd-2.6
		Bob Hauck
		hauck@codem.com
	
Module:		upsd.c

upsd.c
	Initialize LastValidStatus to S_NOCHANGE when running in wait
	mode.  Bug report by Alessandro Staltar regarding -c0 being 
	required to make wait mode work as documented.

	In NotifyInit() add a default case to catch bad cables, etc.

        **********************************************

Version:	upsd-2.5
		Bob Hauck
		hauck@codem.com

Module:
		net.c

net.c
	Be sure to close all fd's to prevent sockets stuck in CLOSE_WAIT.
	Fix snuff_msg.

        **********************************************

Version:        upsd-2.4
		Michael Robinton & Russ Magee
		michael@bzs.org & rmagee@mtroyal.ab.ca

Note:		This is an integration of Russ Magee's 
		pin mapping contribution (thanks Russ) which
		was overlooked in the previous 2.1 release
Module:

Makefile
        Added CFGDIR variable to locate upsd.conf pin mapping file.

ups.c
        Removed pin assignment #defines -- now read from upsd.conf
        Changed all code to use logical UPS lines, supported by mapping.c,h

mapping.c,h
        New source files implementing upsd.conf runtime pin assignment

        **********************************************

Version:        upsd-2.3
                Michael Robinton
                michael@bzs.org
Module:
		net.c
net.c
	Add some ifndef's for socket functions not present
	in older libraries for:
	socklen_t
	SHUT_RD
	SHUT_WR
	SHUT_RDWR

        **********************************************

Version:	upsd-2.2
		Michael Robinton
		Michael@bzs.org
Module:

upsd.c
	Problem: upsd hangs if master server is not
	present do to network outage, whatever when
	operating in sockisfied mode. Socks library 
	apparently intercepts the alarm function and
	re-issues the socket call.
	Remove sigint and alarm function for I/O, pass
	command connect time out value to NET_Check in
	support of non-blocking I/O. 

net.c
	Convert TCPOpen, ReadLine to non-blocking I/O
	using the select function.

        **********************************************

Version:        upsd-2.1a1 *** NOT RELEASED, integrated into 2.4

                Modified by Russ Magee
                rmagee@mtroyal.ab.ca
Module:

Makefile
        Added CFGDIR variable to locate upsd.conf pin mapping file.

ups.c
        Removed pin assignment #defines -- now read from upsd.conf
        Changed all code to use logical UPS lines, supported by mapping.c,h

mapping.c,h
        New source files implementing upsd.conf runtime pin assignment

        **********************************************

Version:        upsd-2.1
                Michael Robinton
                michael@bzs.org
Module:

Makefile
	Add flags and conditional statement for support
	of socks servers.

        **********************************************

Version:	upsd-2.0a6
		Michael Robinton
		michael@bzs.org
Module:

Makefile
	Added strip command to minimize size of module

upsd.c
	Added console power recovery message for wait mode

	**********************************************

Version:	upsd-2.0a5
		Modified by Michael Robinton
		michael@bzs.org
Module:	

Makefile
	Added defininition for 
	UPSSTAT=-DUPSSTAT="\"/etc/upstatus\""

common.h
	Add status S_DUMMY definition
	Rename Status to NetStatus to reflect usage.

common.c
	Added text for new options '-r' and '-w'
	Add 'quiet' flag to IsDaemon definition
	Add logging status string VERSION
	Rename Status to NetStatus to reflect usage.

net.c
	Change strcmp to strncmp in NET_Check to limit comparison for bogus 
	received strings.
	Add latch to snuff repeated connect fails to down server in TCPOpen.
	Add 'close (fd)' to TCPOpen to remove stale sockets clogging kernel.
	Revise NET_Check to log bogus server messages.
	Change 'Status' to 'NetStatus' to reflect usage.

rc.upsd		<new script file>
	Add rc script containing all init parameters
	for 'upsd' as well as debug and calling flags for
	'wait' for power recovery mode
	'verbose' wait mode
	'recall' upstatus for upsd restart

upsdummy	<new script file>
	Add script file to provide simulated UPS status information
	to facilitate system setup and debugging. Allows simulation
	of various UPS states without having to build special
	cables or write scripts like 'this'.

upsd.8
	Updated to include new options

upsd.c
	All current functions maintained, new options added 
	'd', '-e', '-r', and '-w'.
	Change name of Status to NetStatus to reflect it's usage.
	Change name of LastFail to LastValidStatus to reflect it's purpose.
	Add latching logic to detection of UPS status change.
	One-shot mode returns LastValidStatus if -recall option is set.
	"NetStatus" used by NET_Serve is uninitialized until EvalStatus has
	a chance to 'Mode_Count' down, set it to LastValidStatus during init.
	Added -d Mode_Dummy testing mode which pretends to be a master and
	responds to network querys with the status contents of /tmp/upsds
	or in 'local' mode gets it's input from /tmp/upsds rather than
	the UPS interface or the network.
	EvalStatus now handles case S_ERROR. Eliminate race startup
	conditions in EvalStatus that cause spurious SIGPWR ok's.
	Add support for POWERFAILNOW (sysinit 2.52 and up), init
	defaults to 'powerfail' on LOW BAT on older sysinits.
	Add RememberStatus, Mode_Recall, Mode_Wait to allow continuation
	of alarm recovery action without multiple shutdowns in runlevel 1
	allowing for clean shut down of raid md devices and clean restart
	of slave upsd's on un-switched or non-failing power sources


ups.c
	Return the UPS kill signal to of off state after a failed
	attempted kill.
