0.50.1-pre2:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

 - upsd: report on invalid config directives too

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

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

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

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

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

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

 - man: drop obsolete newvictron page

0.50.1-pre1:

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

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

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

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

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

 - mge-ellipse: new version from Philippe Marzouk:

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

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

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

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

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

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

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

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

0.50.0:

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

 * Version number update and documentation polishing for final release.

0.50.0-pre6:

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

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

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

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

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

 - powerware: removed non-portable TCSBRK ioctl.

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

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

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

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

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

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

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

 - belkin, sec, powercom: same

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

 - upsmon: same

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

 - upslog: same

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

 - upscommon: renamed sigmask

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

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

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

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

   For your /etc/services:

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

0.50.0-pre5:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

0.50.0-pre4:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

0.50.0-pre3:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

0.50.0-pre2:

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

 - fentonups: same idea

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

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

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

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

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

 - upsd: condensed two strlcat calls into snprintfcat

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

 - hidups: new status functions

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

 - everups: switched to new status functions

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

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

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

 - dummyups: cleaned up a few variables

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

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

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

 - upslog: begin cleanup.  main is HUGE.

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

 - common/upscommon: switched to snprintfcat from strlcat

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

 - belkin: switched to new status code

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

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

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

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

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

 - upsct: same idea

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

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

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

 - upscommon: threw out the unnecessary notice() function

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

 - genericups: switched status functions

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

 - cyberpower: switched status functions

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

 - tripplite: switched status functions

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

 - apcsmart: switched status functions

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

 - fentonups: switched status functions

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

 - bestups: switched to new status_* functions

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

0.50.0-pre1:

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

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

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

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

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

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

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

 - sec.8: new man page

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

 - masterguard.8: new man page

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

 - tripplite.8: new man page

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

 - newvictron.8: renamed to victronups.8

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

 - everups.8: new man page

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

 - cyberpower.8: new man page

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

 - bestferrups801-807.8: new man page

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

 - hidups.8: new man page

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

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

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

 - mge-ellipse.8: new man page

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

 - genericups.8: new man page

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

 - dummyups.8: new man page

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

 - dummycons.8: new man page

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

 - upsimage: same idea, plus 'cmd' too

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

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

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

 - upsimage.cgi.8: new man page

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

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

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

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

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

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

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

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

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

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

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

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

 - main: ditto

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

 * models: dumped all old style drivers as promised

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

 * Forked from 0.45.5-pre4 to get 0.50.0 started

0.45.5-pre4:

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

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

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

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

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

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

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

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

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

 - upsset: check all results of upsreadraw and upssendraw

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

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

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

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

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

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

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

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

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

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

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

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

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

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

 - common: ripped out old_parseconf since nobody uses it now

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

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

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

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

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

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

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

 - upssched: other minor cleanups

 - upssched: switched to the new parseconf

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

 - upsset: switched to the new parseconf

0.45.5-pre3:

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

 - Applied patch from oss-list-ups:

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

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

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

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

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

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

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

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

 - upsmon: converted to use the new parseconf

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

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

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

 - genmb: added dependency for parseconf.o

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

 - upsconf: converted to new parseconf

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

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

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

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

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

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

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

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

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

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

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

 - multimon: moved some code around to clean up main

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

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

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

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

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

0.45.5-pre2:

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

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

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

 - upsd.users.5: revised for new format

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

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

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

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

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

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

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

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

0.45.5-pre1:

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

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

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

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

 - upsmon: move login code into a new function

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

 - upsmon: check return from upssendraw when setting MASTER mode

 - upscmd: check return values from upssendraw throughout

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

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

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

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

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

 - mge-ellipse: new version from Philippe Marzouk.

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

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

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

   Old way:			genericups -t 2 /dev/ttyS0		

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

   Better way with ups.conf:	genericups -a myups

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

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

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

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

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

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

   This also touches the models and man Makefiles.

0.45.4:

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

 - Final version number tweak for release

0.45.4-pre5:

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

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

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

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

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

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

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

0.45.4-pre4:

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

 - upsfetch: recognize ERR CMD-NOT-SUPPORTED

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

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

 - configure.in: test for seteuid

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

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

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

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

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

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

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

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

 - upsstats.cgi.8: new man page

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

 - upsset.cgi.8: new man page

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

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

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

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

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

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

0.45.4-pre3:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

0.45.4-pre2:

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

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

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

 - dummycons, dummyups: remove unnecessary genericups.h include

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

 - main: use info_ready()

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

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

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

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

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

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

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

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

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

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

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

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

 - applied patch from oss-list-ups:

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

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

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

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

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

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

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

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

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

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

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

0.45.4-pre1:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

 - upsmon: added reload on SIGHUP support.

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

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

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

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

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

0.45.3:

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

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

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

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

0.45.3-pre3:

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

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

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

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

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

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

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

 - upsd: also do staleness checks on LISTRW and LISTINSTCMD

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

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

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

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

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

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

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

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

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

 - upsmon: recognize the new upslogin success value

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

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

 - upsfetch: dump dead upsgetprivs() function

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

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

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

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

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

 - upsd: clean up new login kicker code

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

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

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

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

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

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

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

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

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

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

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

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

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

 - upsd.users.5: new man page

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

 - hosts.conf.5: new man page

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

 - upsmon.conf.5: new man page

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

 - upsd.conf.5: new man page

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

 - upsdrvctl.8: new man page

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

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

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

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

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

0.45.3-pre2:

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

 - cyberpower: applied patch from Rob Crittenden:

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

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

   The company provided an AVR700 for development.

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

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

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

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

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

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

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

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

Fri Nov  9 19:40:47 CST 2001 / Russell Kroll <rkroll@exploits.org>

 - main: applied patch to try forceshutdown before the chdir in 
   case the filesystem with the state path isn't mounted.  Reported 
   by Patrik Rak, via Luca Filipozzi.

