1.2.1:

Sat Dec  7 19:09:44 CST 2002 / Russell Kroll <rkroll@exploits.org>

 - sms.8: new skeleton man page

Sat Dec  7 18:44:21 CST 2002 / Russell Kroll <rkroll@exploits.org>

 - sms: added updated version from Marcio Gomes.  This driver had been
   in the tree previously with the same name before 0.50.0.

1.2.1-pre2:

Mon Dec  2 06:11:22 CST 2002 / Russell Kroll <rkroll@exploits.org>

 - configure.in: added support for autodetection of gd include/linker
   flags, assuming 2.0.8 or higher is present.  Older versions of the
   gdlib-config script will be detected and avoided since they didn't
   provide good flag information.

Mon Dec  2 04:59:43 CST 2002 / Russell Kroll <rkroll@exploits.org>

 - genericups: applied patch from Tomek Orzechowski and 
   Arkadiusz Mi¶kiewicz to support Fideltronik Ares Series as type 19.

1.2.1-pre1:

Thu Nov 21 13:45:59 CST 2002 / Russell Kroll <rkroll@exploits.org>

 * various: minor doc tweaks

Sun Nov 17 17:01:10 CST 2002 / Russell Kroll <rkroll@exploits.org>

 - upscommon: applied patch from linux@horizon.com to properly handle
   messages from upsd that are split up.  This is hard to reproduce, but
   explains why some functions (variable setting, instant commands)
   might have failed silently before.

Sun Nov 17 10:18:29 CST 2002 / Russell Kroll <rkroll@exploits.org>

 - scripts/*: cleaned out dead wood.  Anything that referred to the
   old methods of invoking upsmon or the drivers has been removed to
   avoid confusion.

Sun Nov 17 10:11:14 CST 2002 / Russell Kroll <rkroll@exploits.org>

 - liebert: this driver is back with a new name.  It used to be called
   multilink back in the 0.45 days.  This one is tagged experimental
   for now, as shutdown support is not yet configured.

Sun Nov 17 09:55:49 CST 2002 / Russell Kroll <rkroll@exploits.org>

 - configure: reworked gd support, adding two new switches: 
   --with-gd-libs and --with-gd-includes.  The old attempts at trying to
   detect gd's dependencies have been dropped.

   If you build the CGI programs, this probably affects you.  The default
   settings probably won't work unless you happen to have exactly the
   same set of libraries that I did.

   So, look in your gd Makefile for "LIBS=", then use it here.

	./configure --with-gd-libs="<whatever>" --with-cgi

   Note: even though gd 2.0.5 added a helper script called gdlib-config,
   it's useless since it doesn't give you all of the -l flags.  gd 2.0.6
   and 2.0.7 are also broken in this regard.  I've sent a patch upstream
   to address this.  Once it goes in, this configure process will try to
   use it to get reasonable defaults.   

Sun Nov 17 09:52:53 CST 2002 / Russell Kroll <rkroll@exploits.org>

 - main: fixed a bug where locking wasn't being disabled soon enough,
   which was breaking shutdown attempts with genericups on FreeBSD.
   Reported by Petri Riihikallio.

 - genericups: dropped the redundant shutdown message

1.2.0:

Tue Nov  5 21:02:00 CST 2002 / Russell Kroll <rkroll@exploits.org>

 - scripts/RedHat-6.0: cleaned up dead zero-byte files

 - mge-ellipse: applied patch from Philippe Marzouk to fix a possible
   memory leak and correct model name reporting.  
   [mge-ellipse-modelname.patch]

1.1.14:

Tue Oct 29 09:13:23 CST 2002 / Russell Kroll <rkroll@exploits.org>

 - upsd, upsclient, upsstats: don't use malloc/strdup directly

Thu Oct 24 01:04:07 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - upsd: if certpath isn't defined, don't call the OpenSSL init functions

1.1.13:

Tue Oct 22 22:41:41 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 * docs, man pages: various updates throughout

Tue Oct 22 05:11:53 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - isbmex.8: new man page

Tue Oct 22 05:10:16 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - etapro.8: new man page

Tue Oct 22 05:08:41 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - oneac.8: new man page

Tue Oct 22 05:06:57 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - bestfortress.8: new man page

Tue Oct 22 04:16:01 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - powernet: applied patch from Dmitry Frolov to fix setting some 
   variables that weren't tagged as string or enums.
   [nut-1.1.12-powernet-str.diff]

Mon Oct 21 01:25:07 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - upsrw: applied patch from Dmitry Frolov to print the first variable
   again and fix VARTYPE queries in a multiple-UPS environment
   [nut-1.1.12-upsrw-list.diff]

Wed Oct 16 00:34:52 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - various: updated the documentation to match the code, and emphasize
   the use of upsdrvctl whenever possible.

1.1.12:

Mon Oct 14 13:40:49 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - scripts/Debian: removed obsolete code at request of Debian packager
   Luca Filipozzi

Sun Oct 13 21:17:13 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - upssched: applied patches from John Horne:

   - A new command called EXECUTE will now pass control to the cmdscript
     immediately, without involving any timers.

	  AT ONLINE * EXECUTE ups-back-on-line

   - Some printfs are now upslogx() for debugging purposes

   - Other cosmetic changes

Tue Oct  8 07:41:28 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - masterguard: applied patch from Bert Driehuis which allows operation
   on hardware which NAKs the "whoami" query.

Tue Oct  8 07:34:26 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - etapro: applied patch from Marek Michalkiewicz which adds support 
   for CMD_SHUTDOWN and other small updates.

1.1.11:

Sun Oct  6 23:35:36 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - newapc: applied patch from Eddie C. Dost to fix setting variables
   that are expressed in minutes by the driver.

Sun Oct  6 23:21:24 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - docs/drivers: started the cleanup in here.  Documentation for drivers
   should go into their man pages.  Maintaining two sets of documentation
   is painful.

Sun Oct  6 23:08:46 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - man/Makefile.in: added 'install-misc-man' target to install the man 
   pages for the upsclient functions

Sun Oct  6 04:49:05 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - configure: rebuilt with autoconf 2.53

 - configure.in: reworked AC_DEFINEs to make autoconf 2.53 happy

 - acconfig.h: removed

Sun Oct  6 04:37:53 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - Applied patch from Petter Reinholdtsen:

   - upsclient: fix meaningless 'const int' 
   - upscommon, configure.in: only include sys/termios.h when it exists

Sun Oct  6 04:30:08 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - upsstats: added checks to make sure there's a connection to upsd
   before trying to do a query.

 - upsstats: don't fall over when one of the systems is unavailable.
   Reported by John Horne.

Fri Oct  4 04:25:24 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - upsstats: added a small optimization to keep the connection open when
   going from one UPS to the next on the same host.

Thu Oct  3 20:30:48 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - upsclient: fix compiles in non-SSL mode - use ups->errbuf.
   Reported by Stephan Eisvogel.

1.1.10:

Thu Oct  3 01:20:05 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - Applied patch from Arnaud Quette [patch-1.1.9AQ]:

    - drivers/Makefile.in: added $(STRLCPY) for hidups, snmp-ups, powernet  
    - driver/snmp-ups.c: added "#include <arpa/inet.h>" - ucd-snmp include bug
    - driver/powernet.c: same as snmp-ups
    - mge-utalk updates:
      - added writable flag to some variables (transfer levels, wake and 
        grace delay, selftest interval and low battery level)
      - added instant commands ON, OFF (both are still beta) and BYPASS 
        (not yet tested)

Sat Sep 28 22:58:25 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - upsmon: print a warning in the syslog when SSL is in use and server
   certificates aren't being checked - that is, when CERTVERIFY isn't 
   enabled.

   When compiled with SSL support, upsmon always tries to enable SSL mode,
   even if FORCESSL is not set.  This is intended to provide some extra
   protection as a bonus even if you haven't set up the client-side
   certificates.

Sat Sep 28 22:52:04 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - upsclient: dumped upscli_strerror's static char * buffer and replaced
   it with a fixed-length buffer in struct UPSCONN.  I had a nagging
   feeling about static buffers and multithreaded applications...

Sat Sep 28 22:07:55 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - Applied patch from Simon Rozman [nut-1.1.9-upsimage.patch]
   for the CGI programs:

   - added imgvar table to hold description, how to draw each UPS variable 
   - added support for ACFREQ, OUT_FREQ and UPSTEMP

Sat Sep 28 21:39:35 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - upsmon: move the connection code into its own function, and don't
   call it during addups(), in case the SSL definitions haven't been
   reached yet.  This was making odd things happen when MONITOR occurred
   above SSL-related lines in the upsmon.conf.

1.1.9:

Fri Sep 27 21:31:43 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - docs/ssl.txt: added some information on enabling SSL mode, including
   how you create certificates for the server and client.

 - docs/*: updated again to reflect reality

Sun Sep 22 05:37:29 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - mge-utalk: applied patch from Petter Reinholdtsen to handle systems
   where FALSE and TRUE are already defined.

 - upsmon: rename isset to flag_isset to avoid namespace clashes on
   Tru64 Unix 5.1.  Reported by Petter Reinholdtsen.

Sun Sep 22 04:03:53 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - upsd: log "(SSL)" when a client logs in and SSL is active on that fd

 - upsmon: pass the new SSL-related values through to upsclient where
   appropriate, and handle the new errors too

 - upsmon: added CERTPATH, CERTVERIFY and FORCESSL to the config handlers

Sun Sep 22 03:26:37 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - upsimage: call upscli_disconnect() to avoid "read failure" messages
   on upsd

Sun Sep 22 03:21:00 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - upsclient: added upscli_sslcert() to allow specifying certificate
   data for verifying servers.

1.1.8:

Tue Sep 17 22:36:28 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - bestfortress: new driver from Holger Dietze for very old Best Fortress
   equipment.

Mon Sep 16 14:13:05 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - upsimage.html.5: updated by Simon Rozman [nut-1.1.7-man.patch]

Mon Sep 16 14:02:24 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - oneac: applied update patch from Eric Lawson:

   - added CMD_RSTMINMAX to reset high/low observed voltage values

Sat Sep 14 23:18:58 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - upsimage: applied patch from Simon Rozman [nut-1.1.7-upsimage.patch]:

   - move width/height/scale_height to imgarg table
   - add min/max bounds for imgarg values
   - parse numbers as hex only if prefixed with 0x (like 0xff00ff)

Fri Sep 13 12:01:33 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - configure.in: try to find SSL in the default paths before adding
   -I and -L to look for it in /usr/local/ssl.

Fri Sep 13 11:12:51 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - upsstats: call upscli_disconnect before exiting normally

Fri Sep 13 10:18:09 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - upsd: rework the return calls from ssl_read and the caller so we don't
   keep tons of sockets around that should be closed.

Wed Sep 11 14:50:52 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - upsclient: call SSL_free and SSL_CTX_free as appropriate when
   shutting down a connection.

Wed Sep 11 14:45:00 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - statedebug: given explicit includes to remove the dependency on upsd.h

 - upsd: cleaned up some style issues and moved some function definitions
   around in order to make more things static in upsd.c

 - upsd: call SSL_free when a client disconnects

1.1.7:

Wed Sep 11 11:57:02 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - UPGRADING: created a document explaining some of the bigger changes
   for people coming up to 1.1 (or the eventual 1.2) from 1.0 or even 
   earlier versions.  Suggested by John Horne.

Wed Sep 11 11:41:37 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - various: applied patch from Petter Reinholdtsen to clean up compiles
   on Solaris with the SUN Forge C compiler.

Wed Sep 11 11:39:34 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - clients/Makefile.in: install upsclient.[oh] as 0644, not 0755.
   Reported by Shaul Karl.

Wed Sep 11 11:37:19 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - oneac: new driver from Eric Lawson fro Oneac EG and ON hardware.

Wed Sep 11 11:35:07 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - etapro: new driver from Marek Michalkiewicz for ETA UPS hardware with
   the "PRO" option for smart mode.

Wed Sep 11 11:33:40 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - upsd: added CERTFILE in upsd.conf for SSL server-side certificate data

Mon Sep  9 16:45:44 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - upsc, upslog: set the UPSCLI_CONN_TRYSSL flag for testing

 - upsclient: added initial SSL client support.  There's no way to
   specify certificates from the client side, so you can't verify
   that it's really upsd on the other end yet.

Mon Sep  9 15:52:27 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - upsd: started merging SSL/TLS support with OpenSSL.  This is only
   compiled when using 'configure --with-ssl'.  This code is still
   quite new and wobbly, so it's off by default.

Mon Sep  9 10:44:58 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - upsimage: don't draw the bar if the voltage is low enough to be off the
   scale.  Previously it looked like it was just barely on the scale.

Mon Sep  9 10:28:37 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - upsimage: finished switching color definitions to upsimagearg.h

Mon Sep  9 10:18:35 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - upsstats: don't let very short lines leak through inside an if block

Mon Sep  9 09:57:30 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - upssched: actually fix the off-by-one error.  Reported by John Horne.

1.1.6:

Fri Sep  6 10:18:20 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - upscmd: switched to upscli_getlist()

Fri Sep  6 10:10:56 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - upsset: switched to upscli_getlist()

Fri Sep  6 09:56:46 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - upsrw: switched to upscli_getlist() instead of direct access

 - man: first upsclient function man pages written

Fri Sep  6 08:50:14 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - upssched: add serialization between the parent and child in
   start_daemon to avoid a race when starting multiple events.
   Reported by Ralph-Thomas Aussem.

Fri Sep  6 07:21:18 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - upssched: fixed an off-by-one: don't use arg[5] from parseconf 
   unless it's actually there.  Reported by Ralph-Thomas Aussem.

Fri Sep  6 04:26:03 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - upsstats: added glue to allow setting Simon's new upsimage color
   arguments from the template.  The new format just adds definitions
   to the existing command:

	@IMG BATTPCT bar_col=ff00ff summary_col=aabbcc@

Fri Sep  6 03:48:34 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 * man pages, docs: various updates to stay in sync with reality

Fri Sep  6 02:59:49 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - upsd: log rejected TCP connections at LOG_NOTICE since they typically
   indicate some sort of problem

Fri Sep  6 00:47:48 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - upssched: don't exit after starting the background daemon process in
   case there are more matching lines in the config file.  Reported by
   Ralph-Thomas Aussem.

1.1.5:

Tue Sep  3 02:33:40 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - upsclient: don't try to set ups->upserror if ups == NULL

 - upsclient: added sanity checking to make sure no function tries
   to use a UPSCONN struct that hasn't been through upscli_connect

Tue Sep  3 02:25:13 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - multimon: removed, since upsstats can totally replace it now.

   Just install the current upsstats.html and then link to upsstats.cgi 
   with no arguments for the same interface that multimon used to provide.

Tue Sep  3 02:14:06 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - upsstats: @UTILITYCOLOR@ substitutes the right color triplet for
   the voltage - green, unless it's out of bounds (lowxfer and highxfer)

Tue Sep  3 01:55:34 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - upsstats: added @STATUSCOLOR@ to substitute the proper color triplet
   for the current UPS status.  This is intended for things like setting 
   the background color of the status cell - as seen in multimon.

Tue Sep  3 01:37:47 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - upsstats: more new commands:

   - TEMPF - render temperatures in degrees F
   - TEMPC - render temperatures in degrees C (the default)

   - UPSTEMP - print the UPSTEMP variable in the current scale
   - AMBTEMP - as above, but with AMBTEMP instead

   - DEGREES - print &deg; and "C" or "F" depending on the current scale

Mon Sep  2 23:28:51 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - upsstats.html, upsstats-single.html: new sample versions supplied
   to work with the new code.   

 - upsstats: changed the template file scheme a bit.  Now, loading upsstats
   with no host set will display upsstats.html.  If a host is set, it
   will display upsstats-single.html.

   As it turns out, upsstats with the iterative commands described below
   can effectively replace multimon.  This means the end of hard-coded HTML
   in one more program.

 - upsstats: added several new commands:

    - HOSTLINK - add a link to upsstats.cgi?host=<sys>, where <sys>
      is the current system being monitored.  This is the preferred way
      to add links to the "single UPS only" view.

    - FOREACHUPS - iterates through hosts.conf, repeating this block
      of the template for each UPS listed

    - ENDFOR - ends the FOR block started above

    - IFSUPP <var> - starts a conditional block which is only displayed 
      or executed if the current ups supports the named variable.  This
      can be used to exclude entire chunks of HTML so you get a nice 
      blank cell instead of "Not supported" everywhere.

    - ENDIF - ends the IF block started above

   You can put IFs inside a FOR block, but no other nesting is allowed.

Mon Sep  2 04:17:22 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - upsstats.html: updated with a different scheme to compliment the new
   upsimage bars, including a fourth bar: output voltage.

 - upsimage: merged patch from Simon Rozman to add transparency, set
   colors via CGI parameters, and remove antialiasing for now

Mon Sep  2 04:11:42 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - upsimage.html.5: new man page

Mon Sep  2 03:20:09 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - upsclient: added a few more upsd error messages to the tables

Mon Sep  2 03:11:23 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - upsrw: replaced sscanf parsing of network data with space-splitting
   techniques and added additional sanity checks to the VARDESC response
   handler.

1.1.4:

Sun Sep  1 17:36:37 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - upsmon: actually send the right username, as opposed to always sending
   "upsmon".  Reported by Ludek Finstrle.

Sun Sep  1 04:00:11 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - Applied patch from Simon Rozman [nut-1.1.3-fixes.patch]:

   - upsstats: add support for @IMG OUTVOLT@

   - rpm.spec.in: change to --with-drvpath

   - scripts/RedHat-6.0/upsd.in: use DRIVERPATH properly

Sun Sep  1 03:05:01 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - upsclient: invalidate fd and host in upscli_disconnect

Sun Sep  1 02:55:38 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - clients/Makefile.in: make install-misc now uses autoconf's 
   libdir and includedir variables when installing upsclient.[ho]

Sun Sep  1 02:42:52 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - configure.in, */Makefile.in: put strlcpy.o in its own variable so 
   it only gets linked where it's needed (drivers, upssched, upsd)

