2.2.1

Fri Dec 21 10:59:01 UTC 2007 / Arnaud Quette <arnaudquette@eaton.com>

 - Bump the release version to 2.2.1

2.2.1-pre2

Mon Dec 17 15:15:17 UTC 2007 / Arnaud Quette <aquette.dev@gmail.com>

 - NEWS: more completion for the upcoming 2.2.1 release.

Sun Dec 16 20:19:36 UTC 2007 / Arjen de Korte <arjen@de-korte.org>

 - Changed the default installation directory for pkg-config files,
   following a suggestion of Stanislav Brabec. The new default
   location is ${libdir}/pkgconfig. This is still configurable via
   the --with-pkgconfig-dir=PATH option and can be turned off with
   --without-pkgconfig-dir.

Sun Dec 16 20:10:41 UTC 2007 / Arjen de Korte <arjen@de-korte.org>

 - conf/upssched.conf.sample: Insert STATEPATH into default PIPEFN
   and LOCKFN.

Sun Dec 16 19:53:51 UTC 2007 / Arjen de Korte <arjen@de-korte.org>

 - conf/upsstats-single.html.sample, conf/upsstats.html.sample:
   The snmp driver reports 3-phase variables which APC's claims to
   support but returns junk for. Doing IFSUPP against the L2
   variables rather than the L1 ones. [George Ross]

Sun Dec 16 19:43:41 UTC 2007 / Arjen de Korte <arjen@de-korte.org>

 - configure.in, m4/ax_create_stdint_h.m4: Added the AX_CREATE_STDINT_H
   macro to create our own header file with fixed width types.
 - <various>: Use above mentioned header file, instead of <stdint.h>.

Sun Dec 16 16:15:56 UTC 2007 / Arjen de Korte <arjen@de-korte.org>

 - drivers/upshandler.h,dstate.h,dstate-hal.h: The return values for
   the setvar() and instcmd() handlers are now an enum value, to add
   return values easily.

Wed Dec 12 21:03:23 UTC 2007 / Carlos Rodrigues <carlos.efr@mail.telepac.pt>

 * drivers/megatec.c: backported from the trunk.
   - the "ondelay" and "offdelay" parameters are now being honored
     when the UPS shuts down, like they should be.
   - rewrite documentation for "ondelay" since this timer starts
     counting the moment the UPS is turned off, and not the
     moment line power is restored.
   - Remove "ups.delay.start" and "ups.delay.shutdown" variables
     since they would only affect instant commands. Use only the
     driver parameters "ondelay" and "offdelay".

Wed Dec 12 20:29:51 UTC 2007 / Arjen de Korte <arjen@de-korte.org>

 - drivers/apcsmart.[ch]: Add support for older Smart-UPS devices.

Wed Dec 12 20:22:39 UTC 2007 / Arjen de Korte <arjen@de-korte.org>

 - drivers/usbhid-ups.c: Don't attempt to reconnect after receiving
   an unexpected error message, but instead just log a message and
   continue (this is in line with earlier behaviour).

Tue Dec 11 20:11:02 UTC 2007 / Arjen de Korte <arjen@de-korte.org>

 - <various>: Include <stdint.h> where needed (and don't include it
   when not needed). Also make sure to only include it, if it exists.

Tue Dec 11 19:38:18 UTC 2007 / Arjen de Korte <arjen@de-korte.org>

 - drivers/bestfcom.c: Delay values in ser_get_ functions used
   milliseconds instead of microseconds. Driver now also shows power
   values from the UPS (backported from trunk).

Tue Dec 11 19:35:45 UTC 2007 / Arjen de Korte <arjen@de-korte.org>

 - drivers/tripplite-hid.c: Workaround for firmware bug in the AVR 550U
   where reading 'UPS.PowerSummary.iDeviceChemistry' string would crash
   the UPS (backported from trunk).

Mon Nov 26 13:45:06 UTC 2007 / Arjen de Korte <arjen@de-korte.org>

 - drivers/tripplitesu.c: Fixed copy-paste error in this driver that
   dates back from the conversion to the new serial I/O functions a
   couple of years back.

Sun Nov  4 20:08:53 UTC 2007 / Arjen de Korte <arjen@de-korte.org>

 - drivers/hidparser.c: Fix non-portable type conversions.

Thu Oct 18 17:51:07 UTC 2007 / Arjen de Korte <arjen@de-korte.org>

 - data/drivers.list: add Belkin F6H375-USB compatibility through
   megatec_usb (depending on vendorid)

Mon Oct 15 11:14:06 UTC 2007 / Arnaud Quette <aquette.dev@gmail.com>

 - data/drivers.list: add Powerware 9110 compatibility through upscode2

Mon Oct 15 08:12:28 UTC 2007 / Arjen de Korte <arjen@de-korte.org>

 - scripts/udev/nut-usbups.rules.in: Make udev rules compatible with
   newer kernels compiled without CONFIG_USB_DEVICE_CLASS.

2.2.1-pre1

Tue Oct  2 12:04:27 UTC 2007 / Arnaud Quette <aquette.dev@gmail.com>

 - Changelog: some reformating.
 - NEWS: completion for the upcoming 2.2.1 release.
 - data/driver.list: added MGE Office Protection Systems compatibility
   information for US models.
 - configure.in: change version to 2.2.1-pre1.

Fri Sep 28 15:56:17 UTC 2007 / Arjen de Korte <arjen@de-korte.org>

 Backported from the trunk:
 - improved usbhid-ups driver
 - support for the Liebert PowerSure Personal XT
 - naming change of the 'beeper.(on|off)' to 'beeper.(enable|disable|mute)'
 - coding changes without impact on the functional behaviour

Wed Sep 26 20:50:15 UTC 2007 / Kjell Claesson <kjell.claesson@epost.tidanet.se>

 - Changed the 'ups.voltage.nominal' to 'output.voltage.nominal' in bcmxcp driver.