Fri Oct 26 02:51:50 CDT 2001 / Russell Kroll <rkroll@exploits.org>

 - upsdrvctl: status and status <ups> now check the pid files of the
   drivers and return 0 on success.  This should be useful for
   distributors.  Suggested by Peter Bieringer.

 - upsdrvctl: -v will now add some verbose details to some operations.

Fri Oct 26 02:19:21 CDT 2001 / Russell Kroll <rkroll@exploits.org>

 - upsd: put back the leak avoidance code in the ups.conf handler

Thu Oct 25 12:20:38 CDT 2001 / Russell Kroll <rkroll@exploits.org>

 - configure/upsfetch/upsd: --with-udpport is now just --with-port.
   This code has been more than just UDP for long enough.

Thu Oct 25 12:03:44 CDT 2001 / Russell Kroll <rkroll@exploits.org>

 - Makefiles: the install target no longer dies if it fails to chown
   the statepath.  This means you can now build and package the tree 
   as a normal user.  The catch is that you still have to make sure 
   the state directory gets the proper permissions when it gets 
   installed for real.

Thu Oct 25 11:56:14 CDT 2001 / Russell Kroll <rkroll@exploits.org>

 - Makefiles: the cgi-bin directory is now only created when you do
   "make install-cgi" to avoid more pollution of the prefix.

Thu Oct 25 11:53:44 CDT 2001 / Russell Kroll <rkroll@exploits.org>

 - Makefiles: install-misc now creates the misc directory so you don't
   get "misc/" out in your prefix normally.

0.45.3-pre1:

Wed Oct 24 04:28:19 CDT 2001 / Russell Kroll <rkroll@exploits.org>

 - Makefile.in: my setver target now throws out the - in the nut.spec
   "%define version" line, so this is actually "0.45.3pre1" if you run RH.

Wed Oct 24 09:29:30 MEST 2001 / Peter Bieringer <pb@bieringer.de>

 - nut.spec.in: fix hardwired man path
 - models: old style 'powercom' ported to 'newpowercom'
    this port obsoletes now/next: 'powercom', 'ups-trust425+625'
 - scripts/RedHat/upsd now recognize new style drivers (tested on RHL 7.1.93)
 - Add some missing manpages to man/Makefile.in

Wed Oct 24 00:20:44 CDT 2001 / Russell Kroll <rkroll@exploits.org>

 - upsd: close() and shutdown() fds when stopping the server.

Wed Oct 24 00:16:43 CDT 2001 / Russell Kroll <rkroll@exploits.org>

 - upsd: the "stale at startup" message is now different, since the
   reload code can now trigger it.

Wed Oct 24 00:09:55 CDT 2001 / Russell Kroll <rkroll@exploits.org>

 - upsd: SIGHUP support.  When upsd receives this signal, it will reread
   ups.conf, upsd.conf, and upsd.users.  This is an atomic operation.
   Any UPS that disappears during the reload will start returning
   "ERR UNKNOWN-UPS" as you would expect.

   User logins aren't stateful, so any changes to upsd.conf will be
   reflected immediately.  If a user can't do a command and then you 
   grant them access, they will gain that ability as soon as it reloads.

0.45.2:

Tue Oct 23 23:12:27 CDT 2001 / Russell Kroll <rkroll@exploits.org>

 * Final documentation tweaks and cleanups for 0.45.2 release

Fri Oct 19 21:14:56 CDT 2001 / Russell Kroll <rkroll@exploits.org>

 - nut.spec.in: install the man pages.  Reported by Peter Bieringer.

Sat Oct 13 11:04:58 CDT 2001 / Russell Kroll <rkroll@exploits.org>

 - upscommon: applied patch from Peter Bieringer to clean up compiles
   with shared memory disabled.

0.45.2-pre3:

Wed Oct 10 13:32:36 CDT 2001 / Russell Kroll <rkroll@exploits.org>

 - various: cast to unsigned char when calling isprint/isspace for
   cleaner compiles on Solaris.

Tue Oct  9 14:23:36 CDT 2001 / Russell Kroll <rkroll@exploits.org>

 - Applied patch from Lars Balker Rasmussen for cleaner Solaris compiles:

   - setenv: include common.h 
   - drivers: define statefn once in common code for consistency
   - masterguard: fix a dangling default case
   - sec: exorcise some more ^Ms
   - upscommon: cast uids to ints for printf
   - upseyeux: fix an ambiguous else

Tue Oct  9 14:02:12 CDT 2001 / Russell Kroll <rkroll@exploits.org>

 - applied patch from Marcio Gomes:
 
   - sms: update the model table

   - docs/cables/sms.txt: document the cabling for these models

Tue Oct  9 14:00:08 CDT 2001 / Russell Kroll <rkroll@exploits.org>

 - upsd: reworked the ups.conf add routines so that partial entries don't
   cause memory leaks from jumping out of the loop before the free() calls.

Tue Oct  9 13:49:24 CDT 2001 / Russell Kroll <rkroll@exploits.org>

 - upsc, upsct: be literal about where to look when no variables are
   available - ups.conf and upsd.conf (for now).

Tue Oct  9 13:43:46 CDT 2001 / Russell Kroll <rkroll@exploits.org>

 - upscommon: threw out an extra ; that was making upssend return -1
   most of the time.  Reported by Lars Balker Rasmussen.

Tue Oct  9 13:42:13 CDT 2001 / Russell Kroll <rkroll@exploits.org>

 - apcsmart: fixed extra break that was skipping the ALRMDEL values.
   Reported by Lars Balker Rasmussen.

