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.