Sun Sep  1 02:35:37 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - clients/Makefile.in: make install-misc now installs upsclient.[ho]

 - upsfetch: removed 

Sun Sep  1 02:33:23 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - upsmon: converted to the upsclient API

Sun Sep  1 02:01:19 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - upsset: converted to the upsclient API

Sun Sep  1 01:36:55 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - upsimage: converted to the upsclient API

 - upsimage: split up a bunch of nested if-then-else blocks for clarity

Sun Sep  1 01:28:34 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - upsstats: converted to the upsclient API

Sun Sep  1 01:18:01 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - multimon: converted to the upsclient API

Sun Sep  1 00:52:57 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - upslog: converted to the upsclient API

 - upsclient: shut down the fd when read and write fail, plus reset
   the UPSCONN fd value to -1 so dead connections can be sensed by the 
   client

1.1.3:

Sat Aug 31 23:28:41 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - upsclient: upscli_strerror reworked a bit to reduce clutter

Sat Aug 31 02:57:47 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - upsrw: renamed from upsct2, and converted to upsclient API

Sat Aug 31 01:15:49 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - upscmd: converted to upsclient API

Sat Aug 31 00:41:58 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - upsct: removed, since upsc now uses TCP connections.

 - upsc: rewritten to use upsclient API.

 - upsclient: merged a new network library to replace upsfetch.  This one
   is TCP only, and keeps per-connection state information, so that we
   can add SSL/TLS support later on.

   The upsclient interface is subject to change as other clients are
   converted.  Once it settles down, dynamic linking may be offered 
   in the future.

Mon Aug 26 16:29:57 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - everups: applied patch from Marek Michalkiewicz to add shutdown
   support for on-battery situations.  It's still not possible to shut
   down the load when on line, so watch out for power races.

Mon Aug 26 13:43:45 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - multimon: don't use MODEL as a test for whether the system is up,
   since it might not be provided by the driver.  Reported by John Horne.

Sun Aug 25 13:42:14 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - Applied patches from Simon Rozman:

   - powercom: small cleanups

   - upsstats: fix @IMG@ for the new upsimage bars - 130 pixels across

   - upsimage: improved the output:

	- added support for width, height and scale_height parameters
	- added support for outvolt
	- noimage now writes out a clue, why upsimage failed

Sun Aug 25 13:18:55 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - sec: upgraded with a combined patch from Jules Taplin and Eric Lawson.

Sun Aug 25 10:04:34 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - drivers/Makefile.in: make sure prefix and exec_prefix exist

Sun Aug 25 09:41:47 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - configure.in: explicitly use AC_PREFIX_DEFAULT so the configure --help
   display makes sense.  Some other variables were also rewritten to
   reference ${prefix} by default.  Reported by Fridtjof Busse.

1.1.2:

Thu Aug 22 04:30:54 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - upsdrvctl: drop the separate versioning and just use the main package
   value all the time

Wed Aug 21 14:30:00 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - upsmon: the MONITOR directive now comes in two flavors to allow
   specifying a username when connecting to upsd.

   The old way:

	MONITOR ups@mybox 1 mypass master

   The new format adds the username field:

	MONITOR ups@mybox 1 username mypass master

   Both formats are supported.  upsmon will only send a username to upsd
   if you use the new one, so it is fully backwards-compatible with older
   versions.

   To use this username method, you must add an entry for that user
   in your upsd.users, like this:

	[upsmonusername]
		password = mypassword
		allowfrom = myhost
		upsmon master			(or "upsmon slave")

   Once that's done, you can take the old ACCESS lines out of your
   upsd.conf, as they are no longer necessary.

   You can confirm that this is working by looking at the syslog.
   upsd will announce "Client <username>@<host> logged into UPS ..."
   instead of just a hostname.

   This new method of authenticating upsmon was suggested on the list by
   Tilman Baumann.