Sat Sep 29 14:08:41 CDT 2001 / Russell Kroll <rkroll@exploits.org>

 - upsimage: fixed a bug where the black utility bar was being drawn too
   high to represent the actual voltage.  Reported by Jim Sandoz.

Fri Sep 28 20:03:00 CDT 2001 / Russell Kroll <rkroll@exploits.org>

 - man/Makefile.in: actually make the man5 directory when installing.
   Reported by Norman Yarvin.

Thu Sep 20 10:18:49 CDT 2001 / Russell Kroll <rkroll@exploits.org>

 - bestups: turn off upsmon's timeout failure complaints.  These things
   are really bad about dropping characters.

0.45.2-pre2:

Thu Sep 20 09:15:30 CDT 2001 / Russell Kroll <rkroll@exploits.org>

 - upsset: ignore UPSVAR_* values longer than 256 characters to avoid
   memory-related DOS attacks

Thu Sep 20 09:12:03 CDT 2001 / Russell Kroll <rkroll@exploits.org>

 - upsmon: shutdown() fds on exit to clean things up faster.

Thu Sep 20 09:05:36 CDT 2001 / Russell Kroll <rkroll@exploits.org>

 - upsdrvctl: start <ups> now works, and just starts that one driver.

Thu Sep 20 08:54:33 CDT 2001 / Russell Kroll <rkroll@exploits.org>

 - bestups: switched to common open_serial and upsrecv functions.  This
   means that bestups finally has proper port locking and timeout detection
   on reads.

Thu Sep 20 08:27:19 CDT 2001 / Russell Kroll <rkroll@exploits.org>

 - fentonups: log more details about status polls that fail

Thu Sep 20 08:06:32 CDT 2001 / Russell Kroll <rkroll@exploits.org>

 - bestups: write to the syslog when the UPS disappears and reappears
   to assist the debugging of communications problems

Sun Sep  9 23:55:58 CDT 2001 / Russell Kroll <rkroll@exploits.org>

 - man: new pages: upsd, ups.conf

Sun Sep  9 18:43:02 CDT 2001 / Russell Kroll <rkroll@exploits.org>

 - man: new page: upslog

Sun Sep  9 18:18:32 CDT 2001 / Russell Kroll <rkroll@exploits.org>

 - man: new page: upscmd

Sun Sep  9 18:00:06 CDT 2001 / Russell Kroll <rkroll@exploits.org>

 - man: new pages: upsc, upsct, upsct2

Sun Sep  9 16:52:16 CDT 2001 / Russell Kroll <rkroll@exploits.org>

 - configure.in: applied patch from Adam J. Richter to fix a compatibility
   bug with autoconf 2.52.

Sun Sep  9 16:34:51 CDT 2001 / Russell Kroll <rkroll@exploits.org>

 - man: new page: belkin

Sun Sep  9 16:27:55 CDT 2001 / Russell Kroll <rkroll@exploits.org>

 - man: new page: bestups

Sun Sep  9 16:18:22 CDT 2001 / Russell Kroll <rkroll@exploits.org>

 - man: new page: fentonups

Sun Sep  9 16:10:34 CDT 2001 / Russell Kroll <rkroll@exploits.org>

 - man: updated apcsmart and nutupsdrv.

0.45.2-pre1:

Fri Aug 31 15:07:41 CDT 2001 / Russell Kroll <rkroll@exploits.org>

 - upsmon: moved the creation of the POWERDOWNFLAG into the privileged
   code section.  Previously it was possible to setup upsmon where it
   could not create the file since the unprivileged child process was
   doing it.  On affected systems, the shutdown scripts would never
   call -k.

Wed Aug 29 07:38:01 CDT 2001 / Russell Kroll <rkroll@exploits.org>

 - COPYING: updated with the current version (still GPLv2) from GNU
   with the Temple Place address and <year> instead of 19yy.  

 * Updated the GPL headers in all source files to reflect their "new"
   address.  It looks like the Mass Ave one was used initially in NUT, 
   and everyone used that same header, so it spread all over the place.

Wed Aug 29 07:18:09 CDT 2001 / Russell Kroll <rkroll@exploits.org>

 - configure.in/upscommon: the old "double open" code is gone.  If you
   needed it, you should have said something to me by now.

Wed Aug 29 07:06:11 CDT 2001 / Russell Kroll <rkroll@exploits.org>

 - fentonups: added a new compatibility entry for the PowerCom SMK-800A
   from Alexander Starostin.

Wed Aug 29 06:59:28 CDT 2001 / Russell Kroll <rkroll@exploits.org>

 - upssched.conf: added a dire warning about operating systems that don't
   honor permissions on FIFOs.  If you're running one of these and upssched,
   be sure to run your PIPEFN some place where evildoers can't get to it.   

Wed Aug 29 06:46:47 CDT 2001 / Russell Kroll <rkroll@exploits.org>

 - mgeups: use pidfn from upscommon (temporarily, pending conversion to main)

 - multilink: same

Wed Aug 29 06:43:48 CDT 2001 / Russell Kroll <rkroll@exploits.org>

 - common: switched from *ptr to ptr[0] in parseconf to avoid some subscript
   type warnings on some systems.

Wed Aug 29 06:42:01 CDT 2001 / Russell Kroll <rkroll@exploits.org>

 - masterguard: new driver for Masterguard UPS hardware from Michael Spanier.

Wed Aug 29 06:39:16 CDT 2001 / Russell Kroll <rkroll@exploits.org>

 - Applied patch from George Ross for Solaris compatibility:

   - common.h: include <termios.h>
   - models/Makefile.in: use LIBDEP/LIBOBJ properly for upsdrvctl and hidups
   - man/Makefile.in: throw out blank lines in the install target

Wed Aug 29 06:38:18 CDT 2001 / Russell Kroll <rkroll@exploits.org>

 - common: return a value from the cfmakeraw compatibility function.

