2.0.5-pre2 Thu Jan 4 14:37:20 UTC 2007 / Arnaud Quette - include/version*: bump to 2.0.5-pre2. - NEWS: some update for the powerpanel driver Wed Jan 3 12:03:50 UTC 2007 / Arnaud Quette - scripts/hotplug-ng/nut-usbups.hotplug.in: removed since it is not needed anymore now that udev enabled systems have removed the legacy hotplug compatibility - scripts/hotplug-ng/README: udpate the documentation - scripts/hotplug-ng/nut-usbups.rules.in : fix the udev rules syntax (Henrique de Moraes Holschuh) [Alioth Bug #303696] - configure.in: update for the udev changes Wed Jan 3 11:32:12 UTC 2007 / Arjen de Korte - drivers/powerpanel.ch, man/powerpanel.8: added powerpanel driver Tue Jan 2 02:02:35 UTC 2007 / Carlos Rodrigues - megatec.8, al175.8: fixed broken name section ("\(hy" instead of "\-") as detected by doclifter (http://catb.org/~esr/doclifter/) Fri Dec 29 21:16:39 UTC 2006 / Arjen de Korte - common/state.c, include/state.h: fixes list corruption in state_delcmd(), use functions from common where possible - drivers/dstate.c: use functions from common where possible - server/sstate.c: add ups.status placeholder, allow for one failed poll before declaring driver stale, use functions from common where possible - server/upsd.c: remove initial_dump_wait(), reconnect to socket before declaring driver stale 2.0.5-pre1 Tue Dec 19 12:02:14 UTC 2006 / Arnaud Quette - include/version*: bump to 2.0.5-pre1, as it should have been. - NEWS: add some blank lines Tue Dec 19 14:11:36 UTC 2006 / Charles Lepple - Removed 'Doxyfile' that was specific to tripplite_usb. Tue Dec 19 03:13:34 UTC 2006 / Carlos Rodrigues - megatec: backported version 1.5 from the trunk - driver.list: esupssmart, blazer, fentonups, mustek, ippon and sms entries replaced by megatec - Added a notice about megatec on both the drivers obsoleted by it and their respective manpages. Mon Dec 18 17:29:53 UTC 2006 / Peter Selinger - newhidups: renamed '-x generic' option as '-x explore' Mon Dec 18 16:03:02 UTC 2006 / Arnaud Quette - include/version*: bump to 2.0.5 Thu Dec 14 19:16:25 UTC 2006 / Peter Selinger - data/driver.list: added two model numbers for the "belkin" driver. Thu Dec 14 19:00:30 UTC 2006 / Peter Selinger - bcmxcp.c: fixed "&&" vs. "&" issue (bug 304249, reported by Arjen de Korte). Sat Dec 9 01:36:14 UTC 2006 / Peter Selinger - newhidups/hotplug: added productid for Belkin F6C1500-TW-RK (050d/0751) Sat Nov 25 07:55:59 UTC 2006 / Arjen de Korte - drivers/apcsmart.h: add compatibility strings for Smart-UPS 600 Fri Nov 10 20:52:39 UTC 2006 / Peter Selinger - configure.in: fixed quoting for double 'eval'. Fri Nov 10 04:39:42 UTC 2006 / Peter Selinger - configure: install drivers and cgi scripts relative to $exec_prefix, not $prefix. Reported by Ralf Fassel. Thu Nov 9 22:33:19 EST 2006 / Charles Lepple - tripplite_usb: Fix for tracker #303835: array subscript out of range. Thu Nov 2 23:36:50 EST 2006 / Charles Lepple - 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 - NEWS: brought in sync with 2.0.4 - INSTALL: complete installation requirements and instructions Thu Oct 19 22:25:06 EDT 2006 / Charles Lepple - 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." Thu Oct 19 22:19:00 EDT 2006 / Charles Lepple - tripplite_usb: better error handling and protocol reporting. Thu Oct 19 21:58:32 EDT 2006 / Charles Lepple - tripplite_usb: updated documentation to better reflect regex matching operation. Thu Oct 19 00:10:15 UTC 2006 / Peter Selinger - newhidups: fixed premature "free" error. Tue Oct 17 19:08:28 UTC 2006 / Peter Selinger - newhidups: added ProductID for Belkin F6C900-UNV (050d/0900) Mon Oct 16 19:07:46 UTC 2006 / Peter Selinger - newhidups/libhid: fixed array overflow bug in upsdrv_updateinfo(), reported by Jacob Schmier. - newhidups.h: deleted some unused #define's Tue Oct 10 01:29:22 UTC 2006 / Peter Selinger - 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 - 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 - path-to-subdriver.sh: added command line options Wed Sep 27 00:36:09 EDT 2006 / Charles Lepple - 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 - driver.list: added Tripp-Lite OMNI650LCD and OMNI900LCD Sun Sep 24 03:38:25 UTC 2006 / Peter Selinger - 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 - 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 - 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 - newhidups.c: fixed array size in upsdrv_initups (potential stack corruption). Thanks to Herve Masson for reporting this bug. Mon Sep 18 23:48:57 EDT 2006 / Charles Lepple - 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 - 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 - configure.in: added scripts/hotplug-ng/*.in Mon Sep 4 11:30:53 EDT 2006 / Charles Lepple - 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 - Add Sola 305 to driver.list. Mon Aug 28 23:35:45 UTC 2006 / Peter Selinger - 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 - 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 - Add Inform GUARD ups and Powerware PW9315 to driver.list. Wed Aug 16 01:28:01 UTC 2006 / Peter Selinger - newhidups: restricted matching Belkin devices to ProductID 0980. Wed Aug 9 16:28:50 UTC 2006 / Peter Selinger - libhid debugging: print full report descriptor - data/driver.list: added Tripp-Lite 1500 LCD. Mon Aug 7 20:30:50 UTC 2006 / Peter Selinger - 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 - Changed driver to megatec for PowerMan RealSmart 800 and 1000 in driver.list Sun Aug 6 04:05:08 UTC 2006 / Peter Selinger - 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 - 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 - Added PowerMan RealSmart 800 and 1000, also the PowerMan BackPro to driver.list Tue Aug 3 21:30:45 UTC 2006 / Kjell Claesson - 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 - 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 - 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 - 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 - configure.in, config.h.in, newhidups, libusb: add few more fixes for Solaris compatibility Wed Jul 12 10:47:43 UTC 2006 / Arnaud Quette - genericups: merge type 23 into type 22 Mon Jul 10 21:26:13 UTC 2006 / Arnaud Quette - 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 09:34:19 EDT 2006 / Charles Lepple - 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 09:15:25 EDT 2006 / Charles Lepple - 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 - 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 07 14:45:56 UTC 2006 / Arnaud Quette - 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 06 10:22:56 EDT 2006 / Charles Lepple - clients/upssched.c: Added additional exec() status information to exec_cmd(). Wed Jul 05 10:32:30 UTC 2006 / Arnaud Quette - 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 - 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 Thu Jun 8 22:32:38 EDT 2006 / Charles Lepple - packaging/RedHat/nut.spec.in: updates courtesy of William Bell; tested on RHEL4. Wed Jun 7 01:06:27 UTC 2006 / Peter Selinger - 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 - megatec.c: data for 36V UPSes. - driver.list: Ablerex MS-RT (megatec). Sun May 21 18:31:47 UTC 2006 / Peter Selinger - 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 - hotplug/hotplug-ng: added mappings for various USB devices Tue May 9 03:02:19 UTC 2006 / Peter Selinger - upsd: bumped "initial wait" time to 15 seconds to suit some slower devices. Tue May 9 02:29:03 UTC 2006 / Peter Selinger - 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 - 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 - newhidups: added some non-standard usage codes to Tripplite subdriver Sat May 6 14:48:24 UTC 2006 / Peter Selinger - newhidups: added string conversions to Tripplite subdriver Sat May 6 14:28:01 UTC 2006 / Peter Selinger - newhidups: enabled experimental Tripplite subdriver Mon Apr 24 21:25:50 UTC 2006 / Niels Baggesen - drivers/ietfmib.h: Fix firmware/firmware.aux and output power Mon Apr 24 21:24:40 UTC 2006 / Niels Baggesen - drivers/pwmib.h: Fix for battery status from Olli Mon Apr 24 21:23:24 UTC 2006 / Niels Baggesen - CREDITS: Add some credit Mon Apr 24 20:54:18 UTC 2006 / Niels Baggesen - 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 - drivers/cpsups.c: Fix C++ style declarations between statements Mon Apr 24 20:44:51 UTC 2006 / Niels Baggesen - man/upscode2.8: Fix speling in man page Mon Apr 24 20:43:43 UTC 2006 / Niels Baggesen - include/common.h: Declare 'noreturn' to quite compiler warnings Mon Apr 24 03:18:33 UTC 2006 / Carlos Rodrigues - megatec.c: two decimals in "battery.voltage", the protocol allows for it Sat Apr 22 22:52:44 UTC 2006 / Carlos Rodrigues - megatec.c: fixed stupid bug on UPS voltage detection Sat Apr 22 17:35:23 UTC 2006 / Carlos Rodrigues - megatec.c: support 96V UPS Sun Apr 16 23:24:25 UTC 2006 / Peter Selinger - renamed fatal(), upslog(), and upsdebug() as fatal_with_errno(), upslog_with_errno(), and upsdebug_with_errno(). Mon Apr 16 21:03:20 UTC 2006 / Kjell Claesson - nut_usb.c: Remove iManufacturer and iProduct test in usb_dev_handle. Sun Apr 16 19:06:14 UTC 2006 / Carlos Rodrigues - 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 08 21:25:32 UTC 2006 / Carlos Rodrigues - megatec.c: added some extra debugging. - driver.list: added a couple of models supported by megatec Wed Apr 05 13:17:51 UTC 2006 / Arjen de Korte - cpsups.c: fix uninitialized variable (Novell bug #159479) Wed Apr 05 07:58:47 UTC 2006 / Arnaud Quette - 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 - megatec.c: proper support for 2x12V UPSes. Thu Mar 30 00:55:46 2006 / Carlos Rodrigues - 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 - 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 - 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 - 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 - mge-utalk: add ESV 11+ to Si data table, though it's also supported by Si1 Fri Mar 17 12:15:34 EST 2006 / Charles Lepple - drivers/tripplite_usb.c: fixed float/double mismatch in battery voltage Thu Mar 9 19:32:00 2006 / Arjen de Korte - 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 - common/common.c: sanity check for fatal() Sat Mar 4 14:32:00 2006 / Arjen de Korte - drivers/safenet.c: increase timeout for reading replies from the UPS Fri Mar 3 20:25:00 2006 / Arjen de Korte - 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 - common/common.c: set errno=ENOENT in get_user_pwent() if user not found Mon Feb 27 19:23:24 UTC 2006 / Arnaud Quette - mge-utalk, mge-shut, snmp-ups: remove the zero prefix on exposed data values Mon Feb 27 18:36:30 UTC 2006 / Arnaud Quette - 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 - Add Compaq R3000 XR and R5500 XR to driver.list. Sun Feb 26 13:45:00 UTC 2006 / Arjen de Korte - upsdrvctl: remove superfluous 'xstrdup' from shutdown_driver Thu Feb 16 13:25:00 UTC 2006 / Charles Lepple - Converted repository from CVS to Subversion - Development branch is now trunk Wed Feb 15 10:20:10 UTC 2006 / Kjell Claesson - 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 - 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 - serial.c: changed ser_send_char to use "unsigned char" instead of "char" Fri Feb 10 22:23:25 UTC 2006 / Peter Selinger - 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 - 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 - 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 - 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 - bcmxcp_ser.c: reduced gcc4 compiler warnings Thu Feb 9 15:57:41 UTC 2006 / Peter Selinger - belkinunv.c: reduced gcc4 compiler warnings Thu Feb 9 14:16:20 UTC 2006 / Kjell Claesson - 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 - 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 - minor change to man/megatec.8 (date) Sat Feb 4 21:22:00 UTC 2006 / Arjen de Korte - drivers/upsdrvctl.c: minor changes (coding style) Sat Feb 4 20:22:00 UTC 2006 / Arjen de Korte - 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 - 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 - 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 - 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 - 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 - Fixes bug #302338 (genericups: custom configuration through ups.conf not working) Sat Jan 28 14:38:58 UTC 2006 / Arjen de Korte - 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 - 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 - newhidups: added usage paths for APC Back-UPS 500. Thu Jan 26 16:22:00 UTC 2005 / Kjell Claesson - 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. Tue Jan 24 20:40:34 UTC 2005 / Arnaud Quette - 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) Mon Jan 23 08:48:13 UTC 2005 / Arnaud Quette - 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 Sat Jan 21 16:22:33 UTC 2005 / Arnaud Quette - optiups: resurected to support Opti-UPS and Viewsonic PowerES models (Scott Heavner) [Alioth Patch #302891] Fri Jan 20 18:51:53 UTC 2005 / Arnaud Quette - FAQ: update a bit more USB support and SNMP information Fri Jan 20 15:25:00 UTC 2006 / Kjell Claesson - 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. Sat Jan 18 23:58:43 UTC 2006 / Carlos Rodrigues - 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 - 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 - megatec: new "lowbatt" parameter (overrides the hardware low battery level) Fri Dec 16 20:21:43 UTC 2005 / Arnaud Quette - 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 - 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 - fentonups: correct the INELT Monolith 1000LT definition (Yuri V. Kurenkov) Thu Nov 24 05:50:59 UTC 2005 / Peter Selinger - updated newhidups man page to reflect multi-unit capability Thu Nov 24 03:36:14 UTC 2005 / Peter Selinger - 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 * driver.list: - add HP R5500 XR compatibility with bcmxcp Sat Nov 12 05:12:20 UTC 2005 / Peter Selinger - 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 09 20:06:58 UTC 2005 / Arnaud Quette * 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 - newhidups: cleaned up dependencies on $(LIBUSB_CFLAGS) Mon Nov 7 22:11:11 UTC 2005 / Peter Selinger - newhidups: added rudimentary Tripp Lite support, still incomplete and unstable. - newhidups: changed some local declarations to "static". Sun Nov 06 20:14:10 UTC 2005 / Arnaud Quette - 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 - 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 - 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 - newhidups: added missing "usage" definitions from HID Power Device specification, corrected spellings. Fri Oct 21 03:38:17 UTC 2005 / Peter Selinger - 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 - 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 - 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 - README and driver.list: add missing bcmxcp_usb information Mon Oct 10 20:15:24 UTC 2005 / Arnaud Quette - driver.list: add Eltek AL175 alarm module (Kirill Smelkov) Sun Oct 9 05:31:09 UTC 2005 / Peter Selinger - 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 - libhid.c: added some missing usages from UPS/HID definition Sat Oct 8 20:57:14 UTC 2005 / Arnaud Quette - 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 - 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 - 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 - newhidups: removed bug that made all variables writable. Sat Oct 01 21:46:13 EDT 2005 / Charles Lepple - 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 01 18:17:54 UTC 2005 / Arnaud Quette - upssched.txt: document the required PIPEFN and LOCKFN variables (Cristian Rigamonti) [Alioth Patch #302107] Fri Sep 30 20:38:09 UTC 2005 / Arnaud Quette - 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 - 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 - 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 - libusb.c: eliminated global variables from libusb. Sat Sep 24 00:09:13 UTC 2005 / Peter Selinger - 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 - tripplite_usb: made minor adjustments reflecting recent changes in libhid.h. Tue Sep 20 00:51:01 UTC 2005 / Peter Selinger - 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 - 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 - drivers/Makefile.in: don't remove Makefile.drvbuild on "make clean". Mon Sep 19 16:11:17 UTC 2005 / Peter Selinger - drivers/gendb: added test for gcc availability. Sat Sep 17 00:25:23 UTC 2005 / Peter Selinger - 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 - 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 - newhidups: make sure correct matcher is used for reopenings. Thu Sep 15 19:54:12 UTC 2005 / Peter Selinger - newhidups: eliminated some unused arguments from functions Thu Sep 15 03:54:02 UTC 2005 / Peter Selinger - 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 - 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 - 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 - 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 - newhidups: renamed ups.devicechemistry as battery.type, bumped newhidups driver release. Tue Sep 13 20:50:14 UTC 2005 / Peter Selinger - 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 - 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 - 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 - newhidups: in libhid.h, removed iProduct from HIDDevice structure. Use ProductID instead. Mon Sep 12 17:53:03 UTC 2005 / Peter Selinger - 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 - 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 09 10:25:05 UTC 2005 / Arnaud Quette * 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 - nut-html: also install the missing nut-banner.png Thu Aug 18 09:47:07 UTC 2005 / Arnaud Quette * 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 - 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 - 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 - 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 * newhidups: - enhance DumpTree, by adding data type and current value - verify setability/RW of data at setinfo() time - bump release to 0.27 Thu Aug 09 09:11:52 UTC 2005 / Arnaud Quette - mge-shut: enhance ups.model retrieving, and bump release to 0.65 Wed Aug 03 09:11:52 UTC 2005 / Arnaud Quette - newhidups: add basic Belkin recognition, and bump release to 0.26 Mon Aug 01 13:51:08 UTC 2005 / Arnaud Quette - 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 * 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 - newhidups: minor change in interface claiming to avoid message like "process () 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 * 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 - newhidups, libhid: code formating, and documentation - libhid.usermap: add preliminary APC rules Wed May 25 14:09:02 UTC 2005 / Arnaud Quette - newhidups.8: remove the staleness information (not needed anymore), and add hotplug information. Thu May 24 14:06:02 UTC 2005 / Arnaud Quette - mge-hid.h: add forgotten Protection Center definition Mon May 23 09:21:10 UTC 2005 / Arnaud Quette - fentonups: complete the trace (Michel Bouissou) [Alioth Patch #301574] Mon May 23 07:25:02 UTC 2005 / Arnaud Quette - 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 - 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 - solis: new driver for Microsol units (Silvino B. Magalhaes) [Alioth Patch #301272] Tue May 3 09:09:07 UTC 2005 / Arnaud Quette * 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 - 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 - 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 - configure.in, drivers/Makefile: check which USB driver(s) to build Mon Apr 25 22:03:22 UTC 2005 / Arnaud Quette - Makefiles: add LDFLAGS support - drivers/Makefile.in: remove unneeded STRLCPY flag for newhidups Sun Apr 24 19:03:22 UTC 2005 / Arnaud Quette - 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 - 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 - 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] Thu Apr 15 11:04:53 UTC 2005 / Arnaud Quette - 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] Thu Apr 15 11:04:53 UTC 2005 / Arnaud Quette - 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 - 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 - 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 - 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 00:55:20 CST 2005 / Russell Kroll - Final version number bump for release. Wed Feb 2 22:35:12 CST 2005 / Russell Kroll - 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 01:02:08 CDT 2004 / Russell Kroll - 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 00:47:54 CDT 2004 / Russell Kroll - 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 00:43:52 CDT 2004 / Russell Kroll - conf/upsstats.html: add "" around the BGCOLOR hex triplet to make the HTML pass validation checks (Niels Baggesen) Thu Oct 21 00:40:21 CDT 2004 / Russell Kroll - 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 00:38:49 CDT 2004 / Russell Kroll - 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 00:36:30 CDT 2004 / Russell Kroll - 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 00:32:21 CDT 2004 / Russell Kroll - 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 03:20:04 CDT 2004 / Russell Kroll - upsd.users.5: refer to upsd.conf, not ups.conf. (Niels Baggesen) Thu Sep 30 03:16:58 CDT 2004 / Russell Kroll * 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 03:38:19 CDT 2004 / Russell Kroll - cpsups: recognize CyberPower 825 model (Walt H) [cpsups-2.0.1.diff] Wed Sep 29 03:23:20 CDT 2004 / Russell Kroll - 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 03:14:30 CDT 2004 / Russell Kroll - 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 03:09:36 CDT 2004 / Russell Kroll - libusb: only declare 'int retries' when LIBUSB_HAS_DETACH_KRNL_DRV is defined to avoid warnings about unused variables. (Niels Baggesen) Wed Sep 29 03:05:33 CDT 2004 / Russell Kroll - fentonups: upsdrv_shutdown: use ups_on_line as a function properly. Reported by Niels Baggesen. Wed Sep 29 03:00:47 CDT 2004 / Russell Kroll - upsd.8: fix ' at beginning of line (Niels Baggesen) Wed Sep 29 02:46:18 CDT 2004 / Russell Kroll - 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 02:20:14 CDT 2004 / Russell Kroll - oneac: drop embedded ^Ms - oneac, ippon: rename SEC to SECS to avoid clashing with Solaris header files. (Niels Baggesen) Wed Sep 29 02:15:15 CDT 2004 / Russell Kroll - tripplite: use sqrt instead of sqrtf (portability fix) (Niels Baggesen) Wed Sep 29 02:14:13 CDT 2004 / Russell Kroll - driver.list: extend MGE entries (Arnaud Quette) [patch-2.0.1-pre3_compat-list] Wed Sep 29 02:11:26 CDT 2004 / Russell Kroll - bestfcom: further address command echo; bumped to 0.11 (Kent Hill) Wed Sep 29 02:06:23 CDT 2004 / Russell Kroll - gendb: fix cosmetic models vs. drivers comment (Shaul Karl) Wed Sep 22 01:55:58 CDT 2004 / Russell Kroll - energizerups: apply HID_MAX_USAGES workaround from hidups 2.0.1-pre3: Thu Sep 2 02:52:43 CDT 2004 / Russell Kroll - newhidups: fix broken setvar/instcmd and limit trace noise (Arnaud Quette) [patch-2.0.1_newhidups-part2] Thu Sep 2 02:43:35 CDT 2004 / Russell Kroll - 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 02:32:42 CDT 2004 / Russell Kroll - fentonups: also recognize the Unitek Alpha 1000is with data supplied by Antoine Cuvellard. Wed Aug 18 00:08:11 CDT 2004 / Russell Kroll - fentonups: added strings to detect SuperPower HP360 and Hope-550 models supplied by Denis Zaika. Wed Aug 18 00:04:46 CDT 2004 / Russell Kroll - driver.list: Pulsar / Comet EXtreme are only supported by mge-utalk (Arnaud Quette) [patch-2.0.1-compat_extreme] Tue Aug 17 04:54:21 CDT 2004 / Russell Kroll - 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 05:08:45 CDT 2004 / Russell Kroll - libhid: force static on raw_usage[] since its value can be used outside that function. Thu Aug 12 04:50:03 CDT 2004 / Russell Kroll - 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 04:46:32 CDT 2004 / Russell Kroll - 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 01:18:28 CDT 2004 / Russell Kroll - 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 01:04:20 CDT 2004 / Russell Kroll - 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 03:54:58 CDT 2004 / Russell Kroll - 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 02:47:28 CDT 2004 / Russell Kroll - hidups: work around missing HID_MAX_USAGES in hidups.h if necessary Thu Jul 15 01:34:47 CDT 2004 / Russell Kroll - 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 01:31:52 CDT 2004 / Russell Kroll - 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 01:10:39 CDT 2004 / Russell Kroll - bestfcom: new forked version of bestferrups which better handles the inverter status alarm messages and more. (Kent Hill) Thu Jul 15 01:03:13 CDT 2004 / Russell Kroll - 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 00:43:18 CDT 2004 / Russell Kroll - hidups: call HIDIOCINITREPORT in every poll to fix stuck variables. (Stuart D. Gathman) [tt] Thu Jul 15 00:39:34 CDT 2004 / Russell Kroll - 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 00:07:29 CDT 2004 / Russell Kroll - 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. Wed Jul 14 23:43:14 CDT 2004 / Russell Kroll - fentonups: add a sleep to let some hardware wake up and fix a parsing bug in the initial detection phase code. (MLH) Wed Jul 14 23:40:41 CDT 2004 / Russell Kroll - man pages: turn literal "-" into either "\(hy" or "\-" as appropriate. (Shaul Karl) Wed Jul 14 23:32:26 CDT 2004 / Russell Kroll - 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] Wed Jul 14 23:23:28 CDT 2004 / Russell Kroll - 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] Wed Jul 14 23:22:09 CDT 2004 / Russell Kroll - cpsups: added support for the CPS 1500AVR-HO model (Brad Sawatzky] (patch.1500avr-ho) Wed Jul 14 23:21:10 CDT 2004 / Russell Kroll - everups: added support for types 73-76: NET 700/1000/1400/500-DPC (hunter) Wed Jul 14 23:18:25 CDT 2004 / Russell Kroll - docs/cables/apc-rs500-serial.txt: new cable pinout data for using the Back-UPS RS 500 on a system without USB ports. Wed Jul 14 23:11:15 CDT 2004 / Russell Kroll - cpsups: stomp C99 variable declaration that slipped past me in pre1. Reported by Gert Lynge. Wed Jul 14 23:08:02 CDT 2004 / Russell Kroll - driver.list changes: - esupssmart: Add Infosec models - genericups type 15: add Powerware 5125 2.0.1-pre1: Tue May 4 17:10:55 CDT 2004 / Russell Kroll - 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 16:43:35 CDT 2004 / Russell Kroll - mustek: new driver for Mustek UPS hardware. (Martin Hajduch) Fri Apr 23 04:37:34 CDT 2004 / Russell Kroll - 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 14:01:09 CST 2004 / Russell Kroll * Version number bump for release Mon Mar 22 16:52:38 CST 2004 / Russell Kroll - drivers/Makefile.in: restore 'usb' target (instead of 'usbups') (Arnaud Quette) [patch-1.5.15_install-usb] 1.5.15: Tue Mar 16 14:53:25 CST 2004 / Russell Kroll - upsd/netuser.c: include user.h to pick up the prototype for user_checkaction Tue Mar 16 14:41:27 CST 2004 / Russell Kroll - 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 03:49:27 CST 2004 / Russell Kroll - 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 06:12:25 CST 2004 / Russell Kroll - various: cleaned up tab damage throughout Mon Mar 8 04:01:02 CST 2004 / Russell Kroll - main: allow 'pollinterval' to be set in the per-UPS sections Mon Mar 8 03:57:23 CST 2004 / Russell Kroll - 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 03:44:01 CST 2004 / Russell Kroll - 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] Sat Feb 28 23:33:19 CST 2004 / Russell Kroll - 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)'. Sat Feb 28 21:15:06 CST 2004 / Russell Kroll - 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 14:19:36 CST 2004 / Russell Kroll - docs/*: various updates, including a reworked new-names.txt Wed Feb 18 19:03:52 CST 2004 / Russell Kroll - 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. Wed Feb 18 19:02:25 CST 2004 / Russell Kroll - mge-utalk: added the "oldmac" flag to support OldWorld Macintosh systems (Arnaud Quette) [patch-1.5.12_mge-utalk_oldmac2] Fri Feb 6 16:53:41 CST 2004 / Russell Kroll - INSTALL: use chown examples with a colon for BSD compatibility Wed Feb 4 18:33:56 CST 2004 / Russell Kroll - 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 11:16:00 CST 2004 / Russell Kroll - 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: Sun Feb 1 21:56:27 CST 2004 / Russell Kroll - cyberpower1100: new driver for CyberPower 1100AVR hardware [Walt Holman] Sat Jan 31 15:31:03 CST 2004 / Russell Kroll - 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 14:51:57 CST 2004 / Russell Kroll - 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 03:19:33 CST 2004 / Russell Kroll - 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 07:05:06 CST 2004 / Russell Kroll - serial, cyberpower: fix %02x format strings Mon Jan 19 07:01:53 CST 2004 / Russell Kroll - 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 00:06:55 CST 2004 / Russell Kroll - 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 14:41:11 CST 2004 / Russell Kroll - upscommon: removed - masterguard, esupssmart: changed upssend to ser_send_pace - tripplite, bestuferrups, etapro, sms: changed upssend to ser_send Fri Jan 9 14:21:14 CST 2004 / Russell Kroll - 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 13:57:18 CST 2004 / Russell Kroll - 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 13:18:07 CST 2004 / Russell Kroll - powercom: added support for KIN-525AP and finished conversion to the new serial functions. (Shaul Karl) Tue Jan 6 14:25:13 CST 2004 / Russell Kroll - belkinunv: converted to the new ser_ functions. (Peter Selinger) - safenet: updated to version 0.03. (Arjen de Korte) [safenet-1.5.10.diff] Sun Jan 4 20:42:59 CST 2004 / Russell Kroll - bestups: use S01R0001 for all shutdown situations so an on-battery shutdown isn't a one-way trip. 1.5.10: Sun Dec 28 01:04:52 CST 2003 / Russell Kroll - various drivers: converted open_serial, upsflushin and upssendchar calls Sat Dec 27 04:22:27 CST 2003 / Russell Kroll - mge-utalk: minor serial conversions; bumped to 0.80.1 Sat Dec 27 04:03:10 CST 2003 / Russell Kroll - isbmex: minor serial conversions; bumped to 0.03 Sat Dec 27 03:56:49 CST 2003 / Russell Kroll - esupssmart: started conversion to serial from upscommon; bumped to 0.21 Sat Dec 27 03:36:17 CST 2003 / Russell Kroll - blazer: converted to serial from upscommon; bumped to 0.07 - victron: converted to serial from upscommon; bumped to 0.1.8 Sat Dec 27 03:20:41 CST 2003 / Russell Kroll - powercom: changed final upscommon calls to serial equivalents Fri Dec 26 21:59:41 CST 2003 / Russell Kroll - apcsmart, bestups: use #defines instead of literals for ser_read wait values Fri Dec 26 18:52:18 CST 2003 / Russell Kroll * 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. Fri Dec 26 18:35:59 CST 2003 / Russell Kroll - serial: fix upsfd/fd naming when using lockf code. Reported by Pascal Hennequin. Fri Dec 26 18:33:30 CST 2003 / Russell Kroll - 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) Fri Dec 26 18:18:41 CST 2003 / Russell Kroll - 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 15:52:17 CST 2003 / Russell Kroll - 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 15:47:52 CST 2003 / Russell Kroll - 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 10:14:55 CST 2003 / Russell Kroll * Various doc updates throughout Tue Nov 25 20:36:07 CST 2003 / Russell Kroll - 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. Tue Nov 25 20:17:33 CST 2003 / Russell Kroll - 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 13:55:50 CST 2003 / Russell Kroll - upsc, upscmd, upsrw: check for insanity in the UPS argument and provide a clearer error message about the upsname@hostname format Tue Nov 25 13:19:57 CST 2003 / Russell Kroll - mge-shut: rename a few things that used the same names as various common functions (index, strlen, read) Tue Nov 25 13:13:19 CST 2003 / Russell Kroll - belkinunv: new driver for Belkin Universal UPS hardware. (Peter Selinger) Sun Nov 16 02:48:37 CST 2003 / Russell Kroll - drivers, upsd: added 'static' to various functions that aren't called from external parts of the code 1.5.8: Sun Nov 2 15:58:14 CST 2003 / Russell Kroll - 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 15:30:18 CST 2003 / Russell Kroll - 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 10:42:53 CST 2003 / Russell Kroll - serial: make sure it doesn't read too far ahead in ser_get_buf_len Fri Oct 31 10:27:11 CST 2003 / Russell Kroll - serial: only pass the basename of ttys to uu_lock Fri Oct 31 09:03:06 CST 2003 / Russell Kroll - configure.in: explicitly test for EGREP so things don't break on FreeBSD systems. Mon Oct 27 12:02:55 CST 2003 / Russell Kroll - 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 11:59:57 CST 2003 / Russell Kroll - 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 11:56:44 CST 2003 / Russell Kroll - apcsmart: reworked status code to use #defines instead of magic numbers Thu Oct 23 01:32:32 CDT 2003 / Russell Kroll - cmdvartab: recognize beeper commands (Arjen de Korte) Thu Oct 23 01:27:50 CDT 2003 / Russell Kroll - safenet: upgraded to 0.2; fixed a typo (LB, not BL) (Arjen de Korte) [safenet.diff] 1.5.7: Sat Oct 18 16:42:17 CDT 2003 / Russell Kroll - 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 14:15:24 CDT 2003 / Russell Kroll - 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 14:03:44 CDT 2003 / Russell Kroll - cmdvartab: added clarifying units and fixed the battery.voltage description. (Eric S. Raymond) Wed Oct 15 13:59:47 CDT 2003 / Russell Kroll - upslog: catch more signals and cleanly exit whenever possible Mon Oct 13 16:38:29 CDT 2003 / Russell Kroll * 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 16:26:57 CDT 2003 / Russell Kroll - 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 13:43:08 CDT 2003 / Russell Kroll - 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 13:33:43 CDT 2003 / Russell Kroll - main: tell getopt to give us an argument for -i Sat Oct 11 13:10:41 CDT 2003 / Russell Kroll - 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 00:08:54 CDT 2003 / Russell Kroll - 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 00:02:50 CDT 2003 / Russell Kroll - various: fix tab damage throughout Mon Sep 29 23:16:30 CDT 2003 / Russell Kroll - upsdrvctl: clean up dynamic memory at exit Mon Sep 29 22:49:57 CDT 2003 / Russell Kroll - 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. Mon Sep 29 22:16:29 CDT 2003 / Russell Kroll - main, dstate: free more dynamic memory at exit (vartab, others) Mon Sep 29 22:10:15 CDT 2003 / Russell Kroll - bestups: cleaned up the init sequence to avoid unnecessary dynamic memory and two small related leaks Mon Sep 29 01:35:45 CDT 2003 / Russell Kroll - 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 01:05:43 CDT 2003 / Russell Kroll - 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 00:45:39 CDT 2003 / Russell Kroll - Makefile: don't call install-cgi-conf by default. (Shaul Karl) Mon Sep 29 00:25:54 CDT 2003 / Russell Kroll - 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 00:00:41 CDT 2003 / Russell Kroll - bestups, fentonups: switched error reporting to common functions Sun Sep 28 23:53:33 CDT 2003 / Russell Kroll - apcsmart, cyberpower, belkin: switched error reporting for normal polls to use the ser_comm functions, since they perform rate-limiting Sun Sep 28 22:14:59 CDT 2003 / Russell Kroll - genericups: changed to new serial functions and applied minor cleanups Mon Sep 15 12:00:35 CDT 2003 / Russell Kroll - liebert: converted to new serial functions Mon Sep 15 10:29:10 CDT 2003 / Russell Kroll - upsset, upscmd: use getpwuid and getuid to get a reasonable default value for the Username prompt. Mon Sep 15 10:12:02 CDT 2003 / Russell Kroll - upsd: actually return when no args are presented to parse_net rather than continuing, which usually makes upsd fall over. Mon Sep 15 09:45:00 CDT 2003 / Russell Kroll - 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 09:33:18 CDT 2003 / Russell Kroll - 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 07:41:26 CDT 2003 / Russell Kroll - cyberpower: changed raw read/write calls to ser_* equivalents Mon Sep 15 07:13:12 CDT 2003 / Russell Kroll - upsd: don't print "Success" when a driver closes the state socket and read returns 0 Mon Sep 15 07:09:22 CDT 2003 / Russell Kroll - 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 06:10:38 CDT 2003 / Russell Kroll - 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 05:19:44 CDT 2003 / Russell Kroll - 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 03:38:08 CDT 2003 / Russell Kroll - 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 05:19:39 CDT 2003 / Russell Kroll - upsclient: report "Server disconnected" (UPSCLI_ERR_SRVDISC) when a read from the network returns 0. 1.5.5: Fri Sep 12 03:24:21 CDT 2003 / Russell Kroll - 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. Fri Sep 5 21:01:57 CDT 2003 / Russell Kroll - 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. Fri Sep 5 19:28:09 CDT 2003 / Russell Kroll - energizerups: only report staleness after 3 failed poll attempts. (Viktor T. Toth) Wed Sep 3 19:30:24 CDT 2003 / Russell Kroll - 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 13:40:42 CDT 2003 / Russell Kroll - 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 12:39:25 CDT 2003 / Russell Kroll - 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 12:27:53 CDT 2003 / Russell Kroll - upsd: sprinkleed const throughout the handlers - upsd: handle action/instcmd checking in the handlers to simplify netcmds[] Tue Sep 2 11:36:59 CDT 2003 / Russell Kroll - upsconf: forced "required" since all callers had that set anyway - upsd: cleaned up conf functions and simplified entry points Tue Sep 2 11:17:24 CDT 2003 / Russell Kroll - upsd: clean up ups add/redefinition functions and move into conf.c Tue Sep 2 11:06:44 CDT 2003 / Russell Kroll - 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 13:50:39 CDT 2003 / Russell Kroll - lib/*: include SSL_CFLAGS and SSL_LDFLAGS too Mon Sep 1 13:40:31 CDT 2003 / Russell Kroll - 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 13:09:46 CDT 2003 / Russell Kroll - configure.in: changed default location of hiddev.h to /usr/include/linux since /usr/src/linux isn't always usable Mon Sep 1 13:05:39 CDT 2003 / Russell Kroll - 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 12:51:27 CDT 2003 / Russell Kroll - mge-shut: add input.{voltage,frequency} and output.{frequency,current} (Arnaud Quette) Mon Sep 1 12:49:08 CDT 2003 / Russell Kroll - upsimage: use the input transfer voltages again so the input graph shows the right normal/warning regions Mon Sep 1 12:44:06 CDT 2003 / Russell Kroll - configure.in: read include/version for use in the new pkgconfig/helper script as @NUT_VERSION@ Mon Sep 1 12:33:39 CDT 2003 / Russell Kroll - energizerups: new driver for Energizer UPS hardware. (Viktor T. Toth) Mon Sep 1 12:28:26 CDT 2003 / Russell Kroll - 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 12:26:47 CDT 2003 / Russell Kroll - victronups: actually applied the patch for better IMV Match Lite support from Daniel Prynych Mon Sep 1 12:25:09 CDT 2003 / Russell Kroll - 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 03:01:58 CDT 2003 / Russell Kroll - hidups, snmp-ups: minor signed/unsigned comparison fixes Mon Aug 25 02:52:13 CDT 2003 / Russell Kroll - 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 10:02:31 CDT 2003 / Russell Kroll - various: clean up prototypes, and add static where appropriate Sun Aug 24 09:48:35 CDT 2003 / Russell Kroll - various: explicitly use (void) in function prototypes instead of () Sun Aug 24 09:43:23 CDT 2003 / Russell Kroll - various: add const to char * declarations where appropriate Sun Aug 24 09:18:57 CDT 2003 / Russell Kroll - 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 08:52:19 CDT 2003 / Russell Kroll - drivers, common: use EXIT_SUCCESS or EXIT_FAILURE Sun Aug 24 08:40:41 CDT 2003 / Russell Kroll - 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 06:24:25 CDT 2003 / Russell Kroll - upsmon: changed all exit calls to use EXIT_SUCCESS or EXIT_FAILURE Sun Aug 24 06:17:24 CDT 2003 / Russell Kroll - 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 05:52:37 CDT 2003 / Russell Kroll - 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 05:47:01 CDT 2003 / Russell Kroll - 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 05:42:31 CDT 2003 / Russell Kroll - upsmon: dropped "-i" Sun Aug 24 05:38:05 CDT 2003 / Russell Kroll - upsmon: dropped "-d". Debugging info is accessed with -D, just like upsd and upsmon. Sun Aug 24 05:28:12 CDT 2003 / Russell Kroll - 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 05:15:43 CDT 2003 / Russell Kroll - 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 04:54:09 CDT 2003 / Russell Kroll - bcmxcp, microdowell, oneac: removed drivers with broken_driver set Sun Aug 24 04:51:44 CDT 2003 / Russell Kroll - 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 04:48:31 CDT 2003 / Russell Kroll - 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 04:22:39 CDT 2003 / Russell Kroll - 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 04:11:49 CDT 2003 / Russell Kroll - upsd: cleaned up a few signed/unsigned comparisons - check for negative returns, then cast sizeof to int and do the rest Sun Aug 24 04:01:53 CDT 2003 / Russell Kroll - 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 03:56:23 CDT 2003 / Russell Kroll - upsdrvctl: removed -i - this belongs in ups.conf (and didn't work anyway) 1.5.2: Sat Aug 16 11:43:19 CDT 2003 / Russell Kroll - main: added 'pollinterval' as a global setting in ups.conf Sat Aug 16 11:38:44 CDT 2003 / Russell Kroll - main, upsdrvctl: applied patch from Gabriel Faber adding the -i argument to set the poll interval in the driver. Sat Aug 16 11:33:50 CDT 2003 / Russell Kroll - Makefile.in: changed install-misc target to install-lib for consistency Sat Aug 16 11:31:03 CDT 2003 / Russell Kroll - upsstats: clean up the hosts.conf error page. Reported by Bill Richter. Sat Aug 16 11:27:04 CDT 2003 / Russell Kroll - victronups: applied patch from Daniel Prynych which adds better support for IMV MATCH Lite hardware. Mon Aug 11 11:27:51 CDT 2003 / Russell Kroll - parseconf: use size_t instead of ints where appropriate Mon Aug 11 10:45:54 CDT 2003 / Russell Kroll * 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 10:43:50 CDT 2003 / Russell Kroll - upsd: don't return (func) in a function that returns void. Reported by Gabriel Faber. Mon Aug 11 10:26:09 CDT 2003 / Russell Kroll - mge-shut: change ulong to unsigned long to fix compiles on FreeBSD Mon Aug 11 10:23:58 CDT 2003 / Russell Kroll - snmp-ups: applied patch from Arnaud Quette fixing the other FLAG_* changes that I missed for 1.5.0. Mon Aug 11 10:06:09 CDT 2003 / Russell Kroll - 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 10:02:29 CDT 2003 / Russell Kroll - blazer: new driver Phil Hutton for Blazer UPS equipment, via Arnaud Quette. Mon Aug 11 08:28:20 CDT 2003 / Russell Kroll - configure, mge-shut, hidparser: applied patch from Arnaud Quette fixing endianness issues on some architectures Wed Aug 6 04:15:25 CDT 2003 / Russell Kroll - 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: Fri Aug 1 21:01:30 CDT 2003 / Russell Kroll - clients/Makefile.in: upssched no longer needs strlcpy Fri Aug 1 20:56:56 CDT 2003 / Russell Kroll - configure.in, clients/Makefile.in: build and use libupsclient.a when ar is available. Wed Jul 30 00:36:53 CDT 2003 / Russell Kroll - upsd: switch to just a plain write() for network I/O now that UDP is gone Wed Jul 30 00:34:20 CDT 2003 / Russell Kroll - upsd: dropped UDP support since it wasn't being used anyway. 1.5.0: Tue Jul 29 20:35:25 CDT 2003 / Russell Kroll - cyberpower: beautify the source somewhat Tue Jul 29 20:31:10 CDT 2003 / Russell Kroll - 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. Tue Jul 29 20:26:09 CDT 2003 / Russell Kroll - upsset: dropped code for old variable and command names Tue Jul 29 20:07:00 CDT 2003 / Russell Kroll - upsstats: changed calls to upsimage to new names - upsimage: converted imgvar[] entries to new names Tue Jul 29 18:40:02 CDT 2003 / Russell Kroll - upsstats: mostly converted to the new variable names. There are a few lingering things like UTILITYCOLOR. Tue Jul 29 16:32:56 CDT 2003 / Russell Kroll - newapc: renamed to apcsmart. What was the oldest driver in the tree is now officially retired. Tue Jul 29 16:24:56 CDT 2003 / Russell Kroll * 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 16:24:17 CDT 2003 / Russell Kroll * Forked from 1.4.0 to start the new 1.5 dev tree. 1.4.0: Fri Jul 25 09:59:51 CDT 2003 / Russell Kroll * Final documentation cleanups for release. Tue Jul 22 06:45:13 CDT 2003 / Russell Kroll - tripplitesu: new driver from Allan Hessenflow for Tripp Lite SU (SmartOnline) equipment. 1.3.13: Thu Jul 17 23:01:43 CDT 2003 / Russell Kroll - upsd: complain about bad ACCESS level names in the syslog Mon Jul 14 17:23:41 CDT 2003 / Russell Kroll - 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 15:42:13 CDT 2003 / Russell Kroll - 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 Thu Jul 10 19:54:14 CDT 2003 / Russell Kroll - 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] Thu Jul 10 19:48:06 CDT 2003 / Russell Kroll - 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 12:48:43 CDT 2003 / Russell Kroll - victronups: applied patch from Daniel Prynych which finishes the conversion to 1.3 and adds dataok/datastale calls. Sat Jul 5 07:20:26 CDT 2003 / Russell Kroll - snmp-ups: use xmalloc, not malloc Sat Jul 5 07:05:23 CDT 2003 / Russell Kroll - upsd: clean up ERR handling for setting an invalid ENUM value and elsewhere Fri Jul 4 05:14:55 CDT 2003 / Russell Kroll - 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 05:12:37 CDT 2003 / Russell Kroll - 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 05:01:12 CDT 2003 / Russell Kroll - 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 04:58:47 CDT 2003 / Russell Kroll - 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. Tue Jul 1 20:50:35 CDT 2003 / Russell Kroll - 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 03:54:39 CDT 2003 / Russell Kroll - mge-shut: fixed a case with no return code Mon Jun 30 04:20:19 CDT 2003 / Russell Kroll - newapc: after changing a variable in the UPS, refresh the dstate data so clients see the new value immediately. Mon Jun 30 04:08:03 CDT 2003 / Russell Kroll - upscommon, dstate: move ups_handler into its own header file to avoid problems later Mon Jun 30 03:45:05 CDT 2003 / Russell Kroll - 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 03:40:09 CDT 2003 / Russell Kroll - 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 03:11:15 CDT 2003 / Russell Kroll - 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 03:03:53 CDT 2003 / Russell Kroll - 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 02:57:54 CDT 2003 / Russell Kroll - hp: applied patch from Jan Sporbeck adding support for the A2994A. Wed Jun 25 23:34:41 CDT 2003 / Russell Kroll - 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 15:17:14 CDT 2003 / Russell Kroll - 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 06:40:20 CDT 2003 / Russell Kroll - 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 06:32:03 CDT 2003 / Russell Kroll - tripplite: converted, bumped to 0.02, added driver.version.internal Wed Jun 11 06:05:51 CDT 2003 / Russell Kroll - 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 05:54:36 CDT 2003 / Russell Kroll - genericups: call dataok more than once Wed Jun 11 05:49:46 CDT 2003 / Russell Kroll - cyberpower: use bufsize properly in get_ident, and don't read beyond it Wed Jun 11 05:47:04 CDT 2003 / Russell Kroll - 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 05:40:14 CDT 2003 / Russell Kroll - 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 04:58:28 CDT 2003 / Russell Kroll - 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 04:52:54 CDT 2003 / Russell Kroll - 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 04:43:16 CDT 2003 / Russell Kroll - isbmex: converted, bumped to 0.02, added driver.version.internal Wed Jun 11 04:38:57 CDT 2003 / Russell Kroll - var-map, drivers: input.minimum and input.maximum are now input.voltage.minimum and input.voltage.maximum to avoid ambiguity Wed Jun 11 04:33:09 CDT 2003 / Russell Kroll - 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 04:26:15 CDT 2003 / Russell Kroll - masterguard: converted, bumped to 0.22, added driver.version.internal Wed Jun 11 04:16:55 CDT 2003 / Russell Kroll - 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 03:59:11 CDT 2003 / Russell Kroll - 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 03:49:11 CDT 2003 / Russell Kroll - esupssmart: new driver for Energy Sistem equipment from Antonio Trujillo Coronado. Wed Jun 11 03:48:16 CDT 2003 / Russell Kroll - status.h: applied patch from Arnaud Quette adding a mapping for BYPASS Wed Jun 11 03:45:37 CDT 2003 / Russell Kroll - hidparser: applied patch from Arnaud Quette fixing a compilation warning discovered by Shaul Karl. [patch-1.x-HIDParser_warnings] Mon Jun 9 00:31:04 CDT 2003 / Russell Kroll - upsd: report the username that did LOGOUT, if available Sun Jun 8 23:24:44 CDT 2003 / Russell Kroll - genericups.8: update type 7 to reflect Belkin Home Office compatibility as reported by Matthew Mueller. Sun Jun 8 23:10:21 CDT 2003 / Russell Kroll - 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 02:56:02 CDT 2003 / Russell Kroll - 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 00:17:24 CDT 2003 / Russell Kroll - 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 02:38:30 CDT 2003 / Russell Kroll - 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 00:22:34 CDT 2003 / Russell Kroll - 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 00:19:45 CDT 2003 / Russell Kroll - 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 00:15:24 CDT 2003 / Russell Kroll - 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 01:47:28 CDT 2003 / Russell Kroll - 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 01:35:44 CDT 2003 / Russell Kroll - 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 01:30:43 CDT 2003 / Russell Kroll - 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 00:12:23 CDT 2003 / Russell Kroll - 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 15:30:21 CDT 2003 / Russell Kroll - upsd: fix FSD reporting in STATUS (old) and ups.status (new) Wed May 14 15:19:36 CDT 2003 / Russell Kroll - 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 14:58:19 CDT 2003 / Russell Kroll - upsmon: added -D for consistency and took -d out of the help text. -d will be supported but unadvertised for awhile. Wed May 14 14:24:45 CDT 2003 / Russell Kroll - newapc: try to break out of menus on newer models by sending ESC - bestups: cleaned up init and shutdown sequences Wed May 14 13:56:51 CDT 2003 / Russell Kroll - main, dummycons: set driver.version and driver.name Wed May 14 13:54:06 CDT 2003 / Russell Kroll - fentonups: make multiple attempts to detect a UPS before giving up, and perform more sanity checks on the ID sequence Wed May 14 13:46:26 CDT 2003 / Russell Kroll - mge-shut: applied patch from Arnaud Quette fixing a memory leak. 1.3.7: Tue May 13 12:55:08 CDT 2003 / Russell Kroll - genericups: applied patch from Shaul Karl adding support for setting ups.serial via 'serial=' in ups.conf. Tue May 13 12:31:54 CDT 2003 / Russell Kroll - 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 14:30:32 CDT 2003 / Russell Kroll - upsd: started adding explicit #defines for error reporting consistency Sat May 10 13:39:29 CDT 2003 / Russell Kroll - 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 13:16:38 CDT 2003 / Russell Kroll - 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 14:34:12 CDT 2003 / Russell Kroll - 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 11:52:43 CDT 2003 / Russell Kroll - 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 11:30:00 CDT 2003 / Russell Kroll - 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 05:45:09 CDT 2003 / Russell Kroll - powercom: applied patches from Shaul Karl to modify the validation code and convert to dstate. Thu May 8 08:26:39 CDT 2003 / Russell Kroll - upsd: added support for server.info and server.version. Since these variables don't apply to any UPS, the usual field is ignored. Thu May 8 04:04:03 CDT 2003 / Russell Kroll - upsd: make sure only the old compatibility functions can use the old variable names Wed May 7 04:44:06 CDT 2003 / Russell Kroll - 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 13:19:04 CDT 2003 / Russell Kroll - oneac: mostly switched to dstate - not all names have been mapped Tue May 6 13:08:34 CDT 2003 / Russell Kroll - everups: switched to dstate Tue May 6 12:58:07 CDT 2003 / Russell Kroll - 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 12:48:03 CDT 2003 / Russell Kroll - everups, mge-utalk, tripplite, snmp-ups, powernet: drop VALSIZE, since it's a relic from the old info array. Tue May 6 12:30:37 CDT 2003 / Russell Kroll - upslog: use become_user() directly Tue May 6 12:14:44 CDT 2003 / Russell Kroll - 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 11:45:53 CDT 2003 / Russell Kroll - 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 11:41:23 CDT 2003 / Russell Kroll - dstate, sstate: clarify test for EAGAIN: only when read returns -1 Tue May 6 11:38:44 CDT 2003 / Russell Kroll - dummycons: added -u 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 03:12:24 CDT 2003 / Russell Kroll - upsclient: drop xstrdup and switch to local checking to avoid extra dependencies on other object files Mon May 5 03:07:30 CDT 2003 / Russell Kroll - apcsmart: eat the response from the calibration command Fri May 2 23:59:41 CDT 2003 / Russell Kroll - newapc: read the results of the start/stop calibration commands to avoid getting out of sync later on. Reported by Nicholas Lee. Fri May 2 23:46:35 CDT 2003 / Russell Kroll - 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 00:55:51 CDT 2003 / Russell Kroll - liebert: converted to dstate functions 1.3.5: Fri May 2 00:01:17 CDT 2003 / Russell Kroll - cyberpower: new instant command: shutdown.stayoff Thu May 1 23:53:13 CDT 2003 / Russell Kroll - 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. Thu May 1 23:33:48 CDT 2003 / Russell Kroll - 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. Thu May 1 22:57:17 CDT 2003 / Russell Kroll - 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() Thu May 1 21:47:47 CDT 2003 / Russell Kroll - cyberpower: reworked the initial detection process to add a few more tries before giving up completely Thu May 1 21:36:16 CDT 2003 / Russell Kroll - 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. Thu May 1 21:23:29 CDT 2003 / Russell Kroll - newapc: explicitly check every upsrecv for usable results, and deal with "NA" everywhere Thu May 1 21:12:19 CDT 2003 / Russell Kroll - parseconf: explicitly leave room for the trailing null in all cases Thu May 1 03:38:21 CDT 2003 / Russell Kroll - snmp-ups: applied patch from Arnaud Quette to support BYP status Thu May 1 03:29:57 CDT 2003 / Russell Kroll - newapc: converted to dstate functions Wed Apr 30 15:42:12 CDT 2003 / Russell Kroll - mge-utalk: applied patch from Arnaud Quette to convert to dstate. [patch-1.3.4-mge-utalk_CNNS] Wed Apr 30 04:12:58 CDT 2003 / Russell Kroll - newapc: started tearing into it with a chainsaw Wed Apr 30 01:47:53 CDT 2003 / Russell Kroll - newapc: split status handling into its own function Tue Apr 29 21:55:22 CDT 2003 / Russell Kroll - drivers/main: drop main_background, revert to common function Tue Apr 29 19:54:31 CDT 2003 / Russell Kroll - 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 16:12:13 CDT 2003 / Russell Kroll - 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 15:47:58 CDT 2003 / Russell Kroll - 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 00:16:54 CDT 2003 / Russell Kroll - 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 00:11:50 CDT 2003 / Russell Kroll - powercom: applied patch from Preston A. Elder adding support for KIN-2200AP hardware. This may also support other KIN-xxxxAP equipment. Tue Apr 29 00:01:21 CDT 2003 / Russell Kroll - 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+. Mon Apr 28 23:57:02 CDT 2003 / Russell Kroll - 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. Mon Apr 28 23:49:25 CDT 2003 / Russell Kroll - upsd: do the usual stale/connected checks in the new net functions Mon Apr 28 23:37:41 CDT 2003 / Russell Kroll - 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. Mon Apr 28 23:24:12 CDT 2003 / Russell Kroll - upsd: added new handler for INSTCMD. This also falls through to the old version with the old names for compatibility. Mon Apr 28 23:13:42 CDT 2003 / Russell Kroll - upsd: added new handler for SET VAR. This will fall through and try the old version if necessary. Mon Apr 28 22:46:00 CDT 2003 / Russell Kroll - 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 18:06:44 CDT 2003 / Russell Kroll - upsd: clarify new protocol: BEGIN, not START - upsd: extend the END LIST to include the list parameters Mon Apr 28 17:13:31 CDT 2003 / Russell Kroll - upsd: fix the formatting of "GET TYPE", and explicitly add RW Mon Apr 28 16:54:42 CDT 2003 / Russell Kroll - belkin: don't allow OFF to co-exist with OB or OL. Mon Apr 28 16:45:30 CDT 2003 / Russell Kroll - 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 16:40:13 CDT 2003 / Russell Kroll - dummycons: show flags and auxdata in the variable listing - dummycons: support 'sa' to set auxdata Mon Apr 28 15:45:06 CDT 2003 / Russell Kroll - newapc: applied patch from Don Lewis which makes the driver send all 5 bytes when using sdtype 1. Mon Apr 28 01:08:53 CDT 2003 / Russell Kroll - dummycons: use new set/instcmd callbacks for consistency Mon Apr 28 00:48:47 CDT 2003 / Russell Kroll - apcsmart, hp, upscommon: dumped old 'installinfo' evil hack Mon Apr 28 00:43:11 CDT 2003 / Russell Kroll - apcsmart: reworked to use new SET technique - dstate: added new callbacks for SET with new names Mon Apr 28 00:27:09 CDT 2003 / Russell Kroll - upsd: check for world-readable permissions on upsd.conf, upsd.users and the CERTFILE to warn the admin about potential security problems Sat Apr 26 23:14:03 CDT 2003 / Russell Kroll - fentonups, belkin, apcsmart: use new instcmd callbacks - dstate, upscommon: added new callbacks for INSTCMD with new names Sat Apr 26 22:59:38 CDT 2003 / Russell Kroll - newapc: started converting trivial things to dstate functions Sat Apr 26 22:41:01 CDT 2003 / Russell Kroll - apcsmart: converted to dstate functions Fri Apr 25 17:00:42 CDT 2003 / Russell Kroll - 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 16:36:06 CDT 2003 / Russell Kroll - dummycons: added 'lc' to show the current list of commands. Fri Apr 25 16:28:50 CDT 2003 / Russell Kroll - genericups: converted to dstate functions Fri Apr 25 16:26:48 CDT 2003 / Russell Kroll - 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 15:25:16 CDT 2003 / Russell Kroll - upsimage, upsstats: applied patch from Andrew R. Ghali adding support for monitoring BATTVOLT. Wed Apr 23 15:23:17 CDT 2003 / Russell Kroll - 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 08:04:22 CDT 2003 / Russell Kroll - belkin, cyberpower, hidups: converted Wed Apr 23 07:40:29 CDT 2003 / Russell Kroll - 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. Tue Apr 22 19:25:03 CDT 2003 / Russell Kroll - bestups: now uses dstate functions directly Tue Apr 22 19:23:33 CDT 2003 / Russell Kroll - 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 16:20:36 CDT 2003 / Russell Kroll - upsd: started adding support for reading the new variable names natively Tue Apr 22 15:43:09 CDT 2003 / Russell Kroll - 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 13:44:54 CDT 2003 / Russell Kroll - fentonups: converted to using dstate functions directly Tue Apr 22 13:29:34 CDT 2003 / Russell Kroll - upsmon: fixed a bug where NOTIFYFLAG settings might not get assigned properly in all cases. Tue Apr 22 12:55:32 CDT 2003 / Russell Kroll - upsmon: explicitly free all dynamic memory at exit for analysis in tools like valgrind Tue Apr 22 12:52:21 CDT 2003 / Russell Kroll - upsmon: cleaned up SIGTERM/SIGINT/SIGQUIT handler Tue Apr 22 12:48:30 CDT 2003 / Russell Kroll - upslog: cleaned up SIGHUP/reopen handler Tue Apr 22 12:45:31 CDT 2003 / Russell Kroll - 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 12:41:41 CDT 2003 / Russell Kroll - upsd: strlcpy is no longer needed Tue Apr 22 12:39:23 CDT 2003 / Russell Kroll - upsd: cleaned up some unnecessary snprintf calls in the netcmd handlers Tue Apr 22 12:16:18 CDT 2003 / Russell Kroll - dstate: added some more details when the socket creation fails Tue Apr 22 11:02:15 CDT 2003 / Russell Kroll - 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 09:56:27 CDT 2003 / Russell Kroll - others: support -V too Tue Apr 22 09:52:59 CDT 2003 / Russell Kroll - main: actually support -V to show the version 1.3.2: Tue Apr 22 09:29:55 CDT 2003 / Russell Kroll - 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 09:28:46 CDT 2003 / Russell Kroll - osd-notify: added examples for using osd to show UPS status from Arnaud Quette. [patch-1.3.1-osd-notify] Tue Apr 22 09:06:40 CDT 2003 / Russell Kroll - upsd: converted the upsd.users "allowed instcmd" handling to be text-based. It still works as before, including support for "all". Tue Apr 22 08:58:38 CDT 2003 / Russell Kroll - 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 05:54:55 CDT 2003 / Russell Kroll - 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 01:58:07 CDT 2003 / Russell Kroll - 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 10:01:46 CDT 2003 / Russell Kroll - dstate, sstate: switched to nonblocking I/O on the sockets Fri Apr 18 09:29:44 CDT 2003 / Russell Kroll - 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 08:07:42 CDT 2003 / Russell Kroll - dstate, sstate: final #include ordering tweaks for portability Thu Apr 17 08:02:14 CDT 2003 / Russell Kroll - 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 05:11:36 CDT 2003 / Russell Kroll - upscommon: reworked signal handling, and set an ignore on SIGHUP Thu Apr 17 02:47:09 CDT 2003 / Russell Kroll - 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 01:03:41 CDT 2003 / Russell Kroll - upsd, dstate: reconnected SET and INSTCMD through the new socket code Wed Apr 16 23:22:17 CDT 2003 / Russell Kroll - drivers: upsdrv_infomax() is gone. The list is now totally dynamic. Wed Apr 16 23:11:58 CDT 2003 / Russell Kroll - sstate: delinfo, delenum now supported from the driver. This makes all elements fully removable now - this is no longer a roach motel. Wed Apr 16 23:00:13 CDT 2003 / Russell Kroll - sstate: added support for delcmd from the driver Wed Apr 16 09:17:22 CDT 2003 / Russell Kroll - statedebug: removed - it is now obsolete Wed Apr 16 09:12:39 CDT 2003 / Russell Kroll - configure, upscommon, upsd: all shm/mmap remnants have been removed Wed Apr 16 09:01:43 CDT 2003 / Russell Kroll - 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 08:55:45 CDT 2003 / Russell Kroll - 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 06:28:35 CDT 2003 / Russell Kroll - upsd: finished switching all state file functions over to the new backend. All state file code has been removed from upsd. Wed Apr 16 02:32:02 CDT 2003 / Russell Kroll - 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 05:54:44 CDT 2003 / Russell Kroll - 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 05:28:54 CDT 2003 / Russell Kroll - 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 04:58:49 CDT 2003 / Russell Kroll - dstate: added DUMPALL sock command to retrieve all driver data Tue Apr 15 04:32:52 CDT 2003 / Russell Kroll - 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 03:40:25 CDT 2003 / Russell Kroll - drivers: cleaned up uses of getdata() since it now is const char * Mon Apr 14 03:03:46 CDT 2003 / Russell Kroll - upscommon: added dstate support for instant commands Mon Apr 14 02:36:22 CDT 2003 / Russell Kroll - 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 01:01:08 CDT 2003 / Russell Kroll - 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. Sun Apr 13 20:14:29 CDT 2003 / Russell Kroll - upscommon, main: removed shared memory support here, too Sun Apr 13 20:06:22 CDT 2003 / Russell Kroll - upsd, statedebug: chopped out shared memory support in preparation for bigger changes in the driver-server layer Sun Apr 13 03:52:48 CDT 2003 / Russell Kroll - upsd: rolled action checks into a single function to eliminate even more duplicated code in the individual do_* handlers Sun Apr 13 03:42:28 CDT 2003 / Russell Kroll - upsd: more access-related cleanups throughout Sun Apr 13 03:30:54 CDT 2003 / Russell Kroll - 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 02:29:59 CDT 2003 / Russell Kroll - upsstats: reworked the IMG SRC calls to avoid the trailing & when no extra image arguments are present Sun Apr 13 02:19:08 CDT 2003 / Russell Kroll - upslog.8: updated Sun Apr 13 02:12:58 CDT 2003 / Russell Kroll - 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 01:42:38 CDT 2003 / Russell Kroll - upsd.8, upsdrvctl.8, nutupsdrv.8: resync with reality 1.3.0: Sun Apr 13 00:39:15 CDT 2003 / Russell Kroll - 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 00:35:39 CDT 2003 / Russell Kroll - upsdrvctl: added support to pass through -r and -u to the drivers Sat Apr 12 23:30:52 CDT 2003 / Russell Kroll - main: also added support for -u to become a specific user when dropping root powers. - main: added support for chroot with -r just like upsd Sat Apr 12 18:57:37 CDT 2003 / Russell Kroll - upsd: added chroot support as -r - upsd: dropped the old -t 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 16:56:37 CDT 2003 / Russell Kroll - upsd: added a bunch of frees to the shutdown procedures to allow clean runs through valgrind Mon Apr 7 14:32:44 CDT 2003 / Russell Kroll - mge-ellipse, masterguard: switched to status_set calls - bestferrups801-807: dumped mind-blowing nested strcats and switched to status_set calls Mon Apr 7 13:50:48 CDT 2003 / Russell Kroll - upsclient: detect a closed fd early in the SSL init in case upsd rejects the connection and hangs up on us Mon Apr 7 13:24:37 CDT 2003 / Russell Kroll - 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 13:13:08 CDT 2003 / Russell Kroll - parseconf: removed old entry point - all callers have been converted Mon Apr 7 13:09:48 CDT 2003 / Russell Kroll - upsmon, upssched, upsset, upsstats: converted to new parseconf Mon Apr 7 12:34:44 CDT 2003 / Russell Kroll - upsd: switched to new parseconf functions - upsconf: same Mon Apr 7 11:51:46 CDT 2003 / Russell Kroll - cgilib: cleaned up crusty checkhost() with new parseconf interface Mon Apr 7 11:42:50 CDT 2003 / Russell Kroll - main: cleaned up the help/usage text and dropped references to the "old method" to avoid confusing new users Mon Apr 7 11:38:35 CDT 2003 / Russell Kroll - 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 11:17:58 CDT 2003 / Russell Kroll - drivers: dummyups is gone, and dummycons is now built by default. Mon Apr 7 11:04:34 CDT 2003 / Russell Kroll - etapro, bestuferrups, powercom, sec: drop strcat, move to status_set Mon Apr 7 11:00:25 CDT 2003 / Russell Kroll - apcsmart, belkin, sec, upscommon: drop strcpy() Mon Apr 7 10:54:37 CDT 2003 / Russell Kroll - apcsmart: actually use the sdtype setting in the shutdown code Mon Apr 7 10:52:11 CDT 2003 / Russell Kroll - upslog: drop strcpy() Mon Apr 7 10:50:53 CDT 2003 / Russell Kroll - upsd: set SO_REUSEADDR on the listen socket so we can restart it without getting stuck Mon Apr 7 10:43:13 CDT 2003 / Russell Kroll * Forked from 1.2.2-pre4 to create the new 1.3 development tree 1.2.2-pre4: Mon Apr 7 09:57:12 CDT 2003 / Russell Kroll - 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 09:12:07 CDT 2003 / Russell Kroll - 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: Thu Mar 27 19:02:32 CST 2003 / Russell Kroll - 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 17:18:58 CST 2003 / Russell Kroll - 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 09:14:22 CST 2003 / Russell Kroll - snmp-ups: Applied patch from Arnaud Quette to update to 0.2 Mon Mar 17 09:05:46 CST 2003 / Russell Kroll - 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 01:58:13 CST 2003 / Russell Kroll - hidups: applied patch from Jonathan A. Davis to add MFR support on APC Back-UPS ES models. 1.2.2-pre2: Thu Feb 27 13:44:16 CST 2003 / Russell Kroll - packaging/scripts: applied updates from Antonino Albanese for Red Hat systems. Thu Feb 27 13:39:39 CST 2003 / Russell Kroll - sms: new version 0.70 from Marcio Gomes. Thu Feb 27 13:28:49 CST 2003 / Russell Kroll - upsclient: fix 'skiplen' so queries on the default UPS don't have an extra leading space in the response. Thu Feb 27 13:27:04 CST 2003 / Russell Kroll - 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: Tue Jan 28 21:32:57 CST 2003 / Russell Kroll - 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. Mon Jan 27 18:47:40 CST 2003 / Russell Kroll - Applied portability fixes for builds on SGI: - bestfortress: remap inline to __inline - upscommon, upsd: cast MAP_FAILED to (itype *) Reported by Andrea Suatoni. Mon Jan 27 18:34:31 CST 2003 / Russell Kroll - upsset: applied patch from Dmitry Frolov to fix ENUM/VARTYPE readings for multiple UPSes on a given host. [nut-1.2.1-upsset.diff] Mon Jan 27 18:05:25 CST 2003 / Russell Kroll - 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. Mon Jan 27 18:00:42 CST 2003 / Russell Kroll - sms.8, sms.txt: updated versions from Marcio Gomes. Mon Jan 27 17:55:26 CST 2003 / Russell Kroll - bestups: added id 'AX1' for Best Power Axxium Rackmount models. Reported by Ales Casar. Mon Jan 27 17:38:15 CST 2003 / Russell Kroll - 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. Fri Jan 10 20:05:56 CST 2003 / Russell Kroll - upsclient: added sanity checking in the REQ/ANS handling code so a short response won't return garbage to the client. Fri Jan 10 19:42:57 CST 2003 / Russell Kroll - 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: Sat Dec 7 19:09:44 CST 2002 / Russell Kroll - sms.8: new skeleton man page Sat Dec 7 18:44:21 CST 2002 / Russell Kroll - sms: added updated version from Marcio Gomes. This driver had been in the tree previously with the same name before 0.50.0. 1.2.1-pre2: Mon Dec 2 06:11:22 CST 2002 / Russell Kroll - configure.in: added support for autodetection of gd include/linker flags, assuming 2.0.8 or higher is present. Older versions of the gdlib-config script will be detected and avoided since they didn't provide good flag information. Mon Dec 2 04:59:43 CST 2002 / Russell Kroll - genericups: applied patch from Tomek Orzechowski and Arkadiusz Mikiewicz to support Fideltronik Ares Series as type 19. 1.2.1-pre1: Thu Nov 21 13:45:59 CST 2002 / Russell Kroll * various: minor doc tweaks Sun Nov 17 17:01:10 CST 2002 / Russell Kroll - upscommon: applied patch from linux@horizon.com to properly handle messages from upsd that are split up. This is hard to reproduce, but explains why some functions (variable setting, instant commands) might have failed silently before. Sun Nov 17 10:18:29 CST 2002 / Russell Kroll - scripts/*: cleaned out dead wood. Anything that referred to the old methods of invoking upsmon or the drivers has been removed to avoid confusion. Sun Nov 17 10:11:14 CST 2002 / Russell Kroll - liebert: this driver is back with a new name. It used to be called multilink back in the 0.45 days. This one is tagged experimental for now, as shutdown support is not yet configured. Sun Nov 17 09:55:49 CST 2002 / Russell Kroll - 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="" --with-cgi Note: even though gd 2.0.5 added a helper script called gdlib-config, it's useless since it doesn't give you all of the -l flags. gd 2.0.6 and 2.0.7 are also broken in this regard. I've sent a patch upstream to address this. Once it goes in, this configure process will try to use it to get reasonable defaults. Sun Nov 17 09:52:53 CST 2002 / Russell Kroll - main: fixed a bug where locking wasn't being disabled soon enough, which was breaking shutdown attempts with genericups on FreeBSD. Reported by Petri Riihikallio. - genericups: dropped the redundant shutdown message 1.2.0: Tue Nov 5 21:02:00 CST 2002 / Russell Kroll - 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.