Wed Aug 21 13:25:26 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - upsd: added a new directive to upsd.users for defining a "upsmon user"
   without explicitly rattling off all of the necessary commands.
   "upsmon master" (or "upsmon = master") allows LOGIN, MASTER and FSD.
   The "slave" setting only allows LOGIN.

   This will eventually be used to let upsmon log in as a "real" user,
   and get rid of host-based authentication for all higher functions.
   At that point, everything requiring a password will also require
   a username.

 - upsd: lots of little nitpicky changes for coding style, along with
   the removal of some dead code.

Wed Aug 21 12:30:58 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - upsd: dropped the practice of looking up a UPS with a hardcoded 
   "default" in favor of just using the value of 'firstups' directly.

Wed Aug 21 12:19:30 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - upsd: SET and INSTCMD no longer allow host-level authentication.
   You must send a username first - ala upscmd, upsct2, or upsset.cgi.

Wed Aug 21 06:53:19 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - configure.in: added --enable-strip to strip binaries at compile-time.
   Suggested by Andrey V. Pevnev.

Wed Aug 21 06:52:30 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - conf/Makefile.in: install upsstats.html along with the other CGI files.
   Reported by Andrey V. Pevnev.

1.1.1:

Wed Aug 21 04:18:03 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - docs: fixed the headers so the HTML conversion will work better.

Tue Aug 20 09:40:35 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - upsstats: replaced just about all of the innards to add support for
   templates.  This finally drops the roughly 5-year-old hard-coded
   HTML.  upsstats will now read from upsstats.html in the CONFPATH.
   It acts like a preprocessor, replacing @directives@ with their
   actual values.  

   Only directives that start a line will be parsed, and lines which
   are not parsed will be passed through unchanged. 

 - cgilib: unescape variables and values even for GET requests

Tue Aug 20 07:19:53 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - gendb: added some per-driver magic to allow adding extra components
   for certain rules.  The new isbmex driver needs "-lm" on FreeBSD
   due to its use of sqrt(), and this is how we solve that problem.
   The sqrt problem was reported by Andrey V. Pevnev.

Tue Aug 20 03:00:44 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - cyberpower: drop some broken 'test for 13' code from the earlier patch.
   This one was creating all kinds of garbage in the syslog.

Tue Aug 20 02:54:15 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - main: warn the user when -a doesn't match any sections in ups.conf

1.1.0:

Tue Aug 20 02:25:23 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - cyberpower: moved model/firmware detection so it only runs once and
   has usable data for the "Detected blah blah on /dev/foo" line.

Tue Aug 20 02:06:28 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - newapc: applied patch from Nigel Metheringham to report time in seconds
   throughout.	[apctime.patch]

Tue Aug 20 01:59:37 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - cyberpower: applied patch from Len White to detect AVR models,
   firmware versions and the output frequency.

Tue Aug 20 01:55:39 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - isbmex: new driver from Edscott Wilson Garcia to support 
   SOLA/BASIC Mexico ISBMEX protocol equipment.

Tue Aug 20 01:52:31 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - genericups: added type 18 for "TrippLite Omni 450LAN with Martin's 
   cabling" - see http://lists.exploits.org/upsdev/Jul2002/00012.html

Tue Aug 20 01:46:12 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - */Makefile.in: reworked all path definitions.  bindir and sbindir are
   now taken from the autoconf substitutions so they can be used directly.
   INSTALLROOT is gone - use DESTDIR instead.

 - nut.spec.in: normally I never touch this, but this one is obviously
   correct: INSTALLROOT became DESTDIR

Tue Aug 20 01:22:43 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - */Makefile.in: reworked the install targets throughout.  The top-level
   install and install-cgi targets no longer do any work directly.  They
   now call other targets as dependencies.  If you are a packager that
   only wants certain things to happen, just call those targets directly:

   - install-dirs	- creates CONFPATH, DRVPATH, bindir, sbindir
   - install-bin		- installs clients, drivers, server
   - install-man		- installs man pages
   - install-conf	- installs sample config files
   - install-statepath	- creates STATEPATH, and sets owner/mode

   - install-cgi-dir	- creates CGIPATH
   - install-cgi-bin	- installs multimon, upsstate, upsimage, upsset
   - install-cgi-conf	- installs sample config files for CGI programs
   - install-cgi-man	- installs man pages for CGI programs

Tue Aug 20 01:13:05 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - upsd: moved the first updateall() call below the uid switch so
   any "new uid can't read state file" situation generates an error
   while we still have stderr.

Tue Aug 20 01:10:28 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - parseconf: report the actual filename being opened and the specific
   error message when the open fails

Tue Aug 20 01:09:43 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 * Branched 1.1 tree from 1.0.0

1.0.0:

Mon Aug 19 08:42:35 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 * We made it!

Mon Aug 19 06:18:14 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - upsfetch: make sure the error from upsd for unknown instant commands
   is handled.  Reported by Len White.

0.99.2:

Wed Aug 14 03:21:28 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - config.sub, config.guess: added updated versions from automake 1.5.
   Suggested by Arkadiusz Miskiewicz.

Mon Aug 12 15:16:45 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - nut.spec.in: applied patch from Nigel Metheringham to add --with-cgi.

0.99.1:

Fri Aug  9 16:26:02 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - conf/Makefile.in: make sure 'prefix' gets defined by configure.  This
   was sending the config files into /etc instead of the proper directory.
   Reported by "John" and Charles Lepple.

Fri Aug  9 13:22:19 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - upsmon.h: fix the comments - the default notify flags are actually 
   syslog + wall, not wall + exec.  Reported by John Horne.

 - conf/upsd.conf: don't point users at access.txt which hasn't existed
   for awhile.  Reported by John Horne.

0.99.0:

Fri Aug  2 11:42:13 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - upsd: don't use firstups->name directly in do_login, since logout
   steps free it, and it breaks everything else horribly.  Reported by
   Kevin Conaway.

Tue Jul 30 02:47:41 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - man, docs: various updates throughout

Sun Jul 28 20:30:23 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - man: wrote some new bare bones man pages for certain drivers:

   bcmxcp, bestuferrups, mge-utalk, microdowell, powernet, snmp-ups

0.50.1:

Sun Jul 28 13:31:16 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 * Version bumped for release

Mon Jul 22 22:18:53 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - bestferrups801-807: report OL instead of nothing when not on battery
   and terminate the off command with a carriage return instead of a 
   newline.  Reported by Doug Rorem.

0.50.1-pre6:

Mon Jul 22 10:31:05 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - microdowell: the old upseyeux driver is back in common core form
   thanks to Aleksandar Topuzovic.

Fri Jul 19 22:06:47 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - powercom: applied patch from Simon Rozman to upgrade to version 0.4
   [nut-powercom-rev-0.4.patch]:

   - subtypes specific info moved to struct subtype

Fri Jul 19 21:51:03 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - mge-utalk: applied patch from Arnaud Quette to fix the shutdown 
   problems by removing the confirmation code.	[nut-0.50.1-pre5AQ.diff]

Fri Jul 19 21:46:12 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - sec: applied patch from Eric Lawson to add support for Clary ST-800
   hardware and the shutdown sequence.	[sec.patch]

Wed Jul 17 02:55:12 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - parseconf: properly handle files that don't end with a newline.
   The final line is now allowed to terminate with the EOF.
   Reported by Bradley W. Langhorst.

0.50.1-pre5:

Fri Jul 12 00:35:54 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - main: renamed serialize to main_serialize to avoid conflicts with
   a function in HP/UX libraries

Fri Jul 12 00:32:05 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - cgilib: changed the hosts.conf checker to default to 'denied' in the
   event hosts.conf disappears.

Sun Jul  7 21:32:37 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - Applied two patches from NetBSD:

   - upscommon: msync the state file before renaming it to the final name.
     (Frederick Bruckman and Martin Husemann, via Luke Mewburn)
     [patch-aa]

   - upslog: honor %% to print a % again.
     (Luke Mewburn)
     [patch-ac]

Sun Jul  7 21:15:44 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - genericups: applied patch from Jules Taplin to add support 
   for the PowerKinetics 9001 as type 17.

Fri Jul  5 09:13:30 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - bestups: added support for the SOLA 325 model.  Reported by Andrew Dorrell.

0.50.1-pre4:

Mon Jul  1 02:29:26 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 * Various documentation updates throughout

Mon Jul  1 00:35:59 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - powercom: applied patch from Simon Rozman with minor bug fixes
   and parameter tables for handling raw info from different subtypes.
   [nut-powercom-rev-0.3.patch]

0.50.1-pre3:

Tue Jun 25 23:43:29 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - bestuferrups: this driver is now back after being converted by
   Andreas Wrede.

Tue Jun 25 23:40:52 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - powercom: applied patch from Simon Rozman to add support for a new
   sub type - "Egys".

 - nut.spec: applied patch from Simon Rozman with compile fixes for 0.50.x

Tue Jun 18 19:46:02 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - upsct2: make sure we send the @<upsname> in the SET command when
   it's present.  Reported by Kurt Wampler.

Tue Jun 11 07:53:29 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - upsd: applied a patch from Dmitry Frolov to fix the logic for 
   FLAG_RW testing - that is, & instead of &&.

Tue Jun 11 02:09:37 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - configure.in: reworked the --with/without options to explicitly list all
   defaults in --help.  Suggested by Shaul Karl.

Mon Jun 10 00:21:11 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - upsd: potentially confusing wording ("support module") changed to the
   obvious replacement - "driver".

0.50.1-pre2:

Sun Jun  9 03:50:30 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - genericups: applied a patch from Lyonel Vincent to add support 
   for the Nitram Elite 2002 as type 16. [nut-0.50.0-elite2002.patch]

Sun Jun  9 03:45:31 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - fentonups: added an entry for PowerCom ULT-1000 devices.  Thanks to
   James Bromberger for testing this on his equipment.

Sat Jun  8 04:11:07 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - */Makefile.in: DESTDIR now works in addition to INSTALLROOT for
   packaging purposes.  INSTALLROOT will probably be removed at some point.

Sat Jun  8 03:57:17 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - Makefile.in: reworked the cgi target so you can't do 'make cgi'
   without having '--with-cgi' in the configure phase.

Sat Jun  8 03:48:12 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - configure.in: the tests for the CGI programs are now only performed
   when you use --with-cgi.  This avoids the annoying checks that don't
   really get used in many places.

   Also, not having gd will now cause configure to halt.

Thu Jun  6 00:10:22 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - powercom: dropped the (char) in front of SHUTDOWN.  
   Patch from Shaul Karl.

Thu Jun  6 00:07:25 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - Makefile.in: the install-cgi target now calls install-cgi-man
   for symmetry with the main install target.  Suggested by Shaul Karl.

Wed Jun  5 16:19:12 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - upsd: only open the state file read-only, and drop PROT_WRITE for mmap.
   Reported by oss-list-ups.