Wed Aug 29 06:35:46 CDT 2001 / Russell Kroll <rkroll@exploits.org>

 - common: cast the result of getpid() to int to stop some warnings.

 - upsmon: shutdown exec failures in the parent are now logged differently
   to show which process is actually doing the work.

Mon Aug 13 14:06:54 CDT 2001 / Russell Kroll <rkroll@exploits.org>

 - upsdrvctl: "stop <ups>" will stop just one ups, while "stop" by itself
   still stops all of them.

Mon Aug 13 12:12:20 CDT 2001 / Russell Kroll <rkroll@exploits.org>

 - conf/Makefile: install ups.conf.  Spotted by Wolfgang Rosenauer.

Mon Aug 13 00:39:59 CDT 2001 / Russell Kroll <rkroll@exploits.org>

 - newapc: converted the new common core.  This one uses the same
   arguments as apcsmart, so the warnings about -s and -c breaking
   (and changing to -x) further down in this file also apply.

   If you used to do this:          You now have to do this:

   newapc -c 940-0095B /dev/foo     newapc -x cable=940-0095B /dev/foo
   newapc -s 2 -k /dev/f00          newapc -x sdtype=2 -k /dev/f00

   One side effect of changing to the new scheme is that this driver
   now creates state files called newapc, rather than masquerading
   as apcsmart.  If you're still using upsd.conf, be sure to change
   your paths.

   Better yet, now would be a good time to change to ups.conf.

Sun Aug 12 23:42:30 CDT 2001 / Russell Kroll <rkroll@exploits.org>

 - hidups: include ctype.h to stifle warnings about isdigit.

Sun Aug 12 13:29:56 CDT 2001 / Russell Kroll <rkroll@exploits.org>

 - upscommon: reworked the cleanup routine so it actually exists on
   systems without shared memory.  It also now removes the pid files
   so there's no lingering junk when the driver shuts down cleanly.

Sun Aug 12 13:13:52 CDT 2001 / Russell Kroll <rkroll@exploits.org>

 - upsd: added some signal handlers and shutdown logic to clean up
   things like the new pid file at exit.

Sun Aug 12 13:06:43 CDT 2001 / Russell Kroll <rkroll@exploits.org>

 - upsd: write a upsd.pid to the ALTPIDPATH.

Sun Aug 12 13:04:38 CDT 2001 / Russell Kroll <rkroll@exploits.org>

 - main: write a <driver name>-<portname>.pid to the ALTPIDPATH.

 - configure: --with-altpidpath added.  This controls where upsd and
   the core-based model drivers write their .pid files.  This defaults
   to whatever your STATEPATH is, and probably doesn't need to be changed
   on most systems.  Suggested by Luca Filipozzi for filesystem standard
   compliance.

0.45.1:

Thu Aug  9 11:44:30 CDT 2001 / Russell Kroll <rkroll@exploits.org>

 - hidups: handle "BackUPS nnn" properly without breaking "BackUPS Pro"
   parsing.

0.45.1-pre4:

Sun Aug  5 13:16:39 CDT 2001 / Russell Kroll <rkroll@exploits.org>

 - hidups: upsdrv_infomax() added.

Sun Aug  5 13:04:54 CDT 2001 / Russell Kroll <rkroll@exploits.org>

 - upscommon: write a warning to the syslog when msgrcv fails for
   unexpected reasons.

Sun Aug  5 12:59:08 CDT 2001 / Russell Kroll <rkroll@exploits.org>

 - upsmon: only check NUMLOGINS on master UPSes during slave sync at
   shutdown.  This fixes a potential problem where a mixed master/slave
   upsmon could wait for a situation that would never clear itself.
   This would have been caught by the HOSTSYNC timeout though.

Sun Aug  5 12:55:27 CDT 2001 / Russell Kroll <rkroll@exploits.org>

 - hidups: trim back "Back-UPS 500 FW: 6.2.I USB FW:" model strings
   to something a bit cleaner.

Sun Aug  5 12:46:18 CDT 2001 / Russell Kroll <rkroll@exploits.org>

 - upscommon, main: -x nolock now disables the usual serial port locking
   calls.  This should let FreeBSD users and others use -k on systems
   that can't lock a port with a read-only filesystem.

Sun Aug  5 12:24:34 CDT 2001 / Russell Kroll <rkroll@exploits.org>

 - upsset: now reports INSTCMD errors properly

Sun Aug  5 12:15:42 CDT 2001 / Russell Kroll <rkroll@exploits.org>

 - upsset: fixed a string handling bug that was making all of the
   select options come back as empty.

Sun Aug  5 12:05:41 CDT 2001 / Russell Kroll <rkroll@exploits.org>

 - models/main: cleaned up the -x / conf arg handling to remove some
   ugly hacks.

Sun Aug  5 10:12:53 CDT 2001 / Russell Kroll <rkroll@exploits.org>

 - nut.spec.in: new contributed version to keep up with the current tree.

Sun Aug  5 10:06:22 CDT 2001 / Russell Kroll <rkroll@exploits.org>

 - common drivers: added int upsdrv_infomax() rather than hardcoding
   a value that's too big for some and too small for others.

Sun Aug  5 10:01:04 CDT 2001 / Russell Kroll <rkroll@exploits.org>

 - powercom: replaced the DTS/RTS handling with sane code grabbed from
   the belkin driver.

Sun Aug  5 09:59:37 CDT 2001 / Russell Kroll <rkroll@exploits.org>

 - models/Makefile.in: hidups needs upsconf.o.  Reported by Peter Silva.

Fri Aug  3 10:42:21 CDT 2001 / Russell Kroll <rkroll@exploits.org>

 - belkin: beat the shutdown+restore code into submission.  This should
   work now.

