2.0.4
[networkupstools/kirr.git] / CHANGES
blob1f1d9a1694cf3b9314b2dbd5ecac9264e0f39611
1 2.0.4
3 Thu Jul 27 08:35:22 UTC 2006 / Arnaud Quette <aquette.dev@gmail.com>
5  - NEWS: minor update on mge-shut
6  - mge-shut.8: update Know Issues for the ondelay / restart issue
7  - final version number bump for 2.0.4 release.
9 2.0.4-pre2
11 Tue Jul 18 06:47:19 UTC 2006 / Arnaud Quette <aquette.dev@gmail.com>
13  - nutupsdrv.8: update the drivers list in the SEE ALSO section
14  - CREDITS: minor update on the maintainer
15  - complete NEWS and UPGRADING for 2.0.4
16  - version number bump for 2.0.4-pre2 release.
18 Thu Jul 13 13:45:22 UTC 2006 / Arnaud Quette <aquette.dev@gmail.com>
20  - configure.in, config.h.in, newhidups, libusb: add few more
21    fixes for Solaris compatibility
22  - libhid.h: use stdint.h
24 Wed Jul 12 10:47:43 UTC 2006 / Arnaud Quette <aquette.dev@gmail.com>
26  - genericups: merge type 23 in type 22
28 Mon Jul 10 20:33:13 UTC 2006 / Arnaud Quette <aquette.dev@gmail.com>
30  - mge-shut: fix the duplicate test.battery.start
32 Mon Jul 10 20:05:02 UTC 2006 / Arnaud Quette <aquette.dev@gmail.com>
34  - genericups: add type 23 for CyberPower 725SL (and maybe others)
36    (David Kaufman) [Alioth Bug #302337]
38 Mon Jul 10 07:00:56 UTC 2006 / Arnaud Quette <aquette.dev@gmail.com>
40  - rhino: new driver for Microsol Rhino UPS hardware
41  - solis:
42    * add solaris compatibility,
43    * add internal / external shutdown programming,
44    * save external shutdown programming to ups,
45    * support new cables for solis 3
46    (from Silvino B. Magalhães)
48  - newhidups: fix notification handling on linux 2.4.32, which
49    was failing with EINVAL (from Rodrigo Martins de Matos Ventura)
51  - powercom.c: rename shutdown() to nut_shutdown() to avoid naming
52    conflict on LynxOS,
53  - proto.h: add some guards and missing prototypes for LynxOS.
55    (Olli Savia) [Alioth Bug #303460]
57  - energizerups: fix communication problems for Linux 2.6.15
59    (Viktor T. Toth) [Alioth Bug #303393]
61  - upsset: assumes stdin closed when called non-POST
63    (Julius Malkiewicz) [Alioth Bug #302734]
65  - config.sub, config.guess: update with automake-1.9 files
67    (Charles Lepple) [Alioth Bug #302339]
69  - driver.list: add Cyberpower 550SL supported by genericups upstype=7
71    (Thomas Suckow) [Alioth Bug #302851]
73  - apcsmart.8: add a comment to make a power cycle when switching
74    from USB to serial (and perhaps vice versa) communication
75    (from Ryan Underwood)
77  - apcsmart: add support for the Smart-UPS with 6TI firmware and
78    bump driver version to 1.99.8
80    (Andrew Day) [Alioth Bug #303390]
82 2.0.4-pre1
84 Wed Jul 05 10:32:30 UTC 2006 / Arnaud Quette <aquette.dev@gmail.com>
86  - synchronise mge-utalk between the trunk and Testing branches (0.88)
87  - configure.in, drivers/libhid.h, drivers/Makefile.in, include/config.h.in:
88    add Solaris 10 AND 11 support for newhidups
89    (backport from the trunk)
90  - complete NEWS and UPGRADING for 2.0.4
91  - version number bump for 2.0.4-pre1 release.
93 Thu Jun 08 22:32:38 EDT 2006 / Charles Lepple <clepple@gmail.com>
95  - packaging/RedHat/nut.spec.in: updates courtesy of William Bell; tested on 
96    RHEL4.
98 Tue Jun 06 22:07:17 UTC 2006 / Carlos Rodrigues <carlos.efr@mail.telepac.pt>
100  - backported "megatec" from the trunk.
101  - driver.list: models supported by "powermust" now have "megatec",
102    models supported by "esupssmart", "fentonups", "ippon", "blazer"
103    and "sms" now have "x or megatec".
105 Wed May 17 08:46:55 UTC 2006 / Arjen de Korte <arjen@de-korte.org>
107  - sstate.c: fix bug with upsd declaring driver stale when the system
108    resumes after suspend-to-disk
110 Mon May 08 19:01:55 UTC 2006 / Arjen de Korte <arjen@de-korte.org>
112 - cpsups.c: redo of fix of uninitialized variable (Novell bug #159479)
113   because of portability concerns of previous patch
115 Sat Apr 08 21:28:44 2006 / Carlos Rodrigues <carlos.efr@mail.telepac.pt>
117  - powermust.c: increased the interval between sending chars.
118  - driver.list: added a couple of models supported by powermust.
120 Wed Apr 05 13:23:42 UTC 2006 / Arjen de Korte <arjen@de-korte.org>
122 - cpsups.c: fix uninitialized variable (Novell bug #159479)
124 Wed Apr 05 07:58:47 UTC 2006 / Arnaud Quette <aquette.dev@gmail.com>
126  - newhidups:
127    * fix the "double free or corruption" crash upon device
128      reconnexion (Debian bug #354305)
129    * mge-hid: add new models: Evolution, Pulsar, Pulsar M and Pulsar MX
131  - mge-shut:
132    * harness the LB flag with ShutdownImminent
133    * fix some wrong data format, and remove the zero prefix
134    * add Comet EX RT 3:1 (without 3 phase data for the moment)
135    * add new models: Evolution, Pulsar, Pulsar M and Pulsar MX
136    * bump version to 0.66
138  - driver.list: completed with the new above compatibilities
140 Thu Mar 30 1:02:37 2006 / Carlos Rodrigues <carlos.efr@mail.telepac.pt>
142  - man/powermust.8: added battery test command to the man page.
144 Wed Mar 29 3:11:15 2006 / Carlos Rodrigues <carlos.efr@mail.telepac.pt>
146  - powermust.c: changed "output.frequency" to "input.frequency"
148 Wed Mar 22 20:58:22 2006 / Arnaud Quette <aquette.dev@gmail.com>
150  - mge-shut: remove the wrong ups.status setting to OB upon
151    communication failure.
153    [Alioth Bug #303257]
155 Sat Mar 18 10:40:57 EST 2006/ Charles Lepple <clepple@gmail.com>
157  - drivers/tripplite_usb.c: fixed float/double mismatch in battery voltage
158    (backported from trunk)
160 Fri Mar 10 14:10:00 UTC 2006 / Arjen de Korte <arjen@de-korte.org>
162  - docs/FAQ: removed entry that is no longer applicable, since
163    starting from version 1.4.0, upsd will no longer be able to
164    startup in this particular case (it changes UID before reading the
165    configuration files)
166  - drivers/genericups.c: fixes Alioth bug #302338 (genericups: custom
167    configuration through ups.conf not working)
168  - man/genericups.8: remove the "connection monitoring" chapter from
169    the man page (the code to perform this never made it into the driver)
171 Fri Mar 10 08:56:00 UTC 2006 / Arjen de Korte <arjen@de-korte.org>
173  - client/upsrw.c: swapped parameters in memset() call
174  - drivers/tripplite_usb.c: off-by-one buffer overflow
176 Sun Feb 12 11:54:57 UTC 2006 / Peter Selinger <selinger@users.sourceforge.net>
178  - newhidups: rewrote logical-to-physical value conversion. Rewrote
179    extraction of logical values from report. Added Kelvin-to-Celsius
180    conversion. Tweaked APC date conversion. Back-UPS BF500 support.  
181    Deleted unused items in HIDItem structure.
183 2.0.3
185 Tue Feb 07 10:47:01 UTC 2006 / Arnaud Quette <aquette.dev@gmail.com>
187  - update configure.in, install.sh, include/version* and NEWS
188  - several minor fixes
190 Tue Jan 24 20:40:34 UTC 2006 / Arnaud Quette <aquette.dev@gmail.com>
192  - safenet: improve robustness, add minimal hardware detection and
193    improve the error handling
194  - bestfcom, tripplite: fix the "array subscript out of range" bug
195    (https://bugzilla.novell.com/show_bug.cgi?id=133610)
197    (Arjen de Korte)
199 Mon Jan 23 08:48:13 UTC 2006 / Arnaud Quette <aquette.dev@gmail.com>
201  - README, INSTALL, NEWS: more update on USB and other points.
203 Fri Jan 20 18:51:53 UTC 2006 / Arnaud Quette <aquette.dev@gmail.com>
205  - FAQ: update a bit more USB support and SNMP information
207 Wed Jan 18 23:56:12 UTC 2006 / Carlos Rodrigues <carlos.efr@mail.telepac.pt>
209  - added "Tecnoware Easy Power 1200" to "powermust.8" and driver.list
211 Mon Jan 16 22:17:02 UTC 2006 / Carlos Rodrigues <carlos.efr@mail.telepac.pt>
213  - powermust: minor changes to the manpage
214  - added "Trust UPS 1000 Management PW-4105" to driver.list
216 Mon Jan 16 12:01:22 UTC 2006 / Arnaud Quette <aquette.dev@gmail.com>
218  * mge-utalk 0.87:
219    - only set lowbatt, ondelay and offdelay if configured, and without first getting
220    the current value, as some models only support writing and not reading (ie ES+),
221    (thanks to Rogenry Avila Batista)
222    - change the parameters lowbatt, ondelay and offdelay to lower case for
223    consistency. This won't affect existing setup as the test are done in
224    case insensitive mode,
225    - made various improvements to fix the regression with some older models, such
226    as Pulsar EXtreme, ES+ and EX units
227    - update the TODO list in the mge-utalk manpage 
229 2.0.3-pre2
231 Fri Dec 16 20:21:43 UTC 2005 / Arnaud Quette <aquette.dev@gmail.com>
233  - newhidups.8, mge-shut.8, mge-utalk.8, driver.list: various update
234  - FAQ: update USB support information
236 Tue Nov 15 17:25:00 CEST 2005 / Kjell Claesson <kjell.claesson@telia.com>
238  * driver.list:
239    - add HP R5500 XR compatibility with bcmxcp
241 Wed Nov 09 20:06:58 UTC 2005 / Arnaud Quette <aquette.dev@gmail.com>
243  * driver.list:
244    - add APC Back-UPS RS USB compatibility with newhidups,
245    - add missing tripplite_usb compatibility,
246    - remove newhidups experimental flags, except for Belkin
248  * Linux Hotplug and udev:
249    - upgrade old style hotplug rules with the newly supported
250      models
251    - add new udev style hotplug rule
253  - complete UPGRADING and NEWS notes
255 Tue Oct 11 06:59:22 UTC 2005 / Arnaud Quette <aquette.dev@gmail.com>
257  - README and driver.list: add missing bcmxcp_usb information
259 Mon Oct 10 22:36:00 CEST 2005 / Kjell Claesson <kjell.claesson@telia.com>
261  - drivers/gendb: Removed doublet's of the rows
262     EXTRA=""
263     EXTRAOBJ=""
265 Sun Oct 9 23:41:00 CEST 2005 / Kjell Claesson <kjell.claesson@telia.com>
267  - bcmxcp: Merging driver from Development to Testing. Driver is the
268    same but splitted up due to the usb support.
269    Files changed bcmxcp.c bcmxcp.h , added bcmxcp_io.h bcmxcp_ser.c
270    driver/gendb changed to support EXTRAOBJ="bcmxcp_ser.o".
272  - bcmxcp_usb: Added to Testing due to the backport of bcmxcp from
273    Development. Added bcmxcp_usb nut_usb.c nut_usb.h.
274    driver/Makefile.in changed to support build of bcmxcp_usb.
275    configure.in changed to add bcmxcp_usb and manpage to USB_DRIVER_LIST
276    and USBPAGES.
278  - Tested on both serial and usb. Serial has the same funktion as
279    the previous 0.09 driver in Testing branch. USB stable on 3105.
281 Sun Oct  9 22:10:00 EDT 2005 / Charles Lepple <clepple@gmail.com>
283  - tripplite_usb: Finished merging v0.6 of this driver from the
284    Development branch. The driver now handles both OMNIVS and SMARTPRO
285    models.
287  - drivers/Makefile.in: Reorganized the USB build targets to be closer
288    to install-usb. This matches the Development branch, where the list
289    of USB drivers is pulled from autoconf.
291 Sun Oct  9 05:31:09 UTC 2005 / Peter Selinger <selinger@users.sourceforge.net>
293  - newhidups: repaired the way status flags are stored. Note that
294    there can be more than one device status flag (such as "lowbatt"
295    and "shutdownimm") mapped to the same NUT status (such as "LB").
296    We now store the device flags, and convert them to NUT values only
297    on request. This solves the problem where multiple variables (e.g.
298    "lowbatt" and "shutdownimm") might have erased each other's values
299    if one was set and the other was not. This also solves the issue
300    reported by Alfred Ganz of the CHRG and DISCHRG flags not being
301    cleared properly.
303  - newhidups: added NUT status flags OVERHEAT, COMMFAULT, DEPLETED;
304    these already exist in the belkinunv driver.
306  - newhidups/Belkin: changed the way the OL/OB status is determined;
307    now correctly shows OB during battery test (even when AC power is
308    present).
310 Sun Oct  9 02:40:25 UTC 2005 / Peter Selinger <selinger@users.sourceforge.net>
312   - libhid.c: added some missing usages from UPS/HID definition
314 Tue Oct  4 03:29:19 UTC 2005 / Peter Selinger <selinger@users.sourceforge.net>
316  - newhidups/APC and Belkin: fixed declarations of string length of
317    writable variables. Also made ups.beeper.status writable in both
318    subdrivers. Note: currently the written value must be numeric
319    (1/2/3) instead of symbolic (disabled/enabled/muted). Out-of range
320    values can be given and can leave the variable in an "error" state
321    that cannot be fixed. Should implement writing of symbolic values.
323 Mon Oct  3 21:54:19 UTC 2005 / Peter Selinger <selinger@users.sourceforge.net>
325  - newhidups/APC: made battery.charge.low, battery.runtime.low,
326    input.transfer.low, input.transfer.high writable in APC subdriver,
327    as suggested by Alfred Ganz. Also added status flags for
328    "RemainingTimeLimitExpired" (RTE) and "BatteryPresent" (BP),
329    although they will be ignored by newhidups.
331  - newhidups/Belkin: added flag ST_FLAG_STRING to all writable
332    variables.  It is apparently required by upsrw that all writable
333    variables are either strings or enums. ups.test.result is no longer
334    writable (because writing it failed anyway), and ups.delay.restart
335    and ups.delay.shutdown are no longer writable (because they are
336    dangerous: rather than just configuring a time limit, this actually
337    initiates a timed shutdown). 
339 Mon Oct  3 21:51:38 UTC 2005 / Peter Selinger <selinger@users.sourceforge.net>
341  - newhidups: removed bug that made all variables writable.
343 Sat Oct 01 18:17:54 UTC 2005 / Arnaud Quette <aquette.dev@gmail.com>
345  - upssched.txt: document the required PIPEFN and LOCKFN variables
347    (Cristian Rigamonti) [Alioth Patch #302107]
349 Fri Sep 30 20:38:09 UTC 2005 / Arnaud Quette <aquette.dev@gmail.com>
351  - driver.list: add Exide NETUPS SE and Deltec PowerRite Pro II
352    (rebranded models of Powerware 5119)
354    (Karl Schmidt) [Alioth Patch #301881]
356  - driver.list: add Dynex 975AVR (reported by Andrew Kalafut)
358    [Alioth Patch #302203]
360  - bcmxcp: add the baud_rate parameter, which allows to support HP
361    R3000 XR (reported by Matthijs Sneijders)
363    (Kjell Claesson) [Alioth Patch #302284]
365 Sat Sep 24 04:30:34 UTC 2005 / Peter Selinger <selinger@users.sourceforge.net>
367  - newhidups: moved remaining vendor-specific code into the X-hid.c
368    subdrivers. Vendor specific usage strings are now defined in
369    subdrivers.
371  - libhid.c: replaced lookup_path() by two functions string_to_path()
372    and path_to_string().
374 Sat Sep 24 02:34:05 UTC 2005 / Peter Selinger <selinger@users.sourceforge.net>
376  - libhid.c: reduced number of global variables in libhid to 3. Also
377    simplified logic in HIDGetItemValue() and fixed a bug where the
378    report timestamp was refreshed even when an old report was used.
380 Sat Sep 24 00:46:12 UTC 2005 / Peter Selinger <selinger@users.sourceforge.net>
382  - libusb.c: eliminated global variables from libusb.
384 Sat Sep 24 00:09:13 UTC 2005 / Peter Selinger <selinger@users.sourceforge.net>
386  - newhidups: moved most vendor-specific code into X-hid.c, where
387    X=mge,apc,belkin. This eliminates the various switch(hd->VendorID)
388    statements throughout the driver. Subdrivers now declare themselves
389    by exporting a subdriver_t structure (defined in newhidups.h). This
390    structure contains functions and data that define the subdriver. In
391    particular, each driver implements a "claim()" method by which it
392    can claim a particular device. Driver availability is checked
393    inside libusb_open() via the general "matcher" mechanism, so that
394    libusb no longer contains vendor specific code.
396  - added docs/hid-subdrivers.txt to explain how to write a new HID subdriver. 
398 Tue Sep 20 00:51:01 UTC 2005 / Peter Selinger <selinger@users.sourceforge.net>
400  - newhidups: cleaned up code so that *.h files contain headers, *.c
401    files contain sources. Declared all non-exported variables and
402    functions as static. Moved code from X-hid.h to X-hid.c, where
403    X=mge,apc,belkin. Enclosed all header files in #ifndef/#endif
404    pairs.
405  - renamed drivers/hid-usb.h as drivers/libusb.h
407 Mon Sep 19 17:50:21 UTC 2005 / Peter Selinger <selinger@users.sourceforge.net>
409  - newhidups: added -x bus=X option to open a device on a specific USB
410    bus. Here X is a regular expression. When reconnecting to a
411    previously opened device, the policy is that the bus name of the
412    reopened device must match the regular expression previously
413    specified, but need not be the exact same bus as when the device
414    was initially opened. Thus, e.g., -x bus='00[23]' allows the device
415    to be moved between busses 002 and 003. (This is different from how
416    e.g. a device serial number is treated, which must match the
417    regular expression when the device is initially opened, but must
418    match exactly when the device is reopened).
420 Mon Sep 19 16:43:57 UTC 2005 / Peter Selinger <selinger@users.sourceforge.net>
422  - drivers/Makefile.in: don't remove Makefile.drvbuild on "make clean".
424 Mon Sep 19 16:11:17 UTC 2005 / Peter Selinger <selinger@users.sourceforge.net>
426  - drivers/gendb: added test for gcc availability.
428 Sat Sep 17 00:25:23 UTC 2005 / Peter Selinger <selinger@users.sourceforge.net>
430  - drivers/Makefile.in: don't run gendb on "make clean", only on
431    "make depend". This way, only maintainers need to re-generate
432    dependencies.
434 Fri Sep 16 01:18:47 UTC 2005 / Peter Selinger <selinger@users.sourceforge.net>
436  - drivers/: updated gendb and Makefile.in to automatically generate
437    correct *.h dependencies. Added "make depend" target.
439 Fri Sep 16 01:04:57 UTC 2005 / Peter Selinger <selinger@users.sourceforge.net>
441  - newhidups: make sure correct matcher is used for reopenings. 
443 Thu Sep 15 19:54:12 UTC 2005 / Peter Selinger <selinger@users.sourceforge.net>
445  - newhidups: eliminated some unused arguments from functions
447 Thu Sep 15 03:54:02 UTC 2005 / Peter Selinger <selinger@users.sourceforge.net>
449  - added Belkin and APC models to supported hardware list in README and
450    data/driver.list. 
452 Thu Sep 15 03:37:28 UTC 2005 / Peter Selinger <selinger@users.sourceforge.net>
454  - newhidups: changed implementation of regular expression device
455    matching to use a callback function called a "matcher" (similar,
456    but not identical, to libhid's matchers). The public matcher
457    interface is documented in libhid.h. Two sample matchers are
458    provided: an exact matcher, used for reconnecting, and a regular
459    expression matcher, used to connect to a user-defined UPS.
461  - newhidups: replaced error numbers by cleartext error messages in
462    some debug output.
464 Thu Sep 15 01:15:49 UTC 2005 / Peter Selinger <selinger@users.sourceforge.net>
466  - newhidups: Belkin now detects serial number correctly; removed
467    temporary "ups.serial.internal" variable.
469  - newhidups: simplified and documented HIDDevice structure; this
470    structure is used as a "fingerprint" of a USB device and is used
471    for reopening, thus must not be modified by client code. 
473  - newhidups: further cleaned up logic in libusb.c:libusb_open() to
474    deal with NULL strings correctly. Slight cleanup of
475    newhidups.c:identify_ups().
477 Wed Sep 14 18:31:47 UTC 2005 / Peter Selinger <selinger@users.sourceforge.net>
479  - newhidups: cleaned up logic in libusb.c:libusb_open(), in
480    preparation for improvements to "device matching" mechanism.
482  - newhidups: fixed "free null pointer" error in regular expression
483    code.
485 Wed Sep 14 16:23:55 UTC 2005 / Peter Selinger <selinger@users.sourceforge.net>
487  - newhidups: renamed ups.devicechemistry as battery.type, bumped 
488    newhidups driver release.
490 Tue Sep 13 20:50:14 UTC 2005 / Peter Selinger <selinger@users.sourceforge.net>
492  - newhidups: added Belkin support. Also added some new variables and
493    instant commands (some of these were already used by other
494    drivers); see new-names.txt.
496  - newhidups: fixed return value bug in libusb.c:libusb_open() when no
497    device was found.
499 Tue Sep 13 05:22:49 UTC 2005 / Peter Selinger <selinger@users.sourceforge.net>
501  - newhidups: added options -x vendor=X, -x vendorid=X, -x product=X,
502    -x productid=X, -x serial=X, that let the user select a specific
503    UPS if there is more than one present. The arguments "X" are
504    extended regular expressions that must match the whole string (in
505    case of vendor, product or serial number), or the whole 4-digit
506    hexadecimal code (in case of vendorid, productid). Examples:
507    -x vendor="APC.*", -x product=".*(Smart|Back)-?UPS.*", etc.
509  - skel.c: fixed typos
511 Tue Sep 13 01:35:47 UTC 2005 / Peter Selinger <selinger@users.sourceforge.net>
513  - newhidups: in libhid.h, removed iProduct from HIDDevice structure.
514    Use ProductID instead.
516 Mon Sep 12 17:53:03 UTC 2005 / Peter Selinger <selinger@users.sourceforge.net>
518  - newhidups: fixed logic in upsdrv_shutdown(): return after first
519    command succeeds, don't print "Shutdown command failed".
521 Tue Aug 23 07:33:53 UTC 2005 / Arnaud Quette <arnaud.quette@mgeups.com>
523  - gamatronic: revive the sec driver as gamatronic to support officialy
524    the Gamatronic models MP110/210, MS-T, MS and ÂµPS3/1.
526    (Gamatronic, Nadav Moskovitch)
528  - driver.list: add old sec compatibilities with gamatronic, which
529    are Clary ST-800 and various SEC protocol compatible units.
531  - README for hotplug scripts updated a bit.
533 Thu Aug 18 09:47:07 UTC 2005 / Arnaud Quette <arnaud.quette@mgeups.com>
535  * mge-utalk 0.86:
536    - improve the startup sequence not to overload old units
537      (such as ES/ES+/ESV/ESV+) at startup which can cause an immediate
538      shutdown. For these units, also read mge-utalk manpage for the
539      Known Issues.
540    - update a bit the manpage according to the above.
541    - improve the reactivity when asked to stop during an init/update
542      loop
543    - remove the OFF status handling (doesn't point the right data).
545 Tue Aug 16 20:51:27 UTC 2005 / Arnaud Quette <arnaud.quette@free.fr>
547  - driver.list: add Soyntec Sekury C 500 and C 800 support using
548    the powermust driver (contributed by Hanno Borns)
549  - complete the NEWS files
551 2.0.3-pre1
553 Thu Aug 16 10:51:17 UTC 2005 / Arnaud Quette <arnaud.quette@mgeups.com>
555  - genericups type 22: add Gamatronic UPSs with alarm interface
557    (Gamatronic, Nadav Moskovitch) [Alioth Patch #302015]
559  - mge-shut: enhance ups.model retrieving, and bump release to 0.65
560  - drivers now don't chroot to statepath if called for power off
561    (using -k). This avoid unneeded failure to poweroff the UPS if
562    /var is umounted (thanks to Gaspar Bakos).
564 Wed Jul 27 07:08:01 UTC 2005 / Arnaud Quette <arnaud.quette@mgeups.com>
566  - bcmxcp: typo fixes (length instead of lenght, thanks to Bill Richter)
568 Fri Jul 22 08:20:08 UTC 2005 / Arnaud Quette <arnaud.quette@mgeups.com>
570  - newhidups: minor change in interface claiming to avoid message like
571    "process <pid> (<name>) did not claim interface X before use" upon
572    device reopening, and bump driver release to 0.24
574 Thu Jul 21 14:02:08 UTC 2005 / Arnaud Quette <arnaud.quette@mgeups.com>
576  - add the missing LDFLAGS to gendb
577  - add Belkin F6C1100-UNV to the driver.list (thanks to Dave Breiland)
579 Wed Jul 20 11:15:08 UTC 2005 / Arnaud Quette <arnaud.quette@mgeups.com>
581  - adapt newhidups to recognize units from Tripplite, Mustek and
582    Unitek for development purpose
584  - isbmex: fix various errors in formulas, add shutdown capability
585    and bump driver release to 0.05
587    (Ricardo Martinezgarza)
589  - fentonups: fix the ID string for Sysgration UPGUARDS Pro650
591    (Simon J. Rowe)
593  - various fixes in the RedHat spec file
595    (Thomas Jarosch)
597 Fri Jul  1 08:15:56 UTC 2005 / Arnaud Quette <arnaud.quette@mgeups.com>
599  - isbmex: revert back to B9600 instead of B2400, as it broke the
600    communication, and bump the driver release to 0.04 (thanks to
601    Ricardo Martinezgarza)
602  - genericups: add a trace to expose overriden data, and bump the
603    driver release to 1.31
605 Thu Jun 30 13:13:02 UTC 2005 / Arnaud Quette <arnaud.quette@mgeups.com>
607  - solis: fix a naming colision on Solaris, bump the driver release to
608    0.41 (thanks to PaweÅ‚ Kierdelewicz)
610 Tue Jun 28 16:41:14 UTC 2005 / Arnaud Quette <arnaud.quette@mgeups.com>
612  - *mib.h: remove all references to SU_TYPE_TIME as it's not used
613    and cause some problems when exposing the data
615 2.0.2
617 Mon Jun 27 08:11:54 UTC 2005 / Arnaud Quette <arnaud.quette@mgeups.com>
619  - Final version number bump for release.
620  - driver.list: add Smart-UPS USB support, and leave the experimental
621    flag for hidups/newhidups and APC units
623 2.0.2-pre2
625 Wed Jun 22 07:11:54 UTC 2005 / Arnaud Quette <arnaud.quette@mgeups.com>
627  - tripplite: fix a battery charge bug, remove some extraneous
628    leading zeros from integral variables (temperature, ...) and
629    bump driver release to 0.8 
631    (Cedric Tefft) [Alioth Patch #301783]
633  - newhidups: remove experimental flag
634  - driver.list: add MGE Ellipse Office, remove legacy hidups support for
635    MGE units, add newhidups for APC units and remove experimental flag
636    for newhidups only supported units
638 Tue Jun 21 14:51:02 UTC 2005 / Arnaud Quette <arnaud.quette@mgeups.com>
640  - apc-hid: complete APC data for newhidups
641  - libhid.c: complete HID usages
643    (George Ross)
645  - libusb.c: improve Report Descriptor length calculation (thanks to
646    John Stamp for pointing out usbutils workaround), and minor type
647    declaration fix
648  - mge-shut, newhidups: improve exit reactivity for restart/shutdown
649    sequences (both imply driver stop and start, while the driver might
650    still be busy in its "long" update loop) by testing the exit_flag.
652 Fri Jun  3 13:01:55 UTC 2005 / Arnaud Quette <arnaud.quette@mgeups.com>
654  - libhid.usermap: add a newline at the end, otherwise hotplug
655    won't be able to parse it
656  - libhid.c: change the dummy HIDItem test to remove exposed
657    path that are broken
659    (John Stamp)
661 Sat May 28 20:05:55 UTC 2005 / Arnaud Quette <arnaud.quette@mgeups.com>
663  * newhidups, libhid, apc-hid:
664    - fix typo error on offdelay vartable declaration
665    - complete APC usages,
666    - improve APC support (should work with BackUPS Pro, Back-UPS ES,
667      Smart-UPS and BackUPS), but still lacks of shutdown on some models
669    (John Stamp)
671 Thu May 26 12:17:55 UTC 2005 / Arnaud Quette <arnaud.quette@mgeups.com>
673  - newhidups, libhid: code formating, and documentation
674  - libhid.usermap: add preliminary APC rules
676 Wed May 25 14:09:02 UTC 2005 / Arnaud Quette <arnaud.quette@mgeups.com>
678  - newhidups.8: remove the staleness information (not needed anymore),
679    and add hotplug information.
681 Thu May 24 14:06:02 UTC 2005 / Arnaud Quette <arnaud.quette@mgeups.com>
683  - mge-hid.h: add forgotten Protection Center definition
685 Mon May 23 09:21:10 UTC 2005 / Arnaud Quette <arnaud.quette@mgeups.com>
687  - fentonups: complete the trace
689    (Michel Bouissou) [Alioth Patch #301574]
691 Mon May 23 07:25:02 UTC 2005 / Arnaud Quette <arnaud.quette@mgeups.com>
693  - mge-hid.h: add low end (non backuped) outlet handling
694  - libusb: rework a bit the debug trace on device opening
696 2.0.2-pre1
698 Wed May  4 07:09:02 UTC 2005 / Arnaud Quette <arnaud.quette@mgeups.com>
700  - bring testing release in sync with development release
701  - bump release to 2.0.2-pre1
703 2.1.0:
705 Wed May  4 07:09:02 UTC 2005 / Arnaud Quette <arnaud.quette@mgeups.com>
707  - solis: new driver for Microsol units
709    (Silvino B. Magalhaes) [Alioth Patch #301272]
711 Tue May  3 09:09:07 UTC 2005 / Arnaud Quette <arnaud.quette@mgeups.com>
713  * fentonups:
714    - fix a problem with establishing serial communication,
715    - fix UNITEK Alpha 500iC model exposure,
716    - add separate battery voltage scales to better determine charge
717      percentage when on AC/charging
718    - add a user-defined battery voltage under which the UPS is considered
719      on "low battery" condition when running on battery ("lowbattvolt")
721    (Michel Bouissou) [Alioth Patch #301574] 
723  - driver.list: add Powerware 3110 support, through genericups type=7
725    (Paul Andreassen) [Alioth Patch #301573]
727  - upscode2: merge this driver for Fiskars, Compaq and Powerware
728    devices.
730    (Niels Baggesen, Havard Lygre) [Alioth Patch #301144]
732  - newhidups, libhid, libusb: improve UBS support. Interrupt and
733    device reconnexion are now supported.
735 Mon May  2 11:14:40 UTC 2005 / Arnaud Quette <arnaud.quette@mgeups.com>
737  - configure, man/Makefile: check which USB manpage(s) to install
738  - man/Makefile: suppress snmp-ups duplication
740  - pwmib.h, snmp-ups.ch8, driver.list: add Powerware MIB support for
741    Powerware devices with ConnectUPS SNMP cards
743    (Olli Salvia) [Alioth Patch #301568]
745 Fri Apr 29 16:03:22 UTC 2005 / Arnaud Quette <arnaud.quette@free.fr>
747  - apcsmart: fix APC600 support, and bump driver release to 1.99.7
749    (Bill Richter) [Alioth Patch #301287]
751 Thu Apr 28 18:03:22 UTC 2005 / Arnaud Quette <arnaud.quette@free.fr>
753  - configure.in, drivers/Makefile: check which USB driver(s) to build
755 Mon Apr 25 22:03:22 UTC 2005 / Arnaud Quette <arnaud.quette@free.fr>
757  - Makefiles: add LDFLAGS support
758  - drivers/Makefile.in: remove unneeded STRLCPY flag for newhidups
760 Sun Apr 24 19:03:22 UTC 2005 / Arnaud Quette <arnaud.quette@free.fr>
762  - etapro.c: fix brokeness due to ser_get_line use
764    (Marek Michalkiewicz) [Alioth Patch #301505]
766 Sat Apr 23 19:34:22 UTC 2005 / Arnaud Quette <arnaud.quette@free.fr>
768  - cyberpower.c: add CyberPower 1000AVR support
769  - driver.list: complete the missing CyberPower models
771    (Dave Huang) [Alioth Patch #301288]
773  - drivers/main.c: move upsdrv_initups() to point after become_user().
774    This makes clear error message when user has no write privilege
775    on the device.
777    (?) [Alioth Patch #301284]
779 Fri Apr 22 11:42:22 UTC 2005 / Arnaud Quette <arnaud.quette@mgeups.com>
781  - bcmxcp.ch8: reintegrate the new BCM/XCP driver (0.08) ; adjust
782    Makefile's accordingly
783  - driver.list: update according to the tested units
784    http://web.telia.com/~u50205618/compatibility.html
786    (Tore ï¿½petveit, Kjell Claesson) [Alioth Patch #301290]
788 Thu Apr 15 11:04:53 UTC 2005 / Arnaud Quette <arnaud.quette@mgeups.com>
790  - netvisionmib.h, snmp-ups.ch8, driver.list: add Socomec SNMP
791    card/external box (Netvision MIB support)
793    (Thanos Chatziathanassiou) [Alioth Patch #301296]
795  - driver.list: add MicroDowell B.Box BP 500/750/1000/1500
796  - cpsups.ch: add MicroDowell support, and fix a segfault on upsdrv_shutdown
798    (Armin Diehl) [Alioth Patch #301282]
800  - upsstats.c: fix a case where upsstats.cgi crashes if hosts.conf has
801    no valid MONITOR lines
803    (Charles Lepple) [Alioth Patch #301461]
805 Thu Apr 15 11:04:53 UTC 2005 / Arnaud Quette <arnaud.quette@mgeups.com>
807  - mge-shut.h: add Ellipse Pro models, and bump driver version to 0.63
809  * newhidups patch-set:
810    - libusb.c: enhance discovery performance (only search for MGE / APC),
811    - newhidups.c: 
812      - add the code to manage Interrupt Pipe (will improve USB flow
813        by lowering polling on device), and a pollfreq parameter
814        (default to 60 sec, newhidups will wait for Interrupt in the
815        meantime). This is disabled for the moment
816      - lower USB flow by only querying ups.status information within
817        the above pollfreq period.
818      - improve ups.status handling (needed for interrupt and partial
819        status update)
820      - enhance model name exposure
821      - factorise the data walking code
822      - a bit of code cleaning
823      - enable device reconnexion (still not working!)
824    - mge-hid.h: renamed from mgehid.h, and completed with the model names,
825      outlet collection, and some missing data
826    - apc-hid.h: add and complete this file
827    - prepare the future merge of mge-shut
828    - add Unitek VendorID
830 Tue Mar 22 11:10:53 UTC 2005 / Arnaud Quette <arnaud.quette@mgeups.com>
832  - driver.list: add missing Mustek PowerMust 1400VA Plus and 2000VA USB
834    (Carlos Rodrigues) [Alioth Patch #301289]
835    
836  * MGE patch-set:
837    - driver.list: add Pulsar EXtreme C / EX RT, Comet EX RT, Pulsar SV,
838      Pulsar PSX and NOVA AVR USB
839    - mge-utalk.ch, mge-utalk.8: enhance support for old units, by adding
840      disable_ups_comm, and Si discovering ; rework the model names,
841      change driver version numbering to X.Y (instead of X.Y.Z) and
842      bump to 0.85 (thanks to Martin Loyer and Patrick Agrain)
843    - mgehid.h: add BYPASS management for newhidups
844    - libhid.c: add the HID "Used" usage for the mgehid.h BYPASS
845      management 
846    - newhidups.h: add the lookup values for mgehid.h/libhid.c
847      above changes
848    - mge-shut.ch, mge-shut.8: rework the model names, add value
849      lookup, bump the driver version to 0.62
851  - apccmib.h: minor change to get the firmware of the Silcon DP3160E
852    by interrogating an ap9606
854    (Christophe Grenier) [Alioth Patch #301283]
855    
856  - fentonups.h, driver.list: add support for Sysgration UPGUARDS Pro650
858    (Simon J. Rowe) [Alioth Patch #301281]
859    
860  - energizerups: fix for Linux 2.6 byte dropping
862    (Viktor T. Toth) [Alioth Patch #301279]
863    
864  - powermust.c, driver.list: rework initups/initinfo to follow NUT
865    standard recommendation, and add support for SquareOne Power QP1000
867    (Carlos Rodrigues) [Alioth Patch #301146]
868    
869 Mon Mar 21 15:52:53 UTC 2005 / Arnaud Quette <arnaud.quette@mgeups.com>
871  - tripplite.c: fix the reporting of the battery voltage and charge
873    (Andrew Cook, Nicholas J. Kain) [Alioth Patch #301271]
875 Fri Mar 18 13:36:20 UTC 2005 / Arnaud Quette <arnaud.quette@mgeups.com>
877  - driver.list: add the missing Powerware 5119 RM (genericups type=20)
879  - drivers/main.c, nutupsdrv.8: brings the drivers usage message and
880    the generic driver man page in line with the getopt processing.
881    It also remove an unused -d option from the getopt call.
883    (Niels Baggesen) [Alioth Patch #301145]
885  - genericups.h, genericups.8, driver.list: add Generic RUPS 2000
886    and AEC MiniGuard UPS 700 (using Megatec M2501 cable)
888    (Nick Barnes) [Alioth Patch #301143]
890  * Forked from 2.0.1 to start the new 2.1 dev tree.
892 2.0.1:
894 Thu Feb 24 00:55:20 CST 2005 / Russell Kroll <rkroll@exploits.org>
896  - Final version number bump for release.
898 Wed Feb  2 22:35:12 CST 2005 / Russell Kroll <rkroll@exploits.org>
900  - clients/Makefile.in: add @MISC_UPSCLI_OBJ@ to the clean rule so I
901    don't leak .a files when distributing the tree.
903  - upsclient.h, parseconf.h: minor extern tweaks for C++ use
905    (Arnaud Quette) [patch-2.0.1-pre4_upsclient-cpp]
907 Thu Oct 21 01:02:08 CDT 2004 / Russell Kroll <rkroll@exploits.org>
909  - mge-shut:
911    - enhance the server side variables handling, and particularly the
912      wrongly exposed PowerShare outlet description (outlet.*.desc) when
913      these doesn't exists,
914    - expose the detected model at upsdrv_initinfo() time
915     (this will be standardised in 2.1 tree),
916    - add NOVA models support,
917    - update manpage and driver.list accordingly,
918    - bump driver version to 0.60
920    (Arnaud Quette) [patch-2.0.1_nova-shut]
922 Thu Oct 21 00:47:54 CDT 2004 / Russell Kroll <rkroll@exploits.org>
924  - ups.conf, upsmon.conf, cmdvartab: fix doubled "with", bad example
925    (old style hostname without ups@ in front), and add ups.power.nominal
927    (Niels Baggesen)
929 Thu Oct 21 00:43:52 CDT 2004 / Russell Kroll <rkroll@exploits.org>
931  - conf/upsstats.html: add "" around the BGCOLOR hex triplet to make
932    the HTML pass validation checks
934    (Niels Baggesen)
936 Thu Oct 21 00:40:21 CDT 2004 / Russell Kroll <rkroll@exploits.org>
938  - upsdrvctl: fix a nasty bug and make it actually honor -t every time.
939    Also added a missing printf for verbose-mode and cleaned up the help
940    text.
942    (Niels Baggesen)
944 Thu Oct 21 00:38:49 CDT 2004 / Russell Kroll <rkroll@exploits.org>
946  - powercom.h: don't set MAX_NUM_OF_BYTES_FROM_UPS as 16U since it's
947    compared with signed numbers elsewhere
949    (Niels Baggesen)
951 Thu Oct 21 00:36:30 CDT 2004 / Russell Kroll <rkroll@exploits.org>
953  - upslog: use data from getpid as a %ld in the format string, and cast
954    it to a long to avoid issues on 64 bit Solaris systems.
956    (Niels Baggesen)
958 Thu Oct 21 00:32:21 CDT 2004 / Russell Kroll <rkroll@exploits.org>
960  - cpsups: use ups.voltage.nominal instead of ups.voltage for the VA
961    rating of the UPS.
963    (Walt H) [psups-changevoltage2upspowernominal.diff]
965 2.0.1-pre4:
967 Thu Sep 30 03:20:04 CDT 2004 / Russell Kroll <rkroll@exploits.org>
969  - upsd.users.5: refer to upsd.conf, not ups.conf.
971    (Niels Baggesen)
973 Thu Sep 30 03:16:58 CDT 2004 / Russell Kroll <rkroll@exploits.org>
975  * multiple files: applied attribute/format/printf magic to various
976    header files with varargs to catch bad argument passing.  This
977    uncovered a bunch of bad things done with format strings throughout
978    the code which has been cleaned up.
980    attribute.h was added as a workaround for those systems which lack
981    support for this preprocessor directive.
983    Based on the original patches from Dmitry V. Levin.   
985 Wed Sep 29 03:38:19 CDT 2004 / Russell Kroll <rkroll@exploits.org>
987  - cpsups: recognize CyberPower 825 model
989    (Walt H) [cpsups-2.0.1.diff]
991 Wed Sep 29 03:23:20 CDT 2004 / Russell Kroll <rkroll@exploits.org>
993  - fentonups, mge-utalk, serial: clean up warnings when compiling on
994    Solaris 8 - char is signed, size_t is unsigned long with -m64,
995    and is unsigned int for -m32.
997    (Niels Baggesen)
999 Wed Sep 29 03:14:30 CDT 2004 / Russell Kroll <rkroll@exploits.org>
1001  - newhidups: various fixes for BSD compatibility and others:
1003    - Separates devices in the scan list
1004    - Prints the libusb error if the HID descriptor can't be retrieved
1005    - Creates fake product and vendor strings if the PID/VID isn't in the
1006      database
1007    - suppress remaining unneeded trace.
1009    (Arnaud Quette, Charles Lepple) [patch-2.0.1-pre3_newhidups]
1011 Wed Sep 29 03:09:36 CDT 2004 / Russell Kroll <rkroll@exploits.org>
1013  - libusb: only declare 'int retries' when LIBUSB_HAS_DETACH_KRNL_DRV is
1014    defined to avoid warnings about unused variables.
1016    (Niels Baggesen)
1018 Wed Sep 29 03:05:33 CDT 2004 / Russell Kroll <rkroll@exploits.org>
1020  - fentonups: upsdrv_shutdown: use ups_on_line as a function properly.
1021    Reported by Niels Baggesen.
1023 Wed Sep 29 03:00:47 CDT 2004 / Russell Kroll <rkroll@exploits.org>
1025  - upsd.8: fix ' at beginning of line
1027    (Niels Baggesen)
1029 Wed Sep 29 02:46:18 CDT 2004 / Russell Kroll <rkroll@exploits.org>
1031  - snmp-ups: bumped to 0.41:
1033     - fixes snmp-ups compilation warning due to the buggy Net-SNMP header
1034     - various updates on comments and headers
1036    (Arnaud Quette, Niels Baggesen) [patch-2.0.1-pre3_snmp-ups]
1038 Wed Sep 29 02:20:14 CDT 2004 / Russell Kroll <rkroll@exploits.org>
1040  - oneac: drop embedded ^Ms
1042  - oneac, ippon: rename SEC to SECS to avoid clashing with Solaris
1043    header files.
1045    (Niels Baggesen)
1047 Wed Sep 29 02:15:15 CDT 2004 / Russell Kroll <rkroll@exploits.org>
1049  - tripplite: use sqrt instead of sqrtf (portability fix)
1051    (Niels Baggesen)
1053 Wed Sep 29 02:14:13 CDT 2004 / Russell Kroll <rkroll@exploits.org>
1055  - driver.list: extend MGE entries
1057    (Arnaud Quette) [patch-2.0.1-pre3_compat-list]
1059 Wed Sep 29 02:11:26 CDT 2004 / Russell Kroll <rkroll@exploits.org>
1061  - bestfcom: further address command echo; bumped to 0.11
1063    (Kent Hill)
1065 Wed Sep 29 02:06:23 CDT 2004 / Russell Kroll <rkroll@exploits.org>
1067  - gendb: fix cosmetic models vs. drivers comment
1069    (Shaul Karl)
1071 Wed Sep 22 01:55:58 CDT 2004 / Russell Kroll <rkroll@exploits.org>
1073  - energizerups: apply HID_MAX_USAGES workaround from hidups
1075 2.0.1-pre3:
1077 Thu Sep  2 02:52:43 CDT 2004 / Russell Kroll <rkroll@exploits.org>
1079  - newhidups: fix broken setvar/instcmd and limit trace noise
1081    (Arnaud Quette) [patch-2.0.1_newhidups-part2]
1083 Thu Sep  2 02:43:35 CDT 2004 / Russell Kroll <rkroll@exploits.org>
1085  - tripplite: major updates to make it work with 2.0:
1087    - deal with command echoes from UPS (broke due to serial API changes)
1089    - rework serial I/O to sleep and centralize code
1091    - UPS relay no longer disabled on shutdown (this kept the UPS off when
1092      power returned)
1094    - sanity/security: bounds checking, cleaned up dynamic memory, snprintf
1095      instead of sprintf, no redundant serial setup ioctls
1097    - switched to standardized serial comm failure/success reporting
1099    - battery.charge now continuous instead of discrete
1101    - shutdown delays now user-configurable
1103    - new command handlers: load.off, load.on, shutdown.reboot,
1104      shutdown.reboot.graceful, shutdown.return, and shutdown.stayoff
1106    - new variables: ups.delay.start, ups.delay.reboot, and 
1107      ups.delay.shutdown
1109    - coding style cleanups
1111    - additional protocol documentation in comments
1113    - clarify support in man page
1115    (Nicholas J Kain)
1117 Thu Sep  2 02:32:42 CDT 2004 / Russell Kroll <rkroll@exploits.org>
1119  - fentonups: also recognize the Unitek Alpha 1000is with data supplied
1120    by Antoine Cuvellard.
1122 Wed Aug 18 00:08:11 CDT 2004 / Russell Kroll <rkroll@exploits.org>
1124  - fentonups: added strings to detect SuperPower HP360 and Hope-550 models
1125    supplied by Denis Zaika.
1127 Wed Aug 18 00:04:46 CDT 2004 / Russell Kroll <rkroll@exploits.org>
1129  - driver.list: Pulsar / Comet EXtreme are only supported by mge-utalk
1131    (Arnaud Quette) [patch-2.0.1-compat_extreme]
1133 Tue Aug 17 04:54:21 CDT 2004 / Russell Kroll <rkroll@exploits.org>
1135  - bestfcom: upgraded to version 0.10:
1137    - improved 'stale driver' issue when dealing with inverter status
1138      alarm messages from the UPS
1140    (Kent Hill)
1142 Thu Aug 12 05:08:45 CDT 2004 / Russell Kroll <rkroll@exploits.org>
1144  - libhid: force static on raw_usage[] since its value can be used
1145    outside that function.
1147 Thu Aug 12 04:50:03 CDT 2004 / Russell Kroll <rkroll@exploits.org>
1149  - hidparser, libhid, mge-shut, newhidups:
1151     - lower USB bandwidth consumption (and staleness problems) by:
1152        - adding differential polling: only poll static vars
1153          at init time ; semi static vars (ie transfer level, and
1154          other settings) upon calls to instcmd/setvar (ie
1155          users changes) and keep polling volatile every time.
1156        - adding basic USB report buffering (only the last
1157          report is buffered for 2 seconds), which allows
1158          not to ask again a report previously called for
1159          another data. This divides GetReport request
1160          by 4 to 10, depending on the models.
1161     - adds "driver unbind" mechanism to force claiming of the
1162       device (Linux only),
1163     - switch to sys/types.h for hidtypes, hidparser and mge-shut
1164       (by side effect),
1165     - improves a bit the retry mecanism, and only call dsate_datastale()
1166       if it fails with MAX_TRY,
1167     - improves a bit configure mechanism for libusb,
1168     - adds the HIDDumpTree () function to allow debugging of the
1169       UPS' supported data (mostly for others than MGE),
1170     - add Mustek VendorID and case in upsdrv_initups(),
1171     - adds basic reconnexion code (disabled for now as it's
1172       not working [as expected]),
1173     - make a bit of code beautification.
1175   (Arnaud Quette) [patch-2.0.1_newhidups]
1177 Thu Aug 12 04:46:32 CDT 2004 / Russell Kroll <rkroll@exploits.org>
1179  - main: expose 'pollinterval' as a driver.parameter entry
1181    (Arnaud Quette) [patch-2.0.1_store-pollinterval]
1183  - hidups, mge-utalk: use timehead.h for consistency.  
1185    (Arnaud Quette) [patch-2.0.1_timehead]
1187 Thu Jul 29 01:18:28 CDT 2004 / Russell Kroll <rkroll@exploits.org>
1189  - bestups: allow forcing the ID response from ups.conf to support
1190    hardware which does not answer that query (like the SOLA 610) or
1191    which gives bogus data.  
1193    (Jason White)
1195 Thu Jul 29 01:04:20 CDT 2004 / Russell Kroll <rkroll@exploits.org>
1197  - powermust:
1199     - fix data stale warnings when hotplugging USB devices
1200     - fix ups.delay.{start,shutdown} variables
1202    (Carlos Rodrigues) [nut-2.0.1-pre2-powermust1.0.diff]
1204  - bestuferrups: 
1206     - support the Micro Ferrups model RE
1207     - set ambient.temperature from the UPS
1208     - fix a bug where the data is always reported as stale
1210    (Tim Thompson)
1212 2.0.1-pre2:
1214 Sun Jul 18 03:54:58 CDT 2004 / Russell Kroll <rkroll@exploits.org>
1216  - upsmon, upssched, snmp-ups, upsd: don't pass raw strings from config
1217    files directly to upslogx(), since they are subject to % expansion
1218    problems.
1219    (Ulf Harnhammar) [nut.noconfigparsecrash.patch]
1221 Fri Jul 16 02:47:28 CDT 2004 / Russell Kroll <rkroll@exploits.org>
1223  - hidups: work around missing HID_MAX_USAGES in hidups.h if necessary
1225 Thu Jul 15 01:34:47 CDT 2004 / Russell Kroll <rkroll@exploits.org>
1227  - victronups: upgraded to 0.1.9, added support for instant commands:
1228    calibrate.start, calibrate.stop, test.battery.stop, test.battery.start,
1229    test.panel.stop, test.panel.start, bypass.stop, bypass.start
1230    (Gert Lynge)
1232 Thu Jul 15 01:31:52 CDT 2004 / Russell Kroll <rkroll@exploits.org>
1234  - powermust: new driver for Mustek Powermust units.
1236    This overlaps with mustek, added in -pre1.  Let's work on merging
1237    these somehow to get one super driver out of the deal.
1239    (Carlos Rodrigues) [nut-2.0.0-powermust0.11.patch]
1241 Thu Jul 15 01:10:39 CDT 2004 / Russell Kroll <rkroll@exploits.org>
1243  - bestfcom: new forked version of bestferrups which better handles the
1244    inverter status alarm messages and more.
1245    (Kent Hill)
1247 Thu Jul 15 01:03:13 CDT 2004 / Russell Kroll <rkroll@exploits.org>
1249  - upssched: fix the CANCEL events which broke during the changeover to
1250    text-based socket messages in 1.5.
1251    (Steven Schoch) [upssched.c.diff]
1253 Thu Jul 15 00:43:18 CDT 2004 / Russell Kroll <rkroll@exploits.org>
1255  - hidups: call HIDIOCINITREPORT in every poll to fix stuck variables.
1256    (Stuart D. Gathman) [tt]
1258 Thu Jul 15 00:39:34 CDT 2004 / Russell Kroll <rkroll@exploits.org>
1260  - mge-utalk: upgraded to version 0.81:
1261     - fixes the lack of RW variables (add dstate_setflag() and 
1262       dstate_setaux() calls)
1263     - fixes the loss of synchro on some models that doesn't support 
1264       settings restoration
1266    (Arnaud Quette) [patch-2.0.0_mge-utalk_081]
1268 Thu Jul 15 00:07:29 CDT 2004 / Russell Kroll <rkroll@exploits.org>
1270  - esupssmart: drop various init-time setinfo calls which were probably
1271    the result of a straight addinfo -> dstate_setinfo translation.
1272    Variables no longer require explicit initialization, so it's better
1273    to just set them when the data arrives from the UPS. 
1275 Wed Jul 14 23:43:14 CDT 2004 / Russell Kroll <rkroll@exploits.org>
1277  - fentonups: add a sleep to let some hardware wake up and fix a parsing
1278    bug in the initial detection phase code.
1279    (MLH)
1281 Wed Jul 14 23:40:41 CDT 2004 / Russell Kroll <rkroll@exploits.org>
1283  - man pages: turn literal "-" into either "\(hy" or "\-" as appropriate.
1284    (Shaul Karl)
1286 Wed Jul 14 23:32:26 CDT 2004 / Russell Kroll <rkroll@exploits.org>
1288  - ippon: add new ups.conf variables for controlling shutdowns:
1289     - sdelay - delay before switching off
1290     - rdelay - delay before powering on (0 means never).
1292    (Yuri Elizarov) [ippon-shutdown.patch]
1294 Wed Jul 14 23:23:28 CDT 2004 / Russell Kroll <rkroll@exploits.org>
1296  - metasys: new driver for Meta System models: HF Line, HF Millennium, 
1297    HF Top Line, ECO Network, ECO, Ally HF, Megaline
1298    (BlaXwan) [metasys-ver05-2.0.1-pre1.patch]
1300 Wed Jul 14 23:22:09 CDT 2004 / Russell Kroll <rkroll@exploits.org>
1302  - cpsups: added support for the CPS 1500AVR-HO model
1303    (Brad Sawatzky] (patch.1500avr-ho)
1305 Wed Jul 14 23:21:10 CDT 2004 / Russell Kroll <rkroll@exploits.org>
1307  - everups: added support for types 73-76: NET 700/1000/1400/500-DPC
1308    (hunter)
1310 Wed Jul 14 23:18:25 CDT 2004 / Russell Kroll <rkroll@exploits.org>
1312  - docs/cables/apc-rs500-serial.txt: new cable pinout data for using
1313    the Back-UPS RS 500 on a system without USB ports.
1315 Wed Jul 14 23:11:15 CDT 2004 / Russell Kroll <rkroll@exploits.org>
1317  - cpsups: stomp C99 variable declaration that slipped past me in pre1.
1318    Reported by Gert Lynge.
1320 Wed Jul 14 23:08:02 CDT 2004 / Russell Kroll <rkroll@exploits.org>
1322  - driver.list changes:
1324    - esupssmart: Add Infosec models 
1325    - genericups type 15: add Powerware 5125
1327 2.0.1-pre1:
1329 Tue May  4 17:10:55 CDT 2004 / Russell Kroll <rkroll@exploits.org>
1331  - upsdrvctl, others: renamed uc_sigmask again to avoid conflicts with 
1332    local names on certain operating systems.  They are now quite verbose
1333    since I'm getting tired of doing this.  Reported by Patrick Gosling.
1335 Tue May  4 16:43:35 CDT 2004 / Russell Kroll <rkroll@exploits.org>
1337  - mustek: new driver for Mustek UPS hardware.
1338    (Martin Hajduch)
1340 Fri Apr 23 04:37:34 CDT 2004 / Russell Kroll <rkroll@exploits.org>
1342  - cpsups: renamed from cyberpower1100 to better reflect the supported
1343    range of hardware: Cyber Power Systems units with the text protocol.
1344    Support for the OP500TE was added, and a bug in the runtime
1345    calculation was fixed.
1346    (Walt Holman) [cpsups.diff]
1348  - genericups: added "CON" setting to detect when the UPS is 
1349    disconnected.  This is only effective if your UPS or cable supports
1350    this feature.
1351    (stan / saticed.me.uk)
1353 2.0.0:
1355 Tue Mar 23 14:01:09 CST 2004 / Russell Kroll <rkroll@exploits.org>
1357  * Version number bump for release
1359 Mon Mar 22 16:52:38 CST 2004 / Russell Kroll <rkroll@exploits.org>
1361  - drivers/Makefile.in: restore 'usb' target (instead of 'usbups')
1362    (Arnaud Quette) [patch-1.5.15_install-usb]
1364 1.5.15:
1366 Tue Mar 16 14:53:25 CST 2004 / Russell Kroll <rkroll@exploits.org>
1368  - upsd/netuser.c: include user.h to pick up the prototype for 
1369    user_checkaction
1371 Tue Mar 16 14:41:27 CST 2004 / Russell Kroll <rkroll@exploits.org>
1373  - upsd: actually check for MASTER privileges instead of allowing it
1374    for everyone.  This is not a hole, because MASTER is just a permission
1375    check command for upsd and doesn't do anything by itself.
1377  * Various documentation updates throughout
1379 Sat Mar 13 03:49:27 CST 2004 / Russell Kroll <rkroll@exploits.org>
1381  - newhidups.8: reflect a known issue where the driver may report
1382    staleness.  Future versions of the driver will address this.
1383    (Arnaud Quette) [patch-1.5.14_newhidups_manpage]
1385  - mge-utalk: fix a bug that prevented shutdowns and adjust delays
1386    for shutoff / restart to more coherent values
1387    (Arnaud Quette) [patch-1.5.14_mge-utalk_shutoff]
1389  - mge-shut.8, FAQ: add extra details for staleness handling
1390    (Arnaud Quette) [patch-1.5.14_mge-utalk_manpage]
1392 1.5.14:
1394 Mon Mar  8 06:12:25 CST 2004 / Russell Kroll <rkroll@exploits.org>
1396  - various: cleaned up tab damage throughout
1398 Mon Mar  8 04:01:02 CST 2004 / Russell Kroll <rkroll@exploits.org>
1400  - main: allow 'pollinterval' to be set in the per-UPS sections
1402 Mon Mar  8 03:57:23 CST 2004 / Russell Kroll <rkroll@exploits.org>
1404  - upssched: use the whole argument given to system when complaining
1405    about errors instead of just the timer name.  Reported by 
1406    Ulrich Felzmann.
1408 Mon Mar  8 03:44:01 CST 2004 / Russell Kroll <rkroll@exploits.org>
1410  - newhidups, libhid: mega-merge of this driver subsystem.  This is
1411    required if you want to monitor a MGE UPS on Linux 2.4.25 or higher.
1412    Unlike the current hidups driver, this one will be portable.
1413    (Arnaud Quette, Charles Lepple) [patch-1.5.13_newhidups011]
1415 Sat Feb 28 23:33:19 CST 2004 / Russell Kroll <rkroll@exploits.org>
1417  - dstate: switched to per-socket parseconf context buffers to fix
1418    a bug where dangling characters from one connection could pollute
1419    another.  This would only happen with a custom server-level program
1420    that did something like 'write(sockfd, "blah\nfoo", 8)'.
1422 Sat Feb 28 21:15:06 CST 2004 / Russell Kroll <rkroll@exploits.org>
1424  - driver.list: added Pulsar ESV (mge-utalk) and UM-Link (snmp-ups)
1425    compatibility, dropped the experimental tag for mge-shut
1426    (Arnaud Quette) [patch-1.5.13_mge-compatlist]
1428  - mge-shut: bugfix patch:
1430    - fixes an OB status redundancy, and set OB as default (will be
1431      enhanced later on),
1432    - fixes wrongly typed RW vars (need to be STRINGs), and add length
1433      for these (auxdata),
1434      => will close finally Debian Bug #232402 and #234037
1435    - fixes test.battery.start, and add the matching .stop (not available
1436      on all models!),
1437    - add variable ups.test.result (same hid path as the above, but read
1438      only),
1439    - adjust ups.delay.* to lower and more coherent values (20 s for
1440      shutdown, and 30 s for startup)
1441    - update manpage accordingly,
1442    - various minor cleanups,
1443    - bump driver version to 0.59.
1444    (Arnaud Quette) [patch-1.5.13_mge-shut_059]
1446  - ippon: upgraded to 0.02 to small bugs in the init and shutdown code.
1447    (Alexander Fedorov) [patch-0.02]
1449 1.5.13:
1451 Thu Feb 19 14:19:36 CST 2004 / Russell Kroll <rkroll@exploits.org>
1453  - docs/*: various updates, including a reworked new-names.txt
1455 Wed Feb 18 19:03:52 CST 2004 / Russell Kroll <rkroll@exploits.org>
1457  - upsdrvctl.8: resolve doclifter report: () -> {}
1458    (Eric S. Raymond)
1460  - everups: fix reversed versions - the NUT tree version goes in ()
1462  - cyberpower1100: fix inline declarations in upsdrv_initinfo.
1463    Reported by Paco Brufal.
1465 Wed Feb 18 19:02:25 CST 2004 / Russell Kroll <rkroll@exploits.org>
1467  - mge-utalk: added the "oldmac" flag to support OldWorld Macintosh
1468    systems
1469    (Arnaud Quette) [patch-1.5.12_mge-utalk_oldmac2]
1471 Fri Feb  6 16:53:41 CST 2004 / Russell Kroll <rkroll@exploits.org>
1473  - INSTALL: use chown examples with a colon for BSD compatibility
1475 Wed Feb  4 18:33:56 CST 2004 / Russell Kroll <rkroll@exploits.org>
1477  - mge-utalk:
1478    - fixes the status set to FSD (replaced by OB+LB),
1479    - correct manpage: suppress sddelay / FSD references, add
1480      PowerSave to the TODO list, and add Pulsar EL support,
1481    - copyright year updates,
1482    - version bumped to 0.80.2.
1483    [Arnaud Quette] (patch-1.5.12_mge-utalk_update)
1485 Tue Feb  3 11:16:00 CST 2004 / Russell Kroll <rkroll@exploits.org>
1487  - upsd: don't exit from upsd_cleanup so the callers get to set the
1488    right exit code based on what's happening
1490  - mge-shut: forward-port fixes from 1.4 tree:
1491    - atomic calls to dstate_dataok/stale,
1492    - enhance basic status fetching,
1493    - copyright year update,
1494    - version bumped to 0.58.
1495    [Arnaud Quette] (patch-1.5.12_mge-shut_update)
1497  - powercom: revise model names: KIN-525AP is now KIN525AP
1498    [Shaul Karl]
1500 1.5.12:
1502 Sun Feb  1 21:56:27 CST 2004 / Russell Kroll <rkroll@exploits.org>
1504  - cyberpower1100: new driver for CyberPower 1100AVR hardware
1505    [Walt Holman]
1507 Sat Jan 31 15:31:03 CST 2004 / Russell Kroll <rkroll@exploits.org>
1509  - upsdrvctl: changed fork/exec code to use waitpid instead of SIGCHLD.
1510    This means the failure status is now available, and upsdrvctl will
1511    exit(EXIT_FAILURE) if any of the drivers fail to start or take too
1512    long to start.
1514    All three modes (start, stop, shutdown) now report errors this way.
1515    This exit code can be used in scripts to check for problems.
1517  - upsd: reworked exit flag (renamed from stop flag for consistency)
1519  - upsmon, upslog: reworked exit flags and signal handlers
1521 Sat Jan 31 14:51:57 CST 2004 / Russell Kroll <rkroll@exploits.org>
1523  - main, serial, dummycons: reworked exit_code logic to preserve the
1524    signal number until shutdown to avoid calling syslog in the signal
1525    handler
1527  - main: use xstrdup on values from getopt that get freed later
1528    (Peter Eriksson)
1530 Tue Jan 20 03:19:33 CST 2004 / Russell Kroll <rkroll@exploits.org>
1532  - snmp-ups: added the 'notransferoids' ups.conf option to disable 
1533    monitoring of the high and low transfer voltage points.  This is
1534    necessary on some APCC Symmetra equipment due to some reporting
1535    strangeness with three-phase power.
1537    If your Symmetra generates a red voltage block in upsstats, you
1538    probably need to use this flag.
1540 Mon Jan 19 07:05:06 CST 2004 / Russell Kroll <rkroll@exploits.org>
1542  - serial, cyberpower: fix %02x format strings
1544 Mon Jan 19 07:01:53 CST 2004 / Russell Kroll <rkroll@exploits.org>
1546  - powercom: add KIN1500AP support and fine-grained control over the
1547    different hardware-specific parameters for easier testing.
1548    (Shaul Karl)
1550 1.5.11:
1552 Thu Jan 15 00:06:55 CST 2004 / Russell Kroll <rkroll@exploits.org>
1554  - energizerups.8: note that a kernel patch isn't always necessary.
1555    (Viktor T. Toth)
1557  - INSTALL: /var/state/ups should be 0700, not 0600.  Reported by
1558    Richard Massa.
1560 Fri Jan  9 14:41:11 CST 2004 / Russell Kroll <rkroll@exploits.org>
1562  - upscommon: removed
1564  - masterguard, esupssmart: changed upssend to ser_send_pace
1566  - tripplite, bestuferrups, etapro, sms: changed upssend to ser_send
1568 Fri Jan  9 14:21:14 CST 2004 / Russell Kroll <rkroll@exploits.org>
1570  - common/strlcpy: no longer needed; removed
1572  - upscommon: removed dead code
1574  - tripplite, sms, etapro, esupssmart, masterguard, bestuferrups: 
1575    changed upsrecv to ser_get_line
1577  - tripplitesu, everups: changed upsrecvchars to ser_get_buf_len
1579 Fri Jan  9 13:57:18 CST 2004 / Russell Kroll <rkroll@exploits.org>
1581  - genericups: added sdtime= setting to hold the control lines at the
1582    shutdown state for a specified period.  This should help reliability
1583    on hardware that needs a steady state instead of an edge on the
1584    shutdown line(s).
1586 Fri Jan  9 13:18:07 CST 2004 / Russell Kroll <rkroll@exploits.org>
1588  - powercom: added support for KIN-525AP and finished conversion 
1589    to the new serial functions.
1590    (Shaul Karl)
1592 Tue Jan  6 14:25:13 CST 2004 / Russell Kroll <rkroll@exploits.org>
1594  - belkinunv: converted to the new ser_ functions.
1595    (Peter Selinger)   
1597  - safenet: updated to version 0.03.
1598    (Arjen de Korte) [safenet-1.5.10.diff]
1600 Sun Jan  4 20:42:59 CST 2004 / Russell Kroll <rkroll@exploits.org>
1602  - bestups: use S01R0001 for all shutdown situations so an on-battery
1603    shutdown isn't a one-way trip.
1605 1.5.10:
1607 Sun Dec 28 01:04:52 CST 2003 / Russell Kroll <rkroll@exploits.org>
1609  - various drivers: converted open_serial, upsflushin and upssendchar calls
1611 Sat Dec 27 04:22:27 CST 2003 / Russell Kroll <rkroll@exploits.org>
1613  - mge-utalk: minor serial conversions; bumped to 0.80.1
1615 Sat Dec 27 04:03:10 CST 2003 / Russell Kroll <rkroll@exploits.org>
1617  - isbmex: minor serial conversions; bumped to 0.03
1619 Sat Dec 27 03:56:49 CST 2003 / Russell Kroll <rkroll@exploits.org>
1621  - esupssmart: started conversion to serial from upscommon; bumped to 0.21
1623 Sat Dec 27 03:36:17 CST 2003 / Russell Kroll <rkroll@exploits.org>
1625  - blazer: converted to serial from upscommon; bumped to 0.07
1627  - victron: converted to serial from upscommon; bumped to 0.1.8
1629 Sat Dec 27 03:20:41 CST 2003 / Russell Kroll <rkroll@exploits.org>
1631  - powercom: changed final upscommon calls to serial equivalents
1633 Fri Dec 26 21:59:41 CST 2003 / Russell Kroll <rkroll@exploits.org>
1635  - apcsmart, bestups: use #defines instead of literals for 
1636    ser_read wait values 
1638 Fri Dec 26 18:52:18 CST 2003 / Russell Kroll <rkroll@exploits.org>
1640  * Started changing URLs throughout:
1642    Old: http://www.exploits.org/nut/
1643    New: http://www.networkupstools.org/
1645    Specific references to pages other than the top level use the 
1646    random.networkupstools.org hostname to spread the load across
1647    the mirrors.
1649 Fri Dec 26 18:35:59 CST 2003 / Russell Kroll <rkroll@exploits.org>
1651  - serial: fix upsfd/fd naming when using lockf code.  Reported by
1652    Pascal Hennequin.
1654 Fri Dec 26 18:33:30 CST 2003 / Russell Kroll <rkroll@exploits.org>
1656  - ippon: new driver for Ippon UPS devices (Alexander Fedorov)
1658  - belkinunv: minor typo and doc fixes, bumped to 0.05
1659    (Peter Selinger)
1661  - powercom: changed to ser_ equivalent functions (Shaul Karl)
1663 Fri Dec 26 18:18:41 CST 2003 / Russell Kroll <rkroll@exploits.org>
1665  - bestups: added nombatvolt= setting to override the nominal battery
1666    voltage data returned by the UPS.  This means you can finally have
1667    a reading of 100% when it's fully charged.  The driver also now
1668    publishes the data as battery.voltage.nominal for later reference.
1670 Tue Dec  2 15:52:17 CST 2003 / Russell Kroll <rkroll@exploits.org>
1672  - oneac: this driver has been upgraded to the new naming scheme and
1673    serial code, and is welcomed back to the tree.
1674    (Eric Lawson)
1676 Tue Dec  2 15:47:52 CST 2003 / Russell Kroll <rkroll@exploits.org>
1678  - victronups: added code to ignore spurious \n characters in responses
1679    which sometimes caused bad readings in certain variables.
1680    This version also now uses the new ser_ functions.
1681    (Gert Lynge) [nut159_victron_0_1_6_to_0_1_7_patch]
1683 1.5.9:
1685 Wed Nov 26 10:14:55 CST 2003 / Russell Kroll <rkroll@exploits.org>
1687  * Various doc updates throughout
1689 Tue Nov 25 20:36:07 CST 2003 / Russell Kroll <rkroll@exploits.org>
1691  - cyberpower: dropped the experimental tag and bumped it to 1.00.  Recent
1692    development have made this quite stable, and the addition of shutdown
1693    code pushed it out of 0.x territory.
1695 Tue Nov 25 20:17:33 CST 2003 / Russell Kroll <rkroll@exploits.org>
1697  - powercom: switched the raw read function to use the new ser_get_buf_len
1698    to allow some more old code to be removed from upscommon
1700 Tue Nov 25 13:55:50 CST 2003 / Russell Kroll <rkroll@exploits.org>
1702  - upsc, upscmd, upsrw: check for insanity in the UPS argument and 
1703    provide a clearer error message about the upsname@hostname format
1705 Tue Nov 25 13:19:57 CST 2003 / Russell Kroll <rkroll@exploits.org>
1707  - mge-shut: rename a few things that used the same names as various
1708    common functions (index, strlen, read)
1710 Tue Nov 25 13:13:19 CST 2003 / Russell Kroll <rkroll@exploits.org>
1712  - belkinunv: new driver for Belkin Universal UPS hardware.
1713    (Peter Selinger)
1715 Sun Nov 16 02:48:37 CST 2003 / Russell Kroll <rkroll@exploits.org>
1717  - drivers, upsd: added 'static' to various functions that aren't called
1718    from external parts of the code
1720 1.5.8:
1722 Sun Nov  2 15:58:14 CST 2003 / Russell Kroll <rkroll@exploits.org>
1724  - driver.list: update Fenton compatibility to include the P-series
1725    (Arjen de Korte) [driver.list.diff]
1727  - victronups: fix OB/OL reporting bug (Gert Lynge)
1728    [nut-1.5.7_patch]
1730  - driver.list: fix Repotec/Repoteck confusion (Arjen de Korte)
1731    [nut-1.5.7.driver.list.diff]
1733  - genericups: added type 20 for the Powerware 5119 RM.  (Daniel Thompson)
1734    [http://lists.exploits.org/ups/Oct2003/00052.html]
1736 Sun Nov  2 15:30:18 CST 2003 / Russell Kroll <rkroll@exploits.org>
1738  - dummycons: added ali/als/alc commands to allow testing of the new
1739    dstate alarm functions
1741  - dstate: added alarm_init/alarm_set/alarm_commit functions which work
1742    just like their status_* counterparts.  These functions also manage
1743    the ALARM flag in ups.status automatically.
1745 Fri Oct 31 10:42:53 CST 2003 / Russell Kroll <rkroll@exploits.org>
1747  - serial: make sure it doesn't read too far ahead in ser_get_buf_len
1749 Fri Oct 31 10:27:11 CST 2003 / Russell Kroll <rkroll@exploits.org>
1751  - serial: only pass the basename of ttys to uu_lock
1753 Fri Oct 31 09:03:06 CST 2003 / Russell Kroll <rkroll@exploits.org>
1755  - configure.in: explicitly test for EGREP so things don't break on
1756    FreeBSD systems.
1758 Mon Oct 27 12:02:55 CST 2003 / Russell Kroll <rkroll@exploits.org>
1760  - apcsmart: added a workaround to not die when the capability string
1761    overflows at startup on models with the 451.2.I firmware.  Reported
1762    by Frank Weise.   
1764 Mon Oct 27 11:59:57 CST 2003 / Russell Kroll <rkroll@exploits.org>
1766  - upsd: check the exit flag during the "Synchronizing.." step so you
1767    can actually abort it with ^C without waiting for the timer to expire.
1769 Mon Oct 27 11:56:44 CST 2003 / Russell Kroll <rkroll@exploits.org>
1771  - apcsmart: reworked status code to use #defines instead of magic numbers
1773 Thu Oct 23 01:32:32 CDT 2003 / Russell Kroll <rkroll@exploits.org>
1775  - cmdvartab: recognize beeper commands (Arjen de Korte)
1777 Thu Oct 23 01:27:50 CDT 2003 / Russell Kroll <rkroll@exploits.org>
1779  - safenet: upgraded to 0.2; fixed a typo (LB, not BL) (Arjen de Korte)
1780    [safenet.diff]
1782 1.5.7:
1784 Sat Oct 18 16:42:17 CDT 2003 / Russell Kroll <rkroll@exploits.org>
1786  - safenet: new driver for UPS hardware which uses the protocol of the
1787    same name.  This should support units from many manufacturers, including
1788    Fairstone, Fenton, Gemini, Powerwell, Repotec, Soltec and Sweex.
1789    See the driver.list or README file for the full details.
1790    (Arjen de Korte)
1792 Wed Oct 15 14:15:24 CDT 2003 / Russell Kroll <rkroll@exploits.org>
1794  - snmp-ups apccmib: set the input transfer voltages to sane values
1795    by using upsAdvConfigHighTransferVolt and
1796    upsAdvConfigLowTransferVolt.  This backs out the change from July
1797    which appeared to fix the Symmetra but actually caused another
1798    problem.
1800    Three-phase units like the Symmetra will need additional special-case
1801    code to handle voltage reporting sanely.
1803 Wed Oct 15 14:03:44 CDT 2003 / Russell Kroll <rkroll@exploits.org>
1805  - cmdvartab: added clarifying units and fixed the battery.voltage
1806    description.  (Eric S. Raymond)
1808 Wed Oct 15 13:59:47 CDT 2003 / Russell Kroll <rkroll@exploits.org>
1810  - upslog: catch more signals and cleanly exit whenever possible
1812 Mon Oct 13 16:38:29 CDT 2003 / Russell Kroll <rkroll@exploits.org>
1814  * various: changed the docs to suggest config files that are owned
1815    by root.nut and mode 0640.  That lets the daemons read the files
1816    without being able to write to them.  Bad things could happen if 
1817    an attacker gained access through a daemon and started editing the
1818    config files. 
1820    The references to linux-hiddev were also clarified to show that it
1821    wants a complete path name and not just a directory.
1823    Reported by Patrick Smith.
1825 Mon Oct 13 16:26:57 CDT 2003 / Russell Kroll <rkroll@exploits.org>
1827  - fentonups: added a new entry to the mtab2 to recognize the 
1828    Effekta MT 2000 RM models.  Users with other Effekta MT and MH models
1829    should be able to use this as a guideline.  (christoph moar)
1831 Sat Oct 11 13:43:08 CDT 2003 / Russell Kroll <rkroll@exploits.org>
1833  - dummycons: cleaned up input routine by having dstate select stdin
1835  - apcsmart: enabled extrafd mechanism
1837  - dstate, main: changed fd polling routine to allow checking an extra
1838    fd in the usual select loop.  This lets drivers wake up when the
1839    UPS talks to them rather than waiting for the pollinterval to elapse.
1841 Sat Oct 11 13:33:43 CDT 2003 / Russell Kroll <rkroll@exploits.org>
1843  - main: tell getopt to give us an argument for -i
1845 Sat Oct 11 13:10:41 CDT 2003 / Russell Kroll <rkroll@exploits.org>
1847  - apcsmart: added support for ser_get_line_alert.  The OL/OB, LB, and
1848    RB status values will now be changed immediately if the UPS sends
1849    an alert character.  There may still be a small delay if the driver
1850    is waiting in dstate.
1852  - serial: added ser_get_line_alert to allow callbacks to the driver
1853    when an asynchronous alert character is received.
1855  - serial: reworked the existing ser_set_line to be a wrapper of
1856    ser_get_line_alert with the alert detection disabled.
1858 1.5.6:
1860 Tue Sep 30 00:08:54 CDT 2003 / Russell Kroll <rkroll@exploits.org>
1862  - drivers/Makefile.in: don't link upscommon into hidups, energizerups,
1863    or snmp-ups since they don't use any of those functions
1865 Tue Sep 30 00:02:50 CDT 2003 / Russell Kroll <rkroll@exploits.org>
1867  - various: fix tab damage throughout
1869 Mon Sep 29 23:16:30 CDT 2003 / Russell Kroll <rkroll@exploits.org>
1871  - upsdrvctl: clean up dynamic memory at exit
1873 Mon Sep 29 22:49:57 CDT 2003 / Russell Kroll <rkroll@exploits.org>
1875  - parseconf: store strlen results in temporary buffers rather than
1876    calling it every time through a loop for better efficiency
1878  - parseconf: grow the wordbuf 8 characters at a time to cut down on
1879    calls to realloc
1881  - upsd: created per-client net parsing context buffers to avoid the
1882    memory churn from the repeated calls to pconf_init/pconf_finish.
1883    This was really noticeable when torturing upsd with things like
1884    'cat /dev/urandom | nc localhost 3493' - thousands of allocs and frees
1885    would be reported by valgrind.
1887 Mon Sep 29 22:16:29 CDT 2003 / Russell Kroll <rkroll@exploits.org>
1889  - main, dstate: free more dynamic memory at exit (vartab, others)
1891 Mon Sep 29 22:10:15 CDT 2003 / Russell Kroll <rkroll@exploits.org>
1893  - bestups: cleaned up the init sequence to avoid unnecessary dynamic
1894    memory and two small related leaks
1896 Mon Sep 29 01:35:45 CDT 2003 / Russell Kroll <rkroll@exploits.org>
1898  - apcsmart: added a firmware lookup table to support very old and 
1899    very new hardware.  If your APC UPS doesn't support the 'a' query,
1900    you probably need to use this.  Affected hardware includes the
1901    CS 350 and the old Matrix 5000 series.
1903    Note: on the CS 350, you probably need to set sdtype=4 or you will
1904    not be able to shut down the UPS in all situations.  Test it to be
1905    sure.
1907  - apcsmart: added sdtype 4 for odd hardware that can't shut down the
1908    load unless it's running on battery.  This type forces the OB state
1909    temporarily and then starts the shutdown.  This technique was
1910    discovered by Martin Maney.
1912 Mon Sep 29 01:05:43 CDT 2003 / Russell Kroll <rkroll@exploits.org>
1914  - upslog: moved the pid file creation before the point where root is
1915    dropped so it can actually work again.  (Yuri A. Nosyrev)
1917 Mon Sep 29 00:45:39 CDT 2003 / Russell Kroll <rkroll@exploits.org>
1919  - Makefile: don't call install-cgi-conf by default.  (Shaul Karl)
1921 Mon Sep 29 00:25:54 CDT 2003 / Russell Kroll <rkroll@exploits.org>
1923  - bestups: moved the usual sync/ident checks into the normal init
1924    path so they don't try to run during the shutdown sequence
1926 Mon Sep 29 00:00:41 CDT 2003 / Russell Kroll <rkroll@exploits.org>
1928  - bestups, fentonups: switched error reporting to common functions
1930 Sun Sep 28 23:53:33 CDT 2003 / Russell Kroll <rkroll@exploits.org>
1932  - apcsmart, cyberpower, belkin: switched error reporting for normal 
1933    polls to use the ser_comm functions, since they perform rate-limiting
1935 Sun Sep 28 22:14:59 CDT 2003 / Russell Kroll <rkroll@exploits.org>
1937  - genericups: changed to new serial functions and applied minor cleanups
1939 Mon Sep 15 12:00:35 CDT 2003 / Russell Kroll <rkroll@exploits.org>
1941  - liebert: converted to new serial functions 
1943 Mon Sep 15 10:29:10 CDT 2003 / Russell Kroll <rkroll@exploits.org>
1945  - upsset, upscmd: use getpwuid and getuid to get a reasonable default
1946    value for the Username prompt.
1948 Mon Sep 15 10:12:02 CDT 2003 / Russell Kroll <rkroll@exploits.org>
1950  - upsd: actually return when no args are presented to parse_net rather 
1951    than continuing, which usually makes upsd fall over.
1953 Mon Sep 15 09:45:00 CDT 2003 / Russell Kroll <rkroll@exploits.org>
1955  - upsimage: fix the nominal voltage handling so it doesn't go to 
1956    the neutral color just above that point.  It should now give a 
1957    green range flanked by grey with red outside that.
1959 Mon Sep 15 09:33:18 CDT 2003 / Russell Kroll <rkroll@exploits.org>
1961  - bestups: reworked init sequence to use "pace" functions.  The hardware
1962    likes this a whole lot better, and it usually answers on the first
1963    attempt now.  It now starts in under a second, compared to almost 10
1964    before.
1966  - bestups: converted to serial functions
1968 Mon Sep 15 07:41:26 CDT 2003 / Russell Kroll <rkroll@exploits.org>
1970  - cyberpower: changed raw read/write calls to ser_* equivalents
1972 Mon Sep 15 07:13:12 CDT 2003 / Russell Kroll <rkroll@exploits.org>
1974  - upsd: don't print "Success" when a driver closes the state socket
1975    and read returns 0
1977 Mon Sep 15 07:09:22 CDT 2003 / Russell Kroll <rkroll@exploits.org>
1979  - belkin: added a workaround for the brain damage on firmware 001
1980    with the truncated RAT command.  This fixes the annoying timeout
1981    warning and unnecessary delay when the driver started.
1983 Mon Sep 15 06:10:38 CDT 2003 / Russell Kroll <rkroll@exploits.org>
1985  - belkin: changed the read sequence to sleep based on the expected
1986    response length to minimize the churn during normal polls
1988  - belkin: converted to ser_* functions
1990  - cyberpower: changed to not use upscommon functions without converting
1991    raw reads and writes
1993 Mon Sep 15 05:19:44 CDT 2003 / Russell Kroll <rkroll@exploits.org>
1995  - apcsmart: changed the polling routines so a failure during normal
1996    operations makes it return to the GOSMART/ESC sequence immediately.
1997    It also resets the "last full time" counter so all of the variables
1998    will be refreshed when the UPS returns.
2000 Mon Sep 15 03:38:08 CDT 2003 / Russell Kroll <rkroll@exploits.org>
2002  - mge-shut: squashed disallowed C++ style // comment
2004  - main: moved in signal handling and atexit cleanup operations from
2005    upscommon
2007  - main, dummycons: deal with things that disappeared from upscommon
2009  - dstate: moved status_init/set/commit here from upscommon
2011  - dstate: added dstate_is_stale()
2013  - apcsmart, fentonups: converted to ser_* calls
2015  - serial: added a new set of functions just for serial port operations.
2016    This is intended to replace the mess that is currently in upscommon.
2018    One of the big changes here is the intended replacement for upsrecv,
2019    which is called ser_get_line.  This has been written to use select
2020    rather than alarms, and it reads using 64 byte chunks.  It still
2021    stops when it sees endchar, but anything after it is lost.
2023    In other words, don't convert blindly from upsrecv to ser_get_line
2024    unless it's really a line-type protocol on polled hardware.
2026  - drivers/Makefile.in, gendb: added serial.o to deps
2028  - common: moved rtrim here from upscommon
2030 Fri Sep 12 05:19:39 CDT 2003 / Russell Kroll <rkroll@exploits.org>
2032  - upsclient: report "Server disconnected" (UPSCLI_ERR_SRVDISC) when
2033    a read from the network returns 0.
2035 1.5.5:
2037 Fri Sep 12 03:24:21 CDT 2003 / Russell Kroll <rkroll@exploits.org>
2039  - Makefile.in: the install target no longer calls 'install-conf'.  This
2040    target only installs the .sample files, and they're quite annoying
2041    when your system is already configured properly.  The install-conf
2042    target will still be available for manual use.
2044 Fri Sep  5 21:01:57 CDT 2003 / Russell Kroll <rkroll@exploits.org>
2046  - belkin: changed the shutdown sequence to something that doesn't
2047    focus on outlet breakers.  This new one controls the whole UPS, and
2048    has been tested to work on my F6C525-SER both on line and on battery.
2049    This new sequence should work better on more kinds of hardware.
2051    If you use this driver, you need to test this and make sure it still
2052    behaves as expected on your system.  This was based on the original
2053    report from Robin Glover.
2055  - upsmon: removed old code for doing FSD without a upsname
2057  - belkin: fixed input.frequency to be the input and not the output,
2058    added the real output.frequency, and added battery.temperature
2060  - upsmon: don't print the reason from strerror() twice when upsmon.conf
2061    can't be opened at startup
2063  - upsmon: do the -K test after reading upsmon.conf so it actually knows
2064    where to look for the flag file.
2066 Fri Sep  5 19:28:09 CDT 2003 / Russell Kroll <rkroll@exploits.org>
2068  - energizerups: only report staleness after 3 failed poll attempts.
2069    (Viktor T. Toth)
2071 Wed Sep  3 19:30:24 CDT 2003 / Russell Kroll <rkroll@exploits.org>
2073  - upsd: actually disconnect a fd when the client drops off instead of
2074    spinning forever and consuming all of the CPU
2076 1.5.4:
2078 Tue Sep  2 13:40:42 CDT 2003 / Russell Kroll <rkroll@exploits.org>
2080  - upsd: explicitly free client struct data at exit for easier leak
2081    analysis
2083  - upsd: fixed a bogus free() in the cmdvartab code.  This only ran when
2084    upsd exited, so there was no chance of it breaking something.
2086  - upsd: dropped the confusing level-based access which used things like
2087    monitor, base and once had many more options.  Now it's just ACCEPT
2088    or REJECT, and the ACCESS word is no longer honored in upsd.conf.
2090    Old way:
2092         ACCESS grant all adminbox
2093         ACCESS grant all webserver
2094         ACCESS deny all all
2096    New way:
2098         ACCEPT adminbox
2099         ACCEPT webserver
2100         REJECT all
2102    Note that ACCEPT and REJECT can take multiple arguments, so this
2103    will also work:
2105         ACCEPT adminbox webserver
2106         REJECT all
2108    These changes now allow you to reject an existing connection.  If
2109    a client was previously allowed to connect and then has that
2110    access revoked by editing upsd.conf and reload upsd, it will be
2111    disconnected when it sends another command.
2113 Tue Sep  2 12:39:25 CDT 2003 / Russell Kroll <rkroll@exploits.org>
2115  - upsd: test whether a host is allowed to connect before going 
2116    through the work of creating the client struct only to delete it again
2118  - upsd: simplified delclient() calls by adding a "delete" flag to 
2119    the client struct and only calling it from one place when that
2120    flag is set
2122 Tue Sep  2 12:27:53 CDT 2003 / Russell Kroll <rkroll@exploits.org>
2124  - upsd: sprinkleed const throughout the handlers
2126  - upsd: handle action/instcmd checking in the handlers to simplify netcmds[]
2128 Tue Sep  2 11:36:59 CDT 2003 / Russell Kroll <rkroll@exploits.org>
2130  - upsconf: forced "required" since all callers had that set anyway
2132  - upsd: cleaned up conf functions and simplified entry points
2134 Tue Sep  2 11:17:24 CDT 2003 / Russell Kroll <rkroll@exploits.org>
2136  - upsd: clean up ups add/redefinition functions and move into conf.c
2138 Tue Sep  2 11:06:44 CDT 2003 / Russell Kroll <rkroll@exploits.org>
2140  - upsd: cleaned up the network read code, dropping the old net parser
2142  - upsd: moved all remaining handlers in upsd.c to net_*.c
2144 Mon Sep  1 13:50:39 CDT 2003 / Russell Kroll <rkroll@exploits.org>
2146  - lib/*: include SSL_CFLAGS and SSL_LDFLAGS too
2148 Mon Sep  1 13:40:31 CDT 2003 / Russell Kroll <rkroll@exploits.org>
2150  - configure.in, lib/Makefile.in: explicitly set USE_PKG_CFG and test
2151    it before trying to do anything with pkg-config directories or files
2153 Mon Sep  1 13:09:46 CDT 2003 / Russell Kroll <rkroll@exploits.org>
2155  - configure.in: changed default location of hiddev.h to /usr/include/linux
2156    since /usr/src/linux isn't always usable
2158 Mon Sep  1 13:05:39 CDT 2003 / Russell Kroll <rkroll@exploits.org>
2160  - hidups: test for "Smart-UPS" and clean up the mfr/model data if found.
2161    Based on the original patch by George Ross.
2163 Mon Sep  1 12:51:27 CDT 2003 / Russell Kroll <rkroll@exploits.org>
2165  - mge-shut: add input.{voltage,frequency} and output.{frequency,current}
2166    (Arnaud Quette)
2168 Mon Sep  1 12:49:08 CDT 2003 / Russell Kroll <rkroll@exploits.org>
2170  - upsimage: use the input transfer voltages again so the input graph
2171    shows the right normal/warning regions
2173 Mon Sep  1 12:44:06 CDT 2003 / Russell Kroll <rkroll@exploits.org>
2175  - configure.in: read include/version for use in the new pkgconfig/helper
2176    script as @NUT_VERSION@
2178 Mon Sep  1 12:33:39 CDT 2003 / Russell Kroll <rkroll@exploits.org>
2180  - energizerups: new driver for Energizer UPS hardware.  (Viktor T. Toth)
2182 Mon Sep  1 12:28:26 CDT 2003 / Russell Kroll <rkroll@exploits.org>
2184  - configure.in, lib/*: create helper data for pkg-config and a separate
2185    script which is installed during 'make install-lib' for external
2186    client builds.  (Arnaud Quette)
2188 Mon Sep  1 12:26:47 CDT 2003 / Russell Kroll <rkroll@exploits.org>
2190  - victronups: actually applied the patch for better IMV Match Lite
2191    support from Daniel Prynych
2193 Mon Sep  1 12:25:09 CDT 2003 / Russell Kroll <rkroll@exploits.org>
2195  - configure.in, clients/Makefile: use AR value from configure, and
2196    use ranlib when it exists to make libupsclient.a build on Mac OS X.
2197    (Petter Reinholdtsen)
2199 1.5.3:
2201 Mon Aug 25 03:01:58 CDT 2003 / Russell Kroll <rkroll@exploits.org>
2203  - hidups, snmp-ups: minor signed/unsigned comparison fixes
2205 Mon Aug 25 02:52:13 CDT 2003 / Russell Kroll <rkroll@exploits.org>
2207  - configure, clients: look for getpassphrase and use it when it exists,
2208    since getpass on those systems only provides up to 8 characters.
2209    Reported by Gabriel Faber.
2211 Sun Aug 24 10:02:31 CDT 2003 / Russell Kroll <rkroll@exploits.org>
2213  - various: clean up prototypes, and add static where appropriate
2215 Sun Aug 24 09:48:35 CDT 2003 / Russell Kroll <rkroll@exploits.org>
2217  - various: explicitly use (void) in function prototypes instead of ()
2219 Sun Aug 24 09:43:23 CDT 2003 / Russell Kroll <rkroll@exploits.org>
2221  - various: add const to char * declarations where appropriate
2223 Sun Aug 24 09:18:57 CDT 2003 / Russell Kroll <rkroll@exploits.org>
2225  - upscommon, main, drivers: clean up shadowed variables
2227  - upsmon, upssched: clean up variables which shadow each other
2229  - upsmon: rename variables pipe and stat to avoid clashing with system
2230    functions of the same name
2232 Sun Aug 24 08:52:19 CDT 2003 / Russell Kroll <rkroll@exploits.org>
2234  - drivers, common: use EXIT_SUCCESS or EXIT_FAILURE
2236 Sun Aug 24 08:40:41 CDT 2003 / Russell Kroll <rkroll@exploits.org>
2238  - main: added explicit frees of dynamic memory when exiting due to a
2239    caught signal
2241  - clients, upsd: use EXIT_SUCCESS or EXIT_FAILURE
2243 Sun Aug 24 06:24:25 CDT 2003 / Russell Kroll <rkroll@exploits.org>
2245  - upsmon: changed all exit calls to use EXIT_SUCCESS or EXIT_FAILURE
2247 Sun Aug 24 06:17:24 CDT 2003 / Russell Kroll <rkroll@exploits.org>
2249  - upsmon: added -K argument to test for the existence of the 
2250    POWERDOWNFLAG.  When it exists and has been set by upsmon, it 
2251    contains a magic string.  upsmon will exit(EXIT_SUCCESS) in this
2252    case, and exit(EXIT_FAILURE) in any other.
2254    This means you can dump the "test -f /etc/killpower" junk in your
2255    shutdown scripts and do something a bit cleaner like this:
2257         if (/usr/local/ups/sbin/upsmon -K)
2258         then
2259                 /usr/local/ups/bin/upsdrvctl shutdown
2261                 # sleep, reboot, whatever ...
2262         fi
2265 Sun Aug 24 05:52:37 CDT 2003 / Russell Kroll <rkroll@exploits.org>
2267  - main: added support for 'chroot' and 'user' to be set in the global
2268    part of ups.conf.  This means you don't have to use -r and -u for
2269    those features.
2271 Sun Aug 24 05:47:01 CDT 2003 / Russell Kroll <rkroll@exploits.org>
2273  - main: clean up variables and set static on some to prevent future
2274    info-grabbing anomalies
2276  - powercom: dropped references to main's do_forceshutdown - drivers
2277    were never supposed to use this value for anything
2279 Sun Aug 24 05:42:31 CDT 2003 / Russell Kroll <rkroll@exploits.org>
2281  - upsmon: dropped "-i"
2283 Sun Aug 24 05:38:05 CDT 2003 / Russell Kroll <rkroll@exploits.org>
2285  - upsmon: dropped "-d".  Debugging info is accessed with -D, just like
2286    upsd and upsmon.
2288 Sun Aug 24 05:28:12 CDT 2003 / Russell Kroll <rkroll@exploits.org>
2290  - upsdrvctl: main's -d is gone, so don't set '-d 0' any more.
2292  - mge-shut, mge-utalk, powercom, sddelay: removed references to sddelay.
2294  - main: drop sddelay and -d, since it has confused driver authors and
2295    users for years.  If you want a delay after calling 'upsdrvctl shutdown',
2296    call sleep in your script.
2298 Sun Aug 24 05:15:43 CDT 2003 / Russell Kroll <rkroll@exploits.org>
2300  - Makefile: add new targets for building and installing the snmp-ups
2301    driver and man page separately. (Arnaud Quette) [patch-1.5.2_make-snmp]
2303  - blazer: fix startup messages by using printf (Arnaud Quette)
2305 Sun Aug 24 04:54:09 CDT 2003 / Russell Kroll <rkroll@exploits.org>
2307  - bcmxcp, microdowell, oneac: removed drivers with broken_driver set
2309 Sun Aug 24 04:51:44 CDT 2003 / Russell Kroll <rkroll@exploits.org>
2311  - configure: use the socklen_t detection from rsync (and everywhere else)
2313  - configure: add -Wsign-compare when using gcc to hopefully prevent more
2314    sign comparison issues from creeping in later
2316 Sun Aug 24 04:48:31 CDT 2003 / Russell Kroll <rkroll@exploits.org>
2318  - Makefile.in: don't keep calling lower-level Makefiles when one fails.
2319    (Petter Reinholdtsen, Charles Lepple)
2321  - upscommon, drivers: clean up more sign issues
2323 Sun Aug 24 04:22:39 CDT 2003 / Russell Kroll <rkroll@exploits.org>
2325  - clients: other minor signed/unsigned comparisons fixed
2327  - clients: fixed calls and definitions involving numq and numa
2329  - upsclient: numq and numa can never be negative, so they've been changed
2330    to unsigned int
2332 Sun Aug 24 04:11:49 CDT 2003 / Russell Kroll <rkroll@exploits.org>
2334  - upsd: cleaned up a few signed/unsigned comparisons - check for negative
2335    returns, then cast sizeof to int and do the rest
2337 Sun Aug 24 04:01:53 CDT 2003 / Russell Kroll <rkroll@exploits.org>
2339  - upsd: fixed two leaks where the user command and action data wouldn't
2340    be freed during a reload
2342  - upsd: dropped useless arg from sstate_getinfo
2344  - upsrw: dropped useless arg from print_rwlist
2346  - upssched: dropped useless arg from open_sock
2348 Sun Aug 24 03:56:23 CDT 2003 / Russell Kroll <rkroll@exploits.org>
2350  - upsdrvctl: removed -i - this belongs in ups.conf (and didn't work anyway)
2352 1.5.2:
2354 Sat Aug 16 11:43:19 CDT 2003 / Russell Kroll <rkroll@exploits.org>
2356  - main: added 'pollinterval' as a global setting in ups.conf
2358 Sat Aug 16 11:38:44 CDT 2003 / Russell Kroll <rkroll@exploits.org>
2360  - main, upsdrvctl: applied patch from Gabriel Faber adding the
2361    -i argument to set the poll interval in the driver.
2363 Sat Aug 16 11:33:50 CDT 2003 / Russell Kroll <rkroll@exploits.org>
2365  - Makefile.in: changed install-misc target to install-lib for consistency
2367 Sat Aug 16 11:31:03 CDT 2003 / Russell Kroll <rkroll@exploits.org>
2369  - upsstats: clean up the hosts.conf error page.  Reported by Bill Richter.
2371 Sat Aug 16 11:27:04 CDT 2003 / Russell Kroll <rkroll@exploits.org>
2373  - victronups: applied patch from Daniel Prynych which adds better
2374    support for IMV MATCH Lite hardware.
2376 Mon Aug 11 11:27:51 CDT 2003 / Russell Kroll <rkroll@exploits.org>
2378  - parseconf: use size_t instead of ints where appropriate
2380 Mon Aug 11 10:45:54 CDT 2003 / Russell Kroll <rkroll@exploits.org>
2382  * various: other minor fixes to please 'gcc -pedantic'
2384  - configure: test for socklen_t, and fall back to int if it's not there
2386  - upsd, upssched, sstate: use socklen_t instead of int where applicable
2388 Mon Aug 11 10:43:50 CDT 2003 / Russell Kroll <rkroll@exploits.org>
2390  - upsd: don't return (func) in a function that returns void.
2391    Reported by Gabriel Faber.
2393 Mon Aug 11 10:26:09 CDT 2003 / Russell Kroll <rkroll@exploits.org>
2395  - mge-shut: change ulong to unsigned long to fix compiles on FreeBSD
2397 Mon Aug 11 10:23:58 CDT 2003 / Russell Kroll <rkroll@exploits.org>
2399  - snmp-ups: applied patch from Arnaud Quette fixing the other
2400    FLAG_* changes that I missed for 1.5.0.
2402 Mon Aug 11 10:06:09 CDT 2003 / Russell Kroll <rkroll@exploits.org>
2404  - snmp-ups: applied patch from Arnaud Quette fixing a bug where it
2405    demanded a mib.conf even though that is not necessary yet.
2407 Mon Aug 11 10:02:29 CDT 2003 / Russell Kroll <rkroll@exploits.org>
2409  - blazer: new driver Phil Hutton for Blazer UPS equipment, via
2410    Arnaud Quette.
2412 Mon Aug 11 08:28:20 CDT 2003 / Russell Kroll <rkroll@exploits.org>
2414  - configure, mge-shut, hidparser: applied patch from Arnaud Quette
2415    fixing endianness issues on some architectures
2417 Wed Aug  6 04:15:25 CDT 2003 / Russell Kroll <rkroll@exploits.org>
2419  - apcsmart: actually read the response from the UPS after starting 
2420    runtime calibration so we don't get out of sync.  This fixes a bug
2421    where the status could go blank for a few seconds.
2423 1.5.1:
2425 Fri Aug  1 21:01:30 CDT 2003 / Russell Kroll <rkroll@exploits.org>
2427  - clients/Makefile.in: upssched no longer needs strlcpy
2429 Fri Aug  1 20:56:56 CDT 2003 / Russell Kroll <rkroll@exploits.org>
2431  - configure.in, clients/Makefile.in: build and use libupsclient.a
2432    when ar is available.
2434 Wed Jul 30 00:36:53 CDT 2003 / Russell Kroll <rkroll@exploits.org>
2436  - upsd: switch to just a plain write() for network I/O now that
2437    UDP is gone
2439 Wed Jul 30 00:34:20 CDT 2003 / Russell Kroll <rkroll@exploits.org>
2441  - upsd: dropped UDP support since it wasn't being used anyway.
2443 1.5.0:
2445 Tue Jul 29 20:35:25 CDT 2003 / Russell Kroll <rkroll@exploits.org>
2447  - cyberpower: beautify the source somewhat
2449 Tue Jul 29 20:31:10 CDT 2003 / Russell Kroll <rkroll@exploits.org>
2451  - various: added code to check the return code from upscli_splitname.
2452    It now refuses to split the input if you don't provide a UPS name.
2453    The UPS name is required by the new protocol.  There is no default.
2455 Tue Jul 29 20:26:09 CDT 2003 / Russell Kroll <rkroll@exploits.org>
2457  - upsset: dropped code for old variable and command names
2459 Tue Jul 29 20:07:00 CDT 2003 / Russell Kroll <rkroll@exploits.org>
2461  - upsstats: changed calls to upsimage to new names
2463  - upsimage: converted imgvar[] entries to new names
2465 Tue Jul 29 18:40:02 CDT 2003 / Russell Kroll <rkroll@exploits.org>
2467  - upsstats: mostly converted to the new variable names.  There are a 
2468    few lingering things like UTILITYCOLOR.
2470 Tue Jul 29 16:32:56 CDT 2003 / Russell Kroll <rkroll@exploits.org>
2472  - newapc: renamed to apcsmart.  What was the oldest driver in the tree 
2473    is now officially retired.
2475 Tue Jul 29 16:24:56 CDT 2003 / Russell Kroll <rkroll@exploits.org>
2477  * Removed all of the code that supports the old variable/command names,
2478    including the various header files, all support functions, and so on:
2480    - Removed unconverted drivers: bestferrups801-807, bestfortress, 
2481      hp, sec, powernet
2483    - Dropped "new" vs. "old" code in clients: upsclient, upsc, upscmd,
2484      upslog, upsmon, upsrw
2486    - Fixed references to "FLAG_RW" and "FLAG_STRING" to be their ST_ 
2487      versions: snmp-ups, mge-shut, mge-utalk
2489    - Dropped variable/command name conversions: dstate, sstate, upscommon
2491    - Moved driver callbacks from "new_*" to their final names: upscomon,
2492      apcsmart, belkin, bestups, cyberpower, dummycons, esupssmart,
2493      etapro, fentonups, mge-shut, mge-utalk, microdowell, newapc,
2494      oneac, powercom, sms, snmp-upw, tripplite, tripplitesu, 
2496    - Dropped entire "oldnet" file of upsd
2498    * Total savings: about 224 KB of source.
2500    The CGI programs have not been converted yet, so 'make cgi' is broken
2501    at the moment.
2503 Tue Jul 29 16:24:17 CDT 2003 / Russell Kroll <rkroll@exploits.org>
2505  * Forked from 1.4.0 to start the new 1.5 dev tree.
2507 1.4.0:
2509 Fri Jul 25 09:59:51 CDT 2003 / Russell Kroll <rkroll@exploits.org>
2511  * Final documentation cleanups for release.
2513 Tue Jul 22 06:45:13 CDT 2003 / Russell Kroll <rkroll@exploits.org>
2515  - tripplitesu: new driver from Allan Hessenflow for Tripp Lite SU
2516    (SmartOnline) equipment.
2518 1.3.13:
2520 Thu Jul 17 23:01:43 CDT 2003 / Russell Kroll <rkroll@exploits.org>
2522  - upsd: complain about bad ACCESS level names in the syslog
2524 Mon Jul 14 17:23:41 CDT 2003 / Russell Kroll <rkroll@exploits.org>
2526  - snmp-ups: set VAR_SENSITIVE on the SNMP community
2528  - main: add VAR_SENSITIVE to mark variables that should not be published
2529    in the driver.parameter tree
2531 Mon Jul 14 15:42:13 CDT 2003 / Russell Kroll <rkroll@exploits.org>
2533  - snmp-ups: don't call dataok when the target host is down
2535  - snmp-ups: fixed a NULL pointer dereference when the far end was
2536    unreachable
2538 Thu Jul 10 19:54:14 CDT 2003 / Russell Kroll <rkroll@exploits.org>
2540  - mge-shut: applied patch from Arnaud Quette fixing another data
2541    refresh problem that resulted in updates that only touched the status.
2542    [patch-1.3.12_mge-shut]
2544 Thu Jul 10 19:48:06 CDT 2003 / Russell Kroll <rkroll@exploits.org>
2546  - genericups: added support for overriding the different parts of a
2547    UPS type (CP, OL, LB, SD) for custom monitoring based on a patch
2548    from Maarten Brock.   
2550 1.3.12:
2552 Wed Jul  9 12:48:43 CDT 2003 / Russell Kroll <rkroll@exploits.org>
2554  - victronups: applied patch from Daniel Prynych which finishes the
2555    conversion to 1.3 and adds dataok/datastale calls.
2557 Sat Jul  5 07:20:26 CDT 2003 / Russell Kroll <rkroll@exploits.org>
2559  - snmp-ups: use xmalloc, not malloc
2561 Sat Jul  5 07:05:23 CDT 2003 / Russell Kroll <rkroll@exploits.org>
2563  - upsd: clean up ERR handling for setting an invalid ENUM value and 
2564    elsewhere
2566 Fri Jul  4 05:14:55 CDT 2003 / Russell Kroll <rkroll@exploits.org>
2568  - dstate: the fd poller no longer complains about select failing
2569    due to being interrupted, like what happens when you shut down a 
2570    driver.
2572 Fri Jul  4 05:12:37 CDT 2003 / Russell Kroll <rkroll@exploits.org>
2574  - snmp-ups: changed the OIDs used for low and high transfer data
2575    in the APCC MIB definition to something that makes sense even on
2576    three-phase units like the Symmetra.  Previously, it would display
2577    a range around 208V despite running the outlets around 120V.
2579 Fri Jul  4 05:01:12 CDT 2003 / Russell Kroll <rkroll@exploits.org>
2581  - snmp-ups: applied patch from Arnaud Quette fixing status polls on
2582    APC equipment and others. [patch-1.3.11_snmp-ups_statusfix]
2584 Fri Jul  4 04:58:47 CDT 2003 / Russell Kroll <rkroll@exploits.org>
2586  - snmp-ups: add support for the APC IEC monitoring OIDs, including
2587    the units in case someone decides to set it to Fahrenheit, since
2588    we need it in Celsius.
2590  - snmp-ups: compare OIDs that are returned by getnext so we don't
2591    pick up things that have no relationship to what we requested.
2592    This fixes the bugs where the driver would think a certain OID
2593    existed because it was landing on another one in the tree.
2595 Tue Jul  1 20:50:35 CDT 2003 / Russell Kroll <rkroll@exploits.org>
2597  - bcmxcp: blindly converted most of the calls to dstate equivalents.
2598    This driver still lacks the sanity checks, so it doesn't actually run.
2600 1.3.11:
2602 Tue Jul  1 03:54:39 CDT 2003 / Russell Kroll <rkroll@exploits.org>
2604  - mge-shut: fixed a case with no return code
2606 Mon Jun 30 04:20:19 CDT 2003 / Russell Kroll <rkroll@exploits.org>
2608  - newapc: after changing a variable in the UPS, refresh the dstate
2609    data so clients see the new value immediately.
2611 Mon Jun 30 04:08:03 CDT 2003 / Russell Kroll <rkroll@exploits.org>
2613  - upscommon, dstate: move ups_handler into its own header file to avoid
2614    problems later
2616 Mon Jun 30 03:45:05 CDT 2003 / Russell Kroll <rkroll@exploits.org>
2618  - snmp-ups: applied patch from Arnaud Quette, which includes work
2619    from J.W. Hoogervorst:
2621    - more data and commands are supported from the MGE and IETF mibs
2622    - code cleanups throughout, plus tidying of memory at shutdown
2623    - this driver works on 1.3 now - dstate_dataok is called
2624    - staleness is reported properly
2625    - external MIB file support started
2626    - 'pollfreq' setting now available to help control network load
2627    - ups.status now fully interpreted for IETF and MGE mibs
2629 Mon Jun 30 03:40:09 CDT 2003 / Russell Kroll <rkroll@exploits.org>
2631  - main: bad flags or variables no longer dump the full help (-h) screen
2632    since it was scrolling the actual error off a normal size screen.
2633    Users are now prompted to check the -h screen on their own.
2635  - main: also added driver.flag.* for consistency
2637  - main: add driver.parameter.* as proposed by Arnaud Quette.
2639 Mon Jun 30 03:11:15 CDT 2003 / Russell Kroll <rkroll@exploits.org>
2641  - configure.in: use AC_C_INLINE to deal with systems with different
2642    ways of handling this word.  This was breaking builds of the 
2643    bestfortress driver.  Reported by Petter Reinholdtsen.
2645 Mon Jun 30 03:03:53 CDT 2003 / Russell Kroll <rkroll@exploits.org>
2647  - mge-shut: applied patch from Arnaud Quette adding support for the
2648    PowerShare mode as documented in powersavings.txt.  This also adds
2649    output voltage data, UPS serial number reading, shutdown.stayoff, 
2650    load.on, and load.off.  A bug in the data refresh was fixed, and
2651    this driver is no longer tagged experimental.
2653  - powersavings.txt: applied patch from Arnaud Quette adding this
2654    and the outlet.* scheme to the variable tree. [patch-1.3.10_PowerSave]
2656 Mon Jun 30 02:57:54 CDT 2003 / Russell Kroll <rkroll@exploits.org>
2658  - hp: applied patch from Jan Sporbeck adding support for the A2994A.
2660 Wed Jun 25 23:34:41 CDT 2003 / Russell Kroll <rkroll@exploits.org>
2662  - upsd: don't complain about unhandled command/variable names in the
2663    syslog now.  This was causing too much noise now that we have things
2664    with no mapping to an old name - driver.* and more.
2666 Tue Jun 24 15:17:14 CDT 2003 / Russell Kroll <rkroll@exploits.org>
2668  - MAINTAINERS: added this file to help route patches to the right people.
2669    I can't possibly verify all changes to things like the drivers, since
2670    it's impossible to own every UPS that exists.
2672    Driver authors: please send me patches for this file to add entries
2673    for the things you maintain.
2675 1.3.10:
2677 Wed Jun 11 06:40:20 CDT 2003 / Russell Kroll <rkroll@exploits.org>
2679  - configure: actually put the --with-gd values into the environment
2680    before trying to detect gd.h and libgd.  This kept gd detection from
2681    working unless it was in the standard system paths.  Reported by
2682    Patrik Schindler.
2684 Wed Jun 11 06:32:03 CDT 2003 / Russell Kroll <rkroll@exploits.org>
2686  - tripplite: converted, bumped to 0.02, added driver.version.internal
2688 Wed Jun 11 06:05:51 CDT 2003 / Russell Kroll <rkroll@exploits.org>
2690  - etapro: converted instcmd, bumped to 0.4, added driver.version.internal
2692  - oneac: converted instcmd parsing to new format, bumped to 0.4,
2693    added driver.version.internal
2695  - hp, oneac: set broken_driver
2697 Wed Jun 11 05:54:36 CDT 2003 / Russell Kroll <rkroll@exploits.org>
2699  - genericups: call dataok more than once
2701 Wed Jun 11 05:49:46 CDT 2003 / Russell Kroll <rkroll@exploits.org>
2703  - cyberpower: use bufsize properly in get_ident, and don't read beyond it
2705 Wed Jun 11 05:47:04 CDT 2003 / Russell Kroll <rkroll@exploits.org>
2707  - bestuferrups: converted, bumped to 0.01, added driver.version.internal
2709  - bestuferrups: noticed a sanity check, so this one now calls dataok/stale
2711 Wed Jun 11 05:40:14 CDT 2003 / Russell Kroll <rkroll@exploits.org>
2713  - bestfortress: added dataok/datastale after locating status checksum
2714    tests in the update function and converted some calls
2716  - bcmxcp, bestferrups801-807: set broken_driver for lack of sanity
2717    checks in upsdrv_updateinfo
2719 Wed Jun 11 04:58:28 CDT 2003 / Russell Kroll <rkroll@exploits.org>
2721  - main: added broken_driver flag to make them easy to find later.
2722    If this flag is set, main will print a message and exit shortly 
2723    after starting.  This is your cue to jump in and fix things.
2725 Wed Jun 11 04:52:54 CDT 2003 / Russell Kroll <rkroll@exploits.org>
2727  - microdowell: converted, bumped to 0.02, added driver.version.internal
2729    *** Note: this driver still won't work, since nobody's figured out
2730        the sanity checks to add a dstate_dataok() yet...
2732 Wed Jun 11 04:43:16 CDT 2003 / Russell Kroll <rkroll@exploits.org>
2734  - isbmex: converted, bumped to 0.02, added driver.version.internal
2736 Wed Jun 11 04:38:57 CDT 2003 / Russell Kroll <rkroll@exploits.org>
2738  - var-map, drivers: input.minimum and input.maximum are now 
2739    input.voltage.minimum and input.voltage.maximum to avoid ambiguity
2741 Wed Jun 11 04:33:09 CDT 2003 / Russell Kroll <rkroll@exploits.org>
2743  - victronups: converted, bumped to 0.1.2, added driver.version.internal
2745    *** Note: this driver still won't work, since nobody's figured out
2746        the sanity checks to add a dstate_dataok() yet...
2748 Wed Jun 11 04:26:15 CDT 2003 / Russell Kroll <rkroll@exploits.org>
2750  - masterguard: converted, bumped to 0.22, added driver.version.internal
2752 Wed Jun 11 04:16:55 CDT 2003 / Russell Kroll <rkroll@exploits.org>
2754  - sms: bumped to 0.71, added driver.version.internal
2756  - sms: converted calls and variable/command names to dstate versions
2758  - cmd-map-init: mapped WATCHDOG to reset.watchdog for the sms driver
2760 Wed Jun 11 03:59:11 CDT 2003 / Russell Kroll <rkroll@exploits.org>
2762  - drivers, upscommon: added upsdrv_cleanup() which will be called
2763    after certain signals (SIGTERM, SIGINT, SIGQUIT) have been received.
2764    Any drivers which allocate dynamic resources should free them in
2765    this function so things like valgrind will show no leaks.
2766    Suggested by Arnaud Quette.
2768 Wed Jun 11 03:49:11 CDT 2003 / Russell Kroll <rkroll@exploits.org>
2770  - esupssmart: new driver for Energy Sistem equipment from
2771    Antonio Trujillo Coronado.
2773 Wed Jun 11 03:48:16 CDT 2003 / Russell Kroll <rkroll@exploits.org>
2775  - status.h: applied patch from Arnaud Quette adding a mapping for BYPASS
2777 Wed Jun 11 03:45:37 CDT 2003 / Russell Kroll <rkroll@exploits.org>
2779  - hidparser: applied patch from Arnaud Quette fixing a compilation 
2780    warning discovered by Shaul Karl.  [patch-1.x-HIDParser_warnings]
2782 Mon Jun  9 00:31:04 CDT 2003 / Russell Kroll <rkroll@exploits.org>
2784  - upsd: report the username that did LOGOUT, if available
2786 Sun Jun  8 23:24:44 CDT 2003 / Russell Kroll <rkroll@exploits.org>
2788  - genericups.8: update type 7 to reflect Belkin Home Office
2789    compatibility as reported by Matthew Mueller.
2791 Sun Jun  8 23:10:21 CDT 2003 / Russell Kroll <rkroll@exploits.org>
2793  - upsmon: reworked large parts of the code to fix several things and
2794    make it easier to follow:
2796    - All authentication (username, password, login, master) happens in
2797      one place, and can happen exactly once per connection now.  upsd
2798      doesn't let you retry a username or password anyway, so the old
2799      technique of allowing it at any time was useless.
2801    - upsmon now drops the connection to upsd in a handful of situations.
2802      It used to do it for any condition beyond 'data stale', including
2803      temporary problems like restarting the driver.
2805      upsd will boot off clients that are logged into a UPS that is 
2806      removed (via reconfiguration and SIGHUP), so there is no concern 
2807      about losing the number of clients from the LOGIN calls.
2809    - upsmon now requires a UPS name in the MONITOR directives as part
2810      of the upgrade to the new protocol.  It can still monitor old hosts,
2811      but you will need to specify a UPS name for them.  
2813      Old way:
2815      MONITOR bigserver 1 monuser password master
2817      New way:
2819      MONITOR myups@bigserver 1 monuser password master
2821      Just look at the top of ups.conf on 'bigserver' to figure out what
2822      the first UPS is called, and stick it and a @ on that MONITOR line.
2824    - Notifications of things like COMMOK and ONLINE have been reworked
2825      to ensure that they only fire upon a state change from COMMBAD and
2826      ONBATT, respectively.  This was already the case, but the 
2827      implemention made it unclear.
2829      The new code also makes it possible to allow COMMOK and ONLINE to
2830      be generated when the program starts if someone asks for this later.
2831      Just initialize it to something other than 0, -1, or 1.
2833    - A few functions were renamed to better explain their roles.
2835    - pollups() was split up to put the actual parsing somewhere else,
2836      since the level of indention was getting out of hand.
2838 Sat Jun  7 02:56:02 CDT 2003 / Russell Kroll <rkroll@exploits.org>
2840  - upslog: reworked the parser to generate a list of function calls
2841    once, then just use that list for the actual status printing.  The
2842    old design made it reparse the format string every time around,
2843    which was pointless since it can't be changed while the program is 
2844    running.  This way should save a bit of CPU.
2846 1.3.9:
2848 Fri Jun  6 00:17:24 CDT 2003 / Russell Kroll <rkroll@exploits.org>
2850  - mge-utalk: applied patch from Arnaud Quette [patch-1.3.8-mge-utalk_dev]:
2852    - adds "driver.version.internal" (0.80) and Bypass status reading 
2853    - adds commands "shutdown.return" and "bypass.stop"
2854    - various cleanups and cosmetics.
2856 Thu Jun  5 02:38:30 CDT 2003 / Russell Kroll <rkroll@exploits.org>
2858  - applied various patches from Arnaud Quette:
2860    - driver.list: rework genericups upstype notation for better parsing
2861      [patch-1.3.8-genericups_UPStype]
2863    - hidparser: fix compiles on FreeBSD. [patch-1.3.8-HIDParser_BSD]
2865    - various: change BYP to BYPASS.  This was never officially defined 
2866      either way up to this point. [patch-1.3.8-BYPASS_status]
2868 Wed Jun  4 00:22:34 CDT 2003 / Russell Kroll <rkroll@exploits.org>
2870  - contact-closure.txt: created from the remains of the old
2871    generic-ups.txt in order to clear out the old docs/drivers directory
2873  - mge-utalk.8: applied patch from Arnaud Quette updating this and
2874    removing the old docs/drivers/mge-utalk.txt.
2876 Wed Jun  4 00:19:45 CDT 2003 / Russell Kroll <rkroll@exploits.org>
2878  - applied various patches from Shaul Karl:
2880    - man: update the powercom and  genericups pages to reflect 
2881      earlier improvements
2883    - upssched.conf: keep comments commented
2885 Wed Jun  4 00:15:24 CDT 2003 / Russell Kroll <rkroll@exploits.org>
2887  - snmp-ups: applied patch from Dmitry Frolov adding support for 
2888    the new shutdown.reboot and shutdown.reboot.graceful commands
2889    in APCC MIB mode.
2891 1.3.8:
2893 Mon May 19 01:47:28 CDT 2003 / Russell Kroll <rkroll@exploits.org>
2895  - various: applied patch from Bryan Henderson:
2897    - setting NUT_CONFPATH in the environment now overrides the one
2898      compiled into the binaries.
2900    - NUT_STATEPATH now works in more places for similar reasons
2902    - upsdrvctl now uses execve to pass the environment to the drivers
2903      so these new variables will be effective.
2905    - ups.conf supports driverpath= to allow changing that, too.
2907    - upsd.conf supports DATAPATH for yet another override
2909    - ALTPIDPATH now picks up the runtime value of the state path unless
2910      it was set at compile-time.  This has no effect at the moment since
2911      the ALTPIDPATH is always defined by the configure process.
2913    - upsd now reports which TCP port number is being tried when bind() 
2914      fails to complete.
2916 Mon May 19 01:35:44 CDT 2003 / Russell Kroll <rkroll@exploits.org>
2918  - snmp-ups: applied patch from Dmitry Frolov adding support for
2919    the ambient.temperature and ambient.humidity variables when using
2920    the APCC MIB. [nut-1.3.7-snmp-apc-ambient.diff]
2922 Mon May 19 01:30:43 CDT 2003 / Russell Kroll <rkroll@exploits.org>
2924  - upsset: condensed the error page generation and username/password
2925    handling to clean up the code a bit
2927  - upsset: converted to the new upsclient functions and variable names.
2928    Older versions of upsd are still supported, and will be detected
2929    automatically.
2931 Sat May 17 00:12:23 CDT 2003 / Russell Kroll <rkroll@exploits.org>
2933  - upssched: converted to SOCK_STREAM with plain text control instead 
2934    of shooting binary structs around.  This was done partly for 
2935    consistency but mostly because upssched had a race when the parent
2936    shut down.
2938    If the parent started to quit while a client woke up and sent in 
2939    a new datagram, the client would think it had been received but
2940    in reality it would be dropped.  There is no easy way to respond to
2941    datagrams over a Unix domain socket, so there was no practical way
2942    to have the parent confirm a command.
2944    upssched now confirms all commands with "OK\n".  The client will
2945    not exit until it either starts the parent itself or connects
2946    to the parent, sends the command, and gets that response back.  It
2947    will still give up after 30 failed attempts in case things are
2948    seriously broken.
2950 Wed May 14 15:30:21 CDT 2003 / Russell Kroll <rkroll@exploits.org>
2952  - upsd: fix FSD reporting in STATUS (old) and ups.status (new)
2954 Wed May 14 15:19:36 CDT 2003 / Russell Kroll <rkroll@exploits.org>
2956  - upsmon: added support for the new variable names while maintaining
2957    support for older versions of upsd.  upsmon will write a message
2958    in the syslog about "using compatibility mode" when this happens.
2960 Wed May 14 14:58:19 CDT 2003 / Russell Kroll <rkroll@exploits.org>
2962  - upsmon: added -D for consistency and took -d out of the help text.
2963    -d will be supported but unadvertised for awhile.
2965 Wed May 14 14:24:45 CDT 2003 / Russell Kroll <rkroll@exploits.org>
2967  - newapc: try to break out of menus on newer models by sending ESC
2969  - bestups: cleaned up init and shutdown sequences
2971 Wed May 14 13:56:51 CDT 2003 / Russell Kroll <rkroll@exploits.org>
2973  - main, dummycons: set driver.version and driver.name
2975 Wed May 14 13:54:06 CDT 2003 / Russell Kroll <rkroll@exploits.org>
2977  - fentonups: make multiple attempts to detect a UPS before giving up,
2978    and perform more sanity checks on the ID sequence
2980 Wed May 14 13:46:26 CDT 2003 / Russell Kroll <rkroll@exploits.org>
2982  - mge-shut: applied patch from Arnaud Quette fixing a memory leak.
2984 1.3.7:
2986 Tue May 13 12:55:08 CDT 2003 / Russell Kroll <rkroll@exploits.org>
2988  - genericups: applied patch from Shaul Karl adding support for
2989    setting ups.serial via 'serial=' in ups.conf.
2991 Tue May 13 12:31:54 CDT 2003 / Russell Kroll <rkroll@exploits.org>
2993  - fentonups: added new code and a table for devices which implement
2994    the "I" detection differently.  Thanks to Joon Guillen for providing
2995    info on the Giant/WELI 500 hardware.
2997 Mon May 12 14:30:32 CDT 2003 / Russell Kroll <rkroll@exploits.org>
2999  - upsd: started adding explicit #defines for error reporting consistency
3001 Sat May 10 13:39:29 CDT 2003 / Russell Kroll <rkroll@exploits.org>
3003  - upsc, upscmd, upslog, upsrw: added support for these new upsclient
3004    functions and therefore the new variable names by extension.
3006    These programs will still work against older versions of upsd, as
3007    long as you use the right (older) variable and command names.
3009    You must also now specify a upsname if you are using a new variable
3010    name or command name.  The old concept of a "default UPS" is still
3011    supported, but only for the backwards compatibility, which means
3012    only old names will work.
3014    For example, instead of localhost, use su700@localhost.
3016  - upsclient: added new functions for using the new GET and LIST
3017    protocol commands: upscli_get, upscli_list_start, upscli_list_next
3019 Sat May 10 13:16:38 CDT 2003 / Russell Kroll <rkroll@exploits.org>
3021  - mge-ellipse: removed
3023  - mge-shut: applied patch from Arnaud Quette and Philippe Marzouk
3024    completing the transition from mge-ellipse. 
3025    [patch-1.3.5-mge-ellipse2shut-FINAL]
3027 Fri May  9 14:34:12 CDT 2003 / Russell Kroll <rkroll@exploits.org>
3029  - various: remove references to bare hostname as UPS identifiers.
3030    The new protocol requires a UPS name from ups.conf, so this will
3031    start teaching people to use a ups name all the time.
3033    Essentially, foo@localhost is now the preferred form.  Just 
3034    "localhost" will not work with anything that uses the new 
3035    variable names.
3037 Fri May  9 11:52:43 CDT 2003 / Russell Kroll <rkroll@exploits.org>
3039  - data: created a new directory for things that go in the datadir.
3040    Right now this is just the 'cmdvartab' for upsd's descriptions.
3042 Fri May  9 11:30:00 CDT 2003 / Russell Kroll <rkroll@exploits.org>
3044  - various: make sure pconf_finish is called if the file open fails
3045    to avoid leaks from the wordbuf and other dynamically allocated things
3047  - upsd: added support for providing command and variable descriptions
3048    from a file.  This file is optional.  upsd will send "Unavailable"
3049    if the file is not available, or if it doesn't have an entry for
3050    a given name.
3052 1.3.6:
3054 Fri May  9 05:45:09 CDT 2003 / Russell Kroll <rkroll@exploits.org>
3056  - powercom: applied patches from Shaul Karl to modify the validation
3057    code and convert to dstate.
3059 Thu May  8 08:26:39 CDT 2003 / Russell Kroll <rkroll@exploits.org>
3061  - upsd: added support for server.info and server.version.  Since these
3062    variables don't apply to any UPS, the usual <upsname> field is ignored.
3064 Thu May  8 04:04:03 CDT 2003 / Russell Kroll <rkroll@exploits.org>
3066  - upsd: make sure only the old compatibility functions can use the
3067    old variable names
3069 Wed May  7 04:44:06 CDT 2003 / Russell Kroll <rkroll@exploits.org>
3071  - upsclient, various: added 3 more functions to access various elements
3072    from struct UPSCONN without actually touching it directly.  Clients
3073    must treat UPSCONN as opaque, since it could change.
3075 Tue May  6 13:19:04 CDT 2003 / Russell Kroll <rkroll@exploits.org>
3077  - oneac: mostly switched to dstate - not all names have been mapped
3079 Tue May  6 13:08:34 CDT 2003 / Russell Kroll <rkroll@exploits.org>
3081  - everups: switched to dstate
3083 Tue May  6 12:58:07 CDT 2003 / Russell Kroll <rkroll@exploits.org>
3085  - hp: mostly switched to dstate - there are no sanity checks on the 
3086    incoming data, so it will be stale until it is fixed
3088 Tue May  6 12:48:03 CDT 2003 / Russell Kroll <rkroll@exploits.org>
3090  - everups, mge-utalk, tripplite, snmp-ups, powernet: drop VALSIZE,
3091    since it's a relic from the old info array.
3093 Tue May  6 12:30:37 CDT 2003 / Russell Kroll <rkroll@exploits.org>
3095  - upslog: use become_user() directly
3097 Tue May  6 12:14:44 CDT 2003 / Russell Kroll <rkroll@exploits.org>
3099  - configure.in/Makefile.in: dropped --with-group and the state path
3100    creation code.  We'll let the user create this now.
3102    The INSTALL file has also been beefed up to explicitly mention steps
3103    like this, and other important things like creating a separate user.
3104    The old nobody fallback will still work, but we'll try to steer them
3105    away from that for their own good.
3107 Tue May  6 11:45:53 CDT 2003 / Russell Kroll <rkroll@exploits.org>
3109  - upsmon: switch to using become_user() for consistency with the other
3110    programs.  This technique picks up the group data for setgid() from
3111    the user's primary/default group, so --with-group no longer has
3112    any effect.
3114 Tue May  6 11:41:23 CDT 2003 / Russell Kroll <rkroll@exploits.org>
3116  - dstate, sstate: clarify test for EAGAIN: only when read returns -1
3118 Tue May  6 11:38:44 CDT 2003 / Russell Kroll <rkroll@exploits.org>
3120  - dummycons: added -u <user> for consistency with other drivers.
3121    This means you can start it as root without having to su to your 
3122    dev user first.
3124  - dummycons: added code to drop privileges after startup
3126 Mon May  5 03:12:24 CDT 2003 / Russell Kroll <rkroll@exploits.org>
3128  - upsclient: drop xstrdup and switch to local checking to avoid
3129    extra dependencies on other object files
3131 Mon May  5 03:07:30 CDT 2003 / Russell Kroll <rkroll@exploits.org>
3133  - apcsmart: eat the response from the calibration command
3135 Fri May  2 23:59:41 CDT 2003 / Russell Kroll <rkroll@exploits.org>
3137  - newapc: read the results of the start/stop calibration commands to
3138    avoid getting out of sync later on.  Reported by Nicholas Lee.
3140 Fri May  2 23:46:35 CDT 2003 / Russell Kroll <rkroll@exploits.org>
3142  - mge-shut: applied patch from Arnaud Quette and Philippe Marzouk
3143    to convert to dstate, add a "notification" option for supporting
3144    ellipse models and enhance communication handling. 
3145    [patch-1.3.5-mge-shut_CNNS]
3147 Fri May  2 00:55:51 CDT 2003 / Russell Kroll <rkroll@exploits.org>
3149  - liebert: converted to dstate functions
3151 1.3.5:
3153 Fri May  2 00:01:17 CDT 2003 / Russell Kroll <rkroll@exploits.org>
3155  - cyberpower: new instant command: shutdown.stayoff
3157 Thu May  1 23:53:13 CDT 2003 / Russell Kroll <rkroll@exploits.org>
3159  - apcsmart: did a few final cleanups and added a "deprecated" warning.
3160    It will eventually be replaced by the newapc driver, which will be
3161    renamed to apcsmart.
3163 Thu May  1 23:33:48 CDT 2003 / Russell Kroll <rkroll@exploits.org>
3165  - drivers: added datastale/dataok calls to many, but not all.  Too
3166    many drivers assume upsrecv() will succeed, and that's horribly
3167    wrong.  If your driver didn't check that call or do basic sanity
3168    checks on the received data, I didn't convert it.
3170    A few other complicated drivers were also left unconverted, so
3171    their authors can figure out how to best handle the situation.
3173    Rule of thumb: if you can't update ups.status, it's stale.
3175    Unmaintained drivers may be removed by the end of the 1.3 series.
3177 Thu May  1 22:57:17 CDT 2003 / Russell Kroll <rkroll@exploits.org>
3179  - upsd: reworked startup sequence to report staleness in the right place
3181  - various: added explicit DATAOK/DATASTALE support to replace the
3182    meta-data that we used to get via writeinfo()
3184 Thu May  1 21:47:47 CDT 2003 / Russell Kroll <rkroll@exploits.org>
3186  - cyberpower: reworked the initial detection process to add a few 
3187    more tries before giving up completely
3189 Thu May  1 21:36:16 CDT 2003 / Russell Kroll <rkroll@exploits.org>
3191  - cyberpower: added support for test.battery.start
3193  - cyberpower: fixed the signal handlers for SIGALRM so read() doesn't
3194    restart when it fires.  This occasionally made the driver hang at
3195    startup.
3197 Thu May  1 21:23:29 CDT 2003 / Russell Kroll <rkroll@exploits.org>
3199  - newapc: explicitly check every upsrecv for usable results, and deal
3200    with "NA" everywhere
3202 Thu May  1 21:12:19 CDT 2003 / Russell Kroll <rkroll@exploits.org>
3204  - parseconf: explicitly leave room for the trailing null in all cases
3206 Thu May  1 03:38:21 CDT 2003 / Russell Kroll <rkroll@exploits.org>
3208  - snmp-ups: applied patch from Arnaud Quette to support BYP status
3210 Thu May  1 03:29:57 CDT 2003 / Russell Kroll <rkroll@exploits.org>
3212  - newapc: converted to dstate functions
3214 Wed Apr 30 15:42:12 CDT 2003 / Russell Kroll <rkroll@exploits.org>
3216  - mge-utalk: applied patch from Arnaud Quette to convert to dstate.
3217    [patch-1.3.4-mge-utalk_CNNS]
3219 Wed Apr 30 04:12:58 CDT 2003 / Russell Kroll <rkroll@exploits.org>
3221  - newapc: started tearing into it with a chainsaw
3223 Wed Apr 30 01:47:53 CDT 2003 / Russell Kroll <rkroll@exploits.org>
3225  - newapc: split status handling into its own function
3227 Tue Apr 29 21:55:22 CDT 2003 / Russell Kroll <rkroll@exploits.org>
3229  - drivers/main: drop main_background, revert to common function
3231 Tue Apr 29 19:54:31 CDT 2003 / Russell Kroll <rkroll@exploits.org>
3233  - bestups: split up the updates in order to have a long delay
3234    between the Q1 request and the status read without using sleep()
3236 Tue Apr 29 16:12:13 CDT 2003 / Russell Kroll <rkroll@exploits.org>
3238  - snmp-ups: applied patch from Arnaud Quette to switch over to the
3239    new dstate functions.  [patch-1.3.4_snmp-ups_CNNS]
3241 Tue Apr 29 15:47:58 CDT 2003 / Russell Kroll <rkroll@exploits.org>
3243  - upsd: also make sure the clock is checked even when no drivers respond
3245  - upsd: fix the arguments for difftime() so we don't run forever
3247 1.3.4:
3249 Tue Apr 29 00:16:54 CDT 2003 / Russell Kroll <rkroll@exploits.org>
3251  - bestuferrups: applied patch from Bob Apodaca adding support for the
3252    1.1kVA UPS.  It also cleans up the detection process to make it
3253    easier to add new models in the future.
3255 Tue Apr 29 00:11:50 CDT 2003 / Russell Kroll <rkroll@exploits.org>
3257  - powercom: applied patch from Preston A. Elder adding support for
3258    KIN-2200AP hardware.  This may also support other KIN-xxxxAP equipment.
3260 Tue Apr 29 00:01:21 CDT 2003 / Russell Kroll <rkroll@exploits.org>
3262  - mge-utalk: applied patch from Arnaud Quette:
3264    This patch solves a syncing and communication problem due to RTS pin
3265    which wasn't cleared. Tested with Evolution, EX10, ES5+, ESV11+.
3267 Mon Apr 28 23:57:02 CDT 2003 / Russell Kroll <rkroll@exploits.org>
3269  - hidups: applied patch from Arnaud Quette [patch-1.3.3-alt_hidups]:
3271    - added the base for set() function
3272    - added upsdrv_shutdown() with parameters
3273    - added code to handle MGE and others.
3275 Mon Apr 28 23:49:25 CDT 2003 / Russell Kroll <rkroll@exploits.org>
3277  - upsd: do the usual stale/connected checks in the new net functions
3279 Mon Apr 28 23:37:41 CDT 2003 / Russell Kroll <rkroll@exploits.org>
3281  - upsd: shuffled the compatibility functions into oldnet.c so they
3282    stay out of the way.  It also makes the size of the cruft easy to see.
3284 Mon Apr 28 23:24:12 CDT 2003 / Russell Kroll <rkroll@exploits.org>
3286  - upsd: added new handler for INSTCMD.  This also falls through to the
3287    old version with the old names for compatibility.
3289 Mon Apr 28 23:13:42 CDT 2003 / Russell Kroll <rkroll@exploits.org>
3291  - upsd: added new handler for SET VAR.  This will fall through and 
3292    try the old version if necessary.
3294 Mon Apr 28 22:46:00 CDT 2003 / Russell Kroll <rkroll@exploits.org>
3296  - dstate: added verbose error handling for the case where the socket
3297    can't be created in an attempt to avoid support mails down the road
3299 Mon Apr 28 18:06:44 CDT 2003 / Russell Kroll <rkroll@exploits.org>
3301  - upsd: clarify new protocol: BEGIN, not START
3303  - upsd: extend the END LIST to include the list parameters
3305 Mon Apr 28 17:13:31 CDT 2003 / Russell Kroll <rkroll@exploits.org>
3307  - upsd: fix the formatting of "GET TYPE", and explicitly add RW
3309 Mon Apr 28 16:54:42 CDT 2003 / Russell Kroll <rkroll@exploits.org>
3311  - belkin: don't allow OFF to co-exist with OB or OL.
3313 Mon Apr 28 16:45:30 CDT 2003 / Russell Kroll <rkroll@exploits.org>
3315  - dstate: bugfix: send STRING when doing the initial SETFLAGS notification
3317  - dummycons: support multiple args for sf/setflag, so "sf blah RW STRING"
3318    now works.
3320 Mon Apr 28 16:40:13 CDT 2003 / Russell Kroll <rkroll@exploits.org>
3322  - dummycons: show flags and auxdata in the variable listing
3324  - dummycons: support 'sa' to set auxdata
3326 Mon Apr 28 15:45:06 CDT 2003 / Russell Kroll <rkroll@exploits.org>
3328  - newapc: applied patch from Don Lewis which makes the driver send
3329    all 5 bytes when using sdtype 1.
3331 Mon Apr 28 01:08:53 CDT 2003 / Russell Kroll <rkroll@exploits.org>
3333  - dummycons: use new set/instcmd callbacks for consistency
3335 Mon Apr 28 00:48:47 CDT 2003 / Russell Kroll <rkroll@exploits.org>
3337  - apcsmart, hp, upscommon: dumped old 'installinfo' evil hack
3339 Mon Apr 28 00:43:11 CDT 2003 / Russell Kroll <rkroll@exploits.org>
3341  - apcsmart: reworked to use new SET technique
3343  - dstate: added new callbacks for SET with new names
3345 Mon Apr 28 00:27:09 CDT 2003 / Russell Kroll <rkroll@exploits.org>
3347  - upsd: check for world-readable permissions on upsd.conf, upsd.users
3348    and the CERTFILE to warn the admin about potential security problems
3350 Sat Apr 26 23:14:03 CDT 2003 / Russell Kroll <rkroll@exploits.org>
3352  - fentonups, belkin, apcsmart: use new instcmd callbacks
3354  - dstate, upscommon: added new callbacks for INSTCMD with new names
3356 Sat Apr 26 22:59:38 CDT 2003 / Russell Kroll <rkroll@exploits.org>
3358  - newapc: started converting trivial things to dstate functions
3360 Sat Apr 26 22:41:01 CDT 2003 / Russell Kroll <rkroll@exploits.org>
3362  - apcsmart: converted to dstate functions
3364 Fri Apr 25 17:00:42 CDT 2003 / Russell Kroll <rkroll@exploits.org>
3366  - upsd: fixed a leak in the user-level instant command lists
3368  - upsd: add "LIST UPS" to get the list of UPSes and their descriptions
3370  - upsd: add support for "desc = ..." in ups.conf
3372  - upsd: don't try to do the initial synchronization on a UPS that 
3373    isn't connected - this caused a segfault due to the use of fd -1
3375 Fri Apr 25 16:36:06 CDT 2003 / Russell Kroll <rkroll@exploits.org>
3377  - dummycons: added 'lc' to show the current list of commands.
3379 Fri Apr 25 16:28:50 CDT 2003 / Russell Kroll <rkroll@exploits.org>
3381  - genericups: converted to dstate functions
3383 Fri Apr 25 16:26:48 CDT 2003 / Russell Kroll <rkroll@exploits.org>
3385  - upsstats: added another optimization to recycle existing connections
3386    to upsd when possible.  This is only effective if the entries in the
3387    hosts.conf refer to the same upsd - the hostname and port must match. 
3389 1.3.3:
3391 Fri Apr 25 15:25:16 CDT 2003 / Russell Kroll <rkroll@exploits.org>
3393  - upsimage, upsstats: applied patch from Andrew R. Ghali adding support
3394    for monitoring BATTVOLT.
3396 Wed Apr 23 15:23:17 CDT 2003 / Russell Kroll <rkroll@exploits.org>
3398  - cyberpower: finally added the long-awaited shutdown code after
3399    puzzling through various other attempts to decode the protocol.  This
3400    one does the familiar "check status and send the right command"
3401    technique, and works on my 700AVR.  Your mileage may vary.
3403 Wed Apr 23 08:04:22 CDT 2003 / Russell Kroll <rkroll@exploits.org>
3405  - belkin, cyberpower, hidups: converted
3407 Wed Apr 23 07:40:29 CDT 2003 / Russell Kroll <rkroll@exploits.org>
3409  - dummycons: converted to dstate functions.  All commands now take the
3410    new variable names.  The add command is gone, since setting a value
3411    does that for you now.  The "L" (list all) command is also gone, since
3412    any variable name can exist now.
3414 Tue Apr 22 19:25:03 CDT 2003 / Russell Kroll <rkroll@exploits.org>
3416  - bestups: now uses dstate functions directly
3418 Tue Apr 22 19:23:33 CDT 2003 / Russell Kroll <rkroll@exploits.org>
3420  - upsd: new network commands: GET and LIST - these only use the new
3421    variable names, and will eventually replace REQ, LISTVARS, and more.
3423 Tue Apr 22 16:20:36 CDT 2003 / Russell Kroll <rkroll@exploits.org>
3425  - upsd: started adding support for reading the new variable names natively
3427 Tue Apr 22 15:43:09 CDT 2003 / Russell Kroll <rkroll@exploits.org>
3429  - upsd: the "DROP" access level has been removed since it could
3430    seriously confuse clients.  Unrequested UDP datagrams are still
3431    dropped silently, but "DROP" on a TCP connection will now return
3432    an access denied message.
3434  - upsd: split a bunch of functions, structs, and #defines into their
3435    own files for better organization.
3437 Tue Apr 22 13:44:54 CDT 2003 / Russell Kroll <rkroll@exploits.org>
3439  - fentonups: converted to using dstate functions directly
3441 Tue Apr 22 13:29:34 CDT 2003 / Russell Kroll <rkroll@exploits.org>
3443  - upsmon: fixed a bug where NOTIFYFLAG settings might not get
3444    assigned properly in all cases.
3446 Tue Apr 22 12:55:32 CDT 2003 / Russell Kroll <rkroll@exploits.org>
3448  - upsmon: explicitly free all dynamic memory at exit for analysis
3449    in tools like valgrind
3451 Tue Apr 22 12:52:21 CDT 2003 / Russell Kroll <rkroll@exploits.org>
3453  - upsmon: cleaned up SIGTERM/SIGINT/SIGQUIT handler
3455 Tue Apr 22 12:48:30 CDT 2003 / Russell Kroll <rkroll@exploits.org>
3457  - upslog: cleaned up SIGHUP/reopen handler
3459 Tue Apr 22 12:45:31 CDT 2003 / Russell Kroll <rkroll@exploits.org>
3461  - upsd: relocated the exit/cleanup code and reworked the signal handler.
3462    Previously it was doing the shutdown in the signal handler and that
3463    could have been very messy if the signal was sent twice.
3465 Tue Apr 22 12:41:41 CDT 2003 / Russell Kroll <rkroll@exploits.org>
3467  - upsd: strlcpy is no longer needed
3469 Tue Apr 22 12:39:23 CDT 2003 / Russell Kroll <rkroll@exploits.org>
3471  - upsd: cleaned up some unnecessary snprintf calls in the netcmd handlers
3473 Tue Apr 22 12:16:18 CDT 2003 / Russell Kroll <rkroll@exploits.org>
3475  - dstate: added some more details when the socket creation fails
3477 Tue Apr 22 11:02:15 CDT 2003 / Russell Kroll <rkroll@exploits.org>
3479  - upsd: added a short synchronization delay at startup to give it a 
3480    chance to pull in the full set of data from the drivers.  This
3481    keeps upsmon from complaining that no data is available when it starts
3482    too quickly.
3484    upsd will give up after 5 seconds, and it only waits for drivers
3485    that are actually running and connected.
3487 Tue Apr 22 09:56:27 CDT 2003 / Russell Kroll <rkroll@exploits.org>
3489  - others: support -V too
3491 Tue Apr 22 09:52:59 CDT 2003 / Russell Kroll <rkroll@exploits.org>
3493  - main: actually support -V to show the version
3495 1.3.2:
3497 Tue Apr 22 09:29:55 CDT 2003 / Russell Kroll <rkroll@exploits.org>
3499  - mge-ellipse: applied patch from Philippe Marzouk which makes things
3500    work again with the new state sockets by not getting stuck in the
3501    update functions.  It also removes dynamic memory in favor of simpler
3502    buffers and fixes the MFR value. [mge-ellipse_nut-1.3.1.patch]
3504 Tue Apr 22 09:28:46 CDT 2003 / Russell Kroll <rkroll@exploits.org>
3506  - osd-notify: added examples for using osd to show UPS status from
3507    Arnaud Quette. [patch-1.3.1-osd-notify]
3509 Tue Apr 22 09:06:40 CDT 2003 / Russell Kroll <rkroll@exploits.org>
3511  - upsd: converted the upsd.users "allowed instcmd" handling to be
3512    text-based.  It still works as before, including support for "all".
3514 Tue Apr 22 08:58:38 CDT 2003 / Russell Kroll <rkroll@exploits.org>
3516  - var-map-init: more variables have been mapped to their initial new
3517    names.  Some variable names could still shift around as the entire set
3518    is converted.
3520 Sat Apr 19 05:54:55 CDT 2003 / Russell Kroll <rkroll@exploits.org>
3522  - upsd, upscommon, state: added initial mappings for INFO_ and CMD_
3523    #defines to their new long-style names.  The ones that haven't been
3524    mapped yet will still use the %04X numeric hack.
3526 Sat Apr 19 01:58:07 CDT 2003 / Russell Kroll <rkroll@exploits.org>
3528  - upsd, others: "exiting" is now used in the syslog instead of
3529    "shutting down", since that has a special meaning for UPS software
3531 Fri Apr 18 10:01:46 CDT 2003 / Russell Kroll <rkroll@exploits.org>
3533  - dstate, sstate: switched to nonblocking I/O on the sockets
3535 Fri Apr 18 09:29:44 CDT 2003 / Russell Kroll <rkroll@exploits.org>
3537  - snmp-ups, mge-shut, etc: applied patch from Arnaud Quette making
3538    these compile again in the new dstate environment.  [patch-1.3.1-AQ]
3540 1.3.1:
3542 Thu Apr 17 08:07:42 CDT 2003 / Russell Kroll <rkroll@exploits.org>
3544  - dstate, sstate: final #include ordering tweaks for portability
3546 Thu Apr 17 08:02:14 CDT 2003 / Russell Kroll <rkroll@exploits.org>
3548  - mge-shut/hidparser: applied patch from Arnaud Quette adding this
3549    driver to the tree.  This will eventually replace the mge-ellipse
3550    driver.  [patch-1.3.0-mge-shut]
3552 Thu Apr 17 05:11:36 CDT 2003 / Russell Kroll <rkroll@exploits.org>
3554  - upscommon: reworked signal handling, and set an ignore on SIGHUP
3556 Thu Apr 17 02:47:09 CDT 2003 / Russell Kroll <rkroll@exploits.org>
3558  - upscommon: atexit code redesigned, and connected to dstate to make
3559    sure all storage in there is freed when the driver shuts down
3561 Thu Apr 17 01:03:41 CDT 2003 / Russell Kroll <rkroll@exploits.org>
3563  - upsd, dstate: reconnected SET and INSTCMD through the new socket code
3565 Wed Apr 16 23:22:17 CDT 2003 / Russell Kroll <rkroll@exploits.org>
3567  - drivers: upsdrv_infomax() is gone.  The list is now totally dynamic.
3569 Wed Apr 16 23:11:58 CDT 2003 / Russell Kroll <rkroll@exploits.org>
3571  - sstate: delinfo, delenum now supported from the driver.  This makes
3572    all elements fully removable now - this is no longer a roach motel.
3574 Wed Apr 16 23:00:13 CDT 2003 / Russell Kroll <rkroll@exploits.org>
3576  - sstate: added support for delcmd from the driver
3578 Wed Apr 16 09:17:22 CDT 2003 / Russell Kroll <rkroll@exploits.org>
3580  - statedebug: removed - it is now obsolete
3582 Wed Apr 16 09:12:39 CDT 2003 / Russell Kroll <rkroll@exploits.org>
3584  - configure, upscommon, upsd: all shm/mmap remnants have been removed
3586 Wed Apr 16 09:01:43 CDT 2003 / Russell Kroll <rkroll@exploits.org>
3588  - drivers: removed all calls to writeinfo(), since using any of the
3589    existing functions to add/set/whatever now results in an immediate
3590    update of any listeners (upsd)
3592 Wed Apr 16 08:55:45 CDT 2003 / Russell Kroll <rkroll@exploits.org>
3594  - upscommon, main: chopped out all state file functions and the old
3595    socket code.
3597  - upsd: the old struct-based socket code has also been removed.  
3598    SET and INSTCMD will be rewritten to work over the new text-based 
3599    socket.
3601 Wed Apr 16 06:28:35 CDT 2003 / Russell Kroll <rkroll@exploits.org>
3603  - upsd: finished switching all state file functions over to the new
3604    backend.  All state file code has been removed from upsd.
3606 Wed Apr 16 02:32:02 CDT 2003 / Russell Kroll <rkroll@exploits.org>
3608  - upsd: the handlers for ANS and ENUM now use the new backend
3610  - upsd: started merging server-side state (sstate.c) access functions
3611    that use the new sockets.  
3613 Tue Apr 15 05:54:44 CDT 2003 / Russell Kroll <rkroll@exploits.org>
3615  - dummycons: also added ac/addcmd and dc/delcmd for instcmd code tests
3617  - dummycons: added ae/addenum and de/delenum for testing enum code
3619 Tue Apr 15 05:28:54 CDT 2003 / Russell Kroll <rkroll@exploits.org>
3621  - dummycons: wired up 'd' so DELINFO can be tested.  This doesn't
3622    do anything on the state file side of things, since there is no
3623    way to delete those entries.
3625  - dstate: info entries can now be deleted - this was never possible before
3627 Tue Apr 15 04:58:49 CDT 2003 / Russell Kroll <rkroll@exploits.org>
3629  - dstate: added DUMPALL sock command to retrieve all driver data
3631 Tue Apr 15 04:32:52 CDT 2003 / Russell Kroll <rkroll@exploits.org>
3633  - sockdebug: added a tool like statedebug for talking to the new sockets
3634    used by the drivers.  It also listens to stdin, so anything you type
3635    will be sent to the driver.
3637 Mon Apr 14 03:40:25 CDT 2003 / Russell Kroll <rkroll@exploits.org>
3639  - drivers: cleaned up uses of getdata() since it now is const char *
3641 Mon Apr 14 03:03:46 CDT 2003 / Russell Kroll <rkroll@exploits.org>
3643  - upscommon: added dstate support for instant commands
3645 Mon Apr 14 02:36:22 CDT 2003 / Russell Kroll <rkroll@exploits.org>
3647  - upscommon: getdata() now pulls from the dstate storage
3649  - upscommon: addinfo, setinfo, addenum, and setflags are now connected
3650    to the new dstate storage
3652 Mon Apr 14 01:01:08 CDT 2003 / Russell Kroll <rkroll@exploits.org>
3654  - upscommon, main: started merging the new driver-server state update
3655    code that will use a local socket instead of a state file.
3657    The current state file scheme keeps data in at many places.  The driver
3658    has one, the state file has another, and upsd has two in mmap mode -
3659    one that's "shared_info", and one that's "info".  upsd can't just
3660    refer to "shared_info" directly most of the time, since it can change
3661    at any time, and we'd have consistency problems.
3663    This means upsd has to lock the file, copy from it into local storage,
3664    then unlock it again.  This happens every couple of seconds.  Similar 
3665    things happened with shared memory mode - we had all kinds of copies 
3666    of the data running around.  It's messy.
3668    The new scheme is text-based over a local socket with updates pushed
3669    from the drivers to any listeners (upsd will be one) as they happen.
3670    There is no polling - upsd gets the update as soon as possible.   
3672 Sun Apr 13 20:14:29 CDT 2003 / Russell Kroll <rkroll@exploits.org>
3674  - upscommon, main: removed shared memory support here, too
3676 Sun Apr 13 20:06:22 CDT 2003 / Russell Kroll <rkroll@exploits.org>
3678  - upsd, statedebug: chopped out shared memory support in preparation
3679    for bigger changes in the driver-server layer
3681 Sun Apr 13 03:52:48 CDT 2003 / Russell Kroll <rkroll@exploits.org>
3683  - upsd: rolled action checks into a single function to eliminate even
3684    more duplicated code in the individual do_* handlers
3686 Sun Apr 13 03:42:28 CDT 2003 / Russell Kroll <rkroll@exploits.org>
3688  - upsd: more access-related cleanups throughout
3690 Sun Apr 13 03:30:54 CDT 2003 / Russell Kroll <rkroll@exploits.org>
3692  - upsd: moved checks for TCP connections and access levels into
3693    their own functions
3695  - upsd: added flags and minimum levels to netcmds.h
3697  - upsd: dropped host-based auth for LOGIN/MASTER - upsmon must now use
3698    a user name when connecting
3700  - upsmon: dropped old host-based auth - MONITOR must now have a user name.
3701    If you're still using the old method, you have to convert it now.
3702    Scroll down until you see "upsmonusername".
3704 Sun Apr 13 02:29:59 CDT 2003 / Russell Kroll <rkroll@exploits.org>
3706  - upsstats: reworked the IMG SRC calls to avoid the trailing &amp; when
3707    no extra image arguments are present
3709 Sun Apr 13 02:19:08 CDT 2003 / Russell Kroll <rkroll@exploits.org>
3711  - upslog.8: updated
3713 Sun Apr 13 02:12:58 CDT 2003 / Russell Kroll <rkroll@exploits.org>
3715  - upslog: -u is now supported so you can drop root powers after startup.
3716    If you rotate logs, be sure that the new file is writable by upslog's
3717    unprivileged user.
3719  - upslog: added getopt(), and split all of the former position-based
3720    arguments into normal getopt options.  The old mode still works for
3721    compatibility but will not be publicized.  Eventually it may go away.
3723 Sun Apr 13 01:42:38 CDT 2003 / Russell Kroll <rkroll@exploits.org>
3725  - upsd.8, upsdrvctl.8, nutupsdrv.8: resync with reality
3727 1.3.0:
3729 Sun Apr 13 00:39:15 CDT 2003 / Russell Kroll <rkroll@exploits.org>
3731  - upsdrvctl: the 'status' command has been disabled to see who complains.
3732    It's not actually very useful, since it relies on pid files that can
3733    be stale.  If you want to know if the driver is alive, use a client
3734    and see if it's providing usable data.
3736 Sun Apr 13 00:35:39 CDT 2003 / Russell Kroll <rkroll@exploits.org>
3738  - upsdrvctl: added support to pass through -r and -u to the drivers
3740 Sat Apr 12 23:30:52 CDT 2003 / Russell Kroll <rkroll@exploits.org>
3742  - main: also added support for -u <user> to become a specific user
3743    when dropping root powers.
3745  - main: added support for chroot with -r <dir> just like upsd
3747 Sat Apr 12 18:57:37 CDT 2003 / Russell Kroll <rkroll@exploits.org>
3749  - upsd: added chroot support as -r <dir>
3751  - upsd: dropped the old -t <port> definition, since -p does it for both.
3753  - common: added new functions to get and use struct passwd for becoming
3754    a user since they might not work after chroot.  glibc in particular
3755    wants a bunch of stuff in /lib that won't be there.
3757 Tue Apr  8 16:56:37 CDT 2003 / Russell Kroll <rkroll@exploits.org>
3759  - upsd: added a bunch of frees to the shutdown procedures to allow
3760    clean runs through valgrind
3762 Mon Apr  7 14:32:44 CDT 2003 / Russell Kroll <rkroll@exploits.org>
3764  - mge-ellipse, masterguard: switched to status_set calls
3766  - bestferrups801-807: dumped mind-blowing nested strcats and switched
3767    to status_set calls
3769 Mon Apr  7 13:50:48 CDT 2003 / Russell Kroll <rkroll@exploits.org>
3771  - upsclient: detect a closed fd early in the SSL init in case upsd
3772    rejects the connection and hangs up on us
3774 Mon Apr  7 13:24:37 CDT 2003 / Russell Kroll <rkroll@exploits.org>
3776  - dummycons: dropped old parsenet (really an ancient parseconf) and
3777    switched to the new parseconf functions
3779  - dummycons: cleaned up the parsing code and other things in general
3781 Mon Apr  7 13:13:08 CDT 2003 / Russell Kroll <rkroll@exploits.org>
3783  - parseconf: removed old entry point - all callers have been converted
3785 Mon Apr  7 13:09:48 CDT 2003 / Russell Kroll <rkroll@exploits.org>
3787  - upsmon, upssched, upsset, upsstats: converted to new parseconf
3789 Mon Apr  7 12:34:44 CDT 2003 / Russell Kroll <rkroll@exploits.org>
3791  - upsd: switched to new parseconf functions
3793  - upsconf: same
3795 Mon Apr  7 11:51:46 CDT 2003 / Russell Kroll <rkroll@exploits.org>
3797  - cgilib: cleaned up crusty checkhost() with new parseconf interface
3799 Mon Apr  7 11:42:50 CDT 2003 / Russell Kroll <rkroll@exploits.org>
3801  - main: cleaned up the help/usage text and dropped references to the
3802    "old method" to avoid confusing new users
3804 Mon Apr  7 11:38:35 CDT 2003 / Russell Kroll <rkroll@exploits.org>
3806  - parseconf: upgraded to version 4.  This one dumps the callback scheme
3807    and switches to a context buffer.  This will let us have multiple
3808    instances active simultaneously without getting "stuck behind" the
3809    parseconf functions.
3811    This version also features multiple entry points.  It can parse a
3812    file as before, but it can also read a line at a time or even a 
3813    character at a tie.
3815 Mon Apr  7 11:17:58 CDT 2003 / Russell Kroll <rkroll@exploits.org>
3817  - drivers: dummyups is gone, and dummycons is now built by default.
3819 Mon Apr  7 11:04:34 CDT 2003 / Russell Kroll <rkroll@exploits.org>
3821  - etapro, bestuferrups, powercom, sec: drop strcat, move to status_set
3823 Mon Apr  7 11:00:25 CDT 2003 / Russell Kroll <rkroll@exploits.org>
3825  - apcsmart, belkin, sec, upscommon: drop strcpy()
3827 Mon Apr  7 10:54:37 CDT 2003 / Russell Kroll <rkroll@exploits.org>
3829  - apcsmart: actually use the sdtype setting in the shutdown code
3831 Mon Apr  7 10:52:11 CDT 2003 / Russell Kroll <rkroll@exploits.org>
3833  - upslog: drop strcpy()
3835 Mon Apr  7 10:50:53 CDT 2003 / Russell Kroll <rkroll@exploits.org>
3837  - upsd: set SO_REUSEADDR on the listen socket so we can restart it
3838    without getting stuck   
3840 Mon Apr  7 10:43:13 CDT 2003 / Russell Kroll <rkroll@exploits.org>
3842  * Forked from 1.2.2-pre4 to create the new 1.3 development tree
3844 1.2.2-pre4:
3846 Mon Apr  7 09:57:12 CDT 2003 / Russell Kroll <rkroll@exploits.org>
3848  - snmp-ups: here's the verbose changelog from the last merge, which
3849    I forgot to add at the time:
3851     - remove unnecessary malloc calls and fix a memory leak
3852       (oss-list-ups)
3853     - enhanced code for handling lost / restored communication
3854     - updated the man page
3855     - replaced nut/doc/drivers/snmp-ups.txt by nut/doc/snmp.txt, and
3856       modified the content to be more SNMP general
3857     - added alpha support for MGE UPS SYSTEMS MIB
3858     - added INFO_LOADPCT (RW) to ietfmib
3859     - added support for set, instcmd and partial shutdown
3860     - handle unsupported vars at init time (no more requested if not
3861       present)
3863 Mon Apr  7 09:12:07 CDT 2003 / Russell Kroll <rkroll@exploits.org>
3865  - upsmon: relocated calls to drop_connection to fix a bug where the
3866    COMMBAD notifier wouldn't always work.  Reported by Steve Monett.
3868 1.2.2-pre3:
3870 Thu Mar 27 19:02:32 CST 2003 / Russell Kroll <rkroll@exploits.org>
3872  - liebert: added debouncing logic for the status lines.  This hardware
3873    occasionally wobbles, and we were getting false low battery warnings.
3874    The current approach forces 3 constant reads in a row before the new
3875    status gets exported to upsd.
3877  - liebert: applied patch from Alex Cichowski to add O_NONBLOCK to get
3878    this driver to work consistently on OpenBSD.
3880 Thu Mar 27 17:18:58 CST 2003 / Russell Kroll <rkroll@exploits.org>
3882  - snmp-ups: added some limiters to the error routines to keep the
3883    syslog from being polluted too badly when a UPS disappears.
3884    You still get notices, but the rate is limited.
3886 Mon Mar 17 09:14:22 CST 2003 / Russell Kroll <rkroll@exploits.org>
3888  - snmp-ups: Applied patch from Arnaud Quette to update to 0.2
3890 Mon Mar 17 09:05:46 CST 2003 / Russell Kroll <rkroll@exploits.org>
3892  - powernet: applied patch from Dmitry Frolov:
3894    fixed bug in setting numeric variables, more info elements
3895    available, manpage update, cleaner logging and error handling,
3896    debugging code removed. Driver may be considered stable.
3898 Tue Mar 11 01:58:13 CST 2003 / Russell Kroll <rkroll@exploits.org>
3900  - hidups: applied patch from Jonathan A. Davis to add MFR support on
3901    APC Back-UPS ES models.
3903 1.2.2-pre2:
3905 Thu Feb 27 13:44:16 CST 2003 / Russell Kroll <rkroll@exploits.org>
3907  - packaging/scripts: applied updates from Antonino Albanese for
3908    Red Hat systems.
3910 Thu Feb 27 13:39:39 CST 2003 / Russell Kroll <rkroll@exploits.org>
3912  - sms: new version 0.70 from Marcio Gomes.
3914 Thu Feb 27 13:28:49 CST 2003 / Russell Kroll <rkroll@exploits.org>
3916  - upsclient: fix 'skiplen' so queries on the default UPS don't have
3917    an extra leading space in the response.
3919 Thu Feb 27 13:27:04 CST 2003 / Russell Kroll <rkroll@exploits.org>
3921  - upsd: reworked calls to sendback() - it can delete the current
3922    client structure if write fails, and some parts of the code were
3923    referencing it later, causing segfaults.  Reported by Patrik Schindler.
3925 1.2.2-pre1:
3927 Tue Jan 28 21:32:57 CST 2003 / Russell Kroll <rkroll@exploits.org>
3929  - FAQ: updated to reflect a group-writable /var/state/ups to keep
3930    upsd happy - it has to write a pid file there.  Reported by
3931    Sid Keller.
3933 Mon Jan 27 18:47:40 CST 2003 / Russell Kroll <rkroll@exploits.org>
3935  - Applied portability fixes for builds on SGI:
3937    - bestfortress: remap inline to __inline
3938    - upscommon, upsd: cast MAP_FAILED to (itype *)
3940    Reported by Andrea Suatoni.
3942 Mon Jan 27 18:34:31 CST 2003 / Russell Kroll <rkroll@exploits.org>
3944  - upsset: applied patch from Dmitry Frolov to fix ENUM/VARTYPE readings
3945    for multiple UPSes on a given host.  [nut-1.2.1-upsset.diff]
3947 Mon Jan 27 18:05:25 CST 2003 / Russell Kroll <rkroll@exploits.org>
3949  - hidups: applied patch from David Brownell to add support for physical
3950    port ids.  This keeps things from bouncing around - the hiddevN names
3951    can change too easily.
3953    From the patch notes:
3955         USB physical port IDs are managed like USB:  dynamically.
3956         There are so many of the physical IDs that it's just
3957         impractical to pre-allocate filesystem nodes for all of them.
3958         Instead, the filesystem nodes expose their associated physical
3959         IDs using an ioctl.  In 2.4.20 and 2.5 kernels you already see
3960         these "usb-..." IDs in messages like this:
3962                 hiddev0: USB HID v1.00 Device [MGE UPS ... ] on usb-00:02.3-5
3964         You need a version of the kernel hiddev driver that exposes
3965         those IDs.  Current 2.5 kernels (such as 2.5.51) include this,
3966         and recent 2.4 kernels could easily be patched to match that
3967         code.
3969         EXAMPLE:
3971         So long as you plug the green cable into root hub port 1 and
3972         the blue one into port 5 (label them!), it won't matter what
3973         other devices exist, or what order anything was plugged in or
3974         powered up, these "ups.conf" entries will still refer to the
3975         (same) UPS at the other end of those cables:
3977         [blue]
3978                 driver = hidups
3979                 path = usb-00:02.3-5
3981         # don't power these down until there's no other option!
3982      
3983         [green]
3984                 driver = hidups
3985                 path = usb-00:02.3-1
3987         Previously you had to use names like /dev/usb/hid/hiddev0,
3988         which could correspond to either UPS (or even a non-UPS
3989         device!) depending on the history of USB plugging/unplugging on
3990         that system.  You can still use those names, but now you have a
3991         usably stable naming option.   
3993 Mon Jan 27 18:00:42 CST 2003 / Russell Kroll <rkroll@exploits.org>
3995  - sms.8, sms.txt: updated versions from Marcio Gomes.
3997 Mon Jan 27 17:55:26 CST 2003 / Russell Kroll <rkroll@exploits.org>
3999  - bestups: added id 'AX1' for Best Power Axxium Rackmount models.
4000    Reported by Ales Casar.
4002 Mon Jan 27 17:38:15 CST 2003 / Russell Kroll <rkroll@exploits.org>
4004  - upssched: reworked background startup code to add locking.  Previously
4005    it was possible to have two upsscheds starting at the same time, and
4006    both would create background daemons.  Unfortunately, the first one 
4007    would get "lost" and any timers on it could not be cancelled.
4009    This would only happen when two events happened at nearly the same 
4010    time in upsmon.  It's a rare event, but is still possible.   
4012    upssched now uses the LOCKFN directive to define a file that must be
4013    opened with O_EXCL set before it will start a background timer.  You
4014    must add this directive to your upssched.conf or it will not work.
4016    Reported by Gaspar Bakos.
4018 Fri Jan 10 20:05:56 CST 2003 / Russell Kroll <rkroll@exploits.org>
4020  - upsclient: added sanity checking in the REQ/ANS handling code so
4021    a short response won't return garbage to the client.
4023 Fri Jan 10 19:42:57 CST 2003 / Russell Kroll <rkroll@exploits.org>
4025  - upsd: changed the access checks on the numlogins handler to only
4026    require MONITOR access.  Previously, it was looking for "LOGIN"
4027    access which does not exist when you use upsd.users for your upsmon.
4028    This triggered the upsmon bug fixed below.
4030  - upsmon: added an alarm around the 'numlogins' read in slavesync().
4031    It's possible for upsd to ignore us, and that would make upsmon
4032    get stuck here.  The shutdown never runs locally, and bad things
4033    happen.  Reported by John David Garza.
4035  - upsmon: moved alarm setting/clearing into their own functions
4037  - upsmon: moved SIGALRM setup into the setup_signals() function
4039 1.2.1:
4041 Sat Dec  7 19:09:44 CST 2002 / Russell Kroll <rkroll@exploits.org>
4043  - sms.8: new skeleton man page
4045 Sat Dec  7 18:44:21 CST 2002 / Russell Kroll <rkroll@exploits.org>
4047  - sms: added updated version from Marcio Gomes.  This driver had been
4048    in the tree previously with the same name before 0.50.0.
4050 1.2.1-pre2:
4052 Mon Dec  2 06:11:22 CST 2002 / Russell Kroll <rkroll@exploits.org>
4054  - configure.in: added support for autodetection of gd include/linker
4055    flags, assuming 2.0.8 or higher is present.  Older versions of the
4056    gdlib-config script will be detected and avoided since they didn't
4057    provide good flag information.
4059 Mon Dec  2 04:59:43 CST 2002 / Russell Kroll <rkroll@exploits.org>
4061  - genericups: applied patch from Tomek Orzechowski and 
4062    Arkadiusz Mikiewicz to support Fideltronik Ares Series as type 19.
4064 1.2.1-pre1:
4066 Thu Nov 21 13:45:59 CST 2002 / Russell Kroll <rkroll@exploits.org>
4068  * various: minor doc tweaks
4070 Sun Nov 17 17:01:10 CST 2002 / Russell Kroll <rkroll@exploits.org>
4072  - upscommon: applied patch from linux@horizon.com to properly handle
4073    messages from upsd that are split up.  This is hard to reproduce, but
4074    explains why some functions (variable setting, instant commands)
4075    might have failed silently before.
4077 Sun Nov 17 10:18:29 CST 2002 / Russell Kroll <rkroll@exploits.org>
4079  - scripts/*: cleaned out dead wood.  Anything that referred to the
4080    old methods of invoking upsmon or the drivers has been removed to
4081    avoid confusion.
4083 Sun Nov 17 10:11:14 CST 2002 / Russell Kroll <rkroll@exploits.org>
4085  - liebert: this driver is back with a new name.  It used to be called
4086    multilink back in the 0.45 days.  This one is tagged experimental
4087    for now, as shutdown support is not yet configured.
4089 Sun Nov 17 09:55:49 CST 2002 / Russell Kroll <rkroll@exploits.org>
4091  - configure: reworked gd support, adding two new switches: 
4092    --with-gd-libs and --with-gd-includes.  The old attempts at trying to
4093    detect gd's dependencies have been dropped.
4095    If you build the CGI programs, this probably affects you.  The default
4096    settings probably won't work unless you happen to have exactly the
4097    same set of libraries that I did.
4099    So, look in your gd Makefile for "LIBS=", then use it here.
4101         ./configure --with-gd-libs="<whatever>" --with-cgi
4103    Note: even though gd 2.0.5 added a helper script called gdlib-config,
4104    it's useless since it doesn't give you all of the -l flags.  gd 2.0.6
4105    and 2.0.7 are also broken in this regard.  I've sent a patch upstream
4106    to address this.  Once it goes in, this configure process will try to
4107    use it to get reasonable defaults.   
4109 Sun Nov 17 09:52:53 CST 2002 / Russell Kroll <rkroll@exploits.org>
4111  - main: fixed a bug where locking wasn't being disabled soon enough,
4112    which was breaking shutdown attempts with genericups on FreeBSD.
4113    Reported by Petri Riihikallio.
4115  - genericups: dropped the redundant shutdown message
4117 1.2.0:
4119 Tue Nov  5 21:02:00 CST 2002 / Russell Kroll <rkroll@exploits.org>
4121  - scripts/RedHat-6.0: cleaned up dead zero-byte files
4123  - mge-ellipse: applied patch from Philippe Marzouk to fix a possible
4124    memory leak and correct model name reporting.  
4125    [mge-ellipse-modelname.patch]
4127 *** File trimmed here 29 July 2003 ***
4129 For entries before this point, start with version 1.2.0 and work back.