Wed Jun  5 16:14:39 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - main: added -L option for external UPS driver chooser programs.
   This dumps the FLAG/VALUE options for ups.conf / -x.

Fri May 31 20:14:19 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - upsd: report on invalid config directives too

Fri May 31 20:04:52 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - upsmon: recognize MINSUPPLIES in the conf again.  This was caught with
   the brand new config checker.

Fri May 31 20:01:37 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - upsmon: added code to check for unrecognized directives in the config
   file, so that errors will be obvious.  Suggested by Rossz Vamos-Wentworth.

Wed May 29 19:34:40 CDT 2002 / Russell Kroll <rkroll@exploits.org>
                                     ^
 - mge-ellipse: ahem.................|

Tue May 28 16:23:39 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - man: drop obsolete newvictron page

0.50.1-pre1:

Mon May 27 16:45:54 NOVST 2002 / Dmitry Frolov <frolov@riss-telecom.ru>

 - powernet -- SNMP driver to control APC SNMP devices.
   Experimental and not build by default.

Mon May 27 09:43:34 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - upsd: explicitly use the name of the first UPS in 'loginups' rather
   than 'default' as it could cause some problems in kick_login_clients.

Mon May 27 09:33:32 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - mge-ellipse: new version from Philippe Marzouk:

  - manual page reviewed
  - manufacturer and model name are read from the UPS

Mon May 27 09:31:55 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - bcmxcp: new renamed version of the old powerware driver from 
   Martin Schroeder.

Mon May 27 09:19:49 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 * "models" is now "drivers" throughout.  Once upon a time, "models"
   made sense, as the drivers were called smartups, backupspro, backups,
   and so on.  Three years later, it's just confusing.

   This means the configure option is now --with-drvpath.

Sun May 26 10:45:45 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - upsd: reworked the use of "currclient" throughout to specifically identify
   udp clients rather than relying on NULL.  sendback was getting called
   for "ACCESS DENIED" on TCP connections, and it was shoveling data down
   a fd that had nothing to do with that connection since it didn't have
   a client struct yet.

0.50.0:

Fri May 24 04:32:39 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 * Version number update and documentation polishing for final release.

0.50.0-pre6:

Fri May 17 16:21:39 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - upscommon: blah, switched to gettimeofday since strftime's %s format
   isn't universal.

Thu May 16 19:11:51 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - upscommon: reworked use of time() to avoid warnings about types

Thu May 16 18:02:29 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - powerware: removed non-portable TCSBRK ioctl.

Thu May 16 17:33:27 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - models/server: edit Makefile.in to remove .c.o rule which was making
   OpenBSD 3.0's make complain about GNU-isms.

Thu May 16 17:30:22 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - proto.h: added a hack to create CRTSCTS if the system doesn't have one.
   This means cyberpower will now compile on IRIX.  It's not known if
   the driver will actually work, though.  Reported by Aleksandar Topuzovic.

Thu May 16 17:29:13 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - upscommon: renamed sa_len to avoid library conflicts on IRIX. 
   Reported by Aleksandar Topuzovic.

Thu May 16 17:27:34 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - belkin, sec, powercom: same

Thu May 16 17:26:56 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - upsmon: same

Thu May 16 17:26:30 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - upslog: same

Thu May 16 17:25:48 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - upscommon: renamed sigmask

Thu May 16 17:24:55 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - upsd: renamed sigmask to upsd_sigmask to avoid conflicts with the
   libraries on AIX.

Thu May 16 17:17:46 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 * Change alert - IANA responded, and the official port is now 3493.
   If you want to use the old 3305 by default, you need to use --with-port
   to compile it in.

   For your /etc/services:

nut             3493/tcp   Network UPS Tools
nut             3493/udp   Network UPS Tools
#                          Russell Kroll <nut-iana@exploits.org> May 2002

0.50.0-pre5:

Sat May 11 23:34:18 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - mge-utalk: applied updated version to avoid some warnings and generally
   improve things.

Fri May  3 16:01:31 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - mge-utalk: new driver for MGE-UTALK devices.  This replaces the old
   mgeups driver.  This driver is a collaborative effort of 
   Hans Ekkehard Plesser, Arnaud Quette, Nicholas Reilly, Dave Abbott
   and Marek Kralewski.

Fri May  3 10:34:30 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - docs/cables/apc.txt: converted the 940-0024C.jpg from the web site
   into ASCII just for the sake of completeness

Fri May  3 10:19:56 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - docs/cables/mgeups.txt: documentation for MGE's UTalk and SHUT
   cables from Arnaud Quette / MGE.

Fri May  3 10:08:09 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - scripts/HP-UX: updated scripts from Mark Bergman with the following
   changes:

   - changing the value of the $WHAT variable to provide more useful info
     in HP's startup diagnostics

   - changing the name of the uninstalled scripts to end with ".sh"

   - a Makefile change to the name of the installed scripts (and links) to
     remove the previous ".rc" suffix

   - a Makefile change to the "remove" target to remove the script files
     (and links) with no suffix

Wed May  1 06:33:03 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - powerware: #include <sys/ioctl.h> to fix builds on Linux glibc

Wed May  1 06:30:56 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - powerware: new driver for Powerware UPS 9120 'Binary Computer Mode'
   equipment from Martin Schroeder.

0.50.0-pre4:

Mon Apr 29 04:22:11 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - cyberpower: fixed the model string - it's "700AVR", not "AVR700".

Thu Apr 25 00:43:22 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - upssched: moved the openlog() to main and added the new syslogbit_set
   call to get error logging working.  It was trying to talk to stderr
   before, and that didn't do anything for us most of the time.
   Reported by Pascal Pichon.

 - upscommon: added syslogbit_set to send upslog/fatal type logging to
   the syslog without calling background().

Wed Apr 24 16:07:53 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - docs/cables/ge-imv-victron.txt: updated docs from Daniel Prynych
   to replace the older victron.txt file.

Wed Apr 24 15:53:35 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - powercom: applied patch from Shaul Karl to change the types of the
   command characters.

Wed Apr 24 15:50:39 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - scripts/HP-UX: new directory with helpful files from Mark Bergman.

Wed Apr 24 15:48:36 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - shared-tables.h/shared.h: applied patch from Hans Ekkehard Plesser
   to add support for INFO_BATT_RUNTIME and some new variables for
   the upcoming mge-utalk driver.

Tue Apr 16 10:27:52 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - upsd: don't return two newlines when reporting 'ERR VAR-NOT-SUPPORTED'

0.50.0-pre3:

Tue Apr 16 09:00:06 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - Makefile.in: create the statepath with mode 0700 by default.  This
   will keep upsd quiet about '<path> is world readable' on stock
   installs.  Suggested by Mark Bergman.

   This can be overridden during the make install for systems that
   are using the separate user/group methods.

Tue Apr 16 08:42:53 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - fentonups,bestups: send a cancel shutdown command at startup just in
   case. 

Tue Apr 16 08:35:25 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - configure.in: added checks for the system type and explicitly
   disabled mmap on HP-UX.  Thanks to Mark Bergman for providing feedback
   for that platform.

 - configure.in: added --without-mmap to disable it on systems that
   are having problems with this new code.

Mon Apr 15 17:34:24 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - everups: switch syslog to upslog which also drops some warnings
   about %m in the format string

Mon Apr 15 17:29:50 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - configure.in, proto.h: drop dead err.h code

Thu Apr 11 23:06:22 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - upscommon: unlink the .sock file before starting up.  This was keeping
   the drivers down after a system crash where the .sock files remained.

0.50.0-pre2:

Tue Apr  9 02:07:45 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - fentonups: same idea

Tue Apr  9 02:06:11 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - bestups: ignore BOOST/TRIM when running on battery since they're
   meaningless with the inverter on.

Tue Apr  9 01:59:33 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - strlcat: removed.  It's useful, but we don't really need it right now.

Tue Apr  9 01:58:05 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - upsd: condensed two strlcat calls into snprintfcat

Tue Apr  9 01:56:41 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - hidups: new status functions

Tue Apr  9 01:47:28 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - everups: switched to new status functions

Tue Apr  9 01:43:04 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - parseconf: fixed an out of order memset/malloc return test that could
   have called memset() on an error result from malloc.

Tue Apr  9 01:41:01 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - dummyups: cleaned up a few variables

Tue Apr  9 01:30:57 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - upslog: done rebuilding this thing.  It works the same, but the 
   internals have been reworked completely.

Mon Apr  8 17:32:05 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - upslog: begin cleanup.  main is HUGE.

Mon Apr  8 17:26:02 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - common/upscommon: switched to snprintfcat from strlcat

Mon Apr  8 17:21:41 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - belkin: switched to new status code

Mon Apr  8 17:15:46 CDT 2002 / Russell Kroll <rkroll@exploits.org>

 - docs/cables/imv.txt: new cable data from Niels S. Richthof

Sun Apr  7 00:27:21 CST 2002 / Russell Kroll <rkroll@exploits.org>

 - upsd: return "ERR VAR-UNKNOWN" without the variable name in the middle,
   as it says in the protocol doc.  This one mutated on me during the
   changeover to the new sendback().

Sun Apr  7 00:10:11 CST 2002 / Russell Kroll <rkroll@exploits.org>

 - upsct: same idea

Sun Apr  7 00:05:39 CST 2002 / Russell Kroll <rkroll@exploits.org>

 - upsc: now allows an optional extra argument to fetch and display
   that variable only.  This allows you to skip the '| grep VARNAME'
   step in shell scripts.  Based on a patch from Richard Muratti.

Sat Apr  6 22:38:15 CST 2002 / Russell Kroll <rkroll@exploits.org>

 - upscommon: threw out the unnecessary notice() function

Sat Apr  6 22:24:46 CST 2002 / Russell Kroll <rkroll@exploits.org>

 - genericups: switched status functions

Sat Apr  6 22:23:35 CST 2002 / Russell Kroll <rkroll@exploits.org>

 - cyberpower: switched status functions

Sat Apr  6 20:22:20 CST 2002 / Russell Kroll <rkroll@exploits.org>

 - tripplite: switched status functions

Sat Apr  6 20:06:22 CST 2002 / Russell Kroll <rkroll@exploits.org>

 - apcsmart: switched status functions

Sat Apr  6 20:04:40 CST 2002 / Russell Kroll <rkroll@exploits.org>

 - fentonups: switched status functions

Sat Apr  6 19:54:51 CST 2002 / Russell Kroll <rkroll@exploits.org>

 - bestups: switched to new status_* functions

 - upscommon: added status_init/set/commit functions to clean up some of
   the common INFO_STATUS parsing junk that's been accumulating in the
   drivers.

0.50.0-pre1:

Wed Apr  3 16:27:49 CST 2002 / Russell Kroll <rkroll@exploits.org>

 - bestups: applied a patch from Frank T. Lofaro Jr. which sets
   upssend_delay to 100000 to avoid rushing the UPS.  This should
   prevent some of the problems where the status query seemed to be
   ignored by the hardware.	[bestups-delay-fix.dif]