Fri Aug  3 08:14:25 CDT 2001 / Russell Kroll <rkroll@exploits.org>

 - main: bugfix: -k no longer demands an argument.  This was breaking
   calls to -k in the common-core drivers.

Thu Aug  2 23:09:16 CDT 2001 / Russell Kroll <rkroll@exploits.org>

 - belkin: added experimental shutdown+restore code for when -k is called
   with the power present.  This has not been tested yet.

Sun Jul 29 18:47:08 CDT 2001 / Russell Kroll <rkroll@exploits.org>

 - belkin: beginning conversion to common code.  Also throwing out strcat 
   and sprintf in favor of the safer strlcat and snprintf, plus code style
   changes.

Sun Jul 29 18:35:46 CDT 2001 / Russell Kroll <rkroll@exploits.org>

 - apcsmart: drop more duplicate code in the shutdown function

Sun Jul 29 18:27:27 CDT 2001 / Russell Kroll <rkroll@exploits.org>

 - apcsmart: dump the old forceshutdown() dead code.

Sun Jul 29 18:25:52 CDT 2001 / Russell Kroll <rkroll@exploits.org>

 - apcsmart: bring back the smart mode detection code that got lost in
   the conversion to the new core structure.

Sat Jul 28 04:19:12 CDT 2001 / Russell Kroll <rkroll@exploits.org>

 - multimon: switched to &deg; to provide some sanity in the HTML for
   the degree character.  Patch from Henry Nelson.

Wed Jul 25 02:09:27 CDT 2001 / Russell Kroll <rkroll@exploits.org>

 - nutupsdrv: started a man page for the common drivers using the 
   apcsmart file as a base.  apcsmart's page is currently out of date
   until it can be revised to deal with its recent reworking.

0.45.1-pre3:

Sun Jul 22 17:51:43 CDT 2001 / Russell Kroll <rkroll@exploits.org>

 - common/Makefile.in: explicitly list upsconf.o for BSD make.

Sun Jul 22 17:40:08 CDT 2001 / Russell Kroll <rkroll@exploits.org>

 - everups: new driver from Bartek Szady for Ever UPS models.

 - upscommon: applied patch from Bartek Szady adding the upsrecvchars()
   function.

Sun Jul 22 17:38:18 CDT 2001 / Russell Kroll <rkroll@exploits.org>

 - upscommon: applied patch from Larry Jones to do the TIOCMSET flag-setting
   call after CLOCAL mode is setup on the tty.

Sun Jul 22 17:37:19 CDT 2001 / Russell Kroll <rkroll@exploits.org>

 - generic-ups.txt: applied a patch from Larry Jones to bring this back
   in line with reality.

Sun Jul 22 17:18:24 CDT 2001 / Russell Kroll <rkroll@exploits.org>

 - upsd: added a warning about the future death of UPS directives in 
   the upsd.conf file.

 - upsd: free the memory from the ups.conf parsing run since there's no
   use for it once we've called addups() from it.

Sat Jul 21 18:25:36 CDT 2001 / Russell Kroll <rkroll@exploits.org>

 - upsd: make sure the startup logging goes to the syslog even before
   we enter the background.

 - common: exposed xbit_set to the outside for syslog control

 - upsd: added support for defining UPSes via ups.conf.  The UPS directives
   in upsd.conf will still be supported for awhile, but you should start
   converting your configuration files to the new style now.

Sat Jul 21 17:48:11 CDT 2001 / Russell Kroll <rkroll@exploits.org>

 - upsdrvctl: serialized the starting of drivers so they don't all spew
   all over the screen at the same time.

 - upsdrvctl: split off the start process into a "fork/exec" design

Wed Jul 18 15:03:42 CDT 2001 / Russell Kroll <rkroll@exploits.org>

 - upscommon: the SysV message handler now logs an error when INSTCMD or
   SET is attempted but the driver does not support it.

Wed Jul 18 14:53:44 CDT 2001 / Russell Kroll <rkroll@exploits.org>

 * Note to distributors and other people converting to the new startup
   format: see docs/driver-control.txt for more information on this.

Wed Jul 18 14:49:33 CDT 2001 / Russell Kroll <rkroll@exploits.org>

 - apcsmart: converted to common driver format (main.c).  This means
   a couple of arguments have taken on new identities.  Take note:

   *** If you were using the -c or -s arguments to apcsmart, they will
   *** no longer function!  You must now switch to using the -x method.

   If you used to do this:            You now have to do this:

   apcsmart -c 940-0095B /dev/foo     apcsmart -x cable=940-0095B /dev/foo
   apcsmart -s 2 -k /dev/f00          apcsmart -x sdtype=2 -k /dev/foo

   The big win here is that instead of inscrutable options like '-c' and
   '-s', you have short identifiers that explain what's really going on.

   Of course, if you really want to do this properly, you'll skip the
   command-line junk and just chuck those definitions in your ups.conf.

   	[myups]
   		driver = apcsmart
		port = /dev/foo
		cable = 940-0095B
		sdtype = 2

   You get the idea.

Wed Jul 18 13:44:55 CDT 2001 / Russell Kroll <rkroll@exploits.org>

 - main: cleaned up the help text, and reworded the meaning of -a.
   It's best described as "autoconfig" rather than "autostart".

   Note: -a foo will load the values from foo, but you can still override
   them by placing extra values (-x, or a port name) after it on the
   command line.  This allows you to have sensible defaults in ups.conf
   but override it for testing or debugging.

Mon Jul 16 15:30:13 CDT 2001 / Russell Kroll <rkroll@exploits.org>

 - conf: ups.conf example file added.

Mon Jul 16 15:21:49 CDT 2001 / Russell Kroll <rkroll@exploits.org>

 - upsdrvctl: 'start' now works, using the ups.conf.  This is only
   usable if it's starting drivers which support the -a <upsname> 
   argument for autostarting.  Currently that's bestups, fentonups, and
   sec.