Mon Sep 24 18:01:56 UTC 2007 / Arjen de Korte <arjen@de-korte.org>

 - conf/upsmon.conf.sample: List the default values for NOTIFYMSG
   and NOTIFYFLAG. [Alioth Feature Requests #302016]

Tue Sep 18 18:13:36 UTC 2007 / Arjen de Korte <arjen@de-korte.org>

 - drivers/usbhid-ups.c: Always check the validity of a HID-to-NUT
   mapping (instcmd and setvar). It's pointless to try to change a
   variable or execute a command that isn't valid for *this* UPS.

Wed Sep 12 22:09:11 UTC 2007 / Carlos Rodrigues <carlos.efr@mail.telepac.pt>

 - drivers/megatec.c: backported from the trunk.
 - drivers/megatec_usb.c: added ser_set_dtr/ser_set_rts stubs required
   by the megatec backport.
 - data/driver.list: added some models supported by megatec already
   listed in the trunk.

Tue Sep 11 14:21:17 UTC 2007 / Arnaud Quette <aquette.dev@gmail.com>

 - clients/upsclient.h: add a typedef UPSCONN on UPSCONN_t since
   the renaming of the former broke the external client application
   compatibility. This is only temporary, and client applications
   will have to adapt their code, using pkg-config / libupclient-config
   and some #defines.
 - UPGRADING: add a (doubled for both 2.2.0 and 2.2.1) message to warn
   client applications developers of the above change.

Tue Sep 11 12:47:10 UTC 2007 / Arnaud Quette <aquette.dev@gmail.com>

 - data/driver.list: Added MGE Office Protection Systems compatibility
   information.

Sun Sep  9 19:17:34 UTC 2007 / Arjen de Korte <arjen@de-korte.org>

 - drivers/apcsmart.h: Missed this one in r1097.
 - drivers/serial.[ch]: Added handling modem control lines, to make
   backporting drivers from the trunk easier.
 - data/new-drivers.txt: Document new status flags and modem control
   line functions.

Sun Sep  9 18:43:51 UTC 2007 / Arjen de Korte <arjen@de-korte.org>

 - drivers/tripplite_usb.c: Fix potential segfault.

Sat Sep  8 18:58:17 UTC 2007 / Arjen de Korte <arjen@de-korte.org>

 - clients/upsmon.c: Only change the polling frequency if the OL/OB
   state changes.
 - data/driver.list: Added a couple of Belkin models as supported,
   as well as Jasuny USPS.
 - drivers/apc-hid.c: The vendor specific formatting modified the
   hd->Product that was passed to it (which should not happen here).
   Also changed 'ups.power.nominal' to 'ups.realpower.nominal' for
   some CyberPower UPS'es that support this.
 - drivers/apcsmart.c: Added support for some vintage UPS'es.
 - drivers/belkin-hid.c: Added two productid's for supported models,
   fixed memory leak in vendor specific formatting and fixed faulty
   input report for low battery that resurfaced now that we have a
   report buffer.
 - drivers/hidparser.c: Fix uninitialized data causing usbhid-ups to
   attempt to allocate vast amounts of memory and crashing the driver.
 - drivers/libhid.c: Fix some harmless memory leaks, lower time to
   wait for input reports and fixed physical<->logical conversion
   functions. Return from HIDDumpTree when nut_debug_level is too
   low to output the results to prevent delays while reading reports
   that are listed in the report descriptor, but are in fact not
   used/available.
 - drivers/libusb.c: Fix libusb_open function that leaks memory on
   every attempt to reconnect. Removed some unused variables.
 - drivers/mge-hid.c: Corrected wrong HID-to-NUT variable mapping and
   corrected logical error ('not zero' is not equivalent to 'equal to
   one').
 - drivers/upscode2.c: Removed alarm_init() and alarm_commit(), which
   are a no-op if alarm_set() is not in between.
 - drivers/usbhid-ups.c: Fix for Belkin low battery bug is now in the
   subdriver, fixed potential segfaults and minor memory leaks.
 - server/upsd.c: Don't check client filedescriptors we already know
   are no longer connected.
 - scripts/hal/20-ups-nut-device.fdi: Added missing entries.
 - scripts/hotplug/libhid.usermap: Added Belkin devices.
 - scripts/udev/nut-usbups.rules.in: Added Belkin devices.

Sat Sep  8 16:16:15 UTC 2007 / Kjell Claesson <kjell.claesson@epost.tidanet.se>

 * drivers/bcmxcp.c: 
   - Fix bug in shutdown function. Did not read shutdown time from ups.conf.
   - Changes to the alarm_init and alarm_commit (see previous commit by Arjen).
   - Add ToDo list in driver, And patch for loadsegment shutdown.
 * driver/bcmxcp_usb.c: Fixed cast in call to usb_interrupt_read.

Sat Sep  8 15:32:35 UTC 2007 / Arjen de Korte <arjen@de-korte.org>

 - dstate.c: Previous update was wrong version. Fixed. Sorry about
   that.

Sat Sep  8 15:23:34 UTC 2007 / Arjen de Korte <arjen@de-korte.org>

 - dstate.c, dstate-hal.c: simplified the way how alarms are handled.
   The status_commit() function should not be called *before*
   alarm_commit() to make this work.
 - gamatronic.c: implement the above.

Fri Sep  7 11:51:22 UTC 2007 / Arnaud Quette <aquette.dev@gmail.com>

 - fixes the NUT versioning on exported SVN trees, due to i18n
   translation of the "exported" keyword. This resulted in
   <nut version>- instead of <nut version> only, without the "-"

Tue Jul 10 13:47:01 UTC 2007 / Arnaud Quette <aquette.dev@gmail.com>

 - lib/libupsclient.pc.in, lib/libupsclient-config.in: fix a typo
   (missing "LIB" prefix on the SSL_*FLAGS)

2.2.0

Thu Jul  5 12:48:39 UTC 2007 / Arnaud Quette <aquette.dev@gmail.com>

 Final polishing:
 - NEWS: remove the reference to docs/packaging.txt
 - INSTALL: add a note about binary packages installation preference
   over source installation 
 - configure.in: bumped version number to 2.2.0

Mon Jul  2 14:47:14 UTC 2007 / Arnaud Quette <aquette.dev@gmail.com>

 - mge-hid.c: fix battery.type (static data)
 - configure.in, libupsclient.pc: add some missing variables useful
   for external NUT applications (sysconfdir, statepath, nutuser)
 - hal/20-ups-nut-device.fdi: update unknow manufacturer name

Fri Jun 29 07:19:42 UTC 2007 / Arnaud Quette <aquette.dev@gmail.com>

 - libhid.c: fix Notification handling. It previously caused
   false online / on battery fluctuation with newhidups / usbhid-ups
   when no notification was received.

Tue Jun 26 19:39:55 UTC 2007 / Arjen de Korte <arjen@de-korte.org>

 - docs/new-drivers.txt: Update to reflect changes in the way we
   deal with dstate_dataok() and dstate_datastale(). Historically
   it was needed to call these regularly, to prevent staleness
   warnings. This is no longer needed, now the server will PING
   drivers it has not heard of recently. If they answer with PONG,
   they won't be flagged stale anymore, no matter how long ago
   dstate_dataok() was called.

Tue Jun 26 19:14:17 UTC 2007 / Arjen de Korte <arjen@de-korte.org>

 - drivers/safenet.c: Don't hide call to dstate_dataok() in helper
   function.

2.2.0-pre2

Tue Jun 26 09:16:12 UTC 2007 / Arnaud Quette <aquette.dev@gmail.com>

 * configure.in:
   - set HAL support default value to "no". Enabling HAL support
     must now be explicitly asked.
   - bump release to 2.2.0-pre2

Mon Jun 25 14:46:45 UTC 2007 / Arnaud Quette <aquette.dev@gmail.com>

 - INSTALL, README, UPGRADING, docs/configure.txt, docs/nut-hal.txt:
   upgrade various documentation to reflect the changes, most of all
   on the HAL side.

Sat Jun 23 03:29:29 UTC 2007 / Charles Lepple <clepple@gmail.com>

 - drivers/tripplite_usb.c: unplugging the UPS generates more error
   codes than I was handling before. Tested with OMNIVS1000 on Ubuntu.

Sat Jun 23 03:02:27 UTC 2007 / Charles Lepple <clepple@gmail.com>

 - drivers/tripplite_usb.c: don't loop when reconnecting to the UPS.
   (similar to changes made to usbhid-ups.c)

Fri Jun 22 07:07:25 UTC 2007 / Arnaud Quette <aquette.dev@gmail.com>

 - drivers/usbhid-ups.c: fix the previous improvement in the handling
   and reporting of the communication lost status. 

Thu Jun 21 07:41:09 UTC 2007 / Arnaud Quette <aquette.dev@gmail.com>

 - drivers/main-hal.c: fixe a double setting of device_path

Thu Jun 21 07:07:25 UTC 2007 / Arnaud Quette <aquette.dev@gmail.com>

 - drivers/usbhid-ups.c: improve the handling and reporting of the
   communication lost status. Previously, these were not reported
   anymore.

Wed Jun  6 19:52:01 UTC 2007 / Arjen de Korte <arjen@de-korte.org>

 * drivers/main.c, man/nutupsdrv.8:
   - specifying '-a <id>' is now mandatory when starting a driver, in
     order to prevent problems later on in the configuration process
     (otherwise the upsd server won't see it)
   - removed the possibility to specify a port on the command line (not
     really useful anymore)

Wed Jun  6 09:34:22 UTC 2007 / Arnaud Quette <aquette.dev@gmail.com>

 * data/drivers.list: 
   - fixe a typo on upscode2 driver name
   - add "Fiskars 9200 with UPS Information Unit" compatibility

 * NEWS: remove the FIXME

Tue Jun  5 19:05:48 UTC 2007 / Arjen de Korte <arjen@de-korte.org>

 - server/conf.c, drivers/main.c: Prepend driver name to socket again.
   Otherwise we loose control over the socketname, which prevents us
   from creating sockets for autodetected UPSes. This brings the socket
   name in line with the PID name.

Tue Jun  5 13:25:56 UTC 2007 / Arnaud Quette <aquette.dev@gmail.com>
 
 - data/drivers.list: removed Geek Squad GS1285U from Cyber Power Systems,
   according to Peter Selinger comment from Jan. 26 2007. The Cyber Power
   model is AE550.
 - NEWS, UPGRADING: first update round

2.2.0-pre1

Mon Jun  4 08:50:03 UTC 2007 / Arnaud Quette <aquette.dev@gmail.com>

 - debian/changelog, debian/nut.README.Debian: minor update
 - update config.guess, config.sub and install.sh
 - configure.in: bump release to 2.2.0-pre1

Sat Jun  2 19:37:08 UTC 2007 / Arjen de Korte <arjen@de-korte.org>

 - drivers/powerpanel.h: setting the battery.low value requires only
   two (and exactly two) digits (copy-and-paste error)

Sat Jun  2 13:51:33 UTC 2007 / Carlos Rodrigues <carlos.efr@mail.telepac.pt>

 - UPGRADING: removed reference to masterguard being replaced by megatec
   as this driver implements a protocol similar, but not quite "megatec".

Thu May 31 08:33:54 UTC 2007 / Arnaud Quette <aquette.dev@gmail.com>

 - mge-shut.h, mge-hid.c: missing models completion (Ellipse MAX and
   Protection Center)

Thu May 31 10:20:55 UTC 2007 / Alexander I. Gordeev <lasaine@lvk.cs.msu.su>

 - scripts/hal/*: added Belkin UPSes to the list.

Wed May 30 19:35:56 UTC 2007 / Arjen de Korte <arjen@de-korte.org>

 - drivers/powerpanel.[ch]: the text mode protocol doesn't have a checksum
   for the status bytes

Wed May 30 10:51:54 UTC 2007 / Arnaud Quette <aquette.dev@gmail.com>

 * newmge-shut driver:
   - drivers/libshut.c:
     - complete shut_set_report(), needed for instant commands (and
       obviously UPS poweroff) and settings,
     - a bit of cleanup,
     - greatly improve driver reactivity, compared to mge-shut,
     - bump version to 0.80
   - data/drivers.list: propose as an alternate to mge-shut

Wed May 30 01:24:53 UTC 2007 / Charles Lepple <clepple@gmail.com>

 - configure.in: bumped version number
 - UPGRADING: mentioned removed and renamed drivers

Mon May 28 14:12:14 UTC 2007 / Arjen de Korte <arjen@de-korte.org>

 - drivers/powerpanel.c: expected number of characters for P4 command is off
   by one (adding debug lines to show what is going on)

Sun May 27 14:06:33 UTC 2007 / Peter Selinger <selinger@users.sourceforge.net>

 - second attempt to add SVN revision in NUT version (as suggested by 
   Eric S. Raymond).
	
Sat May 26 16:47:23 UTC 2007 / Peter Selinger <selinger@users.sourceforge.net>

 - data/driver.list: disambiguated Belkin F6C1100-UNV models

Sat May 26 14:21:32 UTC 2007 / Arjen de Korte <arjen@de-korte.org>

 - [various]: revert changes to add SVN revision in NUT version

Sat May 26 12:03:10 UTC 2007 / Alexander I. Gordeev <lasaine@lvk.cs.msu.su>

 - data/driver.list: added SVEN Power Smart RM 2000 to the list.

Sat May 26 11:49:12 UTC 2007 / Carlos Rodrigues <carlos.efr@mail.telepac.pt>

 - drivers/megatec.c: added support for 48V batteries.

Fri May 25 18:54:54 UTC 2007 / Arjen de Korte <arjen@de-korte.org>

 - packaging/debian/Makefile.am: Assuming removing the removal of
   nut-usb.postinst and nut-usb.prerm was intentional, the dependency
   should be removed as well.

Fri May 25 18:39:47 UTC 2007 / Arjen de Korte <arjen@de-korte.org>

 - [various]: patch to add SVN revision in NUT version (by Eric S. Raymond)

Fri May 25 14:19:11 UTC 2007 / Arnaud Quette <aquette.dev@gmail.com>

 - packaging/debian: major updates (refer to debian/changelog)

Fri May 25 02:01:40 UTC 2007 / Charles Lepple <clepple@gmail.com>

 - Removed redundant udev installation rule from debian/rules.

Fri May 25 00:59:44 UTC 2007 / Charles Lepple <clepple@gmail.com>

 - Added dependencies on dbus, dbus-glib and glib development headers to the
   Debian control file.

Wed May 23 23:59:59 UTC 2007 / Arjen de Korte <arjen@de-korte.org>

 - drivers/dstate-hal.c: added empty alarm_init, alarm_set and alarm_commit
   functions

Wed May 23 21:13:10 UTC 2007 / Kjell Claesson <kjell.claesson@epost.tidanet.se>

 - Enabled requested Alarm function in bcmxcp.c

Wed May 23 18:49:21 UTC 2007 / Arjen de Korte <arjen@de-korte.org>

 * common/common.c, include/common.h:
   - fatalx() and fatal_with_errno() now take a (mandatory) parameter that
     sets the exit status (in the same way we set the debuglevel for upsdebugx
     and upsdebug_with_errno and the loglevel for upslogx and upslog_with_errno)
 * [various]:
   - change fatalx("message...") to fatalx(EXIT_FAILURE, "message...")
   - change fatal_with_errno("message...") to fatal_with_errno(EXIT_FAILURE,
     "message...")

Wed May 23 18:27:03 UTC 2007 / Arjen de Korte <arjen@de-korte.org>

 - drivers/various: use fatalx() to exit abnormally and make sure an
   informative message is displayed
 - docs/developers.txt: don't use exit() in drivers

Wed May 23 17:15:34 UTC 2007 / Arjen de Korte <arjen@de-korte.org>

 - drivers/powerpanel.[ch]: fixed polarity of ups.beeper.status

Tue May 22 23:47:58 UTC 2007 / Alexander I. Gordeev <lasaine@lvk.cs.msu.su>

 - drivers/megatec_usb.c: added debug output before exit when no supported
   UPSes were found.

Tue May 22 13:55:26 UTC 2007 / Peter Selinger <selinger@users.sourceforge.net>

 - data/driver.list: sorted Belkin models by model name.

Tue May 22 12:23:28 UTC 2007 / Alexander I. Gordeev <lasaine@lvk.cs.msu.su>

 - data/driver.list: added all UPSes that are reported supported to the list.

Tue May 22 11:04:36 UTC 2007 / Arjen de Korte <arjen@de-korte.org>

 * clients/upsclient.c:
   - Don't check for sockettype and protocol (shouldn't be necessary, since
     getaddrinfo() will return only combinations that match what we asked for)
     Apparently, some Solaris systems will return IPPROTO_IP when we ask for
     IPPROTO_TCP, which seems to be fine.
   - Additional error reporting for getaddrinfo()
   - Minor changes (coding style)
 * server/upsd.c:
   - Remove redundant check after getaddrinfo() call (which is guaranteed to
     have at least one addrinfo element if successful)

Mon May 21 18:42:07 UTC 2007 / Arjen de Korte <arjen@de-korte.org>

 - server/upsd.c: don't check for sockettype and protocol (shouldn't be
   necessary, since getaddrinfo() will return only combinations that match
   what we asked for)
   Apparently, some Solaris systems will return IPPROTO_IP when we ask for
   IPPROTO_TCP, which seems to be fine.

Sun May 20 08:22:20 UTC 2007 / Kjell Claesson <kjell.claesson@epost.tidanet.se>

 - Changed 'unsigned int' to 'int' in alarm struct bcmxcp.h. And also the alarm
   counter in bcmxcp.c even if usigned int to int works. Fix bug for missing
   alarms.

Fri May 18 19:28:24 UTC 2007 / Peter Selinger <selinger@users.sourceforge.net>

 - updated documentation to reflect the automatic installation of
   udev/hotplug scripts.

Thu May 17 23:36:38 UTC 2007 / Alexander I. Gordeev <lasaine@lvk.cs.msu.su>

 - drivers/megatec_usb.c: added Belkin F6C1200-UNV to the list of known
   devices.

Thu May 17 09:44:33 UTC 2007 / Arjen de Korte <arjen@de-korte.org>

 * server/upsd.c:
   - provide additional debug information for setuptcp() if IPv6 is used
     so that it will never break from looping through the list of addrinfo
     elements without showing why (in debug mode >= 3)
   - minor changes (coding style)

Sat May 12 19:56:02 UTC 2007 / Arjen de Korte <arjen@de-korte.org>

 - data/driver.list: added CyberPower PR2200 that is supported through
   the powerpanel driver (added some others for this driver too)

Sat May 12 19:52:36 UTC 2007 / Arjen de Korte <arjen@de-korte.org>

 - data/cmdvartab, docs/new-names.txt: add 'ups.coldstart' variable
   that indicates if the UPS will coldstart from battery or not.

Sat May 12 19:03:33 UTC 2007 / Arjen de Korte <arjen@de-korte.org>

 - drivers/powerpanel.[ch], man/powerpanel.8: Russ Romano provided
   enough serial traces for the CyberPower PR2200 so that we could
   add support for this (binary protocol) to the existing 'powerpanel'
   driver (text protocol). Which protocol is used, will be detected
   by the driver automatically.

Mon May  7 22:47:32 UTC 2007 / Charles Lepple <clepple@gmail.com>

 - configure.in, packaging/generic-rpm: moved from packaging/redhat to
   deconflict with RawHide spec files on case-insensitive filesystems.

Mon May  7 22:30:41 UTC 2007 / Alexander I. Gordeev <lasaine@lvk.cs.msu.su>

 - drivers/megatec_usb.c: fixed UPS replies to pass recently added
   checks in megatec.c.

Mon May  7 08:50:21 UTC 2007 / Arnaud Quette <aquette.dev@gmail.com>

 - packaging/redhat: import the latest RedHat RawHide .spec file, along
   with its various patch files.

Sun May  6 21:06:10 UTC 2007 / Carlos Rodrigues <carlos.efr@mail.telepac.pt>

 - data/driver.list: more models supported by megatec
 - drivers/megatec.c: better handling of UPS replies

Fri May  4 11:07:15 UTC 2007 / Arnaud Quette <aquette.dev@gmail.com>

 * HAL update:
   - fixed the dstate-hal integration, which caused a huge memory leak
   - prepare for DBus Method calls (wired on NUT instant commands)
   - improve the debian nut-hal-drivers package (see the debian changelog in
     packaging/debian/changelog for more details)
   - m4/nut_check_libhal.m4: improved for future dbus use
   
Tue Apr 24 16:15:20 UTC 2007 / Kjell Claesson <kjell.claesson@epost.tidanet.se>

   - drivers/bcmxcp_ser.c: Update done by Arjen de Korte. Changed some 
     printf lines to upslogx and upsdebugx. Made a cleaner send function.
     Baudhunting give more informative info.
     Also removed a bug in the receive function that i missed.

Fri Apr 13 14:00:45 UTC 2007 / Arnaud Quette <aquette.dev@gmail.com>

 * HAL update:
   - docs/nut-hal.txt: various documentation update
   - m4/nut_check_libhal.m4: check the hal user and HAL version (0.5.8
     minimum required)

Fri Apr  6 11:24:45 UTC 2007 / Alexander I. Gordeev <lasaine@lvk.cs.msu.su>

 - man/megatec_usb.8: reflected latest changes in megatec_usb driver.

Thu Apr  5 00:40:20 UTC 2007 / Charles Lepple <clepple@gmail.com>

 - data/drivers.list: Added entry for Compaq R3000h

Thu Apr  5 00:38:54 UTC 2007 / Charles Lepple <clepple@gmail.com>

 - configure.in: added "--enable-maintainer-mode"

Fri Mar 30 12:45:07 UTC 2007 / Arnaud Quette <aquette.dev@gmail.com>

 * update HAL support code:
   - retrieve and use the HAL user,
   - use LibHalChangeSet calls,
   - call libhal_device_addon_is_ready(),
   - do not expose runtime when not on battery (it otherwise cause
     this value to be displayed as the remaining time to full charge!),
   - complete exposed data (battery.{charge_level,reporting}.low,
     battery.reporting.technology)

Tue Mar 27 14:01:50 UTC 2007 / Arnaud Quette <aquette.dev@gmail.com>

 - add HAL support for megatec_usb supported devices

Tue Mar 20 03:11:58 UTC 2007 / Charles Lepple <clepple@gmail.com>

 - drivers/gamatronic.c: applied patch from Michal Vaner to correct comparison
   in gamatronic driver. [Alioth Bug #304063]

Tue Mar 20 00:10:28 UTC 2007 / Charles Lepple <clepple@gmail.com>

 - */Makefile.am: added various files so that 'make dist' will pick them up.
 - ChangeLog: added some newlines after the date/author line

Sun Mar 18 19:40:01 UTC 2007 / Alexander I. Gordeev <lasaine@lvk.cs.msu.su>

 - drivers/megatec_usb.c: code conversion and adjustments. Added USB-related
   variables, regex matching support and an initial attempt for subdriver
   matching. Added megatec_usb banner.
 - drivers/Makefile.am: added some needed files to megatec_usb sources.

Sat Mar 17 20:40:51 UTC 2007 / Charles Lepple <clepple@gmail.com>

 - drivers/tripplite_usb.c: trying to clean up the soft_shutdown function.

Sat Mar 17 20:04:55 UTC 2007 / Charles Lepple <clepple@gmail.com>

 - drivers/tripplite_usb.c: merged in some outlet control code from
   branches/tripplite_usb_outlets (723:728)

Fri Mar 16 21:02:10 UTC 2007 / Carlos Rodrigues <carlos.efr@mail.telepac.pt>

 - drivers/megatec.c: added hook functions for subdrivers to show their own
   banner and add options to the vartable.

Fri Mar 16 04:05:31 UTC 2007 / Charles Lepple <clepple@gmail.com>

 - drivers/tripplite_usb.c: some adjustments for FreeBSD. This driver appears
   to work best on FreeBSD when passed "-i 0".

Thu Mar 15 20:16:01 UTC 2007 / Arjen de Korte <arjen@de-korte.org>

 - m4/nut_check_ipv6.m4: no more need to check for IN6_IS_ADDR_V4MAPPED
   (will be defined if it doesn't exist)

Wed Mar 14 20:04:20 UTC 2007 / Arjen de Korte <arjen@de-korte.org>

 - server/access.c: change u_int32_t to uint32_t

Wed Mar 14 16:33:36 UTC 2007 / Arjen de Korte <arjen@de-korte.org>

 - server/access.h: fix broken IN6_IS_ADDR_V4MAPPED macro for glibc 2.1
   and earlier

Tue Mar 13 03:46:38 UTC 2007 / Charles Lepple <clepple@gmail.com>

 - clients/upsc.c, man/upsc.8: added "list UPS names" functionality to upsc,
   and updated the man page.

Mon Mar 12 20:29:47 UTC 2007 / Arjen de Korte <arjen@de-korte.org>

 - clients/upsclient.c: fix endless loop (missing break statement
   causing connect() to retry always instead of skipping to the next
   addrinfo element)

Sun Mar 11 04:10:17 UTC 2007 / Charles Lepple <clepple@gmail.com>

 - drivers/apc-hid.c: added UPS on/off status (from Back-UPS LS 500).

Sat Mar 10 18:54:33 UTC 2007 / Carlos Rodrigues <carlos.efr@mail.telepac.pt>

 - drivers/megatec.c: fix for models that return a string meaning there
   is no temperature value available.

Sat Mar 10 16:50:01 UTC 2007 / Arjen de Korte <arjen@de-korte.org>

 - drivers/tripplite-hid.c: add productid 4002 for SmartOnline SU6000RT4U
   (experimental)

Thu Mar  8 18:58:23 UTC 2007 / Arjen de Korte <arjen@de-korte.org>

 - drivers/safenet.c: forgot to increase version number and try to cancel
   battery test before reporting the low battery status

Thu Mar  8 18:54:38 UTC 2007 / Arjen de Korte <arjen@de-korte.org>

 - configure.in: fix tests for solaris libraries

Mon Mar  5 14:49:25 UTC 2007 / Peter Selinger <selinger@users.sourceforge.net>

 - configure.in: if one of --with-user or --with-group is given, then
   make the other one mandatory. Updated docs/configure.txt.

Mon Mar  5 10:05:28 UTC 2007 / Arjen de Korte <arjen@de-korte.org>

 - drivers/safenet.ch: stop battery test if LB is reached (will not be done
   automatically by some devices), fix mixed up system/battery test commands

Mon Mar  5 10:03:57 UTC 2007 / Arjen de Korte <arjen@de-korte.org>

 - configure.in: change the default group to "nobody" (more in line with
   previous behaviour)

Mon Mar 5 08:15:00 UTC 2007 / Jon Gough <jon.gough@eclipsesystems.com.au>

 - man/megatec_usb.8: Updated man page to show which commands have been implemented.
 - drivers/megatec_usb.c: Added shutdown.stop command.

Sun Mar  4 21:45:57 UTC 2007 / Peter Selinger <selinger@users.sourceforge.net>

 - man/megatec_usb.8: language and style.
 - drivers/apc-hid.c: added comment about model names.

Sun Mar 4 20:30:00 UTC 2007 / Jon Gough <jon.gough@eclipsesystems.com.au>

 - man/megatec_usb.8: Added the first pass at a man page.

Sun Mar  4 19:44:39 UTC 2007 / Arjen de Korte <arjen@de-korte.org>

 - INSTALL: add --with-group option for configure and advise people to set
   owner:group on statepath and serial devices to root:<group>

Sun Mar  4 19:27:39 UTC 2007 / Arjen de Korte <arjen@de-korte.org>

 - configure.in: add --with-group option (defaults to "nogroup"), adds
   RUN_AS_GROUP variable
 - scripts/hotplug/libhidups.in: use RUN_AS_GROUP instead of RUN_AS_USER
 - scripts/udev/nut-usbups.rules.in: use RUN_AS_GROUP instead of RUN_AS_USER

Tue Feb 27 22:09:39 UTC 2007 / Alexander I. Gordeev <lasaine@lvk.cs.msu.su>

 - drivers/megatec_usb.c: switched to usb_get_descriptor in
   get/set_data_krauler and removed no more needed "endpoint"
   usb_ups_t struct member.

Tue Feb 27 14:12:02 UTC 2007 / Charles Lepple <clepple@gmail.com>

 - drivers/tripplite_usb.c: adjusted Unit ID message (not all units support
   this command)
Sun Feb 25 02:51:21 UTC 2007 / Peter Selinger <selinger@users.sourceforge.net>

 - data/driver.list: added Dynex DX-800U.
 - usbhid-ups: added new variables ups.vendorid and ups.productid

Sat Feb 24 17:53:31 UTC 2007 / Peter Selinger <selinger@users.sourceforge.net>

 - autoconf: try to install hotplug and/or udev files by default. New
   configuration options --with-hotplug-dir=PATH and --with-udev-dir=PATH.

Fri Feb 23 20:02:46 UTC 2007 / Arjen de Korte <arjen@de-korte.org>

 - various: use "timehead.h"

Tue Feb 20 15:53:00 UTC 2007 / Jon Gough <jon.gough@eclipsesystems.com.au>

 - drivers/megatec.c: Removed changed debugging statement left in by
   mistake.

Mon Feb 19 16:54:41 UTC 2007 / Jon Gough <jon.gough@eclipsesystems.com.au>

 - drivers/megatec_usb.c: the addition of endpoint to usb_ups_t definition.
   This allows different endpoint values for each of the supported UPSs.

Sat Feb 17 16:14:42 UTC 2007 / Arjen de Korte <arjen@de-korte.org>

 - drivers/safenet.ch: the addition of "_t" to type names hides the fact that
   safenet_t is a union (removed typedef, since it is not useful anyway)

Fri Feb 16 22:51:41 UTC 2007 / Peter Selinger <selinger@users.sourceforge.net>

 - various: EOF is not an exit code for getopt(3).
 - drivers/main.c, drivers/main-hal.c: do not ignore extra parameters on
   the command line; print an error instead.
	
Fri Feb 16 22:10:13 UTC 2007 / Peter Selinger <selinger@users.sourceforge.net>

 - merged experimental megatec_usb driver to trunk. Note: still need
   to fix matching code, add man page, and update data/driver.list.

Fri Feb 16 22:01:31 UTC 2007 / Peter Selinger <selinger@users.sourceforge.net>

 - various: added "_t" to type names

Fri Feb 16 21:55:31 UTC 2007 / Peter Selinger <selinger@users.sourceforge.net>

 - hotplug/udev: added hotplugging rules for various USB devices
 - usbhid-ups: added product id for Belkin F6C100-UNV
	
Fri Feb 16 20:29:10 UTC 2007 / Arjen de Korte <arjen@de-korte.org>

 - various: remove superfluous checks for NULL pointers before calling free()

Fri Feb 16 20:24:57 UTC 2007 / Arjen de Korte <arjen@de-korte.org>

 - drivers/safenet.c: declare data stale after three consecutive failures
   to poll the UPS (instead of immediately) so that we don't bother clients
   if we miss a poll

Fri Feb 16 20:22:18 UTC 2007 / Arjen de Korte <arjen@de-korte.org>

 - server/sstate.c: fixed incorrect format in debug statement for 'elapsed'
   and added 'maxage' too

Fri Feb 16 13:50:43 UTC 2007 / Arnaud Quette <aquette.dev@gmail.com>

 - data/drivers.list: add ActivePower 400 and 2000 VA
 (from Tomasz Lewicki)
 
Fri Feb 16 13:06:56 UTC 2007 / Charles Lepple <clepple@gmail.com>

 - libusb.c: fix type name bug introduced in memory leak fix.

Fri Feb 16 12:47:28 UTC 2007 / Arnaud Quette <aquette.dev@gmail.com>

 - man/usbhid-ups.8: finally add the pollfreq documentation.
 
Thu Feb 15 21:46:04 UTC 2007 / Peter Selinger <selinger@users.sourceforge.net>

 - developers.txt: some additional info on coding style.
	
Thu Feb 15 21:30:13 UTC 2007 / Peter Selinger <selinger@users.sourceforge.net>

 - libusb.c: fixed small memory leak, reported by Jacob Schmier.

Fri Feb  9 18:22:52 UTC 2007 / Peter Selinger <selinger@users.sourceforge.net>

 - drivers/megatec_usb.c: removed duplicate Ablerex code

Fri Feb  9 18:11:52 UTC 2007 / Peter Selinger <selinger@users.sourceforge.net>

 - drivers/megatec_usb.c: changed end-of-list marker

Fri Feb  9 12:32:10 UTC 2007 / Alexander I. Gordeev <lasaine@lvk.cs.msu.su>

 - drivers/megatec_usb.c: adjusted the number of attempts for different
   requests.

Fri Feb  9 12:25:13 UTC 2007 / Alexander I. Gordeev <lasaine@lvk.cs.msu.su>

 - drivers/megatec_usb.c: most instant commands implemented.

Thu Feb  8 16:21:24 UTC 2007 / Peter Selinger <selinger@users.sourceforge.net>

 - libusb.c: added MODE_NOHID to libusb_open(). This currently does
   the same thing as MODE_REOPEN, but has a slightly different purpose.
   It is used in megatec_usb.c.

Thu Feb  8 16:07:49 UTC 2007 / Peter Selinger <selinger@users.sourceforge.net>

 - drivers/megatec_usb.c: more reformatting for NUT coding style
   (indent -kr -i8 -T FILE -l1000 -nhnl), removed C++-style comments.

Thu Feb  8 15:43:00 UTC 2007 / Alexander I. Gordeev <lasaine@lvk.cs.msu.su>

 - drivers/megatec_usb.c: fixed the problem with report descriptor
   retrieval at driver startups which caused failures. Since none of the
   subdrivers needs this descriptor it isn't retrieved at all.

Thu Feb  8 15:26:37 UTC 2007 / Alexander I. Gordeev <lasaine@lvk.cs.msu.su>

 - drivers/megatec_usb.c: fixed "UPS No Ack" issue and optimized
   get_data_krauler. Also did some code reformatting.

Mon Feb  5 05:30:24 UTC 2007 / Peter Selinger <selinger@users.sourceforge.net>

 - libshut.c: fixed uninitialized variable
 - usbhid-ups.c: fixed a format string
 - automake: avoid per-target CFLAGS where possible, so that per-target
   object files will not be created from shared sources.
	
Mon Feb  5 01:45:35 UTC 2007 / Peter Selinger <selinger@users.sourceforge.net>

 - hotplug/udev: added hotplugging rules for various USB devices

Fri Feb  2 00:41:29 UTC 2007 / Peter Selinger <selinger@users.sourceforge.net>

 - megatec_usb: merged some of Jon Gough's changes: added Ablerex
   communication subdriver routines. These still need to be fine-tuned
   and perhaps combined with the Krauler ones.

Thu Feb  1 20:41:20 UTC 2007 / Kjell Claesson <kjell.claesson@epost.tidanet.se>

 - Changed email address in bcmxcp.c.

Thu Feb  1 18:27:03 UTC 2007 / Peter Selinger <selinger@users.sourceforge.net>

 - megatec_usb: merged Alexander I. Gordeev's changes (nut-upsdev,
   Jan 23, 2007), and resolved conflicts. Decide whether to use
   serial or USB backend at link-time, not run-time. (No changes to
   original megatec.c needed). Support for Krauler device.
	
Thu Feb  1 18:27:03 UTC 2007 / Peter Selinger <selinger@users.sourceforge.net>

 - megatec_usb: applied Andrey Lelikov's original patch (nut-upsdev,
   Dec 5, 2006), and resolved conflicts.
	
Tue Jan 30 16:00:54 UTC 2007 / Niels Baggesen <nba@users.sourceforge.net>

 - drivers/tripplite-hid.c: #include main.h to get prototype for getval

Tue Jan 30 15:55:44 UTC 2007 / Niels Baggesen <nba@users.sourceforge.net>

 - snmp-ups.[ch]: implement already documented snmp_version parameter

Mon Jan 29 17:28:46 UTC 2007 / Arjen de Korte <arjen@de-korte.org>

 - server/upsd.c: trimming trailing '\n' from 'ans' in debug code had a bad
   side effect (clients wouldn't work anymore), fixing it

Mon Jan 29 06:15:45 UTC 2007 / Peter Selinger <selinger@users.sourceforge.net>

 - data/driver.list: removed "experimental" from Tripplite SmartOnline
   SU1500RTXL2ua, as it has been tested (thanks to Patrick Krepps).
 - usbhid-ups.c: added missing "else" case, to fix spurious "base
   variable does not exist" error.

Sun Jan 28 20:08:14 UTC 2007 / Arjen de Korte <arjen@de-korte.org>

 - data/driver.list: recent Sweex UPS'es are compatible with the 'megatec'
   driver (unfortunately, there is no way to tell if you have a recent
   model)

Sun Jan 28 15:34:02 UTC 2007 / Arjen de Korte <arjen@de-korte.org>

 - server/sstate.c: added some debug statements for sstate_dead() so that
   we can figure out why a UPS is declared stale
 - server/upsd.c: trim trailing '\n' parameter in debug code

Sat Jan 27 19:19:04 UTC 2007 / Arjen de Korte <arjen@de-korte.org>

 - server/upsd.c, server/conf.c, man/upsd.conf.5, conf/upsd.conf.sample: The
   interfaces specified in upsd.conf should only be configured at startup
   (someone might have used privileged ports, which need root privileges to
   create listening sockets). This is also consistent with previous behaviour,
   where the '-i <interface>' and '-p <port>' options would only be applied at
   startup and not on reload.

Fri Jan 26 22:47:55 UTC 2007 / Peter Selinger <selinger@users.sourceforge.net>

 - usbhid-ups: added driver list entry and usages for Geek Squad GS1285U, 
   which is apparently identical to Cyber Power AE550 (0764/0501).

Tue Jan 23 21:12:15 UTC 2007 / Kjell Claesson <kjell.claesson@epost.tidanet.se>

 - Add firmware revision to all included cpu's in bcmxcp.c.
 - Remove reading of topology block for num phases. Use standard
   config block. ( Make it work on compaq ups again.) bcmxcp.c.

Tue Jan 23 20:19:31 UTC 2007 / Arjen de Korte <arjen@de-korte.org>

 * server/conf.[ch], server/upsd.[ch]:
   - don't load upsd.conf, ups.conf and upsd.users all at the same time
     (removed load_conf() function)
   - load the configuration files after chroot'ing
   - if the environment variable NUT_STATEPATH was present, there was a small
     memory leak (statepath would be dynamically allocated twice with xstrdup)

Mon Jan 22 21:34:06 UTC 2007 / Arjen de Korte <arjen@de-korte.org>

 - man/upsd.8, man/upsd.conf.5: remove -i and -p commandline options,
   add LISTEN parameter to upsd.conf, add IPv6 examples
 - man/upsclient.3, man/upscli_*.3: ups format upsname[@hostname[:port]],
   add default hostname "localhost", remove upscli_splitname where not
   applicable
 - man/upsc.8, man/upscmd.8, man/upslog.8, man/upsrw.8: ups format
   upsname[@hostname[:port]], add default hostname "localhost"
 - man/upsmon.8, man/upsmon.conf.5: ups format upsname[@hostname[:port]],
   add default hostname "localhost"

Mon Jan 22 06:02:55 UTC 2007 / Peter Selinger <selinger@users.sourceforge.net>

 - usbhid-ups: added support for Tripplite SmartOnline SU1500RTXL2ua
 - scripts/path-to-subdriver.sh: updated for new user messages

Sun Jan 21 23:56:03 UTC 2007 / Peter Selinger <selinger@users.sourceforge.net>

 - ChangeLog: converted all dates to UTC

Sun Jan 21 22:21:41 UTC 2007 / Peter Selinger <selinger@users.sourceforge.net>

 - usbhid-ups: better messages for unrecognized productids.

Sun Jan 21 19:25:10 UTC 2007 / Carlos Rodrigues <carlos.efr@mail.telepac.pt>

 - megatec: added a new parameter to override the battery empty and battery
   full voltages, used in the charge calculations
 - data/driver.list: a couple new models supported by megatec
 - docs/FAQ: removed fentonups reference
 - added myself to the AUTHORS and MAINTAINERS files

Sun Jan 21 10:42:29 UTC 2007 / Arjen de Korte <arjen@de-korte.org>

 - clients/upslog.c, clients/upsimage.c, clients/upsc.c, clients/upsrw.c,
   clients/upscmd.c: allow specifying a UPS as upsname[@hostname[:port]]
   (default to 'localhost' if no hostname is specified)

Sat Jan 20 20:18:28 UTC 2007 / Arjen de Korte <arjen@de-korte.org>

 - server/netuser.c, server/upsd.c: lowered loglevel for opening and
   closing connections from LOG_INFO to LOG_DEBUG [Alioth Bug #304113]

Sat Jan 20 19:36:42 UTC 2007 / Arjen de Korte <arjen@de-korte.org>

 * clients/upsmon.c, clients/upsc.c: removed check for validity of UPS
   definition (this is handled by the API, which may fill in defaults)
 * clients/upsclient.c:
   - honor the UPSCLI_CONN_INET and UPSCLI_CONN_INET6 flags to request a
     IPv4 only or IPv6 only connection (may be useful in mixed environments
     where a hostname resolves in both A and AAAA addresses)
   - if no hostname is specified, dynamically allocate memory for the
     default hostname instead of pointing to a string constant (clients
     assume the memory needs to be free'd if it is not a NULL pointer)

Fri Jan 19 09:27:44 UTC 2007 / Arnaud Quette <aquette.dev@gmail.com>

 - drivers/powercom.c: fix a typo which produce a segfault on Solaris 10,
   and another typo on a debug message (from Jürgen Lesny)
 
Tue Jan 16 09:14:14 UTC 2007 / Arnaud Quette <aquette.dev@gmail.com>

 - mge-shut.h, mge-hid.c, drivers.list: add more MGE models (Ellipse
   MAX, Galaxy 4000 and Galaxy 5000)

Fri Jan 19 07:37:55 UTC 2007 / Niels Baggesen <nba@users.sourceforge.net>

 * drivers/snmp-upc.[ch], drivers/ietfmib.h, drivers/psmib.h, man/snmp-ups.8:
   - major rework to improve 3-phase support, to make sure that 3-phase
     versions of variables are only issued for 3-phase upses
   - support auto-detection of the mib to use.

Thu Jan 18 21:02:29 UTC 2007 / Arjen de Korte <arjen@de-korte.org>

 * clients/upsclient.c:
   - hostname is now optional in upscli_splitname(), defaults to "localhost"
   - added upscli_splitaddr() to split a hostname[:port] into separate
     components
   - [domain literals] are now allowed as valid hostnames

Thu Jan 18 18:29:43 UTC 2007 / Peter Selinger <selinger@users.sourceforge.net>

 * docs/developers.txt: added section on repository etiquette.

Thu Jan 18 09:17:43 UTC 2007 / Niels Baggesen <nba@users.sourceforge.net>

 * packaging/RedHat/nut.spec.in: further clean up and separation of subpackages

Thu Jan 18 09:13:22 UTC 2007 / Niels Baggesen <nba@users.sourceforge.net>

 * drivers/upsdrvctl.c: choose same pidfile as main

Thu Jan 18 08:54:55 UTC 2007 / Niels Baggesen <nba@users.sourceforge.net>

 * clients/upsmon.c: fix bad comparison (assignment)

Wed Jan 17 03:45:53 UTC 2007 / Peter Selinger <selinger@users.sourceforge.net>

 * Makefile.am: added "make distcheck-light" target

Wed Jan 17 01:48:03 UTC 2007 / Charles Lepple <clepple@gmail.com>

 * configure.in: generate packaging/RedHat/nut.spec from nut.spec.in

Mon Jan 15 20:32:46 UTC 2007 / Arjen de Korte <arjen@de-korte.org>

 * clients/upsclient.c: disable previous patch for upsclient (something is
   broken somehow, but I don't have the time now to check it out)

Mon Jan 15 20:20:36 UTC 2007 / Niels Baggesen <nba@users.sourceforge.net>
 * drivers/upscode2.[ch]:
   - major rework to support the new 3-phase variable set
     In cooperation with Niklas Edmundsson <nikke@acc.umu.se>

Mon Jan 15 20:02:21 UTC 2007 / Niels Baggesen <nba@users.sourceforge.net>

 * packaging/RedHat/nut-spec:
   - update to current fileset
   - add nut-snmp sub-package
 * packaging/RedHat/nut.spec.in
   removed as it is generated from nut.spec.in

Mon Jan 15 19:54:30 UTC 2007 / Arjen de Korte <arjen@de-korte.org>

 * clients/upsclient.ch, clients/upsmon.c, server/upsd.c:
   - allow forcing IPv4 or IPv6 mode from the command line (may be useful when
     hosts are specified through a fully.qualified.domain.name which resolves
     into both IPv4 and IPv6 addresses)
 * server/access.c:
   - fix typo in IPv4 acl_add()
   - return ACL that can't be parsed

Mon Jan 15 19:54:12 UTC 2007 / Niels Baggesen <nba@users.sourceforge.net>

 * clients/upsstats.c:
   - remove bogus test that makes upsstats.cgi fail unpredictbaly

Mon Jan 15 19:27:27 UTC 2007 / Arjen de Korte <arjen@de-korte.org>

 * server/access.c:
   - add range checks for CIDR notation
   - when an ACL can't be parsed, abort rather than ignoring it silently
   - store addresses and masks in network byte order, so these don't have to
     be reordered each time when checking access
   - don't require IPv6 addresses to be enclosed in [square brackets] (which
     is confusing, since we don't require this for IPv4 addresses either)

Mon Jan 15 03:59:07 UTC 2007 / Peter Selinger <selinger@users.sourceforge.net>

 - packaging/mandriva: renamed newhidups to usbhid-ups
 - changed description of "beeper.off" to "Temporarily mute UPS
   beeper/buzzer" to avoid a frequent misunderstanding.

Sun Jan 14 17:20:46 UTC 2007 / Arjen de Korte <arjen@de-korte.org>

 - server/upsd.c: remove code that's not really needed

Sun Jan 14 17:07:33 UTC 2007 / Arjen de Korte <arjen@de-korte.org>

 - server/conf.c, server/upsd.ch: "unhardcode" default PORT, simplify
   setting the default listening address

Sat Jan 13 20:12:16 UTC 2007 / Arjen de Korte <arjen@de-korte.org>

 * clients/upsclient.ch: 
   - hostname can now be specified as a fully.qualified.domain.name or an
     [address literal]
   - cleaned up IPv6 code
 * m4/nut_check_ipv6.m4:
   - removed check for AI_ADDRCONFIG, since it is no longer used (for
     portability reasons, wasn't really needed anyway)
 * server/upsd.ch, server/conf.c, server/stype.h:
   - listen on multiple TCP sockets (to be configured in upsd.conf)
   - removed -i and -p options which are obsoleted by the above
   - listening address can be specified as a fully.qualified.domain.name
     or an [address literal]
   - cleaned up IPv6 code
 * conf/upsd.conf.sample:
   - added new LISTEN parameter

Wed Jan 10 15:42:20 UTC 2007 / Arjen de Korte <arjen@de-korte.org>

 - server/upsd.c: set a default for the listenaddress if we're using
   new IPv6 code so that an IPv4 listening socket bound to 0.0.0.0 is
   created (which used to be the case previously, if nothing was specified)

Tue Jan  9 08:11:13 UTC 2007 / Arnaud Quette <aquette.dev@gmail.com>

 - libhid.c: HIDDumpTree() also prints the data ReportID, Offset and Size
   in the else case. Add a caution message when modifying the output
   since it can break path-to-subdriver.sh
 - scripts/subdriver/path-to-subdriver.sh: minor update to the "Do not
   forget to:" section

Tue Jan  9 01:22:23 UTC 2007 / Charles Lepple <clepple@gmail.com>

 - drivers/tripplite_usb.c: starting to merge in changes for outlet control
   and Unit ID.

Mon Jan  8 19:58:46 UTC 2007 / Arjen de Korte <arjen@de-korte.org>

 - server/access.ch: merged some code between IPV4 and IPV6 for similar
   functions; use network byte order for network addresses (essentially
   'struct sockaddr_*' types) and host byte order for all others

Mon Jan  8 17:46:08 UTC 2007 / Arjen de Korte <arjen@de-korte.org>

 - server/user.c: allocating memory with wrong element size

Mon Jan  8 10:05:01 UTC 2007 / Arnaud Quette <aquette.dev@gmail.com>

 * newhidups: renamed to usbhid-ups, since it is more suitable.
   - AUTHORS, data/driver.list, data/evolution500.dev, docs/FAQ,
     docs/configure.txt, docs/hid-subdrivers.txt, docs/new-drivers.txt,
     drivers/Makefile.am, drivers/dummy-ups.h, drivers/*-hid.ch,
     drivers/tripplite_usb.c, INSTALL, MAINTAINERS, man/cyberpower.8,
     man/Makefile.am, man/tripplite_usb.8, man/mge-utalk.8,
     man/nutupsdrv.8, README, scripts/hotplug/README, scripts/udev/README,
     scripts/subdriver/path-to-subdriver.sh, packaging/mandriva/nut.spec.in:
     replace all references to newhidups
   - drivers/newhidups.ch: renamed to usbhid-ups.ch, and updated
   - man/newhidups.8: renamed to usbhid-ups.8, and updated

Mon Jan  8 09:52:51 UTC 2007 / Arnaud Quette <aquette.dev@gmail.com>

 - libhid.c: HIDDumpTree() also prints the data ReportID, Offset and Size.

Mon Jan  8 00:52:51 UTC 2007 / Peter Selinger <selinger@users.sourceforge.net>

 - autoconf: removed test for s6_addr32, added test for IN6_IS_ADDR_V4MAPPED.

Sun Jan  7 20:35:35 UTC 2007 / Arjen de Korte <arjen@de-korte.org>

 - server/access.c: replaces previous patch (now uses IN6_IS_ADDR_V4MAPPED)

Sun Jan  7 19:28:57 UTC 2007 / Arjen de Korte <arjen@de-korte.org>

 - server/access.c: s6_addr32 is not portable, only s6_addr is

Sun Jan  7 00:29:53 UTC 2007 / Peter Selinger <selinger@users.sourceforge.net>

 - autoconf: added test for IPv6 prerequisites. New configuration
   options --with-ipv6, --without-ipv6.

Sat Jan  6 19:30:32 UTC 2007 / Peter Selinger <selinger@users.sourceforge.net>

 - autoconf: don't set LIB*_CFLAGS and LIB*_LDFLAGS to garbage values
   if the corresponding test fails.

Sat Jan  6 18:29:36 UTC 2007 / Arjen de Korte <arjen@de-korte.org>

 - #ifdef'ed the new code that (presumably) adds IPv6 support (compile
   with -DHAVE_IPV6 to enable this), default to the old IPv4 only
   code (portability concerns of the IPv6 patch)

Sat Jan  6 02:35:33 UTC 2007 / Carlos Rodrigues <carlos.efr@mail.telepac.pt>

 - removed the "sms", "ippon", "mustek", "fentonups", "esupssmart" and
   "blazer" drivers as they have been obsoleted by "megatec". This
   included their manpages, all references in Makefiles and all
   references in the documentation that only made sense if they were
   still available on the tree.

Fri Jan  5 19:57:46 UTC 2007 / Arjen de Korte <arjen@de-korte.org>

 - added IPv6 support (Alioth Patches #304310) (IPv4 still seems to
   work after applying this patch, but can't test IPv6)

Fri Jan  5 19:15:13 UTC 2007 / Arjen de Korte <arjen@de-korte.org>

 - data/cmdvartab: added ups.realpower, ups.realpower.nominal,
   input.frequency.low, input.frequency.high and battery.capacity

Thu Jan  4 10:13:05 UTC 2007 / Arnaud Quette <aquette.dev@gmail.com>

 * final removal of the legacy hidups driver. It is now fully
   replaced by the newhidups driver (soon to be renamed usbhid-ups).
   Note that the hiddev code and macro is kept for energizerups
   - drivers/hidups.*: removed
   - drivers/Makefile.am: remove hidups references
   - man/hidups.8: removed
   - man/Makefile.am, man/nutupsdrv.8: remove hidups references
   - man/newhidups.8: add a note for the replacement of hidups
   - docs/FAQ, MAINTAINERS: few update

Fri Jan  5 00:45:11 UTC 2007 / Charles Lepple <clepple@gmail.com>

 - drivers/optiups.c, man/optiups.8, data/driver.list: Added Matthias Goebl's
   patch to make the optiups driver work with the ONLINE-USV Zinto D.

Thu Jan  4 20:08:50 UTC 2007 / Arjen de Korte <arjen@de-korte.org>

 - drivers/powerpanel.c: remove trailing spaces and leading zero's
   from values read from UPS (except for enumerated ones that could
   be used for setting variables)
 - common/common.c, include/common.h: let 'rtrim' function return
   pointer to the trimmed string (to make it easier to use in
   dstate_setinfo calls, will be silently discarded if not used)

Wed Jan  3 17:03:50 UTC 2007 / Kjell Claesson <kjell.claesson@epost.tidanet.se>

 - Fix typo in liebert.c

Wed Jan  3 12:03:50 UTC 2007 / Arnaud Quette <aquette.dev@gmail.com>

 - scripts/hotplug-ng: renamed to scripts/udev, since
   it is more suitable
 - scripts/udev/nut-usbups.hotplug.in: removed since it is not
   needed anymore now that udev enabled systems have removed
   the legacy hotplug compatibility
 - scripts/udev/README: udpate the documentation
 - scripts/udev/nut-usbups.rules.in : fix the udev rules syntax
   (Henrique de Moraes Holschuh) [Alioth Bug #303696]
 - configure.in, INSTALL: update for the udev changes
  
Wed Jan  3 12:03:50 UTC 2007 / Arjen de Korte <arjen@de-korte.org>

 - drivers/various: fix compiler warnings about signedness

Wed Jan  3 12:01:35 UTC 2007 / Arjen de Korte <arjen@de-korte.org>

 - drivers/liebert.ch: use serial functions

Wed Jan  3 11:18:38 UTC 2007 / Arjen de Korte <arjen@de-korte.org>

 - drivers/main[-hal].ch, drivers/skel.c: allow drivers to set
   the polling interval in upsdrv_updateinfo() (to allow a driver
   to override the 2 second interval, which may be too short for
   very verbose protocols)

Wed Jan  3 11:17:10 UTC 2007 / Arjen de Korte <arjen@de-korte.org>

 - drivers/powerpanel.c: don't complain to syslog when query for
   protocol version (?) fails

Wed Jan  3 08:06:45 UTC 2007 / Arjen de Korte <arjen@de-korte.org>

 - drivers/cpsups.c: reverting back to revision 523 (the later
   changes are now in the new powerpanel driver)

Wed Jan  3 07:59:10 UTC 2007 / Arjen de Korte <arjen@de-korte.org>

 - drivers/powerpanel.c: make "#2" reply in response to "\r" command
   optional (only give warning, instead of bailing out)

Tue Jan  2 21:39:54 UTC 2007 / Arjen de Korte <arjen@de-korte.org>

 - drivers/genericups.c: add missing newline at the end of the file

Tue Jan  2 21:12:17 UTC 2007 / Arjen de Korte <arjen@de-korte.org>

 - drivers/bcmxcp.c, drivers/bestfcom.c: 'experimental_driver = 1'
   must be in the upsdrv_banner(), otherwise an informative message
   won't be displayed

Tue Jan  2 21:03:54 UTC 2007 / Arjen de Korte <arjen@de-korte.org>

 - drivers/safenet.c: flush input and output buffers before sending
   a command (to get rid of spurious PnP replies on some devices)

Tue Jan  2 20:59:17 UTC 2007 / Arjen de Korte <arjen@de-korte.org>

 - powerpanel: add new driver for CyberPower text protocol UPS (should
   obsolete 'cpsups' and 'nitram' when it is confirmed it works for
   all currently supported models) 

Tue Jan  2 01:52:40 UTC 2007 / Carlos Rodrigues <carlos.efr@mail.telepac.pt>

 - megatec: changed driver banner to include the contents of "progname"
 - cpsups.c: added missing "sys/ioctl.h" that was breaking the build
 - megatec.8, al175.8: fixed broken name section ("\(hy" instead of "\-")
   as detected by doclifter (http://catb.org/~esr/doclifter/)

Mon Jan  1 20:54:18 UTC 2007 / Arjen de Korte <arjen@de-korte.org>

 - docs/new-names.txt: added ups.realpower, ups.realpower.nominal,
   input.frequency.low, input.frequency.high and battery.capacity

Sat Dec 30 20:54:53 UTC 2006 / Arjen de Korte <arjen@de-korte.org>

 - drivers/cpsups.c: updated version from Doug Reynolds

Sat Dec 30 20:39:25 UTC 2006 / Arjen de Korte <arjen@de-korte.org>

 - drivers/al175.c: insert 'broken_driver = 1' (see comments in source)

Fri Dec 29 11:30:21 UTC 2006 / Arjen de Korte <arjen@de-korte.org>

 - common/common.c: stupid typo

Fri Dec 29 11:15:10 UTC 2006 / Arjen de Korte <arjen@de-korte.org>

 - common/common.c, clients/upssched.c: check for errors just in case something
   goes horribly wrong with duplicating file handles

Fri Dec 29 10:52:47 UTC 2006 / Arjen de Korte <arjen@de-korte.org>

 - drivers/everups.c: replace %m (glibc extension)

Fri Dec 29 07:13:46 UTC 2006 / Peter Selinger <selinger@users.sourceforge.net>

 - drivers/Makefile.am: removed unnecessary CFLAGS that caused
   redundant object files to be created for HAL.

Fri Dec 29 07:06:52 UTC 2006 / Peter Selinger <selinger@users.sourceforge.net>

 - configure.in: fixed bug that prevented USB drivers from being built

Fri Dec 29 07:00:46 UTC 2006 / Peter Selinger <selinger@users.sourceforge.net>

 - removed unnecessary Makefile from m4/

Fri Dec 29 06:32:21 UTC 2006 / Peter Selinger <selinger@users.sourceforge.net>

 - configure.in: added selected drivers to feature summary, if any
 - configure.in: cosmetic simplifications

Fri Dec 29 04:06:26 UTC 2006 / Peter Selinger <selinger@users.sourceforge.net>

 - drivers/Makefile.am: fixed HAL build logic

Fri Dec 29 01:32:29 UTC 2006 / Charles Lepple <clepple@gmail.com>

 - man/snmp-ups.8, man/bcmxcp_usb.8, man/skel.8, man/newhidups.8,
   man/apcsmart.8, man/Makefile.am: Updated man pages, and added a skeleton
   page for new drivers.

Thu Dec 28 19:52:58 UTC 2006 / Arjen de Korte <arjen@de-korte.org>

 - common/state.c: use the state functions from common where possible
   to ease maintenance

Thu Dec 28 19:44:29 UTC 2006 / Arjen de Korte <arjen@de-korte.org>

 - drivers/hal-dstate.ch: C++ style comments are not allowed in ISO C90

Thu Dec 28 14:18:50 UTC 2006 / Arjen de Korte <arjen@de-korte.org>

 - common/state.c: rewrote several function to use recursion (to make
   checking for logical errors easier)

Thu Dec 28 06:10:51 UTC 2006 / Peter Selinger <selinger@users.sourceforge.net>

 - configure.in: added LIBUSB check to HAL configuration
 - configure.in: made checks for usb/hal/snmp prerequisites unconditional

Wed Dec 27 06:36:12 UTC 2006 / Peter Selinger <selinger@users.sourceforge.net>

 - configure.in: wrote NUT-specific autoconf macros to check for
   compiler flags for libraries. These macros are documented in
   docs/macros.txt.

Wed Dec 27 04:17:07 UTC 2006 / Peter Selinger <selinger@users.sourceforge.net>

 - configure.in: renamed automake installation directories to their
   standard names: driverexecdir, cgiexecdir, htmldir, pkgcfgdir
 - automake: removed @...@ substitutions from Makefile.am's

Wed Dec 27 03:36:50 UTC 2006 / Peter Selinger <selinger@users.sourceforge.net>

 - automake: fixes to HAL automake rules
 - configure.in: more uniform naming of variables

Wed Dec 27 01:37:53 UTC 2006 / Peter Selinger <selinger@users.sourceforge.net>

 - configure.in: improved automatic feature detection; USB, SNMP, HAL,
   SSL features are now built by default if prerequisites are present;
   --with-lib and --with-cgi can be set to "auto".
 - configure.in: fixed HAL autoconf magic to compensate for pkg-config
   bug in HAL 0.5.8*
 - configure.in: allow --without-all to disable most optional features

Fri Dec 22 14:53:33 UTC 2006 / Arnaud Quette <aquette.dev@gmail.com>

 - drivers/main-hal.ch, drivers/dstate-hal.ch, docs/nut-hal.txt,
   scripts/hal/20-ups-nut-device.fdi: preliminary support for
   FreeDesktop Hardware Abstraction Layer (aka Common Power Management).
   For more information, refer to: docs/nut-hal.txt

Wed Dec 20 08:31:33 UTC 2006 / Arnaud Quette <aquette.dev@gmail.com>

 - driver.list: update for CyberPower 725SL and genericups

Tue Dec 19 02:50:51 UTC 2006 / Carlos Rodrigues <carlos.efr@mail.telepac.pt>

 - megatec: fixed bug with lowbatt and no charge calculation

Mon Dec 18 17:29:53 UTC 2006 / Peter Selinger <selinger@users.sourceforge.net>

 - newhidups: renamed '-x generic' option as '-x explore'

Thu Dec 14 19:16:25 UTC 2006 / Peter Selinger <selinger@users.sourceforge.net>

 - data/driver.list: added two model numbers for the "belkin" driver. 

Thu Dec 14 19:00:30 UTC 2006 / Peter Selinger <selinger@users.sourceforge.net>

 - bcmxcp.c: fixed "&&" vs. "&" issue (bug 304249, reported by Arjen de Korte).

Wed Dec 13 01:40:11 UTC 2006 / Carlos Rodrigues <carlos.efr@mail.telepac.pt>

 - driver.list: models supported by megatec and another driver are now
   listed as supported by megatec only
 - mustek, blazer, fentonups, esupssmart, sms, ippon: added message about
   the driver being obsolete and planned for removal
 - mustek, fentonups, sms, ippon: modified manpages stating that the driver
   is obsolete and planned for removal

Sat Dec  9 01:36:14 UTC 2006 / Peter Selinger <selinger@users.sourceforge.net>

 - newhidups/hotplug: added productid for Belkin F6C1500-TW-RK (050d/0751)

Tue Dec  5 21:20:15 UTC 2006 / Arjen de Korte <arjen@de-korte.org>

 - clients/upsmon.c: added -f command line option to allow specifying a
   non-default location of the upsmon.conf file

Mon Dec  4 21:36:33 UTC 2006 / Carlos Rodrigues <carlos.efr@mail.telepac.pt>

 - megatec: simplified UPS detection to support models that don't report
   their ratings, reworked battery parameters detection code, added a couple
   of extra commands (watchdog, beeper) and variables (ondelay, offdelay)
 - data/driver.list: models supported by esupssmart, blazer, fentonups,
   mustek, ippon and sms are now listed as being supported by megatec also

Mon Dec  4 20:04:52 UTC 2006 / Arjen de Korte <arjen@de-korte.org>

 - drivers/main.c: set progname before calling upsdrv_banner()

Mon Dec  4 19:55:37 UTC 2006 / Arjen de Korte <arjen@de-korte.org>

 - dummy-ups: allow absolute path names for the configuration file

Fri Dec  1 01:04:15 UTC 2006 / Peter Selinger <selinger@users.sourceforge.net>

 - configure.in: corrected name of have_libgd variable
 - data/driver.list: removed "hidups" in favor of "newhidups"

Sat Nov 25 07:50:16 UTC 2006 / Arjen de Korte <arjen@de-korte.org>

 - drivers/apcsmart.h: add compatibility strings for Smart-UPS 600

Fri Nov 24 20:28:49 UTC 2006 / Arjen de Korte <arjen@de-korte.org>

 - common/state.c: I really should make changes in the working copy
   directly, rather than in a separate build environment (forgot to
   include a naming change)

Fri Nov 24 20:18:16 UTC 2006 / Arjen de Korte <arjen@de-korte.org>

 - server/sstate.c: send PING sooner to allow a retry before declaring
   a driver stale (1/3 of the way, so that we can send another one 2/3
   of the way)

Fri Nov 24 20:05:41 UTC 2006 / Arjen de Korte <arjen@de-korte.org>

 - common/state.c: rewrite of overly complex state_delinfo(), minor
   fixups in other functions to make better use of recursion

Thu Nov 23 14:17:08 UTC 2006 / Arnaud Quette <aquette.dev@gmail.com>

 - docs/upssched.txt: fix a wrong example for NOTIFYCMD

Wed Nov 22 13:47:31 UTC 2006 / Arjen de Korte <arjen@de-korte.org>

 - drivers/dummy-ups.c: fix broken setvar() function

Tue Nov 21 02:30:05 UTC 2006 / Charles Lepple <clepple@gmail.com>

 - configure.in: Don't test for OpenSSL unless the user requests it. Patch
   from Peter Selinger.

Mon Nov 20 18:33:56 UTC 2006 / Arjen de Korte <arjen@de-korte.org>

 - upsd: don't wait for DUMPDONE before forking to the background, this
   obsoletes the MAXINIT parameter

Sat Nov 18 11:21:21 UTC 2006 / Arjen de Korte <arjen@de-korte.org>

 - upsd: forgot to add MAXINIT parameter to man page

Thu Nov 16 20:15:48 UTC 2006 / Arjen de Korte <arjen@de-korte.org>

 - upsd: add MAXINIT parameter to upsd.conf to make the time upsd waits
   for the DUMPDONE to complete configurable.

Wed Nov 15 11:34:01 UTC 2006 / Arjen de Korte <arjen@de-korte.org>

 - upsd.c: try to (re)connect to a UPS, before declaring it stale, instead
   of the other way around

Wed Nov 15 06:55:07 UTC 2006 / Peter Selinger <selinger@users.sourceforge.net>

 - libhid.c: improved formatting of usage paths
	
Fri Nov 10 20:52:39 UTC 2006 / Peter Selinger <selinger@users.sourceforge.net>

 - configure.in: fixed quoting for double 'eval'.
	
Fri Nov 10 20:26:33 UTC 2006 / Arjen de Korte <arjen@de-korte.org>

 - genericups: added debug statement to run driver in the foreground to
   make checking compatibility easier (no upsd required).
 - MAINTAINERS: added myself as maintainer of the genericups driver.

Fri Nov 10 04:39:42 UTC 2006 / Peter Selinger <selinger@users.sourceforge.net>

 - configure.in: install drivers and cgi scripts relative to $exec_prefix,
   not $prefix. Reported by Ralf Fassel.

Fri Nov 10 03:33:19 UTC 2006 / Charles Lepple <clepple@gmail.com>

 - tripplite_usb: Fix for tracker #303835: array subscript out of range.
   Reported by Ales Nosek and David Binderman.

Wed Nov  8 03:04:03 UTC 2006 / Peter Selinger <selinger@users.sourceforge.net>

 - newhidups: fix battery voltage in tripplite-hid subdriver
	
Fri Nov  3 04:36:50 UTC 2006 / Charles Lepple <clepple@gmail.com>

 - tripplite_usb: fixed improper use of sprintf with snprintf-style arguments,
   which was causing segfaults (Reported by Joseph Fradley and others)
 - tripplite_usb: increased read timeout (useful for later model OMNISMART
   units)

Tue Oct 31 20:47:08 UTC 2006 / Arnaud Quette <aquette.dev@gmail.com>

 - NEWS: brought in sync with 2.0.4
 - INSTALL: complete installation requirements and instructions

Fri Oct 20 02:25:06 UTC 2006 / Charles Lepple <clepple@gmail.com>

 - tripplite_usb: applied Anthony J. Ciani's patch for protocol 2001 support:

   "This patch adds support for TrippLite SMART550USB and some Omni models.

    Tested are On Line, On Battery, Battery Good, and Battery Bad indication.
    Everything else seems to work, but this UPS is attached to a critical
    system, and I can only do limited testing."

Fri Oct 20 02:19:00 UTC 2006 / Charles Lepple <clepple@gmail.com>

 - tripplite_usb: better error handling and protocol reporting.

Fri Oct 20 01:58:32 UTC 2006 / Charles Lepple <clepple@gmail.com>

 - tripplite_usb: updated documentation to better reflect regex matching
   operation.

Thu Oct 19 00:10:15 UTC 2006 / Peter Selinger <selinger@users.sourceforge.net>

 - newhidups: fixed premature "free" error.

Tue Oct 17 19:08:28 UTC 2006 / Peter Selinger <selinger@users.sourceforge.net>

 - newhidups: added ProductID for Belkin F6C900-UNV (050d/0900)

Tue Oct 17 21:13:46 UTC 2006 / Peter Selinger <selinger@users.sourceforge.net>

 - refined build system to work with older automake-1.7.
 - renamed configuration files *.sample so that they can be installed
   without special renaming magic.
 - documentation improvements.

Mon Oct 16 19:07:46 UTC 2006 / Peter Selinger <selinger@users.sourceforge.net>

 - newhidups/libhid: fixed array overflow bug in upsdrv_updateinfo(),
   reported by Jacob Schmier.
 - newhidups.h: deleted some unused #define's

Sun Oct 15 22:54:26 UTC 2006 / Peter Selinger <selinger@users.sourceforge.net>

 - updated documentation for new build system based on Automake and Libtool.
 - fine-tuned configure.in

Sun Oct 15 21:13:49 UTC 2006 / Peter Selinger <selinger@users.sourceforge.net>

 - converted build system to automake
 - support for dynamic and static libraries via Libtool.
 - new options to ./configure: --with-serial, --with-usb, --with-snmp,
   --with-cgi, --with-lib; these replace the old "make" targets such 
   as "make usb", "make snmp", etc. 
 - new maintainer targets: "make dist", "make distcheck". 
 - support for separate build directory, relocatable installation
 - simplified version number definition (this is now done in configure.in)
 - removed from SVN: files generated by aclocal, autoheader, automake,
   autoconf, configure
 - use "autoreconf" to populate source tree after SVN checkout
 - renamed CREDITS to AUTHORS and CHANGES to ChangeLog, to comply with
   GNU standards
 - removed Makefile.dist, drivers/gendb, drivers/Makefile.drvbuild,
   include/version*
 - moved local autoconf macros to m4/

Tue Oct 10 01:29:22 UTC 2006 / Peter Selinger <selinger@users.sourceforge.net>

 - mge-shut: made report buffer mechanism compatible with newmge-shut,
   cleaned up an unused variable from mge-shut.
 - updated dependencies for rhino

Fri Sep 29 17:17:50 UTC 2006 / Peter Selinger <selinger@users.sourceforge.net>

 - drivers/rhino.c: fixed array bounds error, cleanup (made global
   variables static, removed unused variables, removed header file).

Wed Sep 27 23:50:15 UTC 2006 / Peter Selinger <selinger@users.sourceforge.net>

 - path-to-subdriver.sh: added command line options

Wed Sep 27 04:36:09 UTC 2006 / Charles Lepple <clepple@gmail.com>

 - tripplite_usb: Updated SMARTPRO support based on Jeff Knerr's feedback.
   This should fix the OL/OB issue, and maybe even the temperature reading.

Tue Sep 26 21:22:27 UTC 2006 / Peter Selinger <selinger@users.sourceforge.net>

 - driver.list: added Tripp-Lite OMNI650LCD and OMNI900LCD

Sun Sep 24 03:38:25 UTC 2006 / Peter Selinger <selinger@users.sourceforge.net>

 - merged report buffer branch into trunk. See log message for 
   revision r274, Thu Nov 24 03:36:14 UTC 2005.

Sun Sep 24 01:49:40 UTC 2006 / Peter Selinger <selinger@users.sourceforge.net>

 - path-to-subdriver.sh: added reminder to "make depend"
 - newhidups subdrivers: added #include "main.h" to keep compiler quiet.
 - libusb.c: made all private functions static
 - tripplite_usb.c: use new comm_driver interface to libhid.c

Sat Sep 23 18:23:25 UTC 2006 / Peter Selinger <selinger@users.sourceforge.net>

 - newhidups: added a shell script scripts/subdriver/path-to-subdriver.sh
   to automatically create a "stub" subdriver from the debugging info
   of "drivers/newhidups -DD -u root -x generic -x vendorid=XXXX auto"

Sat Sep 23 01:39:22 UTC 2006 / Peter Selinger <selinger@users.sourceforge.net>

 - newhidups.c: fixed array size in upsdrv_initups (potential stack
   corruption). Thanks to Herve Masson for reporting this bug.

Tue Sep 19 03:48:57 UTC 2006 / Charles Lepple <clepple@gmail.com>

 - tripplite_usb: added some more variables for SMARTPRO UPSes, some more
   debugging output, and some variable type cleanup. Driver internal version
   is now 0.7.
 - data/driver.list: note experimental status of non-OMNIVS models, and add
   user report for SMART2200RMXL2U

Sun Sep 17 14:48:15 UTC 2006 / Peter Selinger <selinger@users.sourceforge.net>

 - added product id for Belkin F6C550-AVR to hotplug scripts, belkin-hid.c
 - added product id for Powercom USB to hotplug scripts. 

Sat Sep  9 03:09:43 UTC 2006 / Peter Selinger <selinger@users.sourceforge.net>

 - configure.in: added scripts/hotplug-ng/*.in

Mon Sep  4 15:30:53 UTC 2006 / Charles Lepple <clepple@gmail.com>

 - cpsups: Merged changes for CP1200AVR, bumped version to ".05". Some testing
   has been done with sending the command strings without a leading '\r', and
   this patch makes that change.

   (Doug Reynolds; RHR)

Sun Sep  3 17:45:30 UTC 2006 / Kjell Claesson <kjell.claesson@telia.com>

 - Add Sola 305 to driver.list.

Mon Aug 28 23:35:45 UTC 2006 / Peter Selinger <selinger@users.sourceforge.net>

 - newhidups: updated claim() functions of MGE and APC/CyberPower
   subdrivers to accept any device if -x productid option is given. 

Fri Aug 25 19:16:01 UTC 2006 / Peter Selinger <selinger@users.sourceforge.net>

 - newhidups: added 050d:0912 to Belkin subdriver
 - scripts/hotplug*: added 050d:0912
 - newhidups: changed Belkin claim() function to accept any device
   if -x productid option is given; otherwise only known devices

Fri Aug 18 16:56:30 UTC 2006 / Kjell Claesson <kjell.claesson@telia.com>

 - Add Inform GUARD ups and Powerware PW9315 to driver.list.

Wed Aug 16 01:28:01 UTC 2006 / Peter Selinger <selinger@users.sourceforge.net>

 - newhidups: restricted matching Belkin devices to ProductID 0980. 

Wed Aug  9 16:28:50 UTC 2006 / Peter Selinger <selinger@users.sourceforge.net>

 - libhid debugging: print full report descriptor

 - data/driver.list: added Tripp-Lite 1500 LCD.

Mon Aug  7 20:30:50 UTC 2006 / Peter Selinger <selinger@users.sourceforge.net>

 - newhidups, mge-shut: changes in debugging code. Reimplemented
   common.h:upsdebug_hex(). Removed dump_hex() in libhid.c and
   mge-shut.c. Removed TRACE() macro. Changed some debugging levels.

 - libusb.c: make sure report length does not exceed buffer size.

 - data/driver.list: added CPS 800AVR, AE550, Tripp-Lite OMNI1000LCD,
   AVR550U.

Sun Aug  6 13:52:45 UTC 2006 / Kjell Claesson <kjell.claesson@telia.com>

 - Changed driver to megatec for PowerMan RealSmart 800 and 1000 in driver.list

Sun Aug  6 04:05:08 UTC 2006 / Peter Selinger <selinger@users.sourceforge.net>

 - newhidups/libusb: instead of using the maximum of the two report
   descriptor lengths, always use the second value when available (it
   seems to be more reliable). Also, when the report descriptor is
   finally shorter than expected, no longer abort, but live with it
   (this might help on some APC devices).

Sun Aug  6 03:39:19 UTC 2006 / Peter Selinger <selinger@users.sourceforge.net>

 - newhidups/libusb: attempt to fix Tripp Lite problem: buggy UPS
   reports wrong report descriptor length. We now retrieve it two
   different ways and use the maximum value.

Fri Aug  4 18:39:45 UTC 2006 / Kjell Claesson <kjell.claesson@telia.com>

 - Added PowerMan RealSmart 800 and 1000, also the PowerMan BackPro to
   driver.list

Thu Aug  3 21:30:45 UTC 2006 / Kjell Claesson <kjell.claesson@telia.com>

 - Changed bcmxcp driver to support 3-phase. And made some adjustment
   to bcmxcp.h for the future use.

Mon Jul 31 13:45:34 UTC 2006 / Arnaud Quette <aquette.dev@gmail.com>

 - hotplug, hotplug-ng: modify the permissions from 660 to 664 so
   that all users can see the device(s) using lsusb

Fri Jul 28 12:48:21 UTC 2006 / Arnaud Quette <aquette.dev@gmail.com>

 - common.ch, developers.txt, : add the upsdebug_hex() function
   for developers to be able to print hexadecimal debugging
   binary data more easilly.

Tue Jul 18 06:47:19 UTC 2006 / Arnaud Quette <aquette.dev@gmail.com>

 - nutupsdrv.8: update the drivers list in the SEE ALSO section
 - CREDITS: minor update on the maintainer

Thu Jul 13 13:45:22 UTC 2006 / Arnaud Quette <aquette.dev@gmail.com>

 - configure.in, config.h.in, newhidups, libusb: add few more
   fixes for Solaris compatibility

Wed Jul 12 10:47:43 UTC 2006 / Arnaud Quette <aquette.dev@gmail.com>

 - genericups: merge type 23 into type 22

Mon Jul 10 21:26:13 UTC 2006 / Arnaud Quette <aquette.dev@gmail.com>

 - mge-shut: fix the duplicate test.battery.start

 - genericups: add type 23 for CyberPower 725SL (and maybe others)

   (David Kaufman) [Alioth Bug #302337]

Mon Jul 10 13:34:19 UTC 2006 / Charles Lepple <clepple@gmail.com>

 - solis.c, rhino.c: Set default language back to English. This is a separate
   commit so that you can easily revert this changeset and go back to
   Portuguese messages.

Mon Jul 10 13:15:25 UTC 2006 / Charles Lepple <clepple@gmail.com>

 - solis.c: add internal and external shutdown programming, save external
   shutdown programming to ups, support new cables and Solaris compilation

   (Silvino B. Magalhaes)

 - rhino.c: New driver for Microsol Rhino

   (Silvino B. Magalhaes)

 - drivers (svn:ignore): added rhino; sorted list of driver binaries (so that
   they are ignored during SVN checkins)

   (Charles Lepple)

Mon Jul 10 07:00:56 UTC 2006 / Arnaud Quette <aquette.dev@gmail.com>

 - powercom.c: rename shutdown() to nut_shutdown() to avoid naming
   conflict on LynxOS,
 - proto.h: add some guards and missing prototypes for LynxOS.

   (Olli Savia) [Alioth Bug #303460]

 - energizerups: fix communication problems for Linux 2.6.15

   (Viktor T. Toth) [Alioth Bug #303393]

 - upsset: assumes stdin closed when called non-POST

   (Julius Malkiewicz) [Alioth Bug #302734]

 - config.sub, config.guess: update with automake-1.9 files

   (Charles Lepple) [Alioth Bug #302339]

 - driver.list: add Cyberpower 550SL supported by genericups upstype=7

   (Thomas Suckow) [Alioth Bug #302851]

 - apcsmart.8: add a comment to make a power cycle when switching
   from USB to serial (and perhaps vice versa) communication
   (from Ryan Underwood)

 - apcsmart: add support for the Smart-UPS with 6TI firmware and
   bump driver version to 1.99.8

   (Andrew Day) [Alioth Bug #303390]

Fri Jul  7 14:45:56 UTC 2006 / Arnaud Quette <aquette.dev@gmail.com>

 - mge-hid:
   * add battery.charge.restart, battery.type
   * fix ups.beeper.status, and add beeper.{on,off} commands
   * fix outlet.X.delay.{shutdown,start} and add temporary
     commands (to be discussed) outlet.X.load.{on,off}. This
     last would better be addressed through parameters of the
     load.{on,off} command.

Thu Jul  6 14:22:56 UTC 2006 / Charles Lepple <clepple@gmail.com>

 - clients/upssched.c: Added additional exec() status information to
   exec_cmd().

Wed Jul  5 10:32:30 UTC 2006 / Arnaud Quette <aquette.dev@gmail.com>

 - synchronise mge-utalk between the trunk and Testing branches (0.88)
 - complete NEWS and UPGRADING for 2.0.4
 - version number bump for 2.0.4-pre1 release.

Fri Jun 16 08:54:12 UTC 2006 / Arnaud Quette <aquette.dev@gmail.com>

 - configure.in: add support for Solaris 11 (Nevada)

 - newhidups:
   * complete Battery and Power Device usages (reserved ranges)
   * add a communication subdriver for plugging libshut and
     merging mge-shut code (same interface as libusb).
   * handle reconnexion upon I/O errors (ie on Solaris)
   * lookup value if needed, in setvar()
   * fix a Solaris segfault on instcmd() (extradata is always NULL)
   * disable notification on Solaris, as it doesn't support
     timeout yet and thus can block the driver indefinitly
   * bump release to 0.30

 - newmge-shut: create this new driver, which shares all the
   logic/code with newhidups, along with mge-hid data definitions.
   It is the first step toward mge-shut replacement (scheduled
   for NUT 2.2 release), and it's not built by default (one must
   call make newmge-shut from within the drivers directory).

 - mge-hid: complete MGE usage codes, commands and fix outlet.*

 - data/cmdvartab: complete the outlet collection descriptions

Fri Jun  9 02:32:38 UTC 2006 / Charles Lepple <clepple@gmail.com>

 - packaging/RedHat/nut.spec.in: updates courtesy of William Bell; tested on
   RHEL4.

Wed Jun  7 01:06:27 UTC 2006 / Peter Selinger <selinger@users.sourceforge.net>

 - if setenv() replacement is needed, link it statically to better
   handle overlap with net-snmp.

Sat Jun  3 21:35:41 UTC 2006 / Carlos Rodrigues <carlos.efr@mail.telepac.pt>

 - megatec.c: data for 36V UPSes.
 - driver.list: Ablerex MS-RT (megatec).

Sun May 21 18:31:47 UTC 2006 / Peter Selinger <selinger@users.sourceforge.net>

 - man/cyberpower.8: updated section on supported hardware; added
   information on hardware supported by alternate drivers. 

Fri May 12 21:01:35 UTC 2006 / Peter Selinger <selinger@users.sourceforge.net>

 - hotplug/hotplug-ng: added mappings for various USB devices

Tue May  9 03:02:19 UTC 2006 / Peter Selinger <selinger@users.sourceforge.net>

 - upsd: bumped "initial wait" time to 15 seconds to suit some slower
   devices.

Tue May  9 02:29:03 UTC 2006 / Peter Selinger <selinger@users.sourceforge.net>

 - data/cmdvartab: brought help strings in sync with docs/new-names.txt
 - server/netget.c: write "Description unavailable" not just "Unavailable"
   if some instant command or variable has no description.

Mon May  8 16:00:40 UTC 2006 / Peter Selinger <selinger@users.sourceforge.net>

 - newhidups/Tripplite subdriver: cleaned up variable mappings. Added new
   status items: overheat, awaitingpower, commfault, vrange.
 - newhidups/Belkin subdriver: added awaitingpower status flag
 - docs/new-names.txt: added output.frequency.nominal

Sun May  7 23:46:04 UTC 2006 / Peter Selinger <selinger@users.sourceforge.net>

 - newhidups: added some non-standard usage codes to Tripplite subdriver

Sat May  6 14:48:24 UTC 2006 / Peter Selinger <selinger@users.sourceforge.net>

 - newhidups: added string conversions to Tripplite subdriver

Sat May  6 14:28:01 UTC 2006 / Peter Selinger <selinger@users.sourceforge.net>

 - newhidups: enabled experimental Tripplite subdriver

Mon Apr 24 21:25:50 UTC 2006 / Niels Baggesen <nba@users.sourceforge.net>

 - drivers/ietfmib.h: Fix firmware/firmware.aux and output power

Mon Apr 24 21:24:40 UTC 2006 / Niels Baggesen <nba@users.sourceforge.net>

 - drivers/pwmib.h: Fix for battery status from Olli

Mon Apr 24 21:23:24 UTC 2006 / Niels Baggesen <nba@users.sourceforge.net>

 - CREDITS: Add some credit

Mon Apr 24 20:54:18 UTC 2006 / Niels Baggesen <nba@users.sourceforge.net>

 - docs/new-names.txt clients/upsimage.c clients/upsstats.c
   conf/upsstats.html conf/upsstats-single.html: Support for measuring
   phase-neutral voltages

Mon Apr 24 20:45:37 UTC 2006 / Niels Baggesen <nba@users.sourceforge.net>

 - drivers/cpsups.c: Fix C++ style declarations between statements

Mon Apr 24 20:44:51 UTC 2006 / Niels Baggesen <nba@users.sourceforge.net>

 - man/upscode2.8: Fix speling in man page

Mon Apr 24 20:43:43 UTC 2006 / Niels Baggesen <nba@users.sourceforge.net>

 - include/common.h: Declare 'noreturn' to quite compiler warnings

Mon Apr 24 03:18:33 UTC 2006 / Carlos Rodrigues <carlos.efr@mail.telepac.pt>

 - megatec.c: two decimals in "battery.voltage", the protocol allows for it

Sat Apr 22 22:52:44 UTC 2006 / Carlos Rodrigues <carlos.efr@mail.telepac.pt>

 - megatec.c: fixed stupid bug on UPS voltage detection

Sat Apr 22 17:35:23 UTC 2006 / Carlos Rodrigues <carlos.efr@mail.telepac.pt>

 - megatec.c: support 96V UPS

Sun Apr 16 23:24:25 UTC 2006 / Peter Selinger <selinger@users.sourceforge.net>

 - renamed fatal(), upslog(), and upsdebug() as fatal_with_errno(), 
   upslog_with_errno(), and upsdebug_with_errno(). 

Sun Apr 16 21:03:20 UTC 2006 / Kjell Claesson <kjell.claesson@telia.com>

 - nut_usb.c: Remove iManufacturer and iProduct test in usb_dev_handle.

Sun Apr 16 19:06:14 UTC 2006 / Carlos Rodrigues <carlos.efr@mail.telepac.pt>

 - megatec.c: minor changes to the debugging output
 - common.c: gcc doesn't issue warnings anymore
 - driver.list: one more model (Sweex) supported by megatec

Sat Apr  8 21:25:32 UTC 2006 / Carlos Rodrigues <carlos.efr@mail.telepac.pt>

 - megatec.c: added some extra debugging.
 - driver.list: added a couple of models supported by megatec

Wed Apr  5 13:17:51 UTC 2006 / Arjen de Korte <arjen@de-korte.org>

- cpsups.c: fix uninitialized variable (Novell bug #159479)

Wed Apr  5 07:58:47 UTC 2006 / Arnaud Quette <aquette.dev@gmail.com>

 - newhidups:
   * fix the "double free or corruption" crash upon device
     reconnexion (Debian bug #354305)
   * mge-hid: add new models: Evolution, Pulsar, Pulsar M and Pulsar MX

 - mge-shut:
   * harness the LB flag with ShutdownImminent
   * fix some wrong data format, and remove the zero prefix
   * add Comet EX RT 3:1 (without 3 phase data for the moment)
   * add new models: Evolution, Pulsar, Pulsar M and Pulsar MX
   * bump version to 0.66

 - driver.list: completed with the new above compatibilities

Mon Apr 03 02:04:51 2006 / Carlos Rodrigues <carlos.efr@mail.telepac.pt>

 - megatec.c: proper support for 2x12V UPSes.

Thu Mar 30 00:55:46 2006 / Carlos Rodrigues <carlos.efr@mail.telepac.pt>

 - megatec.c: fixed case of blank fields on UPS identification strings.
   Battery voltages are now set by looking at the present value instead
   of the nominal value.

Wed Mar 29 2:50:31 2006 / Carlos Rodrigues <carlos.efr@mail.telepac.pt>

 - megatec: get manufacturer/model/version information. Ressurected
   "ups.temperature". Increased the interval between chars on send.
 - man/megatec.8: added missing test.battery.start description.
 - docs/megatec.txt: documentation about the megatec driver (assimilation of
   the other similar drivers).

Wed Mar 22 20:51:32 2006 / Arnaud Quette <aquette.dev@gmail.com>

 - mge-shut: remove the wrong ups.status setting to OB upon
   communication failure.

   [Alioth Bug #303257]

Tue Mar 21 21:54:34 2006 / Arnaud Quette <aquette.dev@gmail.com>

 - configure.in, drivers/libhid.h, drivers/Makefile.in:
   add Solaris 10 support for newhidups (from Marty Lee and
   George A. Dowding)

Tue Mar 21 19:15:06 2006 / Arnaud Quette <aquette.dev@gmail.com>

 - mge-utalk: add ESV 11+ to Si data table, though it's also
   supported by Si1

Fri Mar 17 17:15:34 UTC 2006 / Charles Lepple <clepple@gmail.com>

 - drivers/tripplite_usb.c: fixed float/double mismatch in battery voltage

Thu Mar  9 19:32:00 2006 / Arjen de Korte <arjen@de-korte.org>

 - client/upsrw.c: swapped parameters in memset() call
 - drivers/tripplite_usb.c: off-by-one buffer overflow

Thu Mar  9 16:36:00 2006 / Arjen de Korte <arjen@de-korte.org>

 - common/common.c: sanity check for fatal()

Sat Mar  4 14:32:00 2006 / Arjen de Korte <arjen@de-korte.org>

 - drivers/safenet.c: increase timeout for reading replies from the UPS

Fri Mar  3 20:25:00 2006 / Arjen de Korte <arjen@de-korte.org>

 - common/common.c: handle problems with get_user_pwent() directly,
   instead of first returning to the caller

Fri Mar  3 09:42:46 2006 / Peter Selinger <selinger@users.sourceforge.net>

 - common/common.c: set errno=ENOENT in get_user_pwent() if user not found

Mon Feb 27 19:23:24 UTC 2006 / Arnaud Quette <aquette.dev@gmail.com>

 - mge-utalk, mge-shut, snmp-ups: remove the zero prefix on exposed
   data values

Mon Feb 27 18:36:30 UTC 2006 / Arnaud Quette <aquette.dev@debian.org>

 - Move the debian directory to packaging/ to avoid conflict with
   the official Debian build process

Mon Feb 27 16:06:20 UTC 2006 / Kjell Claesson <kjell.claesson@telia.com>

 - Add Compaq R3000 XR and R5500 XR to driver.list.

Sun Feb 26 13:45:00 UTC 2006 / Arjen de Korte <arjen@de-korte.org>

 - upsdrvctl: remove superfluous 'xstrdup' from shutdown_driver

Thu Feb 16 13:25:00 UTC 2006 / Charles Lepple <clepple@gmail.com>

 - Converted repository from CVS to Subversion
 - Development branch is now trunk

Wed Feb 15 10:20:10 UTC 2006 / Kjell Claesson <kjell.claesson@telia.com>

 - Apply patch from Niklas
   * Replaces output.voltage.target.battery and
      output.voltage.target.line with output.voltage.nominal.

Sun Feb 12 11:54:57 UTC 2006 / Peter Selinger <selinger@users.sourceforge.net>

 - newhidups: rewrote logical-to-physical value conversion. Rewrote
   extraction of logical values from report. Added Kelvin-to-Celsius
   conversion. Tweaked APC date conversion. Back-UPS BF500 support.  
   Deleted unused items in HIDItem structure.

Sat Feb 11 16:10:00 UTC 2006 / Arjen de Korte <arjen@de-korte.org>

 - serial.c: changed ser_send_char to use "unsigned char" instead of "char"

Fri Feb 10 22:23:25 UTC 2006 / Peter Selinger <selinger@users.sourceforge.net>

 - serial.c: changed several generic serial port communication
   functions to use buffers of type "unsigned char" instead of "char".
 - belkinunv.c, bcmxcp_ser.c: removed superflous type casts

Fri Feb	10 09:44:10 UTC 2006 / Kjell Claesson <kjell.claesson@telia.com>

 - Apply patch from Niels Baggesen.
   * Re-imported nitram.c and nitram.h with unix style line ending.
   * Patch to al175 and gendb.
     -------
      Also, the al175 has some c++ style declarations in the middle of the
      code blocks and some non-conforming %lf format specifiers, and gendb has
      a csh style redirection that a true sh does not like. I have attached
      patches for those.
     -------

Thu Feb  9 21:00:00 UTC 2006 / Arjen de Korte <arjen@de-korte.org>

 - Changes to upsdrvctl
   * execute silently by default (wasn't used consistently anyway)
   * use upsdebugx() to show additional information if wanted, which
     replaces the verbose option (this is much more flexible)
   * removed 'status' command (used to be implemented the same way as
     until nut-2.0.0, but turns out to be too limited to be useful,
     for exactly the same reason)
   * use sendsignalfn() from common instead of rolling our own

Thu Feb  9 20:45:00 UTC 2006 / Arjen de Korte <arjen@de-korte.org>

 - Changes to common
   * sendsignalfn() and sendsignal() let caller know if a signal was sent
     successfully or not instead of just returning silently on errors

Thu Feb  9 19:25:20 UTC	2006 / Kjell Claesson <kjell.claesson@telia.com>

 - bcmxcp_ser.c: reduced gcc4 compiler warnings

Thu Feb  9 15:57:41 UTC 2006 / Peter Selinger <selinger@users.sourceforge.net>

 - belkinunv.c: reduced gcc4 compiler warnings

Thu Feb  9 14:16:20 UTC	2006 / Kjell Claesson <kjell.claesson@telia.com>

 - Update to previous patch.
   * Document upsstats/upsimage enhancements in man pages.
   * Fix UPSSTATSPATH/UPSIMAGEPATH in upsstats.html and
      uppstats-single.html to be same as old default.
   * Fix the changelog entry for the upsstats/upsimage patch.

Thu Feb  9 07:15:30 UTC	2006 / Kjell Claesson <kjell.claesson@telia.com>

 - Updates and fixes to cgi client by Niklas.
   - upsstats:
   * Adds IF/ELSE-awareness, and since the parser logic is rather limited
     this means that we now have IF, ELSE IF etc since all statements are
     and:ed. Examples in upsstats.html.
   * Adds IFEQ (IF Equal)
   * Adds IFBETWEEN (if a value is within bounds)
   * Removes UTILITYCOLOR, since it's now possible to "script" that.
   * Adds possibility to give a full path to upsstats/upsimage. This
     comes in handy when you call the CGI stuff by SSI from a parsed HTML
     page and want links to go to that HTML page and not the CGI:s
     directly. And possibly other uses.
   * Fixed the broken @RUNTIME@ which was buggy and had inconsistent
      output, it now always prints hh:mm:ss.
   - upsimage:
   * Fixes the battery.voltage graph. It was hardcoded to 40V or
     something, looked outright ridiculous with 420V battery voltage ;)
   * Be smarter about guessing nominal battery voltage in order to
      provide sane graph while discharging.
   * Improves logic on figuring out min/max values to cope with 400V
     nominal.
   * Add 3phase input/output/load graphs.
   - upsstats.html, upsstats-single.html:
   * Use new functionality to add 3phase support.

Tue Feb  7 23:25:35 UTC 2006 / Carlos Rodrigues <carlos.efr@mail.telepac.pt>

 - minor change to man/megatec.8 (date)

Sat Feb  4 21:22:00 UTC 2006 / Arjen de Korte <arjen@de-korte.org>

 - drivers/upsdrvctl.c: minor changes (coding style)

Sat Feb  4 20:22:00 UTC 2006 / Arjen de Korte <arjen@de-korte.org>

 - drivers/genericups.c: check for invalid overrides for signals
   (don't accept output signal if an input is expected or vice-versa)

Fri Feb  3 20:41:00 UTC 2006 / Arjen de Korte <arjen@de-korte.org>

 - Update to upsdrvctl:
   * Use 'old' style names first, when looking for the pid of drivers
     and then the 'new' style names. This allows the new driver to
     stop old drivers too and thus upgrading to a new version is
     simplified.
   * Consolidate the code to walk trough the UPS tree. All commands
     use the same code until the actual command is performed on a
     single driver (easier to add new commands, since the UPS tree
     walking code is now shared).

Thu Feb  2 21:23:00 UTC 2006 / Arjen de Korte <arjen@de-korte.org>

 - upsdrvctl:
   * Added 'status' command
   * Drivers read the port from 'ups.conf' directly, so including the
     port has been unneccessary for quite a while already (removed now)

Wed Feb  1 10:32:30 UTC 2006 / Peter Selinger <selinger@users.sourceforge.net>

 - newhidups: fixed battery manufacturing date conversion for APC
   Back-UPS 500 and Back-UPS ES/CyberFort 500.

Tue Jan 31 21:34:00 UTC 2006 / Arjen de Korte <arjen@de-korte.org>

 - Safenet driver:
   * put all UPS commands in header file (for easy retrieval)
   * remove log errors when instant commands can't be handled
     (doesn't work reliably on at least one flavor of this UPS
     and wasn't very useful anyway)

Mon Jan 30 19:52:00 UTC 2006 / Arjen de Korte <arjen@de-korte.org>

 - Fixes bug #302338 (genericups: custom configuration through
   ups.conf not working)

Sat Jan 28 14:38:58 UTC 2006 / Arjen de Korte <arjen@de-korte.org>

 - Fix bug with upsd declaring driver stale when the system resumes
   after suspend-to-disk
 - Improve readability of the code by removing non-functional call to
   subroutine update_time and moving decision whether or not a ping
   must be sent to the driver to the routine calling it

Fri Jan 27 17:15:00 UTC 2006 / Kjell Claesson <kjell.claesson@telia.com>

 - Update to snmp.
 - Comment from Niklas
   Updates the following in snmp-ups:
   * Added more OID:s to apccmib (battery.current and more), tried to
      group the values better in the table to get overview.
   * Added support for the notion that negative values means that it's
      not supported (used by apccmib).
   * Added support to disable the "competition" for some variables, handy
      when there are multiple OID:s supplying the same value depending on
      how fancy your UPS SNMP support is (used by apccmib).

Fri Jan 27 15:01:20 UTC 2006 / Peter Selinger <selinger@users.sourceforge.net>

 - newhidups: added usage paths for APC Back-UPS 500.

Thu Jan 26 16:22:00 UTC	2005 / Kjell Claesson <kjell.claesson@telia.com>

 - Commit patch for snmp and 3phase from Niklas Edmundsson
 - Comment from Niklas
    Attached is a patch that does the following:
    * Changes snmp-ups to use SNMP_MSG_GET instead of SNMP_MSG_GETNEXT.
    * Rips out the kludges caused by using getnext instead of get.
    * Fixes a couple of bugs and missing features in snmp-ups.
    * Updates the APC mib to work and report 3phase values.
    * Updates the other mibs to hopefully work, needs testing by people
      with hardware.

Mon Jan 24 20:40:34 UTC 2005 / Arnaud Quette <aquette.dev@gmail.com>

 - safenet: improve robustness, add minimal hardware detection and
   improve the error handling
 - bestfcom, tripplite: fix the "array subscript out of range" bug
   (https://bugzilla.novell.com/show_bug.cgi?id=133610)

   (Arjen de Korte)

Sun Jan 23 08:48:13 UTC 2005 / Arnaud Quette <aquette.dev@gmail.com>

 - README, INSTALL, NEWS: more update on USB, remove hidups references
   and other minor update.
 - FAQ: update a bit more USB support and SNMP information
 - CREDITS: add Kirill Smelkov for al175

Fri Jan 21 16:22:33 UTC 2005 / Arnaud Quette <aquette.dev@gmail.com>

 - optiups: resurected to support Opti-UPS and Viewsonic PowerES models

   (Scott Heavner) [Alioth Patch #302891]

Thu Jan 20 18:51:53 UTC 2005 / Arnaud Quette <aquette.dev@gmail.com>

 - FAQ: update a bit more USB support and SNMP information

Fri Jan 20 15:25:00 UTC 2006 / Kjell Claesson <kjell.claesson@telia.com>

 - Fix include of termios. Some drivers include termios instead of including
   serial.h. Patch from Niklas Edmundsson to correct this.
 - Patch comment from Niklas.
   * Fixes all drivers to include serial.h instead of sys/termios.h
   * serial.h fallbacks to include termios.h if sys/termios.h doesn't
      exist (needed to build on AIX).
   * Some drivers use alloca, add pragma to make it available on AIX.
   * Make sure definition of TRUE/FALSE doesn't clash with previous
      definition in some drivers.

Wed Jan 18 23:58:43 UTC 2006 / Carlos Rodrigues <carlos.efr@mail.telepac.pt>

 - added "Tecnoware Easy Power 1200" to "megatec.8" and driver.list
 - point "Megatec Protocol" to "megatec" in driver.list

Sat Jan 14 16:21:11 UTC 2006 / Carlos Rodrigues <carlos.efr@mail.telepac.pt>

 - megatec: minor changes to the manpage
 - added "Trust UPS 1000 Management PW-4105" to driver.list

Tue Jan  3 02:09:27 UTC 2006 / Carlos Rodrigues <carlos.efr@mail.telepac.pt>

 - megatec: new "lowbatt" parameter (overrides the hardware low battery level)

Fri Dec 16 20:21:43 UTC 2005 / Arnaud Quette <aquette.dev@gmail.com>

 - newhidups.8, mge-shut.8, mge-utalk.8, driver.list: various update
 - FAQ: update USB support information

Tue Dec  6 04:03:11 UTC 2005 / Peter Selinger <selinger@users.sourceforge.net>

 - added Belkin F6C800-UNV to scripts/hotplug/libhid.usermap (thanks drew.kay)
 - added Belkin F6C1500-TW-RK to data/driver.list (thanks "Big Wave Dave")

Fri Nov 25 10:02:15 UTC 2005 / Arnaud Quette <aquette.dev@gmail.com>

 - fentonups: correct the INELT Monolith 1000LT definition

   (Yuri V. Kurenkov)

Thu Nov 24 05:50:59 UTC 2005 / Peter Selinger <selinger@users.sourceforge.net>

 - updated newhidups man page to reflect multi-unit capability

Thu Nov 24 03:36:14 UTC 2005 / Peter Selinger <selinger@users.sourceforge.net>

 - newhidups: redesigned report retrieval system. All reports read
   from the UPS are now buffered. Reports are now also read into
   arrays of the correct size, rather than of fixed size.

 - newhidups: re-added UPS.PowerSummary.ACPresent to ups.status in
   Belkin subdriver.

 - newhidups: fixed logic in hidparser.c:SetValue() (don't assume all
   report items start on byte boundaries).

 - newhidups: changed implementation of HIDNode: store usage page and
   code in a single 32-bit integer, for efficient access.

 - newhidups: removed non-constant items from HIDData structure; a
   HIDData object is now immutable. 

 - newhidups: reduced global variables in libhid.c

Tue Nov 15 17:35:00 CEST 2005 / Kjell Claesson <kjell.claesson@telia.com>

 * driver.list:
   - add HP R5500 XR compatibility with bcmxcp

Sat Nov 12 05:12:20 UTC 2005 / Peter Selinger <selinger@users.sourceforge.net>

 - newhidups, mge-shut: rewrote HID parser interface to parse the
   Report Descriptor into a data structure, instead of re-scanning it
   as a byte array all the time.

Wed Nov  9 20:06:58 UTC 2005 / Arnaud Quette <aquette.dev@gmail.com>

 * driver.list:
   - add APC Back-UPS RS USB compatibility with newhidups,
   - add missing tripplite_usb compatibility,
   - remove newhidups experimental flags, except for Belkin

 * Linux Hotplug and udev:
   - upgrade old style hotplug rules with the newly supported
     models
   - add new udev style hotplug rule

 - complete UPGRADING and NEWS notes

Wed Nov  9 02:14:01 UTC 2005 / Peter Selinger <selinger@users.sourceforge.net>

 - newhidups: cleaned up dependencies on $(LIBUSB_CFLAGS)

Mon Nov  7 22:11:11 UTC 2005 / Peter Selinger <selinger@users.sourceforge.net>

 - newhidups: added rudimentary Tripp Lite support, still incomplete
   and unstable.
 - newhidups: changed some local declarations to "static". 

Sun Nov  6 20:14:10 UTC 2005 / Arnaud Quette <aquette.dev@gmail.com>

 - the state socket, used for the communication between the drivers
   and upsd, are now named using the upsname, as defined between brackets
   in ups.conf, by default. The same applies to drivers .pid file, now
   named using drivername-upsname. The old naming behavior is kept for
   debug purpose, allowing to start drivers only by specifying a port name.

Mon Oct 24 09:07:04 UTC 2005 / Arnaud Quette <aquette.dev@gmail.com>

 - megatec: add this driver, which is the renamed powermust driver made
   more generic. This one now replaces powermust, and will replace mustek
   and blazer (and possibly fentonups, ippon, masterguard and sms)

   (Carlos Rodrigues)

 - add Maxxtro UPS 600 VA support, through the serial port, with the
   new megatec driver (from Flavio Grossi)

Sun Oct 23 05:24:25 UTC 2005 / Peter Selinger <selinger@users.sourceforge.net>

 - newhidups: added support for CyberPower 685AVR, based on HID Usage
   Tree posted by Scott Alfter. This is very similar to APC, so
   combined APC and CyberPower into a single subdriver.

Fri Oct 21 17:42:28 UTC 2005 / Peter Selinger <selinger@users.sourceforge.net>

 - newhidups: added missing "usage" definitions from HID Power
   Device specification, corrected spellings.

Fri Oct 21 03:38:17 UTC 2005 / Peter Selinger <selinger@users.sourceforge.net>

 - newhidups: enforce using "-x vendorid" together with "-x generic". 
 - newhidups: added new info to man page and docs/hid-subdrivers.txt

Fri Oct 21 03:03:44 UTC 2005 / Peter Selinger <selinger@users.sourceforge.net>

 - newhidups: added "-x generic" option to allow connecting to an
   unsupported UPS. This should be used together with the "-x
   vendorid" option to select the device to connect to, and allows
   users to product a dump of the usage tree of an unknown device
   without having to modify the sources.

Wed Oct 19 14:10:29 UTC 2005 / Arnaud Quette <aquette.dev@gmail.com>

 - debian/: more update (still draft) to prepare 2.0.2-2 release

 - nitram: new driver for Nitram Elite 2005, and probably some
   recent Cyberpower units

   (Olivier Albiez)

Tue Oct 11 06:59:22 UTC 2005 / Arnaud Quette <aquette.dev@gmail.com>

 - README and driver.list: add missing bcmxcp_usb information

Mon Oct 10 20:15:24 UTC 2005 / Arnaud Quette <aquette.dev@gmail.com>

 - driver.list: add Eltek AL175 alarm module (Kirill Smelkov)
 
Sun Oct  9 05:31:09 UTC 2005 / Peter Selinger <selinger@users.sourceforge.net>

 - newhidups: repaired the way status flags are stored. Note that
   there can be more than one device status flag (such as "lowbatt"
   and "shutdownimm") mapped to the same NUT status (such as "LB").
   We now store the device flags, and convert them to NUT values only
   on request. This solves the problem where multiple variables (e.g.
   "lowbatt" and "shutdownimm") might have erased each other's values
   if one was set and the other was not. This also solves the issue
   reported by Alfred Ganz of the CHRG and DISCHRG flags not being
   cleared properly.

 - newhidups: added NUT status flags OVERHEAT, COMMFAULT, DEPLETED;
   these already exist in the belkinunv driver.

 - newhidups/Belkin: changed the way the OL/OB status is determined;
   now correctly shows OB during battery test (even when AC power is
   present).

Sun Oct  9 02:40:25 UTC 2005 / Peter Selinger <selinger@users.sourceforge.net>

  - libhid.c: added some missing usages from UPS/HID definition

Sat Oct  8 20:57:14 UTC 2005 / Arnaud Quette <aquette.dev@gmail.com>

  - debian/: bring the files in sync, and prepare 2.0.2-2 release.
  - al175: new driver for Eltek AL175 alarm module (Kirill Smelkov)

Tue Oct  4 03:29:19 UTC 2005 / Peter Selinger <selinger@users.sourceforge.net>

 - newhidups/APC and Belkin: fixed declarations of string length of
   writable variables. Also made ups.beeper.status writable in both
   subdrivers. Note: currently the written value must be numeric
   (1/2/3) instead of symbolic (disabled/enabled/muted). Out-of range
   values can be given and can leave the variable in an "error" state
   that cannot be fixed. Should implement writing of symbolic values.

Mon Oct  3 21:54:19 UTC 2005 / Peter Selinger <selinger@users.sourceforge.net>

 - newhidups/APC: made battery.charge.low, battery.runtime.low,
   input.transfer.low, input.transfer.high writable in APC subdriver,
   as suggested by Alfred Ganz. Also added status flags for
   "RemainingTimeLimitExpired" (RTE) and "BatteryPresent" (BP),
   although they will be ignored by newhidups.

 - newhidups/Belkin: added flag ST_FLAG_STRING to all writable
   variables.  It is apparently required by upsrw that all writable
   variables are either strings or enums. ups.test.result is no longer
   writable (because writing it failed anyway), and ups.delay.restart
   and ups.delay.shutdown are no longer writable (because they are
   dangerous: rather than just configuring a time limit, this actually
   initiates a timed shutdown). 

Mon Oct  3 21:51:38 UTC 2005 / Peter Selinger <selinger@users.sourceforge.net>

 - newhidups: removed bug that made all variables writable.

Sun Oct  2 01:46:13 UTC 2005 / Charles Lepple <clepple@gmail.com>

 - tripplite_usb: Finished merging v0.6 of this driver from the
   Tripp_Lite_Omni branch. The driver now handles both OMNIVS and
   SMARTPRO models. The man page is also now in the Development tree.

Sat Oct  1 18:17:54 UTC 2005 / Arnaud Quette <aquette.dev@gmail.com>

 - upssched.txt: document the required PIPEFN and LOCKFN variables

   (Cristian Rigamonti) [Alioth Patch #302107]

Fri Sep 30 20:38:09 UTC 2005 / Arnaud Quette <aquette.dev@gmail.com>

 - driver.list: add Dynex 975AVR (reported by Andrew Kalafut)

   [Alioth Patch #302203]

 - bcmxcp: add the baud_rate parameter, which allows to support HP
   R3000 XR (reported by Matthijs Sneijders)

   (Kjell Claesson) [Alioth Patch #302281]

 - acpi.txt: start investigation on ACPI bridging (Alioth task #258)

Sat Sep 24 04:30:34 UTC 2005 / Peter Selinger <selinger@users.sourceforge.net>

 - newhidups: moved remaining vendor-specific code into the X-hid.c
   subdrivers. Vendor specific usage strings are now defined in
   subdrivers.

 - libhid.c: replaced lookup_path() by two functions string_to_path()
   and path_to_string().

Sat Sep 24 02:34:05 UTC 2005 / Peter Selinger <selinger@users.sourceforge.net>

 - libhid.c: reduced number of global variables in libhid to 3. Also
   simplified logic in HIDGetItemValue() and fixed a bug where the
   report timestamp was refreshed even when an old report was used.

Sat Sep 24 00:46:12 UTC 2005 / Peter Selinger <selinger@users.sourceforge.net>

 - libusb.c: eliminated global variables from libusb.

Sat Sep 24 00:09:13 UTC 2005 / Peter Selinger <selinger@users.sourceforge.net>

 - newhidups: moved most vendor-specific code into X-hid.c, where
   X=mge,apc,belkin. This eliminates the various switch(hd->VendorID)
   statements throughout the driver. Subdrivers now declare themselves
   by exporting a subdriver_t structure (defined in newhidups.h). This
   structure contains functions and data that define the subdriver. In
   particular, each driver implements a "claim()" method by which it
   can claim a particular device. Driver availability is checked
   inside libusb_open() via the general "matcher" mechanism, so that
   libusb no longer contains vendor specific code.

 - added docs/hid-subdrivers.txt to explain how to write a new HID subdriver. 

Tue Sep 20 02:11:29 UTC 2005 / Peter Selinger <selinger@users.sourceforge.net>

 - tripplite_usb: made minor adjustments reflecting recent changes in
   libhid.h.

Tue Sep 20 00:51:01 UTC 2005 / Peter Selinger <selinger@users.sourceforge.net>

 - newhidups: cleaned up code so that *.h files contain headers, *.c
   files contain sources. Declared all non-exported variables and
   functions as static. Moved code from X-hid.h to X-hid.c, where
   X=mge,apc,belkin. Enclosed all header files in #ifndef/#endif
   pairs.
 - renamed drivers/hid-usb.h as drivers/libusb.h

Mon Sep 19 17:50:21 UTC 2005 / Peter Selinger <selinger@users.sourceforge.net>

 - newhidups: added -x bus=X option to open a device on a specific USB
   bus. Here X is a regular expression. When reconnecting to a
   previously opened device, the policy is that the bus name of the
   reopened device must match the regular expression previously
   specified, but need not be the exact same bus as when the device
   was initially opened. Thus, e.g., -x bus='00[23]' allows the device
   to be moved between busses 002 and 003. (This is different from how
   e.g. a device serial number is treated, which must match the
   regular expression when the device is initially opened, but must
   match exactly when the device is reopened).

Mon Sep 19 16:43:57 UTC 2005 / Peter Selinger <selinger@users.sourceforge.net>

 - drivers/Makefile.in: don't remove Makefile.drvbuild on "make clean".

Mon Sep 19 16:11:17 UTC 2005 / Peter Selinger <selinger@users.sourceforge.net>

 - drivers/gendb: added test for gcc availability.

Sat Sep 17 00:25:23 UTC 2005 / Peter Selinger <selinger@users.sourceforge.net>

 - drivers/Makefile.in: don't run gendb on "make clean", only on
   "make depend". This way, only maintainers need to re-generate
   dependencies.

Fri Sep 16 01:18:47 UTC 2005 / Peter Selinger <selinger@users.sourceforge.net>

 - drivers/: updated gendb and Makefile.in to automatically generate
   correct *.h dependencies. Added "make depend" target.

Fri Sep 16 01:04:57 UTC 2005 / Peter Selinger <selinger@users.sourceforge.net>

 - newhidups: make sure correct matcher is used for reopenings. 

Thu Sep 15 19:54:12 UTC 2005 / Peter Selinger <selinger@users.sourceforge.net>

 - newhidups: eliminated some unused arguments from functions

Thu Sep 15 03:54:02 UTC 2005 / Peter Selinger <selinger@users.sourceforge.net>

 - added Belkin and APC models to supported hardware list in README and
   data/driver.list. 

Thu Sep 15 03:37:28 UTC 2005 / Peter Selinger <selinger@users.sourceforge.net>

 - newhidups: changed implementation of regular expression device
   matching to use a callback function called a "matcher" (similar,
   but not identical, to libhid's matchers). The public matcher
   interface is documented in libhid.h. Two sample matchers are
   provided: an exact matcher, used for reconnecting, and a regular
   expression matcher, used to connect to a user-defined UPS.

 - newhidups: replaced error numbers by cleartext error messages in
   some debug output.

Thu Sep 15 01:15:49 UTC 2005 / Peter Selinger <selinger@users.sourceforge.net>

 - newhidups: Belkin now detects serial number correctly; removed
   temporary "ups.serial.internal" variable.

 - newhidups: simplified and documented HIDDevice structure; this
   structure is used as a "fingerprint" of a USB device and is used
   for reopening, thus must not be modified by client code. 

 - newhidups: further cleaned up logic in libusb.c:libusb_open() to
   deal with NULL strings correctly. Slight cleanup of
   newhidups.c:identify_ups().

Wed Sep 14 18:31:47 UTC 2005 / Peter Selinger <selinger@users.sourceforge.net>

 - newhidups: cleaned up logic in libusb.c:libusb_open(), in
   preparation for improvements to "device matching" mechanism.

 - newhidups: fixed "free null pointer" error in regular expression
   code.

Wed Sep 14 16:23:55 UTC 2005 / Peter Selinger <selinger@users.sourceforge.net>

 - newhidups: renamed ups.devicechemistry as battery.type, bumped 
   newhidups driver release.

Tue Sep 13 20:50:14 UTC 2005 / Peter Selinger <selinger@users.sourceforge.net>

 - newhidups: added Belkin support. Also added some new variables and
   instant commands (some of these were already used by other
   drivers); see new-names.txt.

 - newhidups: fixed return value bug in libusb.c:libusb_open() when no
   device was found.

Tue Sep 13 08:06:52 / Arnaud Quette <aquette.dev@gmail.com>

 - driver.list: add Exide NETUPS SE and Deltec PowerRite Pro II
   (rebranded models of Powerware 5119)

   (Karl Schmidt) [Alioth Patch #301881]

Tue Sep 13 05:22:49 UTC 2005 / Peter Selinger <selinger@users.sourceforge.net>

 - newhidups: added options -x vendor=X, -x vendorid=X, -x product=X,
   -x productid=X, -x serial=X, that let the user select a specific
   UPS if there is more than one present. The arguments "X" are
   extended regular expressions that must match the whole string (in
   case of vendor, product or serial number), or the whole 4-digit
   hexadecimal code (in case of vendorid, productid). Examples:
   -x vendor="APC.*", -x product=".*(Smart|Back)-?UPS.*", etc.

 - skel.c: fixed typos

Tue Sep 13 01:35:47 UTC 2005 / Peter Selinger <selinger@users.sourceforge.net>

 - newhidups: in libhid.h, removed iProduct from HIDDevice structure.
   Use ProductID instead.

Mon Sep 12 17:53:03 UTC 2005 / Peter Selinger <selinger@users.sourceforge.net>

 - newhidups: fixed logic in upsdrv_shutdown(): return after first
   command succeeds, don't print "Shutdown command failed".

Mon Sep 12 11:34:55 UTC 2005 / Arnaud Quette <arnaud.quette@mgeups.com>

 - complete bcmxcp_usb support by adding a manpage and completing
   the driver.list

   (Wolfgang Ocker)

 - add a drv-name.h header file for drivers which don't already
   have one
 - add headers dependency generation, in gendb, for every drivers
   (based on Peter Selinger work)

Fri Sep  9 10:25:05 UTC 2005 / Arnaud Quette <arnaud.quette@mgeups.com>

 * bcmxcp and bcmxcp_usb:
   - add support for usb units
   - split the driver in two drivers for serial and usb support

   (Wolfgang Ocker, Charles Lepple)

 - tripplite_usb: add support for tripplite USB models

   (Charles Lepple)

 * newhidups: apply partially the PSE patch set
   - nut-cvs-patch-PARSER-2005-08-24
   - nut-cvs-patch-APC-2005-08-24, minus the ups.test.panel declaration
   - nut-cvs-patch-REOPEN-2005-08-24
   - nut-cvs-patch-NUMPATH-2005-08-24

   (Peter Selinger) [Alioth Patch #302101]

 - docs/new-names.txt: completed as per the above nut-cvs-patch-APC

 - belkinunv: NUT variable naming conformance

   (Peter Selinger) [Alioth Patch #302117]

Mon Aug 22 09:16:08 UTC 2005 / Arnaud Quette <arnaud.quette@mgeups.com>

 - nut-html: also install the missing nut-banner.png

Thu Aug 18 09:47:07 UTC 2005 / Arnaud Quette <arnaud.quette@mgeups.com>

 * mge-utalk 0.86:
   - improve the startup sequence not to overload old units
     (such as ES/ES+/ESV/ESV+) at startup which can cause an immediate
     shutdown. For these units, also read mge-utalk manpage for the
     Known Issues.
   - update a bit the manpage according to the above.
   - improve the reactivity when asked to stop during an init/update
     loop
   - remove the OFF status handling (doesn't point the right data).

Tue Aug 16 20:51:27 UTC 2005 / Arnaud Quette <arnaud.quette@free.fr>

 - driver.list: add Soyntec Sekury C 500 and C 800 support using
   the powermust driver (contributed by Hanno Borns)
 - complete the NEWS files

Tue Aug 16 11:53:44 UTC 2005 / Arnaud Quette <arnaud.quette@mgeups.com>

 - gamatronic: revive the sec driver as gamatronic to support officialy
   the Gamatronic models MP110/210, MS-T, MS and ?PS3/1.

   (Gamatronic, Nadav Moskovitch)

 - driver.list: add old sec compatibilities with gamatronic, which
   are Clary ST-800 and various SEC protocol compatible units.

 - README for hotplug scripts updated a bit.

Thu Aug 11 09:21:41 UTC 2005 / Arnaud Quette <arnaud.quette@mgeups.com>

 - genericups type 22: add Gamatronic UPSs with alarm interface

   (Gamatronic, Nadav Moskovitch) [Alioth Patch #302015]

 - Drivers now don't chroot to statepath if called for power off
   (using -k). This avoid unneeded failure to poweroff the UPS if
   /var is umounted (thanks to Gaspar Bakos).

Wed Aug 10 08:47:01 UTC 2005 / Arnaud Quette <arnaud.quette@mgeups.com>

 * newhidups: 
   - enhance DumpTree, by adding data type and current value
   - verify setability/RW of data at setinfo() time
   - bump release to 0.27

Tue Aug  9 09:11:52 UTC 2005 / Arnaud Quette <arnaud.quette@mgeups.com>

 - mge-shut: enhance ups.model retrieving, and bump release to 0.65

Wed Aug  3 09:11:52 UTC 2005 / Arnaud Quette <arnaud.quette@mgeups.com>

 - newhidups: add basic Belkin recognition, and bump release to 0.26

Mon Aug  1 13:51:08 UTC 2005 / Arnaud Quette <arnaud.quette@mgeups.com>

 - newhidups: better handling of the status clearing for LB, and bump
   release to 0.25
 
Wed Jul 27 07:08:01 UTC 2005 / Arnaud Quette <arnaud.quette@mgeups.com>

 * CGI
   - add NUT HTML interface to ease the access to the various CGI
     scripts (thanks to Dave Breiland for relanching that idea).
     This one has to be configured with --with-htmlpath and is
     installed by default by "make install-cgi".
   - upsstats.cgi: add a "treemode" parameter to allow upsc like
     data listing, and the RUNTIME variable to display smart
     battery.runtime
   - complete upsstats.html with the battery runtime and data
     tree links

 - bcmxcp: typo fixes (length instead of lenght, thanks to Bill Richter)

Fri Jul 22 08:20:08 UTC 2005 / Arnaud Quette <arnaud.quette@mgeups.com>

 - newhidups: minor change in interface claiming to avoid message like
   "process <pid> (<name>) did not claim interface X before use" upon
   device reopening, and bump driver release to 0.24

 - dummy-ups: add the flags and string length for the user data parsed,
   and bump driver release to 0.02

 - added back the Powerware 5119 RM Cable Layout from Daniel Thompson

Thu Jul 21 14:02:08 UTC 2005 / Arnaud Quette <arnaud.quette@mgeups.com>

 - add the missing LDFLAGS to gendb
 - driver.list: add Belkin F6C1100-UNV (thanks to Dave Breiland)

Wed Jul 20 11:15:08 UTC 2005 / Arnaud Quette <arnaud.quette@mgeups.com>

 - adapt newhidups to recognize units from Tripplite, Mustek and
   Unitek for development purpose

 - isbmex: fix various errors in formulas, add shutdown capability
   and bump driver release to 0.05

   (Ricardo Martinezgarza)

 * fentonups:
   - fix the ID string for Sysgration UPGUARDS Pro650 (Simon J. Rowe)
   - add INELT Monolith 1000LT (Yuri V. Kurenkov)

 - various fixes in the RedHat spec file

   (Thomas Jarosch)

Fri Jul  1 08:15:56 UTC 2005 / Arnaud Quette <arnaud.quette@mgeups.com>

 - replaced the dummycons driver by the dummy-ups driver.
   While the former was only usable through a console, the later
   is a real driver, that load the set of data supported and their
   values from a file, and that can be controled through upsc,
   upsrw and upscmd (or any other tool like knutclient, ...). For
   more information, check the dummy-ups driver manpage (5)

 - isbmex: revert back to B9600 instead of B2400, as it broke the
   communication, and bump the driver release to 0.04 (thanks to
   Ricardo Martinezgarza)
 - genericups: add a trace to expose overriden data, and bump the
   driver release to 1.31

Thu Jun 30 13:13:02 UTC 2005 / Arnaud Quette <arnaud.quette@mgeups.com>

 - solis: fix a naming colision on Solaris, bump the driver release to
   0.41 (thanks to Pawe?? Kierdelewicz)

Tue Jun 28 16:41:14 UTC 2005 / Arnaud Quette <arnaud.quette@mgeups.com>

 - bump version to 2.1.0
 - *mib.h: remove all references to SU_TYPE_TIME as it's not used
   and cause some problems when exposing the data

Thu Jun 23 17:41:14 UTC 2005 / Arnaud Quette <arnaud.quette@mgeups.com>

 - remove mgehid.h (replaced by mge-hid.h for consistency)
 - Integrate Mandriva and Debian official packaging files, and begin
   to rework these for 2.0.2 (or future) release

 * Forked from 2.0.2 to start the new 2.1 dev tree.

2.0.2

Mon Jun 27 08:11:54 UTC 2005 / Arnaud Quette <arnaud.quette@mgeups.com>

 - Final version number bump for release.
 - driver.list: add Smart-UPS USB support, and leave the experimental
   flag for hidups/newhidups and APC units

2.0.2-pre2

Wed Jun 22 07:11:54 UTC 2005 / Arnaud Quette <arnaud.quette@mgeups.com>

 - tripplite: fix a battery charge bug, remove some extraneous
   leading zeros from integral variables (temperature, ...) and
   bump driver release to 0.8 

   (Cedric Tefft) [Alioth Patch #301783]

 - newhidups: remove experimental flag
 - driver.list: add MGE Ellipse Office, remove legacy hidups support for
   MGE units, add newhidups for APC units and remove experimental flag
   for newhidups only supported units

Tue Jun 21 14:51:02 UTC 2005 / Arnaud Quette <arnaud.quette@mgeups.com>

 - apc-hid: complete APC data for newhidups
 - libhid.c: complete HID usages

   (George Ross)

 - libusb.c: improve Report Descriptor length calculation (thanks to
   John Stamp for pointing out usbutils workaround), and minor type
   declaration fix
 - mge-shut, newhidups: improve exit reactivity for restart/shutdown
   sequences (both imply driver stop and start, while the driver might
   still be busy in its "long" update loop) by testing the exit_flag.

Fri Jun  3 13:01:55 UTC 2005 / Arnaud Quette <arnaud.quette@mgeups.com>

 - libhid.usermap: add a newline at the end, otherwise hotplug
   won't be able to parse it
 - libhid.c: change the dummy HIDItem test to remove exposed
   path that are broken
 
   (John Stamp)

Sat May 28 20:05:55 UTC 2005 / Arnaud Quette <arnaud.quette@mgeups.com>

 * newhidups, libhid, apc-hid:
   - fix typo error on offdelay vartable declaration
   - complete APC usages,
   - improve APC support (should work with BackUPS Pro, Back-UPS ES,
     Smart-UPS and BackUPS), but still lacks of shutdown on some models

   (John Stamp)

Thu May 26 12:17:55 UTC 2005 / Arnaud Quette <arnaud.quette@mgeups.com>

 - newhidups, libhid: code formating, and documentation
 - libhid.usermap: add preliminary APC rules

Wed May 25 14:09:02 UTC 2005 / Arnaud Quette <arnaud.quette@mgeups.com>

 - newhidups.8: remove the staleness information (not needed anymore),
   and add hotplug information.

Tue May 24 14:06:02 UTC 2005 / Arnaud Quette <arnaud.quette@mgeups.com>

 - mge-hid.h: add forgotten Protection Center definition

Mon May 23 09:21:10 UTC 2005 / Arnaud Quette <arnaud.quette@mgeups.com>

 - fentonups: complete the trace

   (Michel Bouissou) [Alioth Patch #301574]

Mon May 23 07:25:02 UTC 2005 / Arnaud Quette <arnaud.quette@mgeups.com>

 - mge-hid.h: add low end (non backuped) outlet handling
 - libusb: rework a bit the debug trace on device opening

2.0.2-pre1

Wed May  4 07:09:02 UTC 2005 / Arnaud Quette <arnaud.quette@mgeups.com>

 - bring testing release in sync with development release
 - bump release to 2.0.2-pre1

2.1.0:

Wed May  4 07:09:02 UTC 2005 / Arnaud Quette <arnaud.quette@mgeups.com>

 - solis: new driver for Microsol units

   (Silvino B. Magalhaes) [Alioth Patch #301272]

Tue May  3 09:09:07 UTC 2005 / Arnaud Quette <arnaud.quette@mgeups.com>

 * fentonups:
   - fix a problem with establishing serial communication,
   - fix UNITEK Alpha 500iC model exposure,
   - add separate battery voltage scales to better determine charge
     percentage when on AC/charging
   - add a user-defined battery voltage under which the UPS is considered
     on "low battery" condition when running on battery ("lowbattvolt")

   (Michel Bouissou) [Alioth Patch #301574] 

 - driver.list: add Powerware 3110 support, through genericups type=7

   (Paul Andreassen) [Alioth Patch #301573]

 - upscode2: merge this driver for Fiskars, Compaq and Powerware
   devices.

   (Niels Baggesen, Håvard Lygre) [Alioth Patch #301144]

 - newhidups, libhid, libusb: improve UBS support. Interrupt and
   device reconnexion are now supported.

Mon May  2 11:14:40 UTC 2005 / Arnaud Quette <arnaud.quette@mgeups.com>

 - configure, man/Makefile: check which USB manpage(s) to install
 - man/Makefile: suppress snmp-ups duplication

 - pwmib.h, snmp-ups.ch8, driver.list: add Powerware MIB support for
   Powerware devices with ConnectUPS SNMP cards

   (Olli Salvia) [Alioth Patch #301568]

Fri Apr 29 16:03:22 UTC 2005 / Arnaud Quette <arnaud.quette@free.fr>

 - apcsmart: fix APC600 support, and bump driver release to 1.99.7

   (Bill Richter) [Alioth Patch #301287]

Thu Apr 28 18:03:22 UTC 2005 / Arnaud Quette <arnaud.quette@free.fr>

 - configure.in, drivers/Makefile: check which USB driver(s) to build

Mon Apr 25 22:03:22 UTC 2005 / Arnaud Quette <arnaud.quette@free.fr>

 - Makefiles: add LDFLAGS support
 - drivers/Makefile.in: remove unneeded STRLCPY flag for newhidups

Sun Apr 24 19:03:22 UTC 2005 / Arnaud Quette <arnaud.quette@free.fr>

 - etapro.c: fix brokeness due to ser_get_line use

   (Marek Michalkiewicz) [Alioth Patch #301505]

Sat Apr 23 19:34:22 UTC 2005 / Arnaud Quette <arnaud.quette@free.fr>

 - cyberpower.c: add CyberPower 1000AVR support
 - driver.list: complete the missing CyberPower models

   (Dave Huang) [Alioth Patch #301288]

 - drivers/main.c: move upsdrv_initups() to point after become_user().
   This makes clear error message when user has no write privilege
   on the device.
 
   (?) [Alioth Patch #301284]

Fri Apr 22 11:42:22 UTC 2005 / Arnaud Quette <arnaud.quette@mgeups.com>

 - bcmxcp.ch8: reintegrate the new BCM/XCP driver (0.08) ; adjust
   Makefile's accordingly
 - driver.list: update according to the tested units
   http://web.telia.com/~u50205618/compatibility.html

   (Tore ?petveit, Kjell Claesson) [Alioth Patch #301290]

Fri Apr 15 11:04:53 UTC 2005 / Arnaud Quette <arnaud.quette@mgeups.com>

 - netvisionmib.h, snmp-ups.ch8, driver.list: add Socomec SNMP
   card/external box (Netvision MIB support)

   (Thanos Chatziathanassiou) [Alioth Patch #301296]

 - driver.list: add MicroDowell B.Box BP 500/750/1000/1500
 - cpsups.ch: add MicroDowell support, and fix a segfault on upsdrv_shutdown

   (Armin Diehl) [Alioth Patch #301282]

 - upsstats.c: fix a case where upsstats.cgi crashes if hosts.conf has
   no valid MONITOR lines

   (Charles Lepple) [Alioth Patch #301461]

Fri Apr 15 11:04:53 UTC 2005 / Arnaud Quette <arnaud.quette@mgeups.com>

 - mge-shut.h: add Ellipse Pro models, and bump driver version to 0.63

 * newhidups patch-set:
   - libusb.c: enhance discovery performance (only search for MGE / APC),
   - newhidups.c: 
     - add the code to manage Interrupt Pipe (will improve USB flow
       by lowering polling on device), and a pollfreq parameter
       (default to 60 sec, newhidups will wait for Interrupt in the
       meantime). This is disabled for the moment
     - lower USB flow by only querying ups.status information within
       the above pollfreq period.
     - improve ups.status handling (needed for interrupt and partial
       status update)
     - enhance model name exposure
     - factorise the data walking code
     - a bit of code cleaning
     - enable device reconnexion (still not working!)
   - mge-hid.h: renamed from mgehid.h, and completed with the model names,
     outlet collection, and some missing data
   - apc-hid.h: add and complete this file
   - prepare the future merge of mge-shut
   - add Unitek VendorID

Tue Mar 22 11:10:53 UTC 2005 / Arnaud Quette <arnaud.quette@mgeups.com>

 - driver.list: add missing Mustek PowerMust 1400VA Plus and 2000VA USB

   (Carlos Rodrigues) [Alioth Patch #301289]
   
 * MGE patch-set:
   - driver.list: add Pulsar EXtreme C / EX RT, Comet EX RT, Pulsar SV,
     Pulsar PSX and NOVA AVR USB
   - mge-utalk.ch, mge-utalk.8: enhance support for old units, by adding
     disable_ups_comm, and Si discovering ; rework the model names,
     change driver version numbering to X.Y (instead of X.Y.Z) and
     bump to 0.85 (thanks to Martin Loyer and Patrick Agrain)
   - mgehid.h: add BYPASS management for newhidups
   - libhid.c: add the HID "Used" usage for the mgehid.h BYPASS
     management 
   - newhidups.h: add the lookup values for mgehid.h/libhid.c
     above changes
   - mge-shut.ch, mge-shut.8: rework the model names, add value
     lookup, bump the driver version to 0.62
 
 - apccmib.h: minor change to get the firmware of the Silcon DP3160E
   by interrogating an ap9606

   (Christophe Grenier) [Alioth Patch #301283]
   
 - fentonups.h, driver.list: add support for Sysgration UPGUARDS Pro650

   (Simon J. Rowe) [Alioth Patch #301281]
   
 - energizerups: fix for Linux 2.6 byte dropping

   (Viktor T. Toth) [Alioth Patch #301279]
   
 - powermust.c, driver.list: rework initups/initinfo to follow NUT
   standard recommendation, and add support for SquareOne Power QP1000

   (Carlos Rodrigues) [Alioth Patch #301146]
   
Mon Mar 21 15:52:53 UTC 2005 / Arnaud Quette <arnaud.quette@mgeups.com>

 - tripplite.c: fix the reporting of the battery voltage and charge

   (Andrew Cook, Nicholas J. Kain) [Alioth Patch #301271]

Fri Mar 18 13:36:20 UTC 2005 / Arnaud Quette <arnaud.quette@mgeups.com>

 - driver.list: add the missing Powerware 5119 RM (genericups type=20)

 - drivers/main.c, nutupsdrv.8: brings the drivers usage message and
   the generic driver man page in line with the getopt processing.
   It also remove an unused -d option from the getopt call.

   (Niels Baggesen) [Alioth Patch #301145]

 - genericups.h, genericups.8, driver.list: add Generic RUPS 2000
   and AEC MiniGuard UPS 700 (using Megatec M2501 cable)

   (Nick Barnes) [Alioth Patch #301143]

2.0.1:

Thu Feb 24 06:55:20 UTC 2005 / Russell Kroll <rkroll@exploits.org>

 - Final version number bump for release.

Thu Feb  3 04:35:12 UTC 2005 / Russell Kroll <rkroll@exploits.org>

 - clients/Makefile.in: add @MISC_UPSCLI_OBJ@ to the clean rule so I
   don't leak .a files when distributing the tree.

 - upsclient.h, parseconf.h: minor extern tweaks for C++ use

   (Arnaud Quette) [patch-2.0.1-pre4_upsclient-cpp]

Thu Oct 21 06:02:08 UTC 2004 / Russell Kroll <rkroll@exploits.org>

 - mge-shut:

   - enhance the server side variables handling, and particularly the
     wrongly exposed PowerShare outlet description (outlet.*.desc) when
     these doesn't exists,
    - expose the detected model at upsdrv_initinfo() time
     (this will be standardised in 2.1 tree),
    - add NOVA models support,
    - update manpage and driver.list accordingly,
    - bump driver version to 0.60

   (Arnaud Quette) [patch-2.0.1_nova-shut]

Thu Oct 21 05:47:54 UTC 2004 / Russell Kroll <rkroll@exploits.org>

 - ups.conf, upsmon.conf, cmdvartab: fix doubled "with", bad example
   (old style hostname without ups@ in front), and add ups.power.nominal

   (Niels Baggesen)

Thu Oct 21 05:43:52 UTC 2004 / Russell Kroll <rkroll@exploits.org>

 - conf/upsstats.html: add "" around the BGCOLOR hex triplet to make
   the HTML pass validation checks

   (Niels Baggesen)

Thu Oct 21 05:40:21 UTC 2004 / Russell Kroll <rkroll@exploits.org>

 - upsdrvctl: fix a nasty bug and make it actually honor -t every time.
   Also added a missing printf for verbose-mode and cleaned up the help
   text.

   (Niels Baggesen)

Thu Oct 21 05:38:49 UTC 2004 / Russell Kroll <rkroll@exploits.org>

 - powercom.h: don't set MAX_NUM_OF_BYTES_FROM_UPS as 16U since it's
   compared with signed numbers elsewhere

   (Niels Baggesen)

Thu Oct 21 05:36:30 UTC 2004 / Russell Kroll <rkroll@exploits.org>

 - upslog: use data from getpid as a %ld in the format string, and cast
   it to a long to avoid issues on 64 bit Solaris systems.

   (Niels Baggesen)

Thu Oct 21 05:32:21 UTC 2004 / Russell Kroll <rkroll@exploits.org>

 - cpsups: use ups.voltage.nominal instead of ups.voltage for the VA
   rating of the UPS.

   (Walt H) [psups-changevoltage2upspowernominal.diff]

2.0.1-pre4:

Thu Sep 30 08:20:04 UTC 2004 / Russell Kroll <rkroll@exploits.org>

 - upsd.users.5: refer to upsd.conf, not ups.conf.

   (Niels Baggesen)

Thu Sep 30 08:16:58 UTC 2004 / Russell Kroll <rkroll@exploits.org>

 * multiple files: applied attribute/format/printf magic to various
   header files with varargs to catch bad argument passing.  This
   uncovered a bunch of bad things done with format strings throughout
   the code which has been cleaned up.

   attribute.h was added as a workaround for those systems which lack
   support for this preprocessor directive.

   Based on the original patches from Dmitry V. Levin.   

Wed Sep 29 08:38:19 UTC 2004 / Russell Kroll <rkroll@exploits.org>

 - cpsups: recognize CyberPower 825 model

   (Walt H) [cpsups-2.0.1.diff]

Wed Sep 29 08:23:20 UTC 2004 / Russell Kroll <rkroll@exploits.org>

 - fentonups, mge-utalk, serial: clean up warnings when compiling on
   Solaris 8 - char is signed, size_t is unsigned long with -m64,
   and is unsigned int for -m32.

   (Niels Baggesen)

Wed Sep 29 08:14:30 UTC 2004 / Russell Kroll <rkroll@exploits.org>

 - newhidups: various fixes for BSD compatibility and others:

   - Separates devices in the scan list
   - Prints the libusb error if the HID descriptor can't be retrieved
   - Creates fake product and vendor strings if the PID/VID isn't in the
     database
   - suppress remaining unneeded trace.

   (Arnaud Quette, Charles Lepple) [patch-2.0.1-pre3_newhidups]

Wed Sep 29 08:09:36 UTC 2004 / Russell Kroll <rkroll@exploits.org>

 - libusb: only declare 'int retries' when LIBUSB_HAS_DETACH_KRNL_DRV is
   defined to avoid warnings about unused variables.

   (Niels Baggesen)

Wed Sep 29 08:05:33 UTC 2004 / Russell Kroll <rkroll@exploits.org>

 - fentonups: upsdrv_shutdown: use ups_on_line as a function properly.
   Reported by Niels Baggesen.

Wed Sep 29 08:00:47 UTC 2004 / Russell Kroll <rkroll@exploits.org>

 - upsd.8: fix ' at beginning of line

   (Niels Baggesen)

Wed Sep 29 07:46:18 UTC 2004 / Russell Kroll <rkroll@exploits.org>

 - snmp-ups: bumped to 0.41:

    - fixes snmp-ups compilation warning due to the buggy Net-SNMP header
    - various updates on comments and headers

   (Arnaud Quette, Niels Baggesen) [patch-2.0.1-pre3_snmp-ups]

Wed Sep 29 07:20:14 UTC 2004 / Russell Kroll <rkroll@exploits.org>

 - oneac: drop embedded ^Ms

 - oneac, ippon: rename SEC to SECS to avoid clashing with Solaris
   header files.

   (Niels Baggesen)

Wed Sep 29 07:15:15 UTC 2004 / Russell Kroll <rkroll@exploits.org>

 - tripplite: use sqrt instead of sqrtf (portability fix)

   (Niels Baggesen)

Wed Sep 29 07:14:13 UTC 2004 / Russell Kroll <rkroll@exploits.org>

 - driver.list: extend MGE entries

   (Arnaud Quette) [patch-2.0.1-pre3_compat-list]

Wed Sep 29 07:11:26 UTC 2004 / Russell Kroll <rkroll@exploits.org>

 - bestfcom: further address command echo; bumped to 0.11

   (Kent Hill)

Wed Sep 29 07:06:23 UTC 2004 / Russell Kroll <rkroll@exploits.org>

 - gendb: fix cosmetic models vs. drivers comment

   (Shaul Karl)

Wed Sep 22 06:55:58 UTC 2004 / Russell Kroll <rkroll@exploits.org>

 - energizerups: apply HID_MAX_USAGES workaround from hidups

2.0.1-pre3:

Thu Sep  2 07:52:43 UTC 2004 / Russell Kroll <rkroll@exploits.org>

 - newhidups: fix broken setvar/instcmd and limit trace noise

   (Arnaud Quette) [patch-2.0.1_newhidups-part2]

Thu Sep  2 07:43:35 UTC 2004 / Russell Kroll <rkroll@exploits.org>

 - tripplite: major updates to make it work with 2.0:

   - deal with command echoes from UPS (broke due to serial API changes)

   - rework serial I/O to sleep and centralize code

   - UPS relay no longer disabled on shutdown (this kept the UPS off when
     power returned)

   - sanity/security: bounds checking, cleaned up dynamic memory, snprintf
     instead of sprintf, no redundant serial setup ioctls

   - switched to standardized serial comm failure/success reporting

   - battery.charge now continuous instead of discrete

   - shutdown delays now user-configurable

   - new command handlers: load.off, load.on, shutdown.reboot,
     shutdown.reboot.graceful, shutdown.return, and shutdown.stayoff

   - new variables: ups.delay.start, ups.delay.reboot, and 
     ups.delay.shutdown

   - coding style cleanups

   - additional protocol documentation in comments

   - clarify support in man page

   (Nicholas J Kain)

Thu Sep  2 07:32:42 UTC 2004 / Russell Kroll <rkroll@exploits.org>

 - fentonups: also recognize the Unitek Alpha 1000is with data supplied
   by Antoine Cuvellard.

Wed Aug 18 05:08:11 UTC 2004 / Russell Kroll <rkroll@exploits.org>

 - fentonups: added strings to detect SuperPower HP360 and Hope-550 models
   supplied by Denis Zaika.

Wed Aug 18 05:04:46 UTC 2004 / Russell Kroll <rkroll@exploits.org>

 - driver.list: Pulsar / Comet EXtreme are only supported by mge-utalk

   (Arnaud Quette) [patch-2.0.1-compat_extreme]

Tue Aug 17 09:54:21 UTC 2004 / Russell Kroll <rkroll@exploits.org>

 - bestfcom: upgraded to version 0.10:

   - improved 'stale driver' issue when dealing with inverter status
     alarm messages from the UPS

   (Kent Hill)

Thu Aug 12 10:08:45 UTC 2004 / Russell Kroll <rkroll@exploits.org>

 - libhid: force static on raw_usage[] since its value can be used
   outside that function.

Thu Aug 12 09:50:03 UTC 2004 / Russell Kroll <rkroll@exploits.org>

 - hidparser, libhid, mge-shut, newhidups:

    - lower USB bandwidth consumption (and staleness problems) by:
       - adding differential polling: only poll static vars
         at init time ; semi static vars (ie transfer level, and
         other settings) upon calls to instcmd/setvar (ie
         users changes) and keep polling volatile every time.
       - adding basic USB report buffering (only the last
         report is buffered for 2 seconds), which allows
         not to ask again a report previously called for
         another data. This divides GetReport request
         by 4 to 10, depending on the models.
    - adds "driver unbind" mechanism to force claiming of the
      device (Linux only),
    - switch to sys/types.h for hidtypes, hidparser and mge-shut
      (by side effect),
    - improves a bit the retry mecanism, and only call dsate_datastale()
      if it fails with MAX_TRY,
    - improves a bit configure mechanism for libusb,
    - adds the HIDDumpTree () function to allow debugging of the
      UPS' supported data (mostly for others than MGE),
    - add Mustek VendorID and case in upsdrv_initups(),
    - adds basic reconnexion code (disabled for now as it's
      not working [as expected]),
    - make a bit of code beautification.

  (Arnaud Quette) [patch-2.0.1_newhidups]

Thu Aug 12 09:46:32 UTC 2004 / Russell Kroll <rkroll@exploits.org>

 - main: expose 'pollinterval' as a driver.parameter entry

   (Arnaud Quette) [patch-2.0.1_store-pollinterval]

 - hidups, mge-utalk: use timehead.h for consistency.  

   (Arnaud Quette) [patch-2.0.1_timehead]

Thu Jul 29 06:18:28 UTC 2004 / Russell Kroll <rkroll@exploits.org>

 - bestups: allow forcing the ID response from ups.conf to support
   hardware which does not answer that query (like the SOLA 610) or
   which gives bogus data.  

   (Jason White)

Thu Jul 29 06:04:20 UTC 2004 / Russell Kroll <rkroll@exploits.org>

 - powermust:

    - fix data stale warnings when hotplugging USB devices
    - fix ups.delay.{start,shutdown} variables

   (Carlos Rodrigues) [nut-2.0.1-pre2-powermust1.0.diff]

 - bestuferrups: 

    - support the Micro Ferrups model RE
    - set ambient.temperature from the UPS
    - fix a bug where the data is always reported as stale

   (Tim Thompson)

2.0.1-pre2:

Sun Jul 18 08:54:58 UTC 2004 / Russell Kroll <rkroll@exploits.org>

 - upsmon, upssched, snmp-ups, upsd: don't pass raw strings from config
   files directly to upslogx(), since they are subject to % expansion
   problems.
   (Ulf Harnhammar) [nut.noconfigparsecrash.patch]

Fri Jul 16 07:47:28 UTC 2004 / Russell Kroll <rkroll@exploits.org>

 - hidups: work around missing HID_MAX_USAGES in hidups.h if necessary

Thu Jul 15 06:34:47 UTC 2004 / Russell Kroll <rkroll@exploits.org>

 - victronups: upgraded to 0.1.9, added support for instant commands:
   calibrate.start, calibrate.stop, test.battery.stop, test.battery.start,
   test.panel.stop, test.panel.start, bypass.stop, bypass.start
   (Gert Lynge)

Thu Jul 15 06:31:52 UTC 2004 / Russell Kroll <rkroll@exploits.org>

 - powermust: new driver for Mustek Powermust units.

   This overlaps with mustek, added in -pre1.  Let's work on merging
   these somehow to get one super driver out of the deal.

   (Carlos Rodrigues) [nut-2.0.0-powermust0.11.patch]

Thu Jul 15 06:10:39 UTC 2004 / Russell Kroll <rkroll@exploits.org>

 - bestfcom: new forked version of bestferrups which better handles the
   inverter status alarm messages and more.
   (Kent Hill)

Thu Jul 15 06:03:13 UTC 2004 / Russell Kroll <rkroll@exploits.org>

 - upssched: fix the CANCEL events which broke during the changeover to
   text-based socket messages in 1.5.
   (Steven Schoch) [upssched.c.diff]

Thu Jul 15 05:43:18 UTC 2004 / Russell Kroll <rkroll@exploits.org>

 - hidups: call HIDIOCINITREPORT in every poll to fix stuck variables.
   (Stuart D. Gathman) [tt]

Thu Jul 15 05:39:34 UTC 2004 / Russell Kroll <rkroll@exploits.org>

 - mge-utalk: upgraded to version 0.81:
    - fixes the lack of RW variables (add dstate_setflag() and 
      dstate_setaux() calls)
    - fixes the loss of synchro on some models that doesn't support 
      settings restoration

   (Arnaud Quette) [patch-2.0.0_mge-utalk_081]

Thu Jul 15 05:07:29 UTC 2004 / Russell Kroll <rkroll@exploits.org>

 - esupssmart: drop various init-time setinfo calls which were probably
   the result of a straight addinfo -> dstate_setinfo translation.
   Variables no longer require explicit initialization, so it's better
   to just set them when the data arrives from the UPS. 

Thu Jul 15 04:43:14 UTC 2004 / Russell Kroll <rkroll@exploits.org>

 - fentonups: add a sleep to let some hardware wake up and fix a parsing
   bug in the initial detection phase code.
   (MLH)

Thu Jul 15 04:40:41 UTC 2004 / Russell Kroll <rkroll@exploits.org>

 - man pages: turn literal "-" into either "\(hy" or "\-" as appropriate.
   (Shaul Karl)

Thu Jul 15 04:32:26 UTC 2004 / Russell Kroll <rkroll@exploits.org>

 - ippon: add new ups.conf variables for controlling shutdowns:
    - sdelay - delay before switching off
    - rdelay - delay before powering on (0 means never).

   (Yuri Elizarov) [ippon-shutdown.patch]

Thu Jul 15 04:23:28 UTC 2004 / Russell Kroll <rkroll@exploits.org>

 - metasys: new driver for Meta System models: HF Line, HF Millennium, 
   HF Top Line, ECO Network, ECO, Ally HF, Megaline
   (BlaXwan) [metasys-ver05-2.0.1-pre1.patch]

Thu Jul 15 04:22:09 UTC 2004 / Russell Kroll <rkroll@exploits.org>

 - cpsups: added support for the CPS 1500AVR-HO model
   (Brad Sawatzky] (patch.1500avr-ho)

Thu Jul 15 04:21:10 UTC 2004 / Russell Kroll <rkroll@exploits.org>

 - everups: added support for types 73-76: NET 700/1000/1400/500-DPC
   (hunter)

Thu Jul 15 04:18:25 UTC 2004 / Russell Kroll <rkroll@exploits.org>

 - docs/cables/apc-rs500-serial.txt: new cable pinout data for using
   the Back-UPS RS 500 on a system without USB ports.

Thu Jul 15 04:11:15 UTC 2004 / Russell Kroll <rkroll@exploits.org>

 - cpsups: stomp C99 variable declaration that slipped past me in pre1.
   Reported by Gert Lynge.

Thu Jul 15 04:08:02 UTC 2004 / Russell Kroll <rkroll@exploits.org>

 - driver.list changes:

   - esupssmart: Add Infosec models 
   - genericups type 15: add Powerware 5125

2.0.1-pre1:

Tue May  4 22:10:55 UTC 2004 / Russell Kroll <rkroll@exploits.org>

 - upsdrvctl, others: renamed uc_sigmask again to avoid conflicts with 
   local names on certain operating systems.  They are now quite verbose
   since I'm getting tired of doing this.  Reported by Patrick Gosling.

Tue May  4 21:43:35 UTC 2004 / Russell Kroll <rkroll@exploits.org>

 - mustek: new driver for Mustek UPS hardware.
   (Martin Hajduch)

Fri Apr 23 09:37:34 UTC 2004 / Russell Kroll <rkroll@exploits.org>

 - cpsups: renamed from cyberpower1100 to better reflect the supported
   range of hardware: Cyber Power Systems units with the text protocol.
   Support for the OP500TE was added, and a bug in the runtime
   calculation was fixed.
   (Walt Holman) [cpsups.diff]

 - genericups: added "CON" setting to detect when the UPS is 
   disconnected.  This is only effective if your UPS or cable supports
   this feature.
   (stan / saticed.me.uk)

2.0.0:

Tue Mar 23 20:01:09 UTC 2004 / Russell Kroll <rkroll@exploits.org>

 * Version number bump for release

Mon Mar 22 22:52:38 UTC 2004 / Russell Kroll <rkroll@exploits.org>

 - drivers/Makefile.in: restore 'usb' target (instead of 'usbups')
   (Arnaud Quette) [patch-1.5.15_install-usb]

1.5.15:

Tue Mar 16 20:53:25 UTC 2004 / Russell Kroll <rkroll@exploits.org>

 - upsd/netuser.c: include user.h to pick up the prototype for 
   user_checkaction

Tue Mar 16 20:41:27 UTC 2004 / Russell Kroll <rkroll@exploits.org>

 - upsd: actually check for MASTER privileges instead of allowing it
   for everyone.  This is not a hole, because MASTER is just a permission
   check command for upsd and doesn't do anything by itself.

 * Various documentation updates throughout

Sat Mar 13 09:49:27 UTC 2004 / Russell Kroll <rkroll@exploits.org>

 - newhidups.8: reflect a known issue where the driver may report
   staleness.  Future versions of the driver will address this.
   (Arnaud Quette) [patch-1.5.14_newhidups_manpage]

 - mge-utalk: fix a bug that prevented shutdowns and adjust delays
   for shutoff / restart to more coherent values
   (Arnaud Quette) [patch-1.5.14_mge-utalk_shutoff]

 - mge-shut.8, FAQ: add extra details for staleness handling
   (Arnaud Quette) [patch-1.5.14_mge-utalk_manpage]

1.5.14:

Mon Mar  8 12:12:25 UTC 2004 / Russell Kroll <rkroll@exploits.org>

 - various: cleaned up tab damage throughout

Mon Mar  8 10:01:02 UTC 2004 / Russell Kroll <rkroll@exploits.org>

 - main: allow 'pollinterval' to be set in the per-UPS sections

Mon Mar  8 09:57:23 UTC 2004 / Russell Kroll <rkroll@exploits.org>

 - upssched: use the whole argument given to system when complaining
   about errors instead of just the timer name.  Reported by 
   Ulrich Felzmann.

Mon Mar  8 09:44:01 UTC 2004 / Russell Kroll <rkroll@exploits.org>

 - newhidups, libhid: mega-merge of this driver subsystem.  This is
   required if you want to monitor a MGE UPS on Linux 2.4.25 or higher.
   Unlike the current hidups driver, this one will be portable.
   (Arnaud Quette, Charles Lepple) [patch-1.5.13_newhidups011]

Sun Feb 29 05:33:19 UTC 2004 / Russell Kroll <rkroll@exploits.org>

 - dstate: switched to per-socket parseconf context buffers to fix
   a bug where dangling characters from one connection could pollute
   another.  This would only happen with a custom server-level program
   that did something like 'write(sockfd, "blah\nfoo", 8)'.

Sun Feb 29 03:15:06 UTC 2004 / Russell Kroll <rkroll@exploits.org>

 - driver.list: added Pulsar ESV (mge-utalk) and UM-Link (snmp-ups)
   compatibility, dropped the experimental tag for mge-shut
   (Arnaud Quette) [patch-1.5.13_mge-compatlist]

 - mge-shut: bugfix patch:

   - fixes an OB status redundancy, and set OB as default (will be
     enhanced later on),
   - fixes wrongly typed RW vars (need to be STRINGs), and add length
     for these (auxdata),
     => will close finally Debian Bug #232402 and #234037
   - fixes test.battery.start, and add the matching .stop (not available
     on all models!),
   - add variable ups.test.result (same hid path as the above, but read
     only),
   - adjust ups.delay.* to lower and more coherent values (20 s for
     shutdown, and 30 s for startup)
   - update manpage accordingly,
   - various minor cleanups,
   - bump driver version to 0.59.
   (Arnaud Quette) [patch-1.5.13_mge-shut_059]

 - ippon: upgraded to 0.02 to small bugs in the init and shutdown code.
   (Alexander Fedorov) [patch-0.02]

1.5.13:

Thu Feb 19 20:19:36 UTC 2004 / Russell Kroll <rkroll@exploits.org>

 - docs/*: various updates, including a reworked new-names.txt

Thu Feb 19 01:03:52 UTC 2004 / Russell Kroll <rkroll@exploits.org>

 - upsdrvctl.8: resolve doclifter report: () -> {}
   (Eric S. Raymond)

 - everups: fix reversed versions - the NUT tree version goes in ()

 - cyberpower1100: fix inline declarations in upsdrv_initinfo.
   Reported by Paco Brufal.

Thu Feb 19 01:02:25 UTC 2004 / Russell Kroll <rkroll@exploits.org>

 - mge-utalk: added the "oldmac" flag to support OldWorld Macintosh
   systems
   (Arnaud Quette) [patch-1.5.12_mge-utalk_oldmac2]

Fri Feb  6 22:53:41 UTC 2004 / Russell Kroll <rkroll@exploits.org>

 - INSTALL: use chown examples with a colon for BSD compatibility

Thu Feb  5 00:33:56 UTC 2004 / Russell Kroll <rkroll@exploits.org>

 - mge-utalk:
   - fixes the status set to FSD (replaced by OB+LB),
   - correct manpage: suppress sddelay / FSD references, add
     PowerSave to the TODO list, and add Pulsar EL support,
   - copyright year updates,
   - version bumped to 0.80.2.
   [Arnaud Quette] (patch-1.5.12_mge-utalk_update)

Tue Feb  3 17:16:00 UTC 2004 / Russell Kroll <rkroll@exploits.org>

 - upsd: don't exit from upsd_cleanup so the callers get to set the
   right exit code based on what's happening

 - mge-shut: forward-port fixes from 1.4 tree:
   - atomic calls to dstate_dataok/stale,
   - enhance basic status fetching,
   - copyright year update,
   - version bumped to 0.58.
   [Arnaud Quette] (patch-1.5.12_mge-shut_update)

 - powercom: revise model names: KIN-525AP is now KIN525AP
   [Shaul Karl]

1.5.12:

Mon Feb  2 03:56:27 UTC 2004 / Russell Kroll <rkroll@exploits.org>

 - cyberpower1100: new driver for CyberPower 1100AVR hardware
   [Walt Holman]

Sat Jan 31 21:31:03 UTC 2004 / Russell Kroll <rkroll@exploits.org>

 - upsdrvctl: changed fork/exec code to use waitpid instead of SIGCHLD.
   This means the failure status is now available, and upsdrvctl will
   exit(EXIT_FAILURE) if any of the drivers fail to start or take too
   long to start.

   All three modes (start, stop, shutdown) now report errors this way.
   This exit code can be used in scripts to check for problems.

 - upsd: reworked exit flag (renamed from stop flag for consistency)

 - upsmon, upslog: reworked exit flags and signal handlers

Sat Jan 31 20:51:57 UTC 2004 / Russell Kroll <rkroll@exploits.org>

 - main, serial, dummycons: reworked exit_code logic to preserve the
   signal number until shutdown to avoid calling syslog in the signal
   handler

 - main: use xstrdup on values from getopt that get freed later
   (Peter Eriksson)

Tue Jan 20 09:19:33 UTC 2004 / Russell Kroll <rkroll@exploits.org>

 - snmp-ups: added the 'notransferoids' ups.conf option to disable 
   monitoring of the high and low transfer voltage points.  This is
   necessary on some APCC Symmetra equipment due to some reporting
   strangeness with three-phase power.

   If your Symmetra generates a red voltage block in upsstats, you
   probably need to use this flag.

Mon Jan 19 13:05:06 UTC 2004 / Russell Kroll <rkroll@exploits.org>

 - serial, cyberpower: fix %02x format strings

Mon Jan 19 13:01:53 UTC 2004 / Russell Kroll <rkroll@exploits.org>

 - powercom: add KIN1500AP support and fine-grained control over the
   different hardware-specific parameters for easier testing.
   (Shaul Karl)

1.5.11:

Thu Jan 15 06:06:55 UTC 2004 / Russell Kroll <rkroll@exploits.org>

 - energizerups.8: note that a kernel patch isn't always necessary.
   (Viktor T. Toth)

 - INSTALL: /var/state/ups should be 0700, not 0600.  Reported by
   Richard Massa.

Fri Jan  9 20:41:11 UTC 2004 / Russell Kroll <rkroll@exploits.org>

 - upscommon: removed

 - masterguard, esupssmart: changed upssend to ser_send_pace

 - tripplite, bestuferrups, etapro, sms: changed upssend to ser_send

Fri Jan  9 20:21:14 UTC 2004 / Russell Kroll <rkroll@exploits.org>

 - common/strlcpy: no longer needed; removed

 - upscommon: removed dead code

 - tripplite, sms, etapro, esupssmart, masterguard, bestuferrups: 
   changed upsrecv to ser_get_line

 - tripplitesu, everups: changed upsrecvchars to ser_get_buf_len

Fri Jan  9 19:57:18 UTC 2004 / Russell Kroll <rkroll@exploits.org>

 - genericups: added sdtime= setting to hold the control lines at the
   shutdown state for a specified period.  This should help reliability
   on hardware that needs a steady state instead of an edge on the
   shutdown line(s).

Fri Jan  9 19:18:07 UTC 2004 / Russell Kroll <rkroll@exploits.org>

 - powercom: added support for KIN-525AP and finished conversion 
   to the new serial functions.
   (Shaul Karl)

Tue Jan  6 20:25:13 UTC 2004 / Russell Kroll <rkroll@exploits.org>

 - belkinunv: converted to the new ser_ functions.
   (Peter Selinger)   

 - safenet: updated to version 0.03.
   (Arjen de Korte) [safenet-1.5.10.diff]

Mon Jan  5 02:42:59 UTC 2004 / Russell Kroll <rkroll@exploits.org>

 - bestups: use S01R0001 for all shutdown situations so an on-battery
   shutdown isn't a one-way trip.

1.5.10:

Sun Dec 28 07:04:52 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - various drivers: converted open_serial, upsflushin and upssendchar calls

Sat Dec 27 10:22:27 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - mge-utalk: minor serial conversions; bumped to 0.80.1

Sat Dec 27 10:03:10 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - isbmex: minor serial conversions; bumped to 0.03

Sat Dec 27 09:56:49 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - esupssmart: started conversion to serial from upscommon; bumped to 0.21

Sat Dec 27 09:36:17 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - blazer: converted to serial from upscommon; bumped to 0.07

 - victron: converted to serial from upscommon; bumped to 0.1.8

Sat Dec 27 09:20:41 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - powercom: changed final upscommon calls to serial equivalents

Sat Dec 27 03:59:41 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - apcsmart, bestups: use #defines instead of literals for 
   ser_read wait values 

Sat Dec 27 00:52:18 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 * Started changing URLs throughout:

   Old: http://www.exploits.org/nut/
   New: http://www.networkupstools.org/

   Specific references to pages other than the top level use the 
   random.networkupstools.org hostname to spread the load across
   the mirrors.

Sat Dec 27 00:35:59 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - serial: fix upsfd/fd naming when using lockf code.  Reported by
   Pascal Hennequin.

Sat Dec 27 00:33:30 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - ippon: new driver for Ippon UPS devices (Alexander Fedorov)

 - belkinunv: minor typo and doc fixes, bumped to 0.05
   (Peter Selinger)

 - powercom: changed to ser_ equivalent functions (Shaul Karl)

Sat Dec 27 00:18:41 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - bestups: added nombatvolt= setting to override the nominal battery
   voltage data returned by the UPS.  This means you can finally have
   a reading of 100% when it's fully charged.  The driver also now
   publishes the data as battery.voltage.nominal for later reference.

Tue Dec  2 21:52:17 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - oneac: this driver has been upgraded to the new naming scheme and
   serial code, and is welcomed back to the tree.
   (Eric Lawson)

Tue Dec  2 21:47:52 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - victronups: added code to ignore spurious \n characters in responses
   which sometimes caused bad readings in certain variables.
   This version also now uses the new ser_ functions.
   (Gert Lynge) [nut159_victron_0_1_6_to_0_1_7_patch]

1.5.9:

Wed Nov 26 16:14:55 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 * Various doc updates throughout

Wed Nov 26 02:36:07 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - cyberpower: dropped the experimental tag and bumped it to 1.00.  Recent
   development have made this quite stable, and the addition of shutdown
   code pushed it out of 0.x territory.

Wed Nov 26 02:17:33 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - powercom: switched the raw read function to use the new ser_get_buf_len
   to allow some more old code to be removed from upscommon

Tue Nov 25 19:55:50 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - upsc, upscmd, upsrw: check for insanity in the UPS argument and 
   provide a clearer error message about the upsname@hostname format

Tue Nov 25 19:19:57 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - mge-shut: rename a few things that used the same names as various
   common functions (index, strlen, read)

Tue Nov 25 19:13:19 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - belkinunv: new driver for Belkin Universal UPS hardware.
   (Peter Selinger)

Sun Nov 16 08:48:37 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - drivers, upsd: added 'static' to various functions that aren't called
   from external parts of the code

1.5.8:

Sun Nov  2 21:58:14 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - driver.list: update Fenton compatibility to include the P-series
   (Arjen de Korte) [driver.list.diff]

 - victronups: fix OB/OL reporting bug (Gert Lynge)
   [nut-1.5.7_patch]

 - driver.list: fix Repotec/Repoteck confusion (Arjen de Korte)
   [nut-1.5.7.driver.list.diff]

 - genericups: added type 20 for the Powerware 5119 RM.  (Daniel Thompson)
   [http://lists.exploits.org/ups/Oct2003/00052.html]

Sun Nov  2 21:30:18 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - dummycons: added ali/als/alc commands to allow testing of the new
   dstate alarm functions

 - dstate: added alarm_init/alarm_set/alarm_commit functions which work
   just like their status_* counterparts.  These functions also manage
   the ALARM flag in ups.status automatically.

Fri Oct 31 16:42:53 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - serial: make sure it doesn't read too far ahead in ser_get_buf_len

Fri Oct 31 16:27:11 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - serial: only pass the basename of ttys to uu_lock

Fri Oct 31 15:03:06 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - configure.in: explicitly test for EGREP so things don't break on
   FreeBSD systems.

Mon Oct 27 18:02:55 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - apcsmart: added a workaround to not die when the capability string
   overflows at startup on models with the 451.2.I firmware.  Reported
   by Frank Weise.   

Mon Oct 27 17:59:57 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - upsd: check the exit flag during the "Synchronizing.." step so you
   can actually abort it with ^C without waiting for the timer to expire.

Mon Oct 27 17:56:44 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - apcsmart: reworked status code to use #defines instead of magic numbers

Thu Oct 23 06:32:32 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - cmdvartab: recognize beeper commands (Arjen de Korte)

Thu Oct 23 06:27:50 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - safenet: upgraded to 0.2; fixed a typo (LB, not BL) (Arjen de Korte)
   [safenet.diff]

1.5.7:

Sat Oct 18 21:42:17 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - safenet: new driver for UPS hardware which uses the protocol of the
   same name.  This should support units from many manufacturers, including
   Fairstone, Fenton, Gemini, Powerwell, Repotec, Soltec and Sweex.
   See the driver.list or README file for the full details.
   (Arjen de Korte)

Wed Oct 15 19:15:24 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - snmp-ups apccmib: set the input transfer voltages to sane values
   by using upsAdvConfigHighTransferVolt and
   upsAdvConfigLowTransferVolt.  This backs out the change from July
   which appeared to fix the Symmetra but actually caused another
   problem.

   Three-phase units like the Symmetra will need additional special-case
   code to handle voltage reporting sanely.

Wed Oct 15 19:03:44 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - cmdvartab: added clarifying units and fixed the battery.voltage
   description.  (Eric S. Raymond)

Wed Oct 15 18:59:47 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - upslog: catch more signals and cleanly exit whenever possible

Mon Oct 13 21:38:29 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 * various: changed the docs to suggest config files that are owned
   by root.nut and mode 0640.  That lets the daemons read the files
   without being able to write to them.  Bad things could happen if 
   an attacker gained access through a daemon and started editing the
   config files. 

   The references to linux-hiddev were also clarified to show that it
   wants a complete path name and not just a directory.

   Reported by Patrick Smith.

Mon Oct 13 21:26:57 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - fentonups: added a new entry to the mtab2 to recognize the 
   Effekta MT 2000 RM models.  Users with other Effekta MT and MH models
   should be able to use this as a guideline.  (christoph moar)

Sat Oct 11 18:43:08 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - dummycons: cleaned up input routine by having dstate select stdin

 - apcsmart: enabled extrafd mechanism

 - dstate, main: changed fd polling routine to allow checking an extra
   fd in the usual select loop.  This lets drivers wake up when the
   UPS talks to them rather than waiting for the pollinterval to elapse.

Sat Oct 11 18:33:43 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - main: tell getopt to give us an argument for -i

Sat Oct 11 18:10:41 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - apcsmart: added support for ser_get_line_alert.  The OL/OB, LB, and
   RB status values will now be changed immediately if the UPS sends
   an alert character.  There may still be a small delay if the driver
   is waiting in dstate.

 - serial: added ser_get_line_alert to allow callbacks to the driver
   when an asynchronous alert character is received.

 - serial: reworked the existing ser_set_line to be a wrapper of
   ser_get_line_alert with the alert detection disabled.

1.5.6:

Tue Sep 30 05:08:54 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - drivers/Makefile.in: don't link upscommon into hidups, energizerups,
   or snmp-ups since they don't use any of those functions

Tue Sep 30 05:02:50 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - various: fix tab damage throughout

Tue Sep 30 04:16:30 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - upsdrvctl: clean up dynamic memory at exit

Tue Sep 30 03:49:57 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - parseconf: store strlen results in temporary buffers rather than
   calling it every time through a loop for better efficiency

 - parseconf: grow the wordbuf 8 characters at a time to cut down on
   calls to realloc

 - upsd: created per-client net parsing context buffers to avoid the
   memory churn from the repeated calls to pconf_init/pconf_finish.
   This was really noticeable when torturing upsd with things like
   'cat /dev/urandom | nc localhost 3493' - thousands of allocs and frees
   would be reported by valgrind.

Tue Sep 30 03:16:29 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - main, dstate: free more dynamic memory at exit (vartab, others)

Tue Sep 30 03:10:15 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - bestups: cleaned up the init sequence to avoid unnecessary dynamic
   memory and two small related leaks

Mon Sep 29 06:35:45 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - apcsmart: added a firmware lookup table to support very old and 
   very new hardware.  If your APC UPS doesn't support the 'a' query,
   you probably need to use this.  Affected hardware includes the
   CS 350 and the old Matrix 5000 series.

   Note: on the CS 350, you probably need to set sdtype=4 or you will
   not be able to shut down the UPS in all situations.  Test it to be
   sure.

 - apcsmart: added sdtype 4 for odd hardware that can't shut down the
   load unless it's running on battery.  This type forces the OB state
   temporarily and then starts the shutdown.  This technique was
   discovered by Martin Maney.

Mon Sep 29 06:05:43 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - upslog: moved the pid file creation before the point where root is
   dropped so it can actually work again.  (Yuri A. Nosyrev)

Mon Sep 29 05:45:39 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - Makefile: don't call install-cgi-conf by default.  (Shaul Karl)

Mon Sep 29 05:25:54 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - bestups: moved the usual sync/ident checks into the normal init
   path so they don't try to run during the shutdown sequence

Mon Sep 29 05:00:41 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - bestups, fentonups: switched error reporting to common functions

Mon Sep 29 04:53:33 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - apcsmart, cyberpower, belkin: switched error reporting for normal 
   polls to use the ser_comm functions, since they perform rate-limiting

Mon Sep 29 03:14:59 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - genericups: changed to new serial functions and applied minor cleanups

Mon Sep 15 17:00:35 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - liebert: converted to new serial functions 

Mon Sep 15 15:29:10 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - upsset, upscmd: use getpwuid and getuid to get a reasonable default
   value for the Username prompt.

Mon Sep 15 15:12:02 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - upsd: actually return when no args are presented to parse_net rather 
   than continuing, which usually makes upsd fall over.

Mon Sep 15 14:45:00 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - upsimage: fix the nominal voltage handling so it doesn't go to 
   the neutral color just above that point.  It should now give a 
   green range flanked by grey with red outside that.

Mon Sep 15 14:33:18 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - bestups: reworked init sequence to use "pace" functions.  The hardware
   likes this a whole lot better, and it usually answers on the first
   attempt now.  It now starts in under a second, compared to almost 10
   before.

 - bestups: converted to serial functions

Mon Sep 15 12:41:26 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - cyberpower: changed raw read/write calls to ser_* equivalents

Mon Sep 15 12:13:12 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - upsd: don't print "Success" when a driver closes the state socket
   and read returns 0

Mon Sep 15 12:09:22 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - belkin: added a workaround for the brain damage on firmware 001
   with the truncated RAT command.  This fixes the annoying timeout
   warning and unnecessary delay when the driver started.

Mon Sep 15 11:10:38 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - belkin: changed the read sequence to sleep based on the expected
   response length to minimize the churn during normal polls

 - belkin: converted to ser_* functions

 - cyberpower: changed to not use upscommon functions without converting
   raw reads and writes

Mon Sep 15 10:19:44 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - apcsmart: changed the polling routines so a failure during normal
   operations makes it return to the GOSMART/ESC sequence immediately.
   It also resets the "last full time" counter so all of the variables
   will be refreshed when the UPS returns.

Mon Sep 15 08:38:08 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - mge-shut: squashed disallowed C++ style // comment

 - main: moved in signal handling and atexit cleanup operations from
   upscommon

 - main, dummycons: deal with things that disappeared from upscommon

 - dstate: moved status_init/set/commit here from upscommon

 - dstate: added dstate_is_stale()

 - apcsmart, fentonups: converted to ser_* calls

 - serial: added a new set of functions just for serial port operations.
   This is intended to replace the mess that is currently in upscommon.

   One of the big changes here is the intended replacement for upsrecv,
   which is called ser_get_line.  This has been written to use select
   rather than alarms, and it reads using 64 byte chunks.  It still
   stops when it sees endchar, but anything after it is lost.

   In other words, don't convert blindly from upsrecv to ser_get_line
   unless it's really a line-type protocol on polled hardware.

 - drivers/Makefile.in, gendb: added serial.o to deps

 - common: moved rtrim here from upscommon

Fri Sep 12 10:19:39 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - upsclient: report "Server disconnected" (UPSCLI_ERR_SRVDISC) when
   a read from the network returns 0.

1.5.5:

Fri Sep 12 08:24:21 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - Makefile.in: the install target no longer calls 'install-conf'.  This
   target only installs the .sample files, and they're quite annoying
   when your system is already configured properly.  The install-conf
   target will still be available for manual use.

Sat Sep  6 02:01:57 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - belkin: changed the shutdown sequence to something that doesn't
   focus on outlet breakers.  This new one controls the whole UPS, and
   has been tested to work on my F6C525-SER both on line and on battery.
   This new sequence should work better on more kinds of hardware.

   If you use this driver, you need to test this and make sure it still
   behaves as expected on your system.  This was based on the original
   report from Robin Glover.

 - upsmon: removed old code for doing FSD without a upsname

 - belkin: fixed input.frequency to be the input and not the output,
   added the real output.frequency, and added battery.temperature

 - upsmon: don't print the reason from strerror() twice when upsmon.conf
   can't be opened at startup

 - upsmon: do the -K test after reading upsmon.conf so it actually knows
   where to look for the flag file.

Sat Sep  6 00:28:09 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - energizerups: only report staleness after 3 failed poll attempts.
   (Viktor T. Toth)

Thu Sep  4 00:30:24 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - upsd: actually disconnect a fd when the client drops off instead of
   spinning forever and consuming all of the CPU

1.5.4:

Tue Sep  2 18:40:42 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - upsd: explicitly free client struct data at exit for easier leak
   analysis

 - upsd: fixed a bogus free() in the cmdvartab code.  This only ran when
   upsd exited, so there was no chance of it breaking something.

 - upsd: dropped the confusing level-based access which used things like
   monitor, base and once had many more options.  Now it's just ACCEPT
   or REJECT, and the ACCESS word is no longer honored in upsd.conf.

   Old way:

	ACCESS grant all adminbox
	ACCESS grant all webserver
	ACCESS deny all all

   New way:

	ACCEPT adminbox
	ACCEPT webserver
	REJECT all

   Note that ACCEPT and REJECT can take multiple arguments, so this
   will also work:

	ACCEPT adminbox webserver
	REJECT all

   These changes now allow you to reject an existing connection.  If
   a client was previously allowed to connect and then has that
   access revoked by editing upsd.conf and reload upsd, it will be
   disconnected when it sends another command.

Tue Sep  2 17:39:25 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - upsd: test whether a host is allowed to connect before going 
   through the work of creating the client struct only to delete it again

 - upsd: simplified delclient() calls by adding a "delete" flag to 
   the client struct and only calling it from one place when that
   flag is set

Tue Sep  2 17:27:53 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - upsd: sprinkleed const throughout the handlers
 
 - upsd: handle action/instcmd checking in the handlers to simplify netcmds[]

Tue Sep  2 16:36:59 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - upsconf: forced "required" since all callers had that set anyway

 - upsd: cleaned up conf functions and simplified entry points

Tue Sep  2 16:17:24 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - upsd: clean up ups add/redefinition functions and move into conf.c

Tue Sep  2 16:06:44 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - upsd: cleaned up the network read code, dropping the old net parser

 - upsd: moved all remaining handlers in upsd.c to net_*.c

Mon Sep  1 18:50:39 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - lib/*: include SSL_CFLAGS and SSL_LDFLAGS too

Mon Sep  1 18:40:31 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - configure.in, lib/Makefile.in: explicitly set USE_PKG_CFG and test
   it before trying to do anything with pkg-config directories or files

Mon Sep  1 18:09:46 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - configure.in: changed default location of hiddev.h to /usr/include/linux
   since /usr/src/linux isn't always usable

Mon Sep  1 18:05:39 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - hidups: test for "Smart-UPS" and clean up the mfr/model data if found.
   Based on the original patch by George Ross.

Mon Sep  1 17:51:27 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - mge-shut: add input.{voltage,frequency} and output.{frequency,current}
   (Arnaud Quette)

Mon Sep  1 17:49:08 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - upsimage: use the input transfer voltages again so the input graph
   shows the right normal/warning regions

Mon Sep  1 17:44:06 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - configure.in: read include/version for use in the new pkgconfig/helper
   script as @NUT_VERSION@

Mon Sep  1 17:33:39 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - energizerups: new driver for Energizer UPS hardware.  (Viktor T. Toth)

Mon Sep  1 17:28:26 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - configure.in, lib/*: create helper data for pkg-config and a separate
   script which is installed during 'make install-lib' for external
   client builds.  (Arnaud Quette)

Mon Sep  1 17:26:47 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - victronups: actually applied the patch for better IMV Match Lite
   support from Daniel Prynych

Mon Sep  1 17:25:09 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - configure.in, clients/Makefile: use AR value from configure, and
   use ranlib when it exists to make libupsclient.a build on Mac OS X.
   (Petter Reinholdtsen)

1.5.3:

Mon Aug 25 08:01:58 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - hidups, snmp-ups: minor signed/unsigned comparison fixes

Mon Aug 25 07:52:13 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - configure, clients: look for getpassphrase and use it when it exists,
   since getpass on those systems only provides up to 8 characters.
   Reported by Gabriel Faber.

Sun Aug 24 15:02:31 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - various: clean up prototypes, and add static where appropriate

Sun Aug 24 14:48:35 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - various: explicitly use (void) in function prototypes instead of ()

Sun Aug 24 14:43:23 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - various: add const to char * declarations where appropriate

Sun Aug 24 14:18:57 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - upscommon, main, drivers: clean up shadowed variables

 - upsmon, upssched: clean up variables which shadow each other

 - upsmon: rename variables pipe and stat to avoid clashing with system
   functions of the same name

Sun Aug 24 13:52:19 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - drivers, common: use EXIT_SUCCESS or EXIT_FAILURE

Sun Aug 24 13:40:41 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - main: added explicit frees of dynamic memory when exiting due to a
   caught signal

 - clients, upsd: use EXIT_SUCCESS or EXIT_FAILURE

Sun Aug 24 11:24:25 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - upsmon: changed all exit calls to use EXIT_SUCCESS or EXIT_FAILURE

Sun Aug 24 11:17:24 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - upsmon: added -K argument to test for the existence of the 
   POWERDOWNFLAG.  When it exists and has been set by upsmon, it 
   contains a magic string.  upsmon will exit(EXIT_SUCCESS) in this
   case, and exit(EXIT_FAILURE) in any other.

   This means you can dump the "test -f /etc/killpower" junk in your
   shutdown scripts and do something a bit cleaner like this:

	if (/usr/local/ups/sbin/upsmon -K)
	then
		/usr/local/ups/bin/upsdrvctl shutdown

		# sleep, reboot, whatever ...
	fi


Sun Aug 24 10:52:37 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - main: added support for 'chroot' and 'user' to be set in the global
   part of ups.conf.  This means you don't have to use -r and -u for
   those features.

Sun Aug 24 10:47:01 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - main: clean up variables and set static on some to prevent future
   info-grabbing anomalies

 - powercom: dropped references to main's do_forceshutdown - drivers
   were never supposed to use this value for anything

Sun Aug 24 10:42:31 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - upsmon: dropped "-i"

Sun Aug 24 10:38:05 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - upsmon: dropped "-d".  Debugging info is accessed with -D, just like
   upsd and upsmon.

Sun Aug 24 10:28:12 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - upsdrvctl: main's -d is gone, so don't set '-d 0' any more.

 - mge-shut, mge-utalk, powercom, sddelay: removed references to sddelay.

 - main: drop sddelay and -d, since it has confused driver authors and
   users for years.  If you want a delay after calling 'upsdrvctl shutdown',
   call sleep in your script.

Sun Aug 24 10:15:43 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - Makefile: add new targets for building and installing the snmp-ups
   driver and man page separately. (Arnaud Quette) [patch-1.5.2_make-snmp]

 - blazer: fix startup messages by using printf (Arnaud Quette)

Sun Aug 24 09:54:09 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - bcmxcp, microdowell, oneac: removed drivers with broken_driver set

Sun Aug 24 09:51:44 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - configure: use the socklen_t detection from rsync (and everywhere else)

 - configure: add -Wsign-compare when using gcc to hopefully prevent more
   sign comparison issues from creeping in later

Sun Aug 24 09:48:31 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - Makefile.in: don't keep calling lower-level Makefiles when one fails.
   (Petter Reinholdtsen, Charles Lepple)

 - upscommon, drivers: clean up more sign issues

Sun Aug 24 09:22:39 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - clients: other minor signed/unsigned comparisons fixed

 - clients: fixed calls and definitions involving numq and numa

 - upsclient: numq and numa can never be negative, so they've been changed
   to unsigned int

Sun Aug 24 09:11:49 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - upsd: cleaned up a few signed/unsigned comparisons - check for negative
   returns, then cast sizeof to int and do the rest

Sun Aug 24 09:01:53 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - upsd: fixed two leaks where the user command and action data wouldn't
   be freed during a reload

 - upsd: dropped useless arg from sstate_getinfo

 - upsrw: dropped useless arg from print_rwlist

 - upssched: dropped useless arg from open_sock

Sun Aug 24 08:56:23 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - upsdrvctl: removed -i - this belongs in ups.conf (and didn't work anyway)

1.5.2:

Sat Aug 16 16:43:19 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - main: added 'pollinterval' as a global setting in ups.conf

Sat Aug 16 16:38:44 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - main, upsdrvctl: applied patch from Gabriel Faber adding the
   -i argument to set the poll interval in the driver.

Sat Aug 16 16:33:50 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - Makefile.in: changed install-misc target to install-lib for consistency

Sat Aug 16 16:31:03 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - upsstats: clean up the hosts.conf error page.  Reported by Bill Richter.

Sat Aug 16 16:27:04 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - victronups: applied patch from Daniel Prynych which adds better
   support for IMV MATCH Lite hardware.

Mon Aug 11 16:27:51 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - parseconf: use size_t instead of ints where appropriate

Mon Aug 11 15:45:54 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 * various: other minor fixes to please 'gcc -pedantic'

 - configure: test for socklen_t, and fall back to int if it's not there

 - upsd, upssched, sstate: use socklen_t instead of int where applicable

Mon Aug 11 15:43:50 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - upsd: don't return (func) in a function that returns void.
   Reported by Gabriel Faber.

Mon Aug 11 15:26:09 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - mge-shut: change ulong to unsigned long to fix compiles on FreeBSD

Mon Aug 11 15:23:58 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - snmp-ups: applied patch from Arnaud Quette fixing the other
   FLAG_* changes that I missed for 1.5.0.

Mon Aug 11 15:06:09 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - snmp-ups: applied patch from Arnaud Quette fixing a bug where it
   demanded a mib.conf even though that is not necessary yet.

Mon Aug 11 15:02:29 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - blazer: new driver Phil Hutton for Blazer UPS equipment, via
   Arnaud Quette.

Mon Aug 11 13:28:20 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - configure, mge-shut, hidparser: applied patch from Arnaud Quette
   fixing endianness issues on some architectures

Wed Aug  6 09:15:25 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - apcsmart: actually read the response from the UPS after starting 
   runtime calibration so we don't get out of sync.  This fixes a bug
   where the status could go blank for a few seconds.

1.5.1:

Sat Aug  2 02:01:30 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - clients/Makefile.in: upssched no longer needs strlcpy

Sat Aug  2 01:56:56 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - configure.in, clients/Makefile.in: build and use libupsclient.a
   when ar is available.

Wed Jul 30 05:36:53 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - upsd: switch to just a plain write() for network I/O now that
   UDP is gone

Wed Jul 30 05:34:20 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - upsd: dropped UDP support since it wasn't being used anyway.

1.5.0:

Wed Jul 30 01:35:25 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - cyberpower: beautify the source somewhat

Wed Jul 30 01:31:10 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - various: added code to check the return code from upscli_splitname.
   It now refuses to split the input if you don't provide a UPS name.
   The UPS name is required by the new protocol.  There is no default.

Wed Jul 30 01:26:09 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - upsset: dropped code for old variable and command names

Wed Jul 30 01:07:00 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - upsstats: changed calls to upsimage to new names

 - upsimage: converted imgvar[] entries to new names

Tue Jul 29 23:40:02 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - upsstats: mostly converted to the new variable names.  There are a 
   few lingering things like UTILITYCOLOR.

Tue Jul 29 21:32:56 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - newapc: renamed to apcsmart.  What was the oldest driver in the tree 
   is now officially retired.

Tue Jul 29 21:24:56 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 * Removed all of the code that supports the old variable/command names,
   including the various header files, all support functions, and so on:

   - Removed unconverted drivers: bestferrups801-807, bestfortress, 
     hp, sec, powernet

   - Dropped "new" vs. "old" code in clients: upsclient, upsc, upscmd,
     upslog, upsmon, upsrw

   - Fixed references to "FLAG_RW" and "FLAG_STRING" to be their ST_ 
     versions: snmp-ups, mge-shut, mge-utalk

   - Dropped variable/command name conversions: dstate, sstate, upscommon

   - Moved driver callbacks from "new_*" to their final names: upscomon,
     apcsmart, belkin, bestups, cyberpower, dummycons, esupssmart,
     etapro, fentonups, mge-shut, mge-utalk, microdowell, newapc,
     oneac, powercom, sms, snmp-upw, tripplite, tripplitesu, 

   - Dropped entire "oldnet" file of upsd

   * Total savings: about 224 KB of source.

   The CGI programs have not been converted yet, so 'make cgi' is broken
   at the moment.

Tue Jul 29 21:24:17 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 * Forked from 1.4.0 to start the new 1.5 dev tree.

1.4.0:

Fri Jul 25 14:59:51 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 * Final documentation cleanups for release.

Tue Jul 22 11:45:13 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - tripplitesu: new driver from Allan Hessenflow for Tripp Lite SU
   (SmartOnline) equipment.

1.3.13:

Fri Jul 18 04:01:43 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - upsd: complain about bad ACCESS level names in the syslog

Mon Jul 14 22:23:41 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - snmp-ups: set VAR_SENSITIVE on the SNMP community

 - main: add VAR_SENSITIVE to mark variables that should not be published
   in the driver.parameter tree

Mon Jul 14 20:42:13 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - snmp-ups: don't call dataok when the target host is down

 - snmp-ups: fixed a NULL pointer dereference when the far end was
   unreachable

Fri Jul 11 00:54:14 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - mge-shut: applied patch from Arnaud Quette fixing another data
   refresh problem that resulted in updates that only touched the status.
   [patch-1.3.12_mge-shut]

Fri Jul 11 00:48:06 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - genericups: added support for overriding the different parts of a
   UPS type (CP, OL, LB, SD) for custom monitoring based on a patch
   from Maarten Brock.   

1.3.12:

Wed Jul  9 17:48:43 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - victronups: applied patch from Daniel Prynych which finishes the
   conversion to 1.3 and adds dataok/datastale calls.

Sat Jul  5 12:20:26 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - snmp-ups: use xmalloc, not malloc

Sat Jul  5 12:05:23 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - upsd: clean up ERR handling for setting an invalid ENUM value and 
   elsewhere
 
Fri Jul  4 10:14:55 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - dstate: the fd poller no longer complains about select failing
   due to being interrupted, like what happens when you shut down a 
   driver.

Fri Jul  4 10:12:37 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - snmp-ups: changed the OIDs used for low and high transfer data
   in the APCC MIB definition to something that makes sense even on
   three-phase units like the Symmetra.  Previously, it would display
   a range around 208V despite running the outlets around 120V.

Fri Jul  4 10:01:12 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - snmp-ups: applied patch from Arnaud Quette fixing status polls on
   APC equipment and others. [patch-1.3.11_snmp-ups_statusfix]

Fri Jul  4 09:58:47 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - snmp-ups: add support for the APC IEC monitoring OIDs, including
   the units in case someone decides to set it to Fahrenheit, since
   we need it in Celsius.

 - snmp-ups: compare OIDs that are returned by getnext so we don't
   pick up things that have no relationship to what we requested.
   This fixes the bugs where the driver would think a certain OID
   existed because it was landing on another one in the tree.

Wed Jul  2 01:50:35 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - bcmxcp: blindly converted most of the calls to dstate equivalents.
   This driver still lacks the sanity checks, so it doesn't actually run.

1.3.11:

Tue Jul  1 08:54:39 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - mge-shut: fixed a case with no return code

Mon Jun 30 09:20:19 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - newapc: after changing a variable in the UPS, refresh the dstate
   data so clients see the new value immediately.

Mon Jun 30 09:08:03 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - upscommon, dstate: move ups_handler into its own header file to avoid
   problems later

Mon Jun 30 08:45:05 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - snmp-ups: applied patch from Arnaud Quette, which includes work
   from J.W. Hoogervorst:

   - more data and commands are supported from the MGE and IETF mibs
   - code cleanups throughout, plus tidying of memory at shutdown
   - this driver works on 1.3 now - dstate_dataok is called
   - staleness is reported properly
   - external MIB file support started
   - 'pollfreq' setting now available to help control network load
   - ups.status now fully interpreted for IETF and MGE mibs

Mon Jun 30 08:40:09 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - main: bad flags or variables no longer dump the full help (-h) screen
   since it was scrolling the actual error off a normal size screen.
   Users are now prompted to check the -h screen on their own.

 - main: also added driver.flag.* for consistency

 - main: add driver.parameter.* as proposed by Arnaud Quette.

Mon Jun 30 08:11:15 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - configure.in: use AC_C_INLINE to deal with systems with different
   ways of handling this word.  This was breaking builds of the 
   bestfortress driver.  Reported by Petter Reinholdtsen.

Mon Jun 30 08:03:53 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - mge-shut: applied patch from Arnaud Quette adding support for the
   PowerShare mode as documented in powersavings.txt.  This also adds
   output voltage data, UPS serial number reading, shutdown.stayoff, 
   load.on, and load.off.  A bug in the data refresh was fixed, and
   this driver is no longer tagged experimental.

 - powersavings.txt: applied patch from Arnaud Quette adding this
   and the outlet.* scheme to the variable tree. [patch-1.3.10_PowerSave]

Mon Jun 30 07:57:54 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - hp: applied patch from Jan Sporbeck adding support for the A2994A.

Thu Jun 26 04:34:41 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - upsd: don't complain about unhandled command/variable names in the
   syslog now.  This was causing too much noise now that we have things
   with no mapping to an old name - driver.* and more.

Tue Jun 24 20:17:14 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - MAINTAINERS: added this file to help route patches to the right people.
   I can't possibly verify all changes to things like the drivers, since
   it's impossible to own every UPS that exists.

   Driver authors: please send me patches for this file to add entries
   for the things you maintain.

1.3.10:

Wed Jun 11 11:40:20 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - configure: actually put the --with-gd values into the environment
   before trying to detect gd.h and libgd.  This kept gd detection from
   working unless it was in the standard system paths.  Reported by
   Patrik Schindler.

Wed Jun 11 11:32:03 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - tripplite: converted, bumped to 0.02, added driver.version.internal

Wed Jun 11 11:05:51 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - etapro: converted instcmd, bumped to 0.4, added driver.version.internal

 - oneac: converted instcmd parsing to new format, bumped to 0.4,
   added driver.version.internal

 - hp, oneac: set broken_driver

Wed Jun 11 10:54:36 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - genericups: call dataok more than once

Wed Jun 11 10:49:46 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - cyberpower: use bufsize properly in get_ident, and don't read beyond it

Wed Jun 11 10:47:04 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - bestuferrups: converted, bumped to 0.01, added driver.version.internal

 - bestuferrups: noticed a sanity check, so this one now calls dataok/stale

Wed Jun 11 10:40:14 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - bestfortress: added dataok/datastale after locating status checksum
   tests in the update function and converted some calls

 - bcmxcp, bestferrups801-807: set broken_driver for lack of sanity
   checks in upsdrv_updateinfo

Wed Jun 11 09:58:28 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - main: added broken_driver flag to make them easy to find later.
   If this flag is set, main will print a message and exit shortly 
   after starting.  This is your cue to jump in and fix things.

Wed Jun 11 09:52:54 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - microdowell: converted, bumped to 0.02, added driver.version.internal

   *** Note: this driver still won't work, since nobody's figured out
       the sanity checks to add a dstate_dataok() yet...

Wed Jun 11 09:43:16 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - isbmex: converted, bumped to 0.02, added driver.version.internal

Wed Jun 11 09:38:57 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - var-map, drivers: input.minimum and input.maximum are now 
   input.voltage.minimum and input.voltage.maximum to avoid ambiguity

Wed Jun 11 09:33:09 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - victronups: converted, bumped to 0.1.2, added driver.version.internal

   *** Note: this driver still won't work, since nobody's figured out
       the sanity checks to add a dstate_dataok() yet...

Wed Jun 11 09:26:15 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - masterguard: converted, bumped to 0.22, added driver.version.internal

Wed Jun 11 09:16:55 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - sms: bumped to 0.71, added driver.version.internal

 - sms: converted calls and variable/command names to dstate versions

 - cmd-map-init: mapped WATCHDOG to reset.watchdog for the sms driver

Wed Jun 11 08:59:11 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - drivers, upscommon: added upsdrv_cleanup() which will be called
   after certain signals (SIGTERM, SIGINT, SIGQUIT) have been received.
   Any drivers which allocate dynamic resources should free them in
   this function so things like valgrind will show no leaks.
   Suggested by Arnaud Quette.

Wed Jun 11 08:49:11 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - esupssmart: new driver for Energy Sistem equipment from
   Antonio Trujillo Coronado.

Wed Jun 11 08:48:16 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - status.h: applied patch from Arnaud Quette adding a mapping for BYPASS

Wed Jun 11 08:45:37 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - hidparser: applied patch from Arnaud Quette fixing a compilation 
   warning discovered by Shaul Karl.  [patch-1.x-HIDParser_warnings]

Mon Jun  9 05:31:04 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - upsd: report the username that did LOGOUT, if available

Mon Jun  9 04:24:44 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - genericups.8: update type 7 to reflect Belkin Home Office
   compatibility as reported by Matthew Mueller.

Mon Jun  9 04:10:21 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - upsmon: reworked large parts of the code to fix several things and
   make it easier to follow:

   - All authentication (username, password, login, master) happens in
     one place, and can happen exactly once per connection now.  upsd
     doesn't let you retry a username or password anyway, so the old
     technique of allowing it at any time was useless.

   - upsmon now drops the connection to upsd in a handful of situations.
     It used to do it for any condition beyond 'data stale', including
     temporary problems like restarting the driver.

     upsd will boot off clients that are logged into a UPS that is 
     removed (via reconfiguration and SIGHUP), so there is no concern 
     about losing the number of clients from the LOGIN calls.

   - upsmon now requires a UPS name in the MONITOR directives as part
     of the upgrade to the new protocol.  It can still monitor old hosts,
     but you will need to specify a UPS name for them.  

     Old way:

     MONITOR bigserver 1 monuser password master

     New way:

     MONITOR myups@bigserver 1 monuser password master

     Just look at the top of ups.conf on 'bigserver' to figure out what
     the first UPS is called, and stick it and a @ on that MONITOR line.

   - Notifications of things like COMMOK and ONLINE have been reworked
     to ensure that they only fire upon a state change from COMMBAD and
     ONBATT, respectively.  This was already the case, but the 
     implemention made it unclear.

     The new code also makes it possible to allow COMMOK and ONLINE to
     be generated when the program starts if someone asks for this later.
     Just initialize it to something other than 0, -1, or 1.

   - A few functions were renamed to better explain their roles.

   - pollups() was split up to put the actual parsing somewhere else,
     since the level of indention was getting out of hand.

Sat Jun  7 07:56:02 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - upslog: reworked the parser to generate a list of function calls
   once, then just use that list for the actual status printing.  The
   old design made it reparse the format string every time around,
   which was pointless since it can't be changed while the program is 
   running.  This way should save a bit of CPU.

1.3.9:

Fri Jun  6 05:17:24 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - mge-utalk: applied patch from Arnaud Quette [patch-1.3.8-mge-utalk_dev]:

   - adds "driver.version.internal" (0.80) and Bypass status reading 
   - adds commands "shutdown.return" and "bypass.stop"
   - various cleanups and cosmetics.

Thu Jun  5 07:38:30 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - applied various patches from Arnaud Quette:

   - driver.list: rework genericups upstype notation for better parsing
     [patch-1.3.8-genericups_UPStype]

   - hidparser: fix compiles on FreeBSD. [patch-1.3.8-HIDParser_BSD]

   - various: change BYP to BYPASS.  This was never officially defined 
     either way up to this point. [patch-1.3.8-BYPASS_status]

Wed Jun  4 05:22:34 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - contact-closure.txt: created from the remains of the old
   generic-ups.txt in order to clear out the old docs/drivers directory

 - mge-utalk.8: applied patch from Arnaud Quette updating this and
   removing the old docs/drivers/mge-utalk.txt.

Wed Jun  4 05:19:45 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - applied various patches from Shaul Karl:

   - man: update the powercom and  genericups pages to reflect 
     earlier improvements

   - upssched.conf: keep comments commented

Wed Jun  4 05:15:24 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - snmp-ups: applied patch from Dmitry Frolov adding support for 
   the new shutdown.reboot and shutdown.reboot.graceful commands
   in APCC MIB mode.

1.3.8:

Mon May 19 06:47:28 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - various: applied patch from Bryan Henderson:

   - setting NUT_CONFPATH in the environment now overrides the one
     compiled into the binaries.

   - NUT_STATEPATH now works in more places for similar reasons

   - upsdrvctl now uses execve to pass the environment to the drivers
     so these new variables will be effective.

   - ups.conf supports driverpath= to allow changing that, too.

   - upsd.conf supports DATAPATH for yet another override

   - ALTPIDPATH now picks up the runtime value of the state path unless
     it was set at compile-time.  This has no effect at the moment since
     the ALTPIDPATH is always defined by the configure process.

   - upsd now reports which TCP port number is being tried when bind() 
     fails to complete.

Mon May 19 06:35:44 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - snmp-ups: applied patch from Dmitry Frolov adding support for
   the ambient.temperature and ambient.humidity variables when using
   the APCC MIB. [nut-1.3.7-snmp-apc-ambient.diff]

Mon May 19 06:30:43 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - upsset: condensed the error page generation and username/password
   handling to clean up the code a bit

 - upsset: converted to the new upsclient functions and variable names.
   Older versions of upsd are still supported, and will be detected
   automatically.

Sat May 17 05:12:23 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - upssched: converted to SOCK_STREAM with plain text control instead 
   of shooting binary structs around.  This was done partly for 
   consistency but mostly because upssched had a race when the parent
   shut down.

   If the parent started to quit while a client woke up and sent in 
   a new datagram, the client would think it had been received but
   in reality it would be dropped.  There is no easy way to respond to
   datagrams over a Unix domain socket, so there was no practical way
   to have the parent confirm a command.

   upssched now confirms all commands with "OK\n".  The client will
   not exit until it either starts the parent itself or connects
   to the parent, sends the command, and gets that response back.  It
   will still give up after 30 failed attempts in case things are
   seriously broken.

Wed May 14 20:30:21 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - upsd: fix FSD reporting in STATUS (old) and ups.status (new)

Wed May 14 20:19:36 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - upsmon: added support for the new variable names while maintaining
   support for older versions of upsd.  upsmon will write a message
   in the syslog about "using compatibility mode" when this happens.

Wed May 14 19:58:19 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - upsmon: added -D for consistency and took -d out of the help text.
   -d will be supported but unadvertised for awhile.

Wed May 14 19:24:45 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - newapc: try to break out of menus on newer models by sending ESC

 - bestups: cleaned up init and shutdown sequences

Wed May 14 18:56:51 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - main, dummycons: set driver.version and driver.name

Wed May 14 18:54:06 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - fentonups: make multiple attempts to detect a UPS before giving up,
   and perform more sanity checks on the ID sequence

Wed May 14 18:46:26 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - mge-shut: applied patch from Arnaud Quette fixing a memory leak.

1.3.7:

Tue May 13 17:55:08 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - genericups: applied patch from Shaul Karl adding support for
   setting ups.serial via 'serial=' in ups.conf.

Tue May 13 17:31:54 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - fentonups: added new code and a table for devices which implement
   the "I" detection differently.  Thanks to Joon Guillen for providing
   info on the Giant/WELI 500 hardware.

Mon May 12 19:30:32 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - upsd: started adding explicit #defines for error reporting consistency

Sat May 10 18:39:29 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - upsc, upscmd, upslog, upsrw: added support for these new upsclient
   functions and therefore the new variable names by extension.

   These programs will still work against older versions of upsd, as
   long as you use the right (older) variable and command names.

   You must also now specify a upsname if you are using a new variable
   name or command name.  The old concept of a "default UPS" is still
   supported, but only for the backwards compatibility, which means
   only old names will work.

   For example, instead of localhost, use su700@localhost.

 - upsclient: added new functions for using the new GET and LIST
   protocol commands: upscli_get, upscli_list_start, upscli_list_next

Sat May 10 18:16:38 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - mge-ellipse: removed

 - mge-shut: applied patch from Arnaud Quette and Philippe Marzouk
   completing the transition from mge-ellipse. 
   [patch-1.3.5-mge-ellipse2shut-FINAL]

Fri May  9 19:34:12 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - various: remove references to bare hostname as UPS identifiers.
   The new protocol requires a UPS name from ups.conf, so this will
   start teaching people to use a ups name all the time.

   Essentially, foo@localhost is now the preferred form.  Just 
   "localhost" will not work with anything that uses the new 
   variable names.

Fri May  9 16:52:43 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - data: created a new directory for things that go in the datadir.
   Right now this is just the 'cmdvartab' for upsd's descriptions.

Fri May  9 16:30:00 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - various: make sure pconf_finish is called if the file open fails
   to avoid leaks from the wordbuf and other dynamically allocated things

 - upsd: added support for providing command and variable descriptions
   from a file.  This file is optional.  upsd will send "Unavailable"
   if the file is not available, or if it doesn't have an entry for
   a given name.

1.3.6:

Fri May  9 10:45:09 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - powercom: applied patches from Shaul Karl to modify the validation
   code and convert to dstate.

Thu May  8 13:26:39 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - upsd: added support for server.info and server.version.  Since these
   variables don't apply to any UPS, the usual <upsname> field is ignored.

Thu May  8 09:04:03 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - upsd: make sure only the old compatibility functions can use the
   old variable names

Wed May  7 09:44:06 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - upsclient, various: added 3 more functions to access various elements
   from struct UPSCONN without actually touching it directly.  Clients
   must treat UPSCONN as opaque, since it could change.

Tue May  6 18:19:04 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - oneac: mostly switched to dstate - not all names have been mapped

Tue May  6 18:08:34 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - everups: switched to dstate

Tue May  6 17:58:07 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - hp: mostly switched to dstate - there are no sanity checks on the 
   incoming data, so it will be stale until it is fixed

Tue May  6 17:48:03 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - everups, mge-utalk, tripplite, snmp-ups, powernet: drop VALSIZE,
   since it's a relic from the old info array.

Tue May  6 17:30:37 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - upslog: use become_user() directly

Tue May  6 17:14:44 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - configure.in/Makefile.in: dropped --with-group and the state path
   creation code.  We'll let the user create this now.

   The INSTALL file has also been beefed up to explicitly mention steps
   like this, and other important things like creating a separate user.
   The old nobody fallback will still work, but we'll try to steer them
   away from that for their own good.

Tue May  6 16:45:53 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - upsmon: switch to using become_user() for consistency with the other
   programs.  This technique picks up the group data for setgid() from
   the user's primary/default group, so --with-group no longer has
   any effect.

Tue May  6 16:41:23 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - dstate, sstate: clarify test for EAGAIN: only when read returns -1

Tue May  6 16:38:44 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - dummycons: added -u <user> for consistency with other drivers.
   This means you can start it as root without having to su to your 
   dev user first.

 - dummycons: added code to drop privileges after startup

Mon May  5 08:12:24 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - upsclient: drop xstrdup and switch to local checking to avoid
   extra dependencies on other object files

Mon May  5 08:07:30 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - apcsmart: eat the response from the calibration command

Sat May  3 04:59:41 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - newapc: read the results of the start/stop calibration commands to
   avoid getting out of sync later on.  Reported by Nicholas Lee.

Sat May  3 04:46:35 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - mge-shut: applied patch from Arnaud Quette and Philippe Marzouk
   to convert to dstate, add a "notification" option for supporting
   ellipse models and enhance communication handling. 
   [patch-1.3.5-mge-shut_CNNS]

Fri May  2 05:55:51 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - liebert: converted to dstate functions

1.3.5:

Fri May  2 05:01:17 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - cyberpower: new instant command: shutdown.stayoff

Fri May  2 04:53:13 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - apcsmart: did a few final cleanups and added a "deprecated" warning.
   It will eventually be replaced by the newapc driver, which will be
   renamed to apcsmart.

Fri May  2 04:33:48 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - drivers: added datastale/dataok calls to many, but not all.  Too
   many drivers assume upsrecv() will succeed, and that's horribly
   wrong.  If your driver didn't check that call or do basic sanity
   checks on the received data, I didn't convert it.

   A few other complicated drivers were also left unconverted, so
   their authors can figure out how to best handle the situation.

   Rule of thumb: if you can't update ups.status, it's stale.

   Unmaintained drivers may be removed by the end of the 1.3 series.

Fri May  2 03:57:17 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - upsd: reworked startup sequence to report staleness in the right place

 - various: added explicit DATAOK/DATASTALE support to replace the
   meta-data that we used to get via writeinfo()

Fri May  2 02:47:47 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - cyberpower: reworked the initial detection process to add a few 
   more tries before giving up completely

Fri May  2 02:36:16 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - cyberpower: added support for test.battery.start

 - cyberpower: fixed the signal handlers for SIGALRM so read() doesn't
   restart when it fires.  This occasionally made the driver hang at
   startup.

Fri May  2 02:23:29 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - newapc: explicitly check every upsrecv for usable results, and deal
   with "NA" everywhere

Fri May  2 02:12:19 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - parseconf: explicitly leave room for the trailing null in all cases

Thu May  1 08:38:21 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - snmp-ups: applied patch from Arnaud Quette to support BYP status

Thu May  1 08:29:57 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - newapc: converted to dstate functions

Wed Apr 30 20:42:12 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - mge-utalk: applied patch from Arnaud Quette to convert to dstate.
   [patch-1.3.4-mge-utalk_CNNS]

Wed Apr 30 09:12:58 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - newapc: started tearing into it with a chainsaw

Wed Apr 30 06:47:53 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - newapc: split status handling into its own function

Wed Apr 30 02:55:22 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - drivers/main: drop main_background, revert to common function

Wed Apr 30 00:54:31 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - bestups: split up the updates in order to have a long delay
   between the Q1 request and the status read without using sleep()

Tue Apr 29 21:12:13 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - snmp-ups: applied patch from Arnaud Quette to switch over to the
   new dstate functions.  [patch-1.3.4_snmp-ups_CNNS]

Tue Apr 29 20:47:58 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - upsd: also make sure the clock is checked even when no drivers respond

 - upsd: fix the arguments for difftime() so we don't run forever

1.3.4:

Tue Apr 29 05:16:54 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - bestuferrups: applied patch from Bob Apodaca adding support for the
   1.1kVA UPS.  It also cleans up the detection process to make it
   easier to add new models in the future.

Tue Apr 29 05:11:50 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - powercom: applied patch from Preston A. Elder adding support for
   KIN-2200AP hardware.  This may also support other KIN-xxxxAP equipment.

Tue Apr 29 05:01:21 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - mge-utalk: applied patch from Arnaud Quette:

   This patch solves a syncing and communication problem due to RTS pin
   which wasn't cleared. Tested with Evolution, EX10, ES5+, ESV11+.

Tue Apr 29 04:57:02 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - hidups: applied patch from Arnaud Quette [patch-1.3.3-alt_hidups]:

   - added the base for set() function
   - added upsdrv_shutdown() with parameters
   - added code to handle MGE and others.

Tue Apr 29 04:49:25 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - upsd: do the usual stale/connected checks in the new net functions

Tue Apr 29 04:37:41 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - upsd: shuffled the compatibility functions into oldnet.c so they
   stay out of the way.  It also makes the size of the cruft easy to see.

Tue Apr 29 04:24:12 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - upsd: added new handler for INSTCMD.  This also falls through to the
   old version with the old names for compatibility.

Tue Apr 29 04:13:42 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - upsd: added new handler for SET VAR.  This will fall through and 
   try the old version if necessary.

Tue Apr 29 03:46:00 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - dstate: added verbose error handling for the case where the socket
   can't be created in an attempt to avoid support mails down the road

Mon Apr 28 23:06:44 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - upsd: clarify new protocol: BEGIN, not START

 - upsd: extend the END LIST to include the list parameters

Mon Apr 28 22:13:31 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - upsd: fix the formatting of "GET TYPE", and explicitly add RW

Mon Apr 28 21:54:42 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - belkin: don't allow OFF to co-exist with OB or OL.

Mon Apr 28 21:45:30 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - dstate: bugfix: send STRING when doing the initial SETFLAGS notification

 - dummycons: support multiple args for sf/setflag, so "sf blah RW STRING"
   now works.

Mon Apr 28 21:40:13 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - dummycons: show flags and auxdata in the variable listing

 - dummycons: support 'sa' to set auxdata

Mon Apr 28 20:45:06 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - newapc: applied patch from Don Lewis which makes the driver send
   all 5 bytes when using sdtype 1.

Mon Apr 28 06:08:53 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - dummycons: use new set/instcmd callbacks for consistency

Mon Apr 28 05:48:47 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - apcsmart, hp, upscommon: dumped old 'installinfo' evil hack

Mon Apr 28 05:43:11 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - apcsmart: reworked to use new SET technique

 - dstate: added new callbacks for SET with new names

Mon Apr 28 05:27:09 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - upsd: check for world-readable permissions on upsd.conf, upsd.users
   and the CERTFILE to warn the admin about potential security problems

Sun Apr 27 04:14:03 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - fentonups, belkin, apcsmart: use new instcmd callbacks

 - dstate, upscommon: added new callbacks for INSTCMD with new names

Sun Apr 27 03:59:38 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - newapc: started converting trivial things to dstate functions

Sun Apr 27 03:41:01 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - apcsmart: converted to dstate functions

Fri Apr 25 22:00:42 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - upsd: fixed a leak in the user-level instant command lists

 - upsd: add "LIST UPS" to get the list of UPSes and their descriptions

 - upsd: add support for "desc = ..." in ups.conf

 - upsd: don't try to do the initial synchronization on a UPS that 
   isn't connected - this caused a segfault due to the use of fd -1

Fri Apr 25 21:36:06 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - dummycons: added 'lc' to show the current list of commands.

Fri Apr 25 21:28:50 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - genericups: converted to dstate functions

Fri Apr 25 21:26:48 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - upsstats: added another optimization to recycle existing connections
   to upsd when possible.  This is only effective if the entries in the
   hosts.conf refer to the same upsd - the hostname and port must match. 

1.3.3:

Fri Apr 25 20:25:16 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - upsimage, upsstats: applied patch from Andrew R. Ghali adding support
   for monitoring BATTVOLT.

Wed Apr 23 20:23:17 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - cyberpower: finally added the long-awaited shutdown code after
   puzzling through various other attempts to decode the protocol.  This
   one does the familiar "check status and send the right command"
   technique, and works on my 700AVR.  Your mileage may vary.

Wed Apr 23 13:04:22 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - belkin, cyberpower, hidups: converted

Wed Apr 23 12:40:29 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - dummycons: converted to dstate functions.  All commands now take the
   new variable names.  The add command is gone, since setting a value
   does that for you now.  The "L" (list all) command is also gone, since
   any variable name can exist now.

Wed Apr 23 00:25:03 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - bestups: now uses dstate functions directly

Wed Apr 23 00:23:33 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - upsd: new network commands: GET and LIST - these only use the new
   variable names, and will eventually replace REQ, LISTVARS, and more.

Tue Apr 22 21:20:36 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - upsd: started adding support for reading the new variable names natively

Tue Apr 22 20:43:09 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - upsd: the "DROP" access level has been removed since it could
   seriously confuse clients.  Unrequested UDP datagrams are still
   dropped silently, but "DROP" on a TCP connection will now return
   an access denied message.

 - upsd: split a bunch of functions, structs, and #defines into their
   own files for better organization.

Tue Apr 22 18:44:54 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - fentonups: converted to using dstate functions directly

Tue Apr 22 18:29:34 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - upsmon: fixed a bug where NOTIFYFLAG settings might not get
   assigned properly in all cases.

Tue Apr 22 17:55:32 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - upsmon: explicitly free all dynamic memory at exit for analysis
   in tools like valgrind

Tue Apr 22 17:52:21 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - upsmon: cleaned up SIGTERM/SIGINT/SIGQUIT handler

Tue Apr 22 17:48:30 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - upslog: cleaned up SIGHUP/reopen handler

Tue Apr 22 17:45:31 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - upsd: relocated the exit/cleanup code and reworked the signal handler.
   Previously it was doing the shutdown in the signal handler and that
   could have been very messy if the signal was sent twice.

Tue Apr 22 17:41:41 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - upsd: strlcpy is no longer needed

Tue Apr 22 17:39:23 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - upsd: cleaned up some unnecessary snprintf calls in the netcmd handlers

Tue Apr 22 17:16:18 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - dstate: added some more details when the socket creation fails

Tue Apr 22 16:02:15 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - upsd: added a short synchronization delay at startup to give it a 
   chance to pull in the full set of data from the drivers.  This
   keeps upsmon from complaining that no data is available when it starts
   too quickly.

   upsd will give up after 5 seconds, and it only waits for drivers
   that are actually running and connected.

Tue Apr 22 14:56:27 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - others: support -V too

Tue Apr 22 14:52:59 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - main: actually support -V to show the version

1.3.2:

Tue Apr 22 14:29:55 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - mge-ellipse: applied patch from Philippe Marzouk which makes things
   work again with the new state sockets by not getting stuck in the
   update functions.  It also removes dynamic memory in favor of simpler
   buffers and fixes the MFR value. [mge-ellipse_nut-1.3.1.patch]

Tue Apr 22 14:28:46 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - osd-notify: added examples for using osd to show UPS status from
   Arnaud Quette. [patch-1.3.1-osd-notify]

Tue Apr 22 14:06:40 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - upsd: converted the upsd.users "allowed instcmd" handling to be
   text-based.  It still works as before, including support for "all".

Tue Apr 22 13:58:38 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - var-map-init: more variables have been mapped to their initial new
   names.  Some variable names could still shift around as the entire set
   is converted.

Sat Apr 19 10:54:55 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - upsd, upscommon, state: added initial mappings for INFO_ and CMD_
   #defines to their new long-style names.  The ones that haven't been
   mapped yet will still use the %04X numeric hack.

Sat Apr 19 06:58:07 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - upsd, others: "exiting" is now used in the syslog instead of
   "shutting down", since that has a special meaning for UPS software

Fri Apr 18 15:01:46 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - dstate, sstate: switched to nonblocking I/O on the sockets

Fri Apr 18 14:29:44 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - snmp-ups, mge-shut, etc: applied patch from Arnaud Quette making
   these compile again in the new dstate environment.  [patch-1.3.1-AQ]

1.3.1:

Thu Apr 17 13:07:42 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - dstate, sstate: final #include ordering tweaks for portability

Thu Apr 17 13:02:14 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - mge-shut/hidparser: applied patch from Arnaud Quette adding this
   driver to the tree.  This will eventually replace the mge-ellipse
   driver.  [patch-1.3.0-mge-shut]

Thu Apr 17 10:11:36 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - upscommon: reworked signal handling, and set an ignore on SIGHUP

Thu Apr 17 07:47:09 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - upscommon: atexit code redesigned, and connected to dstate to make
   sure all storage in there is freed when the driver shuts down

Thu Apr 17 06:03:41 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - upsd, dstate: reconnected SET and INSTCMD through the new socket code

Thu Apr 17 04:22:17 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - drivers: upsdrv_infomax() is gone.  The list is now totally dynamic.

Thu Apr 17 04:11:58 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - sstate: delinfo, delenum now supported from the driver.  This makes
   all elements fully removable now - this is no longer a roach motel.

Thu Apr 17 04:00:13 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - sstate: added support for delcmd from the driver

Wed Apr 16 14:17:22 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - statedebug: removed - it is now obsolete

Wed Apr 16 14:12:39 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - configure, upscommon, upsd: all shm/mmap remnants have been removed

Wed Apr 16 14:01:43 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - drivers: removed all calls to writeinfo(), since using any of the
   existing functions to add/set/whatever now results in an immediate
   update of any listeners (upsd)

Wed Apr 16 13:55:45 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - upscommon, main: chopped out all state file functions and the old
   socket code.

 - upsd: the old struct-based socket code has also been removed.  
   SET and INSTCMD will be rewritten to work over the new text-based 
   socket.

Wed Apr 16 11:28:35 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - upsd: finished switching all state file functions over to the new
   backend.  All state file code has been removed from upsd.

Wed Apr 16 07:32:02 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - upsd: the handlers for ANS and ENUM now use the new backend

 - upsd: started merging server-side state (sstate.c) access functions
   that use the new sockets.  

Tue Apr 15 10:54:44 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - dummycons: also added ac/addcmd and dc/delcmd for instcmd code tests

 - dummycons: added ae/addenum and de/delenum for testing enum code

Tue Apr 15 10:28:54 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - dummycons: wired up 'd' so DELINFO can be tested.  This doesn't
   do anything on the state file side of things, since there is no
   way to delete those entries.

 - dstate: info entries can now be deleted - this was never possible before

Tue Apr 15 09:58:49 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - dstate: added DUMPALL sock command to retrieve all driver data

Tue Apr 15 09:32:52 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - sockdebug: added a tool like statedebug for talking to the new sockets
   used by the drivers.  It also listens to stdin, so anything you type
   will be sent to the driver.

Mon Apr 14 08:40:25 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - drivers: cleaned up uses of getdata() since it now is const char *

Mon Apr 14 08:03:46 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - upscommon: added dstate support for instant commands

Mon Apr 14 07:36:22 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - upscommon: getdata() now pulls from the dstate storage

 - upscommon: addinfo, setinfo, addenum, and setflags are now connected
   to the new dstate storage

Mon Apr 14 06:01:08 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - upscommon, main: started merging the new driver-server state update
   code that will use a local socket instead of a state file.

   The current state file scheme keeps data in at many places.  The driver
   has one, the state file has another, and upsd has two in mmap mode -
   one that's "shared_info", and one that's "info".  upsd can't just
   refer to "shared_info" directly most of the time, since it can change
   at any time, and we'd have consistency problems.

   This means upsd has to lock the file, copy from it into local storage,
   then unlock it again.  This happens every couple of seconds.  Similar 
   things happened with shared memory mode - we had all kinds of copies 
   of the data running around.  It's messy.

   The new scheme is text-based over a local socket with updates pushed
   from the drivers to any listeners (upsd will be one) as they happen.
   There is no polling - upsd gets the update as soon as possible.   

Mon Apr 14 01:14:29 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - upscommon, main: removed shared memory support here, too

Mon Apr 14 01:06:22 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - upsd, statedebug: chopped out shared memory support in preparation
   for bigger changes in the driver-server layer

Sun Apr 13 08:52:48 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - upsd: rolled action checks into a single function to eliminate even
   more duplicated code in the individual do_* handlers

Sun Apr 13 08:42:28 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - upsd: more access-related cleanups throughout

Sun Apr 13 08:30:54 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - upsd: moved checks for TCP connections and access levels into
   their own functions

 - upsd: added flags and minimum levels to netcmds.h

 - upsd: dropped host-based auth for LOGIN/MASTER - upsmon must now use
   a user name when connecting

 - upsmon: dropped old host-based auth - MONITOR must now have a user name.
   If you're still using the old method, you have to convert it now.
   Scroll down until you see "upsmonusername".

Sun Apr 13 07:29:59 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - upsstats: reworked the IMG SRC calls to avoid the trailing &amp; when
   no extra image arguments are present

Sun Apr 13 07:19:08 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - upslog.8: updated

Sun Apr 13 07:12:58 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - upslog: -u is now supported so you can drop root powers after startup.
   If you rotate logs, be sure that the new file is writable by upslog's
   unprivileged user.

 - upslog: added getopt(), and split all of the former position-based
   arguments into normal getopt options.  The old mode still works for
   compatibility but will not be publicized.  Eventually it may go away.

Sun Apr 13 06:42:38 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - upsd.8, upsdrvctl.8, nutupsdrv.8: resync with reality

1.3.0:

Sun Apr 13 05:39:15 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - upsdrvctl: the 'status' command has been disabled to see who complains.
   It's not actually very useful, since it relies on pid files that can
   be stale.  If you want to know if the driver is alive, use a client
   and see if it's providing usable data.

Sun Apr 13 05:35:39 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - upsdrvctl: added support to pass through -r and -u to the drivers

Sun Apr 13 04:30:52 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - main: also added support for -u <user> to become a specific user
   when dropping root powers.

 - main: added support for chroot with -r <dir> just like upsd

Sat Apr 12 23:57:37 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - upsd: added chroot support as -r <dir>

 - upsd: dropped the old -t <port> definition, since -p does it for both.

 - common: added new functions to get and use struct passwd for becoming
   a user since they might not work after chroot.  glibc in particular
   wants a bunch of stuff in /lib that won't be there.

Tue Apr  8 21:56:37 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - upsd: added a bunch of frees to the shutdown procedures to allow
   clean runs through valgrind

Mon Apr  7 19:32:44 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - mge-ellipse, masterguard: switched to status_set calls

 - bestferrups801-807: dumped mind-blowing nested strcats and switched
   to status_set calls

Mon Apr  7 18:50:48 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - upsclient: detect a closed fd early in the SSL init in case upsd
   rejects the connection and hangs up on us

Mon Apr  7 18:24:37 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - dummycons: dropped old parsenet (really an ancient parseconf) and
   switched to the new parseconf functions

 - dummycons: cleaned up the parsing code and other things in general

Mon Apr  7 18:13:08 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - parseconf: removed old entry point - all callers have been converted

Mon Apr  7 18:09:48 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - upsmon, upssched, upsset, upsstats: converted to new parseconf

Mon Apr  7 17:34:44 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - upsd: switched to new parseconf functions

 - upsconf: same

Mon Apr  7 16:51:46 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - cgilib: cleaned up crusty checkhost() with new parseconf interface

Mon Apr  7 16:42:50 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - main: cleaned up the help/usage text and dropped references to the
   "old method" to avoid confusing new users

Mon Apr  7 16:38:35 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - parseconf: upgraded to version 4.  This one dumps the callback scheme
   and switches to a context buffer.  This will let us have multiple
   instances active simultaneously without getting "stuck behind" the
   parseconf functions.

   This version also features multiple entry points.  It can parse a
   file as before, but it can also read a line at a time or even a 
   character at a tie.

Mon Apr  7 16:17:58 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - drivers: dummyups is gone, and dummycons is now built by default.

Mon Apr  7 16:04:34 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - etapro, bestuferrups, powercom, sec: drop strcat, move to status_set

Mon Apr  7 16:00:25 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - apcsmart, belkin, sec, upscommon: drop strcpy()

Mon Apr  7 15:54:37 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - apcsmart: actually use the sdtype setting in the shutdown code

Mon Apr  7 15:52:11 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - upslog: drop strcpy()

Mon Apr  7 15:50:53 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - upsd: set SO_REUSEADDR on the listen socket so we can restart it
   without getting stuck   

Mon Apr  7 15:43:13 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 * Forked from 1.2.2-pre4 to create the new 1.3 development tree

1.2.2-pre4:

Mon Apr  7 14:57:12 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - snmp-ups: here's the verbose changelog from the last merge, which
   I forgot to add at the time:

    - remove unnecessary malloc calls and fix a memory leak
      (oss-list-ups)
    - enhanced code for handling lost / restored communication
    - updated the man page
    - replaced nut/doc/drivers/snmp-ups.txt by nut/doc/snmp.txt, and
      modified the content to be more SNMP general
    - added alpha support for MGE UPS SYSTEMS MIB
    - added INFO_LOADPCT (RW) to ietfmib
    - added support for set, instcmd and partial shutdown
    - handle unsupported vars at init time (no more requested if not
      present)

Mon Apr  7 14:12:07 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - upsmon: relocated calls to drop_connection to fix a bug where the
   COMMBAD notifier wouldn't always work.  Reported by Steve Monett.

1.2.2-pre3:

Fri Mar 28 01:02:32 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - liebert: added debouncing logic for the status lines.  This hardware
   occasionally wobbles, and we were getting false low battery warnings.
   The current approach forces 3 constant reads in a row before the new
   status gets exported to upsd.

 - liebert: applied patch from Alex Cichowski to add O_NONBLOCK to get
   this driver to work consistently on OpenBSD.

Thu Mar 27 23:18:58 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - snmp-ups: added some limiters to the error routines to keep the
   syslog from being polluted too badly when a UPS disappears.
   You still get notices, but the rate is limited.

Mon Mar 17 15:14:22 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - snmp-ups: Applied patch from Arnaud Quette to update to 0.2

Mon Mar 17 15:05:46 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - powernet: applied patch from Dmitry Frolov:

   fixed bug in setting numeric variables, more info elements
   available, manpage update, cleaner logging and error handling,
   debugging code removed. Driver may be considered stable.

Tue Mar 11 07:58:13 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - hidups: applied patch from Jonathan A. Davis to add MFR support on
   APC Back-UPS ES models.

1.2.2-pre2:

Thu Feb 27 19:44:16 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - packaging/scripts: applied updates from Antonino Albanese for
   Red Hat systems.

Thu Feb 27 19:39:39 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - sms: new version 0.70 from Marcio Gomes.

Thu Feb 27 19:28:49 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - upsclient: fix 'skiplen' so queries on the default UPS don't have
   an extra leading space in the response.

Thu Feb 27 19:27:04 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - upsd: reworked calls to sendback() - it can delete the current
   client structure if write fails, and some parts of the code were
   referencing it later, causing segfaults.  Reported by Patrik Schindler.

1.2.2-pre1:

Wed Jan 29 03:32:57 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - FAQ: updated to reflect a group-writable /var/state/ups to keep
   upsd happy - it has to write a pid file there.  Reported by
   Sid Keller.

Tue Jan 28 00:47:40 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - Applied portability fixes for builds on SGI:

   - bestfortress: remap inline to __inline
   - upscommon, upsd: cast MAP_FAILED to (itype *)

   Reported by Andrea Suatoni.

Tue Jan 28 00:34:31 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - upsset: applied patch from Dmitry Frolov to fix ENUM/VARTYPE readings
   for multiple UPSes on a given host.	[nut-1.2.1-upsset.diff]

Tue Jan 28 00:05:25 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - hidups: applied patch from David Brownell to add support for physical
   port ids.  This keeps things from bouncing around - the hiddevN names
   can change too easily.

   From the patch notes:

	USB physical port IDs are managed like USB:  dynamically.
	There are so many of the physical IDs that it's just
	impractical to pre-allocate filesystem nodes for all of them.
	Instead, the filesystem nodes expose their associated physical
	IDs using an ioctl.  In 2.4.20 and 2.5 kernels you already see
	these "usb-..." IDs in messages like this:

		hiddev0: USB HID v1.00 Device [MGE UPS ... ] on usb-00:02.3-5

	You need a version of the kernel hiddev driver that exposes
	those IDs.  Current 2.5 kernels (such as 2.5.51) include this,
	and recent 2.4 kernels could easily be patched to match that
	code.

	EXAMPLE:

	So long as you plug the green cable into root hub port 1 and
	the blue one into port 5 (label them!), it won't matter what
	other devices exist, or what order anything was plugged in or
	powered up, these "ups.conf" entries will still refer to the
	(same) UPS at the other end of those cables:

	[blue]
		driver = hidups
		path = usb-00:02.3-5

	# don't power these down until there's no other option!
     
	[green]
		driver = hidups
		path = usb-00:02.3-1

	Previously you had to use names like /dev/usb/hid/hiddev0,
	which could correspond to either UPS (or even a non-UPS
	device!) depending on the history of USB plugging/unplugging on
	that system.  You can still use those names, but now you have a
	usably stable naming option.   

Tue Jan 28 00:00:42 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - sms.8, sms.txt: updated versions from Marcio Gomes.

Mon Jan 27 23:55:26 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - bestups: added id 'AX1' for Best Power Axxium Rackmount models.
   Reported by Ales Casar.

Mon Jan 27 23:38:15 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - upssched: reworked background startup code to add locking.  Previously
   it was possible to have two upsscheds starting at the same time, and
   both would create background daemons.  Unfortunately, the first one 
   would get "lost" and any timers on it could not be cancelled.

   This would only happen when two events happened at nearly the same 
   time in upsmon.  It's a rare event, but is still possible.   

   upssched now uses the LOCKFN directive to define a file that must be
   opened with O_EXCL set before it will start a background timer.  You
   must add this directive to your upssched.conf or it will not work.

   Reported by Gaspar Bakos.

Sat Jan 11 02:05:56 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - upsclient: added sanity checking in the REQ/ANS handling code so
   a short response won't return garbage to the client.

Sat Jan 11 01:42:57 UTC 2003 / Russell Kroll <rkroll@exploits.org>

 - upsd: changed the access checks on the numlogins handler to only
   require MONITOR access.  Previously, it was looking for "LOGIN"
   access which does not exist when you use upsd.users for your upsmon.
   This triggered the upsmon bug fixed below.

 - upsmon: added an alarm around the 'numlogins' read in slavesync().
   It's possible for upsd to ignore us, and that would make upsmon
   get stuck here.  The shutdown never runs locally, and bad things
   happen.  Reported by John David Garza.

 - upsmon: moved alarm setting/clearing into their own functions

 - upsmon: moved SIGALRM setup into the setup_signals() function

1.2.1:

Sun Dec  8 01:09:44 UTC 2002 / Russell Kroll <rkroll@exploits.org>

 - sms.8: new skeleton man page

Sun Dec  8 00:44:21 UTC 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 12:11:22 UTC 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 10:59:43 UTC 2002 / Russell Kroll <rkroll@exploits.org>

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

1.2.1-pre1:

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

 * various: minor doc tweaks

Sun Nov 17 23:01:10 UTC 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 16:18:29 UTC 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 16:11:14 UTC 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 15:55:49 UTC 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 15:52:53 UTC 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:

Wed Nov  6 03:02:00 UTC 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]

*** File trimmed here 29 July 2003 ***

For entries before this point, start with version 1.2.0 and work back.