Tue Apr  2 14:07:22 CST 2002 / Russell Kroll <rkroll@exploits.org>

 - INSTALL: the default confpath is /usr/local/ups/etc.  Reported by
   Dominick Layfield.

Tue Apr  2 13:54:36 CST 2002 / Russell Kroll <rkroll@exploits.org>

 - powercom.8: revised for new driver (which was called newpowercom)

Tue Apr  2 13:45:47 CST 2002 / Russell Kroll <rkroll@exploits.org>

 - sec.8: new man page

Tue Apr  2 13:42:59 CST 2002 / Russell Kroll <rkroll@exploits.org>

 - masterguard.8: new man page

Tue Apr  2 11:54:00 CST 2002 / Russell Kroll <rkroll@exploits.org>

 - tripplite.8: new man page

Tue Apr  2 11:51:00 CST 2002 / Russell Kroll <rkroll@exploits.org>

 - newvictron.8: renamed to victronups.8

Tue Apr  2 11:39:24 CST 2002 / Russell Kroll <rkroll@exploits.org>

 - everups.8: new man page

Tue Apr  2 11:32:03 CST 2002 / Russell Kroll <rkroll@exploits.org>

 - cyberpower.8: new man page

Tue Apr  2 11:25:53 CST 2002 / Russell Kroll <rkroll@exploits.org>

 - bestferrups801-807.8: new man page

Tue Apr  2 11:18:39 CST 2002 / Russell Kroll <rkroll@exploits.org>

 - hidups.8: new man page

Tue Apr  2 11:02:10 CST 2002 / Russell Kroll <rkroll@exploits.org>

 - snmp-ups: new experimental driver to monitor SNMP UPSes (RFC 1628)
   from Arnaud Quette.  This requires the UCD SNMP/Net-SNMP library,
   so it is not built by default.

Thu Mar 28 13:57:08 CST 2002 / Russell Kroll <rkroll@exploits.org>

 - mge-ellipse.8: new man page

Thu Mar 28 13:51:14 CST 2002 / Russell Kroll <rkroll@exploits.org>

 - genericups.8: new man page

Thu Mar 28 13:17:01 CST 2002 / Russell Kroll <rkroll@exploits.org>

 - dummyups.8: new man page

Thu Mar 28 12:48:46 CST 2002 / Russell Kroll <rkroll@exploits.org>

 - dummycons.8: new man page

Wed Mar 27 12:04:53 CST 2002 / Russell Kroll <rkroll@exploits.org>

 - parseconf: fgetc needs an int, not a char - this was making things like
   upsdrvctl hang on one of my systems with gcc 2.95.4, which also
   generated a warning.

Mon Mar 25 17:30:32 CST 2002 / Russell Kroll <rkroll@exploits.org>

 - models/Makefile.in: hidups needs parseconf.o.  Reported by Arnaud Quette.

Thu Mar 21 00:29:56 CST 2002 / Russell Kroll <rkroll@exploits.org>

 - upsd: fixed a subtle ) placement bug in sendupsmsg that was squashing
   the payload in messages to the driver.  This was breaking things like
   SET, since the driver would receive an empty string.

Thu Mar 21 00:27:25 CST 2002 / Russell Kroll <rkroll@exploits.org>

 - upsset: fixed showsettings by dropping the bogus local variable *host
   and fixed the sense of the error check for the ENUM read call

Thu Mar 21 00:20:05 CST 2002 / Russell Kroll <rkroll@exploits.org>

 - upsct2: switch strlcpy to snprintf.  This is not a strl* witchhunt,
   as it is perfectly fine to use under the LGPL per the author:

	http://sources.redhat.com/ml/libc-alpha/2002-01/msg00007.html

   It's just that we're carrying around some functions we really 
   don't need to use most of the time.

Thu Mar 21 00:09:45 CST 2002 / Russell Kroll <rkroll@exploits.org>

 - upslog: minor code cleanups - created help(), etc

Thu Mar 21 00:03:55 CST 2002 / Russell Kroll <rkroll@exploits.org>

 - upsimage: same idea, plus 'cmd' too

Wed Mar 20 23:56:59 CST 2002 / Russell Kroll <rkroll@exploits.org>

 - upsstats: reworked 'monhost' to do allocation dynamically and
   dumped the default "localhost" setting

Wed Mar 20 00:47:50 CST 2002 / Russell Kroll <rkroll@exploits.org>

 - upsimage.cgi.8: new man page

Wed Mar 20 00:28:06 CST 2002 / Russell Kroll <rkroll@exploits.org>

 - newpowercom: renamed to "powercom" - this replaces the old powercom
   driver and ups-trust425+625 as well

 - newvictron: renamed to "victronups" now that the old driver is gone

Sat Mar 16 17:26:48 CST 2002 / Russell Kroll <rkroll@exploits.org>

 - configure.in: dumped checks for msgget since we no longer use it

Sat Mar 16 17:07:24 CST 2002 / Russell Kroll <rkroll@exploits.org>

 * docs: retired some documents with pointers to the new man pages. 
   Moved all driver-related documents into a new 'drivers' subdirectory.

Sat Mar 16 16:27:28 CST 2002 / Russell Kroll <rkroll@exploits.org>

 - upsd: UPS in upsd.conf is no longer supported - switch to ups.conf

Sat Mar 16 16:26:02 CST 2002 / Russell Kroll <rkroll@exploits.org>

 - dummycons, dummyups: call info_ready() as .init filenames are now
   used throughout no matter what

Sat Mar 16 16:24:49 CST 2002 / Russell Kroll <rkroll@exploits.org>

 - main: ditto

 - upscommon: dumped use_init_fn, since everything should be using it now

 * models: dumped all old style drivers as promised

Sat Mar 16 16:19:27 CST 2002 / Russell Kroll <rkroll@exploits.org>

 * Forked from 0.45.5-pre4 to get 0.50.0 started

0.45.5-pre4:

Fri Mar 15 22:32:33 CST 2002 / Russell Kroll <rkroll@exploits.org>

 - genericups: added support for the PowerWare 5119 ("NetUPS")
   as type 15 from information supplied by Michael Keller.

Fri Mar 15 22:25:13 CST 2002 / Russell Kroll <rkroll@exploits.org>

 - upsmon: added a test that makes blank STATUS readings from broken
   drivers generate COMMBAD and eventually NOCOMM events.

Fri Mar 15 17:09:58 CST 2002 / Russell Kroll <rkroll@exploits.org>

 - upsmon: changed the default FINALDELAY to 5 seconds.  The old value of
   15 seconds was making things interesting when HOSTSYNC on the master
   was also set to 15 seconds.

Fri Mar 15 16:51:42 CST 2002 / Russell Kroll <rkroll@exploits.org>

 - upsset: regrouped duplicate upsconnect() calls and other cleanups

Fri Mar 15 16:39:22 CST 2002 / Russell Kroll <rkroll@exploits.org>

 - upsset: check all results of upsreadraw and upssendraw

Fri Mar 15 16:15:23 CST 2002 / Russell Kroll <rkroll@exploits.org>

 - upsmon: the default message for UPS_LOWBATT now says "low battery"
   instead of "critical", since critical has a specific meaning within
   upsmon and it could be confusing.

Fri Mar 15 15:54:16 CST 2002 / Russell Kroll <rkroll@exploits.org>

 - upsmon: changed the way OB + LB status is handled for slaves.  
   Previously the slaves would shut down immediately after sensing that
   value, which could lead to races if it went back online before the 
   master saw it.  Now the slaves wait up to HOSTSYNC seconds for the
   master to set FSD.

   If the master doesn't set FSD for some reason, the timer will elapse
   and the slaves will shut down as before.  This should eliminate the
   race that was reported by Philippe Marzouk.

Fri Mar 15 01:05:36 CST 2002 / Russell Kroll <rkroll@exploits.org>

 - upscommon: added dire warnings for all old style drivers.

   Flip down to March 2001 - it's been a year now, and it's time for
   these things to come out.  After 0.45.x, anything that still hasn't
   been converted is getting thrown out.  See the FAQ for more.

   By the way, dummycons and dummyups aren't going anywhere, so 
   ignore the warnings in them if you happen to use them for testing.

Fri Mar 15 00:29:53 CST 2002 / Russell Kroll <rkroll@exploits.org>

 - upsd: same idea, for the final arg of ACCESS in upsd.conf

Fri Mar 15 00:25:45 CST 2002 / Russell Kroll <rkroll@exploits.org>

 - multimon: don't try to use more args than are available while
   parsing FIELD lines in multimon.conf

Fri Mar 15 00:21:09 CST 2002 / Russell Kroll <rkroll@exploits.org>

 - common: ripped out old_parseconf since nobody uses it now

 - dummycons: moved old_parseconf into here as parseline since this
   was the only program still using it, and the new style parseconf
   can't be used here

Fri Mar 15 00:15:50 CST 2002 / Russell Kroll <rkroll@exploits.org>

 - upsd: don't be case sensitive when checking upsd.users for the old
   format warning

Fri Mar 15 00:12:13 CST 2002 / Russell Kroll <rkroll@exploits.org>

 - upsd: init ups->stale to 1, since it's stale until we read something
   for it.  This fixes a bug where a UPS that has never been read by upsd
   doesn't return the expected "ERR DATA-STALE" to most queries.

   This also changes the syslogs slightly - the "Data for UPS [foo] is now OK" 
   is gone, and the "... successfully" version is now used in all situations.

Fri Mar 15 00:07:00 CST 2002 / Russell Kroll <rkroll@exploits.org>

 - upssched: other minor cleanups

 - upssched: switched to the new parseconf

Thu Mar 14 23:49:35 CST 2002 / Russell Kroll <rkroll@exploits.org>

 - upsset: switched to the new parseconf

0.45.5-pre3:

Thu Mar 14 22:13:58 CST 2002 / Russell Kroll <rkroll@exploits.org>

 - Applied patch from oss-list-ups:

   - upscommon, upsd: drop SysV msg*() interface, switch to FIFOs in
     the state directory instead.  If you're using an OS that doesn't
     enforce permissions on sockets, you *must* lock down the state
     directory.  This is why upsd has been complaining about
     "/var/state/ups is world readable" for awhile.

   - debug_level -> nut_debug_level & is now global
   - upsdebug() added
   - printf() -> upsdebugx()
   - "\n"'s removed from *log()

Sat Mar  9 15:16:31 CST 2002 / Russell Kroll <rkroll@exploits.org>

 - newvictron: new version 0.1.1 from Daniel Prynych adds INFO_BATT_TEMP
   and INFO_BATT_CURRENT support.

Sat Mar  9 14:57:58 CST 2002 / Russell Kroll <rkroll@exploits.org>

 - Applied patch from Nigel Metheringham [nut-0.45.5-pre1-updates.patch]

   - upscommon: add upsflushin to clear input buffers
   - newapc: call upsflushin before sending commands
   - nut.spec: work around old (pre-4.x) version of rpm
   - upspowerdown: one line fix for RH7