Mon Jul 16 15:11:20 CDT 2001 / Russell Kroll <rkroll@exploits.org>

 - common: parseconf now properly understands # comments, and will 
   throw out everything on a line after that character.  If you need one
   of those in a config file, use \ to escape it.

Sun Jul 15 17:47:13 CDT 2001 / Russell Kroll <rkroll@exploits.org>

 - upsdrvctl: new driver control program.  Eventually you will be able to
   do 'upsdrvctl start' and 'upsdrvctl stop' to control the UPS drivers on 
   your system.

Sun Jul 15 16:48:57 CDT 2001 / Russell Kroll <rkroll@exploits.org>

 - upssched: force the umask to 077 before creating the pipe.

Tue Jul 10 23:28:27 CDT 2001 / Russell Kroll <rkroll@exploits.org>

 - common: set umask to 022 before writing a pid file.  Some systems
   are starting up with a umask of 000 (my Slack 7.1 dev box for one)
   which gives you such lovely things as a world-writable 
   /var/run/upsmon.pid.

   You can imagine what sort of fun happens when root uses upsmon -c
   after someone else has edited the upsmon.pid file.

   This probably only bites people running fairly new 2.4 kernels.

   If your distribution doesn't explicitly set a umode in your rc scripts,
   now would be a good time to add one.  These programs should no longer
   be affected by it, but other ones will still be exposed.

Sat Jul  7 06:03:30 CDT 2001 / Russell Kroll <rkroll@exploits.org>

 - upsset: don't blindly trust results of strchr.

0.45.1-pre2:

Wed Jul  4 00:09:42 CDT 2001 / Russell Kroll <rkroll@exploits.org>

 * Yes, this is 0.45.1-pre2, not 0.45.0-pre2.  Blame my time machine for
   the internal version of the the last prerelease.

Tue Jul  3 23:46:49 CDT 2001 / Russell Kroll <rkroll@exploits.org>

 - sec: removed more stray ^M characters.  Hmmmmm.

 - shared-tables.h: Applied patch from John Hughes to add INFO_GRACEDELAY,
   which was missing for some reason.

Tue Jul  3 23:37:39 CDT 2001 / Russell Kroll <rkroll@exploits.org>

 - upscommon: Applied patch from Larry Jones to set CLOCAL on the tty
   to keep the system from parsing the modem control signals by itself.

Tue Jul  3 23:34:10 CDT 2001 / Russell Kroll <rkroll@exploits.org>

 - Applied patches from John Hughes for Unixware 7.1.1 compatability:

   - models/clients: change Makefile.in to split library dependencies into
     LIBDEP, away from LIBOBJ which is now separate.

   - common.h: include sys/termios.h when using the cfmakeraw compatibility
     function.

Sat Jun 30 19:05:07 CDT 2001 / Russell Kroll <rkroll@exploits.org>

 - victronups: update from Michael Hettenbach.  The LOWXFER and HIGHXFER
   now have reasonable values.  Support for ACFREQ, BATTVOLT, OUTVOLT, 
   RUNTIME and CURRENT has been added.

Sat Jun 30 19:00:45 CDT 2001 / Russell Kroll <rkroll@exploits.org>

 - bestups: add code to detect the SOLA 620.  Patch from Justin Hawkins.

Sat Jun 30 18:32:10 CDT 2001 / Russell Kroll <rkroll@exploits.org>

 - upsd.h: don't include err.h here.  Reported by George Ross.

Sat Jun 30 18:25:34 CDT 2001 / Russell Kroll <rkroll@exploits.org>

 - shared.h: knocked out some stray ^Ms that crept in from somewhere.
   Reported by George Ross.

Tue Jun 26 13:54:39 CDT 2001 / Russell Kroll <rkroll@exploits.org>

 - docs/config-files.txt: new document to explain how the config files
   work to people who haven't seen the evolution of the "" and \ handlers.

Tue Jun 26 13:41:25 CDT 2001 / Russell Kroll <rkroll@exploits.org>

 - upsmon: FINALDELAY is now configable, which means one more hardcoded
   value is now gone from the program.

Tue Jun 26 13:34:34 CDT 2001 / Russell Kroll <rkroll@exploits.org>

 - upsmon: to override the compiled-in username for the child process,
   use -u <user>.

Tue Jun 26 13:00:53 CDT 2001 / Russell Kroll <rkroll@exploits.org>

 - upsmon: new security feature: split parent/child design.  By default,
   upsmon will now fork and keep a pipe open between the processes.  One
   will drop all privileges and continue to the normal monitoring loop.
   The other will retain the root powers and watch the pipe for the shutdown
   signal.  It does nothing else.

   You really only need root to kick off a shutdown, and this effectively
   ties upsmon's hands so that it can only do that or exit.  This means it 
   should be very hard to compromise root through upsmon, and if you do 
   manage to break into it somehow, all you can do is shutdown the system.

   It also means that all things executed by upsmon (upssched, or whatever)
   will now run as an unprivileged user.  If you need privileges in your
   NOTIFYCMD or otherwise need to run upsmon the old way, use -p.

   By default this runs as the user/group you configure at compile-time
   with the --with-user and --with-group switches.

Tue Jun 26 12:47:18 CDT 2001 / Russell Kroll <rkroll@exploits.org>

 - dummycons: new testing driver.  This one is like dummyups in terms
   of its purpose, but does not require X.  I wrote this after discovering
   that my laptop lacked Xdialog while out in the world without a way
   to fetch it.  You still need pthreads, so it is not built by default.

0.45.1-pre1:

Sun Jun 17 17:05:37 CDT 2001 / Russell Kroll <rkroll@exploits.org>

 - upscommon: rewrote rtrim - the existing version was not behaving as
   expected with bad results on certain hardware running the fentonups
   driver.

Sun Jun 17 16:38:58 CDT 2001 / Russell Kroll <rkroll@exploits.org>

 - sms: new driver for SMS Ltda (Brazilian) units from Marcio Gomes.

Sun Jun 17 16:35:38 CDT 2001 / Russell Kroll <rkroll@exploits.org>

 - models/Makefile.in: remove directory creation since it already happens
   in the install-dirs target at the top level.

 - Makefile.in, man/Makefile.in: switch to the included install-sh to
   make directories, since the one found on the system might not
   understand -d

Sun Jun 17 16:32:59 CDT 2001 / Russell Kroll <rkroll@exploits.org>

 - aeg: new driver for AEG Protect S. models from Ralf Sieger.

Sun Jun 17 16:32:15 CDT 2001 / Russell Kroll <rkroll@exploits.org>

 - nut.spec: new version from Nigel Metheringham.

Sun Jun 17 16:30:43 CDT 2001 / Russell Kroll <rkroll@exploits.org>

 - hidups: applied patch from Brad Hards to deal with a string index
   of 0, which should fix MGE support.

Sun Jun 17 16:29:34 CDT 2001 / Russell Kroll <rkroll@exploits.org>

 - upsset: when changing the value of a variable, upsset will now say
   "was ..." rather than "now ...", which was confusing.  Suggested by
   Bill Richter.

Sun Jun 17 16:20:33 CDT 2001 / Russell Kroll <rkroll@exploits.org>

 - conf/upsd.users: the example form for INSTCMDS is INSTCMDS, not ALLOW.
   Reported by Alan Eldridge.

 - models/Makefile.in: genmb is now called with a ./ to force make to
   find it in the current directory.  Reported by Shaul Karl.

 - upscommon: open_serial_simple() now calls open() with O_NONBLOCK which
   should fix things on systems that really don't like it when you leave
   that flag off and DCD drops.  Reported separately by Alan Eldridge and
   Larry Jones.

 - upscommon: open_serial_simple() now uses open_error() for better
   diagnosis when the open call fails.  Suggested by Larry Jones.

Sun Jun 17 16:16:45 CDT 2001 / Russell Kroll <rkroll@exploits.org>

 - upsset: don't allow the http client to send us UPSVAR_... forever,
   since they could make us eat all the memory with malloc.

Sun Jun 17 16:12:18 CDT 2001 / Russell Kroll <rkroll@exploits.org>

 - upsset: avoid calling xstrdup without first freeing existing space
   if arguments are repeated to avoid attacks

Mon Jun 11 17:58:50 CDT 2001 / Russell Kroll <rkroll@exploits.org>

 - upsimage: the utility grapher has been completely reworked.  The image
   will now rescale itself automatically based on the high and low 
   transfer points in your UPS hardware.

Mon Jun 11 17:14:43 CDT 2001 / Russell Kroll <rkroll@exploits.org>

 - upsimage: cleaned up main - dumped a lot of worthless variables and
   put in some better checks for variables that don't exist.

Mon Jun 11 17:08:38 CDT 2001 / Russell Kroll <rkroll@exploits.org>

 - upsimage: load values are also checked for sanity.  Previously a
   large enough value would result in a negative position being passed
   to gd, which would then burn all the CPU time.  This only seemed to
   happen with *really* large numbers, like the 30+ million figures
   coming back from the hidups testing.

Mon Jun 11 17:04:10 CDT 2001 / Russell Kroll <rkroll@exploits.org>

 - upsimage: battery percentage values outside the usual 0..100% range
   will no longer attempt to create impossible images.  They are now 
   clamped to that range.

Mon Jun 11 16:59:36 CDT 2001 / Russell Kroll <rkroll@exploits.org>

 - upsimage: started cleanup.  Commenting graphical instructions and more.

Mon Jun 11 16:50:32 CDT 2001 / Russell Kroll <rkroll@exploits.org>

 - configure: Added a new switch to define where the hiddev.h file is.
   Use --with-linux-hiddev=/full/path/to/hiddev.h to set it.  By default
   it will look in /usr/src/linux/include/linux/hiddev.h which may be
   sufficient for many systems.

Mon Jun 11 16:21:44 CDT 2001 / Russell Kroll <rkroll@exploits.org>

 - hidups: new driver for USB HID UPS support under Linux.  This should
   theoretically handle any UPS that implements the basic elements of the
   x84 and x85 pages for power devices.  Note that you need to be running
   a fairly recent version of the 2.4 kernel, as the 'hiddev' support is
   brand new.

   As this only runs on Linux systems and only a few of them at that, it 
   needs to be built by hand in the models subdirectory.  (make hidups)

0.45.0:

Mon Jun 11 15:31:29 CDT 2001 / Russell Kroll <rkroll@exploits.org>

 * Final cleanup for release.

Sat Jun  2 01:24:34 CDT 2001 / Russell Kroll <rkroll@exploits.org>

 - docs/chroot.txt: new howto document for people who want to try running
   the model drivers and upsd in a chroot jail.  This is just an experiment
   of mine, but it seems to be working fine so far...

0.45.0-pre6:

Fri Jun  1 04:27:30 CDT 2001 / Russell Kroll <rkroll@exploits.org>

 - configure.in: --with-double-open now warns you.  If anyone is actually
   using this code, they need to make themselves known before the
   release of 0.45.1, since it'll be removed by that point.

Fri Jun  1 04:23:16 CDT 2001 / Russell Kroll <rkroll@exploits.org>

 - conf/Makefile.in: upsd.users is now installed

Fri Jun  1 04:19:33 CDT 2001 / Russell Kroll <rkroll@exploits.org>

 - upsd: cleaned up the parseconf arg sanity tests