Fri Mar  8 13:02:28 CST 2002 / Russell Kroll <rkroll@exploits.org>

 - upsmon: converted to use the new parseconf

Fri Mar  8 06:42:05 CST 2002 / Russell Kroll <rkroll@exploits.org>

 - models/Makefile.in: don't link upscommon.o into upsdrvctl - this
   makes the binary about 14K smaller here.

Fri Mar  8 06:39:47 CST 2002 / Russell Kroll <rkroll@exploits.org>

 - genmb: added dependency for parseconf.o

Fri Mar  8 06:38:42 CST 2002 / Russell Kroll <rkroll@exploits.org>

 - upsconf: converted to new parseconf

Fri Mar  8 06:22:45 CST 2002 / Russell Kroll <rkroll@exploits.org>

 - Makefile.in: add definition for MODELPATH so it gets created in
   the install-dirs target.  Previously this didn't get created, and
   caused problems when installing to a new directory that didn't exist.
   Reported by Kevin Myers.

Fri Mar  8 06:13:00 CST 2002 / Russell Kroll <rkroll@exploits.org>

 - bestups: applied patch from Frank T. Lofaro Jr. to base TRIM/BOOST
   on the outgoing voltage rather than the nominal voltage.  This patch
   also adds INFO_OUTVOLT support.

Tue Mar  5 09:38:36 CST 2002 / Russell Kroll <rkroll@exploits.org>

 - upsd/conf: switched upsd.conf parsing to new parseconf

Tue Mar  5 09:16:38 CST 2002 / Russell Kroll <rkroll@exploits.org>

 - multimon: simplified upstemp/ambtemp by having them call their
   c/f-specific neighbors

Tue Mar  5 09:09:41 CST 2002 / Russell Kroll <rkroll@exploits.org>

 - upsd: fixed a broken response where upsd might say "ERR <ups> UNKNOWN-UPS",
   much to the confusion of the client

Tue Mar  5 08:59:19 CST 2002 / Russell Kroll <rkroll@exploits.org>

 - multimon: moved some code around to clean up main

 - multimon: changed to the new parseconf for both multimon.conf and
   hosts.conf reading

Tue Mar  5 08:24:42 CST 2002 / Russell Kroll <rkroll@exploits.org>

 - upscommon: switched state file locking to fcntl for similar reasons

Tue Mar  5 08:15:29 CST 2002 / Russell Kroll <rkroll@exploits.org>

 - upsd: replaced flock/lockf calls with fcntl for portability and
   cleaner code in general.  This also avoids the problem of needing
   alarm(), since it won't block by default.

0.45.5-pre2:

Mon Mar  4 12:09:59 CST 2002 / Russell Kroll <rkroll@exploits.org>

 - upsd/user: dropped the list searching since directives will now always
   operate on the same user until a new section starts   

Mon Mar  4 12:03:33 CST 2002 / Russell Kroll <rkroll@exploits.org>

 - upsd.users.5: revised for new format

Sat Mar  2 05:44:36 CST 2002 / Russell Kroll <rkroll@exploits.org>

 - upsd/user: rewrote the upsd.users parser to use the new parseconf and
   a new config format much like ups.conf.  This eliminates both the
   username repetition and the bogus "5 per line" problems of the old
   format.

   upsd will refuse to parse an old-style upsd.users file, so convert it.

Sat Mar  2 04:42:12 CST 2002 / Russell Kroll <rkroll@exploits.org>

 * various: changed all calls to old_parseconf until they can be converted

Sat Mar  2 04:39:26 CST 2002 / Russell Kroll <rkroll@exploits.org>

 - common: renamed existing parseconf to old_parseconf for now.
   Eventually the programs using this will be converted to use the new
   version.

 - common/parseconf: replacement for the existing parseconf() that can
   handle lines of nearly any length with just about any number of 
   arguments.  This will be used to resolve the upsd.users situation.

0.45.5-pre1:

Sat Mar  2 00:59:30 CST 2002 / Russell Kroll <rkroll@exploits.org>

 - upsfetch: dump upslogin() - it was too specific (only used in upsmon)
   and needed to call things like upslogx() which broke linking with
   third-party client software.

Sat Mar  2 00:58:52 CST 2002 / Russell Kroll <rkroll@exploits.org>

 - upsmon: do PASSWORD/LOGIN with raw commands instead of calling upslogin()

 - upsmon: move login code into a new function

Fri Mar  1 23:31:16 CST 2002 / Russell Kroll <rkroll@exploits.org>

 - upsmon: check return from upssendraw when setting MASTER mode

 - upscmd: check return values from upssendraw throughout

Fri Mar  1 23:27:24 CST 2002 / Russell Kroll <rkroll@exploits.org>

 - upsct2: check all returns from upsreadraw/upssendraw for sanity

Fri Mar  1 23:07:23 CST 2002 / Russell Kroll <rkroll@exploits.org>

 - hp: new driver from Richard Muratti for HP Powertrust hardware

Mon Feb 25 14:56:41 CST 2002 / Russell Kroll <rkroll@exploits.org>

 - mge-ellipse: new version from Philippe Marzouk.

   - Restart and shutdown delay are now user selectable.
   - Many things are no longer hard coded

Mon Feb 25 14:33:00 CST 2002 / Russell Kroll <rkroll@exploits.org>

 - genericups: converted to the new common core.  This means all of
   the options are different.  In particular, -t is no longer supported,
   as it has been rolled into the usual -x/ups.conf scheme.

   Old way:			genericups -t 2 /dev/ttyS0		

   New way without ups.conf:	genericups -x upstype=2 /dev/ttyS0

   Better way with ups.conf:	genericups -a myups

	[myups]
		driver = genericups
		port = /dev/ttyS0
		upstype = 2

   The -m/-M options to override the manufacturer and model strings
   are available as mfr= and model= either with -x or in ups.conf as
   usual.

Mon Feb 25 13:44:34 CST 2002 / Russell Kroll <rkroll@exploits.org>

 * various: added install-cgi-man targets and added some echoes to the
   Makefiles to see where all these installs are going.

Mon Feb 25 12:46:26 CST 2002 / Russell Kroll <rkroll@exploits.org>

 - configure: added --with-drivers option to allow customization of the
   build process.  There's no point in building and installing 30 drivers
   if you only need one or two.

   This also touches the models and man Makefiles.

0.45.4:

Sat Feb 23 16:16:40 CST 2002 / Russell Kroll <rkroll@exploits.org>

 - Final version number tweak for release

0.45.4-pre5:

Fri Feb 15 06:02:07 CST 2002 / Russell Kroll <rkroll@exploits.org>

 - configure.in: don't do the LIBX stuff unless it's set, either

Fri Feb 15 05:55:21 CST 2002 / Russell Kroll <rkroll@exploits.org>

 - configure.in: don't do the LIBTTF/LIBXPM tests for gd unless they
   are actually defined.

 - configure.in: call AC_DEFINE_UNQUOTED for things that depend on
   the prefix so that config.h has the right versions set.  Reported
   by Phil Davis.

Fri Feb 15 03:36:44 CST 2002 / Russell Kroll <rkroll@exploits.org>

 - upsd: don't crash when given INSTCMD with no arguments.  Reported
   by oss-list-ups.

0.45.4-pre4:

Sun Feb 10 21:10:29 CST 2002 / Russell Kroll <rkroll@exploits.org>

 - upsfetch: recognize ERR CMD-NOT-SUPPORTED

Thu Feb  7 19:47:11 CST 2002 / Russell Kroll <rkroll@exploits.org>

 - common.h: map sete[u|g]id to setres[u|g]id for compatibility
   with HP-UX 10.20.  Reported by Mark Bergman.   

 - configure.in: test for seteuid

Thu Feb  7 19:33:53 CST 2002 / Russell Kroll <rkroll@exploits.org>

 - Applied patch from Nigel Metheringham [nut-0.45.4-pre3-updates.patch]

  - newapc.8 man page (umm some plagerism here :-) )
  - made model driver startup fail when ups.conf cannot
    be read and -a specified (the error you got before was 
    very strange).
  - update of RH spec file including RH6/RH7 support
  - rewrite of upsd init script to use/prefer ups.conf
  - adding of upspowerdown script for RH7

Thu Feb  7 19:15:36 CST 2002 / Russell Kroll <rkroll@exploits.org>

 - Applied patch from Lars Balker Rasmussen to clean up compiles
   on Solaris:

   - add lockf tests/calls on systems that don't have flock
   - drop dead err() check
   - add casts to squash some warnings
   - drop ; after } which is not allowed by Sun's cc
   - drop non-portable // comment
 