Mon May 28 20:56:46 CDT 2001 / Russell Kroll <rkroll@exploits.org>

 - powercom: fixed the TIOCMSET ioctl to use the pointer of the arg rather
   than the arg itself, and added some error checking to the ioctl calls.
   Reported by Igor Podlesny.

Mon May 28 20:43:27 CDT 2001 / Russell Kroll <rkroll@exploits.org>

 - sec: removed the // comments.  They are not portable.

Mon May 28 06:54:17 CDT 2001 / Russell Kroll <rkroll@exploits.org>

 - docs/*: updates and cleaning for 0.45.0 release

Mon May 28 05:43:04 CDT 2001 / Russell Kroll <rkroll@exploits.org>

 * Miscellaneous filename changes: QUICKSTART is now INSTALL, and this
   file is now called CHANGES.

0.45.0-pre5:

Mon May 28 05:13:26 CDT 2001 / Russell Kroll <rkroll@exploits.org>

 - sec, upscommon: moved unlock_port() into the common code so it gets
   all the extra goodies that you need to compile uu_lock calls on FreeBSD.

Sun May 27 02:19:07 CDT 2001 / Russell Kroll <rkroll@exploits.org>

 - multimon, upsset: similar paranoia checks added

Sun May 27 02:14:55 CDT 2001 / Russell Kroll <rkroll@exploits.org>

 - upsmon: paranoia checks for NULL values in conf parser

Sun May 27 02:12:35 CDT 2001 / Russell Kroll <rkroll@exploits.org>

 - upsd: paranoia checks for NULL values in data obtained from parseconf

Sun May 27 01:55:10 CDT 2001 / Russell Kroll <rkroll@exploits.org>

 - Applied jumbo patch from John Marley to add SEC protocol support:

   - include/shared-tables.h: many new entries
   - include/shared.h: same
   - models/sec.[ch]: new driver

Sun May 27 01:23:22 CDT 2001 / Russell Kroll <rkroll@exploits.org>

 - various: time.h and sys/time.h are now included through an intermediate
   local include/timehead.h file since sys/time.h isn't always sufficient
   and sometimes you can't include both, either.

Sun May 27 01:15:16 CDT 2001 / Russell Kroll <rkroll@exploits.org>

 - upsmon: the notify is now run if the first poll of a UPS is on battery.

 - upsmon: additional debug calls added

0.45.0-pre4:

Sun May 20 21:02:22 CDT 2001 / Russell Kroll <rkroll@exploits.org>

 - genericups: type 2 (APC with 940-0020B cable) now uses RTS as cable 
   power.  This still may not be enough to make it work on some systems.
   See the mailing list archives, especially this message:

	http://lists.exploits.org/ups/Apr2001/00030.html 

   I need to hear from the users of this cable to find out if this makes
   things better or worse.  My own cable was sacrificed during a bout 
   with the leatherman in an attempt to figure out what makes it tick.

Sun May 20 20:43:43 CDT 2001 / Russell Kroll <rkroll@exploits.org>

 - common: cfmakeraw() compatibility function added since the multilink
   driver uses it and it's not universally supported.  This is intended
   to help compiles on Solaris.  Solaris users, tell me if this doesn't
   work, and preferably send me a patch which fixes it.

   Reported by Marty Lee.

Sun May 20 20:34:59 CDT 2001 / Russell Kroll <rkroll@exploits.org>

 - newapc: open_serial() call removed from forceshutdown(), as the port
   is already open and trying to open it again fails.  Reported by
   John Pochmara.

Sat May 19 22:44:08 CDT 2001 / Russell Kroll <rkroll@exploits.org>

 - common, main, elsewhere: basename renamed to xbasename and configure
   no longer tests for it, since it tends to appear and disappear strangely
   depending on your C libraries.  Rather than try to figure out every case,
   I did the easy thing and renamed the stupid function.

Sat May 19 22:42:25 CDT 2001 / Russell Kroll <rkroll@exploits.org>

 - models/main, skel: upsdrv_makevartable - supporting code added to 
   replace the old varlist technique.  This makes it possible to detect 
   bad -x arguments that aren't expected by the driver.

Fri May  4 20:01:29 CDT 2001 / Russell Kroll <rkroll@exploits.org>

 - upsd, mustekups, upscommon, mgeups, belkin, ups-trust425+625: same

Fri May  4 19:59:14 CDT 2001 / Russell Kroll <rkroll@exploits.org>

 - upseyeux, mge-ellipse, common: more comment fixes

Fri May  4 19:54:08 CDT 2001 / Russell Kroll <rkroll@exploits.org>

 - main, toshiba1500: C++ comments removed

Fri May  4 19:04:48 CDT 2001 / Russell Kroll <rkroll@exploits.org>

 - skel: // comments changed to /* */ style for portability

Tue May  1 23:38:35 CDT 2001 / Russell Kroll <rkroll@exploits.org>

 - upscommon: failure to open the UPS device will now present a verbose
   explanation of the situation to show what's going on with permissions
   and user IDs.  Suggested by Alan Kennington.

Tue May  1 23:22:43 CDT 2001 / Russell Kroll <rkroll@exploits.org>

 - common/configure.in: basename already exists in some C libraries, so
   we now test for it and don't try to compile a local copy if it's there.
   Reported by Alan Kennington.

*** File trimmed here 9 April 2002 ***

For entries before this point, refer to a 0.45.5 or earlier tarball.

*** File trimmed here 27 November 2001 ***

For entries before this point, refer to a 0.45.2 or earlier tarball.

*** File trimmed here 18 January 2001 ***

For entries before this point, refer to a 0.44.2 or earlier tarball.

*** File trimmed here 25 June 2000 ***

For entries before this point, refer to a 0.43.2 or earlier tarball.