Wed Feb  6 13:47:26 CST 2002 / Russell Kroll <rkroll@exploits.org>

 - man/*: change from a u@h to a URL for the list information.  These
   man pages will eventually wind up on the web, then will be harvested
   by evil spammers, and then it's a lost cause.

Wed Feb  6 13:40:59 CST 2002 / Russell Kroll <rkroll@exploits.org>

 - upsstats.cgi.8: new man page

Wed Feb  6 13:30:31 CST 2002 / Russell Kroll <rkroll@exploits.org>

 - upsset.cgi.8: new man page

Wed Feb  6 13:17:16 CST 2002 / Russell Kroll <rkroll@exploits.org>

 - upsd: drop an extra space in the LISTRW response that crept in during
   the sendback variable-formatting change

Wed Feb  6 13:14:14 CST 2002 / Russell Kroll <rkroll@exploits.org>

 - upsd: make sure "VAR-NOT-SUPPORTED" is where it should be

Wed Feb  6 13:03:55 CST 2002 / Russell Kroll <rkroll@exploits.org>

 - cgilib: add room for the last character in unescape().  This was 
   breaking logins in upsset since the last character of everything
   was getting cut off by snprintf.

0.45.4-pre3:

Tue Feb  5 14:55:45 CST 2002 / Russell Kroll <rkroll@exploits.org>

 - genericups: applied patch from David Santinoli which added type 14 to 
   support Online P-series units.

Mon Feb  4 23:03:14 CST 2002 / Russell Kroll <rkroll@exploits.org>

 - upsmon: switched to waitpid which should be more portable than wait3

Mon Feb  4 11:35:47 CST 2002 / Russell Kroll <rkroll@exploits.org>

 - newapc: applied a patch from NetBSD to lop off the trailing : in
   the runtime value.  [patch-af]

Sat Feb  2 12:06:27 CST 2002 / Russell Kroll <rkroll@exploits.org>

 - upsmon: added a wait3() call in the idle loop to make sure we reap
   the exiting children that come from the new "fork to notify" design

 - upsmon: wall is now called with popen() to make things a little cleaner

Sat Feb  2 11:40:16 CST 2002 / Russell Kroll <rkroll@exploits.org>

 - upsdrvctl: added "maxstartdelay" as a global variable to ups.conf.
   This is also available as a per-section variable.  The default value
   is 45 (seconds), but you can change it with this definition if necessary.

Sat Feb  2 11:32:45 CST 2002 / Russell Kroll <rkroll@exploits.org>

 - upsdrvctl: added a timeout to the exec calls so the controller won't
   get stuck if a driver takes too long to start up or shut down.

Sat Feb  2 10:38:29 CST 2002 / Russell Kroll <rkroll@exploits.org>

 - upsdrvctl: pass '-d 0' to drivers in the shutdown routine so we don't
   get stuck in the "waiting for poweroff" phase of main.

Sat Feb  2 08:46:05 CST 2002 / Russell Kroll <rkroll@exploits.org>

 - upscommon: don't print errors using initfn if we're not using it
 
Sat Feb  2 08:45:33 CST 2002 / Russell Kroll <rkroll@exploits.org>

 - dummycons: switched to using select() on stdin, so pthreads are no
   longer needed.  This should be a lot more portable as a result.

Sat Feb  2 08:32:34 CST 2002 / Russell Kroll <rkroll@exploits.org>

 - dummycons: added -m <num> to override default INFO_MAX of 64

 - dummycons: added getopt, help text, and a dummy function for -k

Sat Feb  2 08:16:38 CST 2002 / Russell Kroll <rkroll@exploits.org>

 - main: disabled port locking for all shutdown (-k) calls.  This will
   make it possible to use the new 'upsdrvctl shutdown' without some
   evil hacks.  'nolock' will still be supported in ups.conf in case
   it's needed for other situations.

Sat Feb  2 08:09:02 CST 2002 / Russell Kroll <rkroll@exploits.org>

 - upsdrvctl: added -t switch for testing mode.  In testing mode, upsdrvctl
   prints notifications about actions it would normally do (exec, kill, etc)
   but doesn't actually do them.  This is intended for testing the sdorder
   definitions but should be helpful for other purposes too.

Wed Jan 30 13:21:21 CST 2002 / Russell Kroll <rkroll@exploits.org>

 - upsd: report errors when opening the state file for the first time.
   This disappeared during the rewrite of this section recently.

Wed Jan 30 13:18:26 CST 2002 / Russell Kroll <rkroll@exploits.org>

 - upsdrvctl: start adding support for sdorder and the shutdown command.
   Suggested by Peter Bieringer.

Wed Jan 30 12:38:40 CST 2002 / Russell Kroll <rkroll@exploits.org>

 - upsdrvctl: fixed a crash when encountering a ups.conf that contained
   configuration directives above the first UPS section.

Tue Jan 22 20:16:36 CST 2002 / Russell Kroll <rkroll@exploits.org>

 - upsmon: added a fork in notify() so that slow/broken notifier events
   don't make the DEADTIME checks go off.  This means that multiple instances
   of your NOTIFYCMD may run concurrently.

Mon Jan 21 15:59:49 CST 2002 / Russell Kroll <rkroll@exploits.org>

 - bestups: applied patch from Charles Lepple to fix the inverted bypass
   status bit problem on some models. (nut-0.45.4-bestups-bypass.patch)

0.45.4-pre2:

Wed Jan 16 13:48:27 CST 2002 / Russell Kroll <rkroll@exploits.org>

 - bestferrups801-807: new driver from Jonboy Corbin for Best FerrUPS 
   801-807 models

Wed Jan 16 13:42:03 CST 2002 / Russell Kroll <rkroll@exploits.org>

 - dummycons, dummyups: remove unnecessary genericups.h include

Wed Jan 16 13:40:09 CST 2002 / Russell Kroll <rkroll@exploits.org>

 - fentonups, bestups: moved the handler setup into initinfo() since it
   was being clobbered up in upsdrv_initups().  Reported by Rik Faith.

Wed Jan 16 13:37:40 CST 2002 / Russell Kroll <rkroll@exploits.org>

 - upscommon: added use_init_fn to do the <fn>.init scheme rather than
   tearing up all of the old drivers to call info_ready().  This will
   come back out once all of those old drivers are gone.

Wed Jan 16 13:31:39 CST 2002 / Russell Kroll <rkroll@exploits.org>

 - err.c: removed.  Reported by oss-list-ups.

 - aeg/bestfort: switched from err to fatal/fatalx

Wed Jan 16 13:13:29 CST 2002 / Russell Kroll <rkroll@exploits.org>

 - upsd: switched to using st_size to see if the file changes materially.
   If the size is the same, there's no reason to reopen it.

Tue Jan 15 17:30:22 CST 2002 / Russell Kroll <rkroll@exploits.org>

 - upsd: ripped out the ctime checks.  My systems keep touching the ctime
   when the driver parent exits even when it doesn't have the fd open.
   This has taken enough time as it is, so out it goes...

Tue Jan 15 16:14:16 CST 2002 / Russell Kroll <rkroll@exploits.org>

 - main: expand serialization code so it doesn't exit until the state
   file is actually usable.  The sequence is:

   - fork
   - child: wait for mark 1
				- parent: close state fd
				- parent: set mark 1
   - child: update ups info	- parent: wait for mark 2
   - child: call info_ready()
   - child: set mark 2
				- parent: exit
   - child: do the usual routine

Tue Jan 15 15:35:43 CST 2002 / Russell Kroll <rkroll@exploits.org>

 - main: added serialization code so that the child doesn't call info_ready
   until after the parent exits.  This fixes the problem where the parent
   exits after the rename and updates the ctime as a result.  This annoyed
   upsd and generated false staleness messages.

Tue Jan 15 14:43:09 CST 2002 / Russell Kroll <rkroll@exploits.org>

 - main: use info_ready()

 - upscommon: start the state file as <fn>.init and rename it to
   the usual filename once the driver's init sequence is done.  This keeps
   upsd from connecting to a state file with no usable information.

Tue Jan 15 14:35:25 CST 2002 / Russell Kroll <rkroll@exploits.org>

 - upsd: put back the right error messages in do_sendans()

Tue Jan 15 12:19:01 CST 2002 / Russell Kroll <rkroll@exploits.org>

 - upscommon: the non-SHM getupsmsg() stub now returns 0, not 1,
   since it's not receiving anything

Mon Jan 14 17:59:07 CST 2002 / Russell Kroll <rkroll@exploits.org>

 - upscommon: begin rewrite of create_info().  This one isn't so bad but
   it jumps around too much due to preprocessor directives.

Mon Jan 14 16:49:08 CST 2002 / Russell Kroll <rkroll@exploits.org>

 - upsd: begin rewrite of updateups().  This function was just too big
   and complicated, so it will be split up.

Mon Jan 14 12:43:12 CST 2002 / Russell Kroll <rkroll@exploits.org>

 - upsmon: upslogin returns 1 on success now...

Sun Jan 13 22:27:09 CST 2002 / Russell Kroll <rkroll@exploits.org>

 - applied patch from oss-list-ups:

   - various: add mmap support for state files
   - various: lock/unlock state files to avoid races/corruption
   - various: clean up variables/functions (const, static)
   - cgilib: better sanity checks for unescape()
   - various: create snprintfcat, use it in place of hackish snprintf calls
   - various: clean up includes 
   - upslog: simplify default log format
   - various: don't call syslog directly - use upslog/upslogx instead
   - upsd: add stub for STARTTLS
   - upsd: rework sendback calls to use a format string
   - upsd: warn about mode on statepath if world-accessible
   - upsd: avoid hanging if a client sendq fills up - dump it instead

Sun Jan 13 22:14:58 CST 2002 / Russell Kroll <rkroll@exploits.org>

 - newvictron: don't sleep in upsdrv_shutdown - main does it for us

Sun Jan 13 22:13:55 CST 2002 / Russell Kroll <rkroll@exploits.org>

 - newvictron: new-style driver for IMV/Victron hardware from Daniel Prynych

Sun Jan 13 22:12:09 CST 2002 / Russell Kroll <rkroll@exploits.org>

 - tripplite: new driver for Tripp-Lite SmartUPS models from Rik Faith.

Mon Jan  7 01:51:54 CST 2002 / Russell Kroll <rkroll@exploits.org>

 - upsfetch: don't blast errno by calling close() too early.  Reported by
   oss-listups.

Tue Dec 18 21:51:31 CST 2001 / Russell Kroll <rkroll@exploits.org>

 - upsstats: change the literal degrees character to "&deg;" for
   better HTML compatibility.

0.45.4-pre1:

Tue Dec 18 21:12:20 CST 2001 / Russell Kroll <rkroll@exploits.org>

 - mustekups: applied patch from Anton Ivanov to support the 
   Belkin Regulator Pro Net series.

Tue Dec 18 11:59:10 CST 2001 / Russell Kroll <rkroll@exploits.org>

 - shared.h: zap the duplicate INFO_BATT_VOLT.  Spotted by Jonathan Corbin.

Mon Dec 17 12:11:22 CST 2001 / Russell Kroll <rkroll@exploits.org>

 - upsmon: added NOTIFY_NOPARENT so that upsmon can get some help when
   it loses the ability to shut down the system.  This might happen if
   someone manages to whack the privileged parent with a signal that
   makes it quit.

   It also sends warnings at the "alert" log level since this is a very
   bad situation.  If the UPS went critical, the system would crash since
   it could not shut down.

   To avoid this when shutting down upsmon, either only kill the child
   or just use 'upsmon -c stop'.  The parent will exit gracefully.

 - upsmon: check the pipe to the parent once in awhile to make sure
   nothing bad has happened out there.

 - upsmon: ignore certain signals in the parent.  Previously, hitting it
   with something like SIGHUP in a misdirected attempt to make it reload
   would actually make it exit since it had no handler.

Mon Dec 17 11:49:46 CST 2001 / Russell Kroll <rkroll@exploits.org>

 - INSTALL: updated for the reload-capable upsd, and added some more
   references to other documents in an attempt to reduce some of the
   mails to the lists.

Sun Dec 16 09:01:35 CST 2001 / Russell Kroll <rkroll@exploits.org>

 - upsmon: RUN_AS_USER is now supported in the upsmon.conf to set the
   user id of the non-privileged monitor process.  This is a must if
   you want the reload feature to work properly.

 - upsmon: make sure upsmon.conf is available before dumping the config

Sun Dec 16 08:31:20 CST 2001 / Russell Kroll <rkroll@exploits.org>

 - upsmon: added '-c reload' to send the SIGHUP to the running process.

 - upsmon: added reload on SIGHUP support.

Sun Dec 16 08:29:42 CST 2001 / Russell Kroll <rkroll@exploits.org>

 - upsd: make sure upsd.conf and upsd.users are readable before blowing 
   away the local configuration during a reload.

 - upsd: fixed a segfault when upsd.conf wasn't available during reloads

Sat Dec  8 18:13:16 MET 2001 / Peter Bieringer <pb@bieringer.de>

 * newpowercom
    - add new option "subtype"
    - add support for a 16 byte sending UPS (KP625AP) [need to be tested]

0.45.3:

Tue Nov 27 13:11:15 CST 2001 / Russell Kroll <rkroll@exploits.org>

 * various: update the docs and zap "the the" in the man pages.

Tue Nov 27 12:27:39 CST 2001 / Russell Kroll <rkroll@exploits.org>

 * Trimmed this file again.  Anything older than about a year can
   be found in the older releases.

0.45.3-pre3:

Mon Nov 26 16:10:51 CST 2001 / Russell Kroll <rkroll@exploits.org>

 - mge-ellipse: #include "timehead.h" for struct timeval portability.

Sun Nov 25 22:14:44 CST 2001 / Russell Kroll <rkroll@exploits.org>

 * The INSTALL file now instructs users to try upsdrvctl first.
   Obviously this won't work if they are calling old style drivers.
   Driver authors: now is the time to convert to main.c!

Sun Nov 25 21:39:05 CST 2001 / Russell Kroll <rkroll@exploits.org>

 - mge-ellipse: replaced with new common-core version from
   Philippe Marzouk.

Sun Nov 25 21:11:02 CST 2001 / Russell Kroll <rkroll@exploits.org>

 - upsd: also do staleness checks on LISTRW and LISTINSTCMD

Sun Nov 25 21:09:25 CST 2001 / Russell Kroll <rkroll@exploits.org>

 - upsd: return "ERR DATA-STALE" rather than an empty list for LISTVARS
   when the UPS is stale.

Sun Nov 25 21:07:29 CST 2001 / Russell Kroll <rkroll@exploits.org>

 - protocol: brought the spec up to date with the new ERR entries

Sun Nov 25 20:53:32 CST 2001 / Russell Kroll <rkroll@exploits.org>

 - upsfetch: support these two new errors, and report warnings on their
   older "ANS <var> ..." counterparts.

 - upsd: send ERR VAR-NOT-SUPPORTED when the driver doesn't support a 
   variable in a request

 - upsd: send ERR VAR-UNKNOWN when upsd doesn't recognize a variable
   in a request.  This might happen if you run an old version of upsd
   and a newer client.

Sun Nov 25 20:45:33 CST 2001 / Russell Kroll <rkroll@exploits.org>

 - upsmon: recognize the new upslogin success value

 - upsfetch: upslogin() now returns 1 for success to be consistent with
   the other functions in that file.

Sun Nov 25 20:42:26 CST 2001 / Russell Kroll <rkroll@exploits.org>

 - upsfetch: dump dead upsgetprivs() function

Sun Nov 25 20:39:25 CST 2001 / Russell Kroll <rkroll@exploits.org>

 - upsfetch: switch the legacy ANS <var> DATA-STALE handlers to report
   UPSF_DATASTALE instead of UPSF_NOCOMM1 for now.  It also prints a
   warning about an old version of upsd in use, since upsd now properly
   sends "ERR DATA-STALE" for this condition.

Sun Nov 25 20:34:56 CST 2001 / Russell Kroll <rkroll@exploits.org>

 - upsmon: put a message in the syslog when a TCP connect attempt to
   upsd fails.

Sun Nov 25 20:32:27 CST 2001 / Russell Kroll <rkroll@exploits.org>

 - upsd: clean up new login kicker code

Sun Nov 25 20:26:13 CST 2001 / Russell Kroll <rkroll@exploits.org>

 - main: same idea, but get the paranoia right this time

 - upsd: fixed a bug where defining values in ups.conf before a 
   section header ([upsname]) would make the program segfault.  Right
   now there is no "global" section, so anything above a section is ignored.

Sun Nov 25 19:57:45 CST 2001 / Russell Kroll <rkroll@exploits.org>

 - upsmon: write a LOG_ERR level message to the syslog when a poll fails.
   Up until this point, there was no good way to find out just what
   actually caused a UPS to become unavailable.

Sun Nov 25 19:43:57 CST 2001 / Russell Kroll <rkroll@exploits.org>

 - upsd: disconnect any clients who have issued LOGIN on a UPS that's
   being deleted via the SIGHUP conf reloader.  Previously you could
   make a real mess if you managed to delete and re-add a UPS before
   upsmon noticed, since the login data would be lost.

Sun Nov 25 19:18:27 CST 2001 / Russell Kroll <rkroll@exploits.org>

 - upsmon: make sure the fd to upsd is closed and cleared from local
   storage any time any time a read/write network operation fails. 
   Previously, it was possible to get upsmon into a state where it 
   couldn't poll the server after the ups had gone stale and returned.  
   If you straced the process, you'd see upsmon writing to the dead fd 
   and getting -EPIPE all the time.

Sun Nov 25 18:25:32 CST 2001 / Russell Kroll <rkroll@exploits.org>

 - upsd: rework stale error reporting.  There are a bunch of evil errors
   that are returned as "ANS <var> <error>" rather than a proper ERR.
   These will be fixed, and this is the first one.  "ANS <var> DATA-STALE"
   is no more, and has been replaced with "ERR DATA-STALE".

   upsfetch will still recognize the old format for backwards compatibility
   with older versions of upsd for awhile.

Mon Nov 19 03:16:44 CST 2001 / Russell Kroll <rkroll@exploits.org>

 - upsd.users.5: new man page

Mon Nov 19 02:48:49 CST 2001 / Russell Kroll <rkroll@exploits.org>

 - hosts.conf.5: new man page

Mon Nov 19 02:28:05 CST 2001 / Russell Kroll <rkroll@exploits.org>

 - upsmon.conf.5: new man page

Mon Nov 19 01:39:01 CST 2001 / Russell Kroll <rkroll@exploits.org>

 - upsd.conf.5: new man page

Mon Nov 19 01:09:11 CST 2001 / Russell Kroll <rkroll@exploits.org>

 - upsdrvctl.8: new man page

Mon Nov 19 00:46:15 CST 2001 / Russell Kroll <rkroll@exploits.org>

 - upsdrvctl: send SIGTERM instead of SIGQUIT for the 'stop' signal

Mon Nov 19 00:41:31 CST 2001 / Russell Kroll <rkroll@exploits.org>

 - upsd: clean up the help text and make it reflect the current options

 - upsd: support -c to send commands via signals - 'reload' and 'stop'

0.45.3-pre2:

Sun Nov 18 04:15:05 CST 2001 / Russell Kroll <rkroll@exploits.org>

 - cyberpower: applied patch from Rob Crittenden:

   - Filled in the temperature table
   - Only return a decimal value for temperature, per the UI (in Celcius)
   - Filled in the rest of the input voltage table.

 - cyberpower: new experimental driver for Cyber Power Systems AVR units.
   This protocol is not officially documented, and it's convoluted binary
   stuff, so this driver is a even bigger tangle of guesses than usual.

   The company provided an AVR700 for development.

Mon Nov 12 04:33:38 CST 2001 / Russell Kroll <rkroll@exploits.org>

 - upsmon: move the "not root" warning down into the part of the code
   that would actually attempt the shutdown if root powers aren't
   available.  This was creating some confusing but harmless entries 
   in the syslog due to the new split process design.

Mon Nov 12 04:26:34 CST 2001 / Russell Kroll <rkroll@exploits.org>

 - upsd: change the upsd.conf reload behavior so that not being able
   to open that file after a SIGHUP is no longer fatal.  It just yells
   at you if it fails.

   This can happen if upsd switches to another user (like nobody) after
   starting up, and that user can't read the upsd.conf.

   This is yet another reason why it's best to have at least one user
   for the UPS software, and preferably more if possible.  Run upsd
   as nutsrv, set the upsd.conf (and friends) to be owned by nutsrv,
   and you're in business.

Mon Nov 12 04:20:11 CST 2001 / Russell Kroll <rkroll@exploits.org>

 - upsdrvctl: don't try to start argv[0] when starting one UPS by name.

Fri Nov  9 19:40:47 CST 2001 / Russell Kroll <rkroll@exploits.org>

 - main: applied patch to try forceshutdown before the chdir in 
   case the filesystem with the state path isn't mounted.  Reported 
   by Patrik Rak, via Luca Filipozzi.

Fri Oct 26 02:51:50 CDT 2001 / Russell Kroll <rkroll@exploits.org>

 - upsdrvctl: status and status <ups> now check the pid files of the
   drivers and return 0 on success.  This should be useful for
   distributors.  Suggested by Peter Bieringer.

 - upsdrvctl: -v will now add some verbose details to some operations.

Fri Oct 26 02:19:21 CDT 2001 / Russell Kroll <rkroll@exploits.org>

 - upsd: put back the leak avoidance code in the ups.conf handler

Thu Oct 25 12:20:38 CDT 2001 / Russell Kroll <rkroll@exploits.org>

 - configure/upsfetch/upsd: --with-udpport is now just --with-port.
   This code has been more than just UDP for long enough.

Thu Oct 25 12:03:44 CDT 2001 / Russell Kroll <rkroll@exploits.org>

 - Makefiles: the install target no longer dies if it fails to chown
   the statepath.  This means you can now build and package the tree 
   as a normal user.  The catch is that you still have to make sure 
   the state directory gets the proper permissions when it gets 
   installed for real.

Thu Oct 25 11:56:14 CDT 2001 / Russell Kroll <rkroll@exploits.org>

 - Makefiles: the cgi-bin directory is now only created when you do
   "make install-cgi" to avoid more pollution of the prefix.

Thu Oct 25 11:53:44 CDT 2001 / Russell Kroll <rkroll@exploits.org>

 - Makefiles: install-misc now creates the misc directory so you don't
   get "misc/" out in your prefix normally.

0.45.3-pre1:

Wed Oct 24 04:28:19 CDT 2001 / Russell Kroll <rkroll@exploits.org>

 - Makefile.in: my setver target now throws out the - in the nut.spec
   "%define version" line, so this is actually "0.45.3pre1" if you run RH.

Wed Oct 24 09:29:30 MEST 2001 / Peter Bieringer <pb@bieringer.de>

 - nut.spec.in: fix hardwired man path
 - models: old style 'powercom' ported to 'newpowercom'
    this port obsoletes now/next: 'powercom', 'ups-trust425+625'
 - scripts/RedHat/upsd now recognize new style drivers (tested on RHL 7.1.93)
 - Add some missing manpages to man/Makefile.in

Wed Oct 24 00:20:44 CDT 2001 / Russell Kroll <rkroll@exploits.org>

 - upsd: close() and shutdown() fds when stopping the server.

Wed Oct 24 00:16:43 CDT 2001 / Russell Kroll <rkroll@exploits.org>

 - upsd: the "stale at startup" message is now different, since the
   reload code can now trigger it.

Wed Oct 24 00:09:55 CDT 2001 / Russell Kroll <rkroll@exploits.org>

 - upsd: SIGHUP support.  When upsd receives this signal, it will reread
   ups.conf, upsd.conf, and upsd.users.  This is an atomic operation.
   Any UPS that disappears during the reload will start returning
   "ERR UNKNOWN-UPS" as you would expect.

   User logins aren't stateful, so any changes to upsd.conf will be
   reflected immediately.  If a user can't do a command and then you 
   grant them access, they will gain that ability as soon as it reloads.

*** File trimmed here 30 July 2002 ***

For entries before this point, start with version 0.45.2 and work back.
