File: ChangeLog

package info (click to toggle)
apcupsd 3.10.17-2
  • links: PTS
  • area: main
  • in suites: sarge
  • size: 16,616 kB
  • ctags: 6,941
  • sloc: ansic: 42,075; sh: 7,896; cpp: 3,561; makefile: 2,001; perl: 1,469; tcl: 368; sed: 93
file content (686 lines) | stat: -rw-r--r-- 32,009 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
/***************************************************************************/
/*                     ChangeLog of apcupsd                                */
/*               Kern Sibbald <kern at sibbald dot com>                    */
/*               http://www.apcupsd.com/                                   */
/*               http://sourceforge.net/projects/apcupsd                   */
/***************************************************************************/

----> Release 3.10.17 18Mar05
- Fix termination of empty directives in .conf file.
- Move docbook directory to old_documents
- Modify Win32 Makefile to pull apcupsd.html from texi directory.
  It was still using the old docbook directory.
- Update default apcupsd.conf to recommend a blank DEVICE setting for USB
  driver.
- Add /dev/hiddev? to Linux USB driver device node search path.
- Add Mac OS X startup script
- Add new *BSD USB driver to support USB UPSes on FreeBSD, OpenBSD, and NetBSD.
  THIS DRIVER IS BETA SOFTWARE AND HAS A KNOWN LOCKUP ISSUE ON FREEBSD. Please
  keep this in mind when deciding whether or not to deploy it. PLEASE READ THE
  "CHECKING OUT YOUR USB SUBSYSTEM (BSD)" SECTION OF THE MANUAL as it contains
  crucial details on how to configure your system for the new driver.
- Add BackUPS Pro shutdown code to USB driver
- Prefer BackUPS style shutdown over SmartUPS in USB driver to resolve shutdown
  issues on BackUPS CS models
- Restructure USB driver to share common code
- Fix slave mode segfault bug introduced by --killpower fixes in 3.10.16.
- Commit kernstodo
- Added an anonymous patch to powerflute.c and to the slack-apcupsd.in file.
- Add Whitebox to detected systems.
- Minor tweak to RedHat spec.in
- Apply Carl Lindberg <lindberg@clindberg.org>'s patch
  for apcaction.c to fix the network management card
  shutdown.
- Fix typo in targets.mak that prevents uninstall from working.
- Change name of thread_terminate to apc_thread_terminate to avoid
  conflict on AIX.
- Put configure found SHUTDOWN in apccontrol.in
- Figured out how to scale the pdf images, so re-did them.
- Some minor updates to the manual, particularly the title
  page.


----> Release 3.10.16 04Nov04
- Adam has fixed the killpower problem for USB so that the
  USB now properly turns off the power. Nice job!
- Converted manual from docbook to texinfo format. There is some
  cleanup to be done, but we get an index!
- Thanks to Adam for converting the .png images to .pdf
- Apply patch to fix aastr... supplied by Manfred Schwarb.
- Changed Solaris to use mailx by default at the suggestion of
  Neil Brookins.
- Added Adam's snoopdecode.c to examples that allows viewing
  USB events.
- A number of typos fixed in apccontrol files.
- Adam fixed a race condition in killpower with --kill-on-powerfail.
- --kill-on-powerfail disallowed for dumb UPSes since the      
  kill power will always occur before the system has been halted.
- Lots of doc updates.
- Add proper platform code so that configure will create
  the 4 platform specific apccontrol files (some were missing).
- Apply fix from user to correct one of the shutdown
  sequences for the Smart UPS. During the conversion to drivers
  this was apparently mangled.
- Added code to close all file descriptors before becoming
  daemon unless debug turned on.
- Add APCBATTCapBeforeRestore found by Adam to hid-ups.c
- Update copyright in apc_struct.h
- Take Adam's new apc_defines.h with minor modification.
- Correct a bug reported by a user (he also had the fix) to
  the snmp driver where Sensitivity was incorrectly reported.
- Add astrncpy() to snmp driver.
- Fix apcstatus.c to report Unknown for the sensitivity rather than
  High if the sense word cannot be read or is incorrect.

----> Release 3.10.15 07Aug04
- Document Mandrake USB kernel problems.
- Fix HID_MAX_USAGES in the examples directory
- Apply David Walser's patch for missing colors in multimon.  Reads
  the apcupsd.css file from the sysconf directory.
- Add EEPROM fix from Giuseppe Ghibo passed on by David Walser

----> Release 3.10.14 28Jul04
- Add workaround from Adam for linux/hiddev.h missing define.
- Updates to manual.
- Integrate patch for Mandrake apcupsd.in forwarded by David Walser.
- Found another store into the ups buffer so #ifdefed it. Cannot
  store into the ups buffer on non-pthreads systems.
- Fiddle with apcconfig.c to correct astrncpy() problem noted by
  Adam.
- #ifdef code in apcaccess that tries to write in the shared memory
  buffer.
- Applied Adam's patch for fixing the pthreads dependencies in asys.c
- Tweak the patch a bit hopefully so that OpenBSD will work.
- Made a sweep through quite a few files updating the copyright, 
  eliminating the disclaimer (now in DISCLAIMER), and adding as many
  astrncpy() and astrncat()s as I could find. There still remain some
  drivers and the cgi code to do.
- Implemented true/false and bool. Started implementing it in many of
  the files I touched.
- Updated the net driver and did a fairly good testing of it.
- Made apcupsd remain in the foreground when doing a kill power.
- Eliminated some of the error messages during kill power by not
  doing useless things.
- Added back code to print what is happening during kill power
  in the USB code.
- Corrected a few of the USB error messages that could have been
  missleading or confusing.
- Eliminated some inappropriate usages of size_t.
- Integrated a number of updates into the manual, particularly from
  Adam.
- Put wall as ${WALL} in platforms/apccontrol.in
- If the IP address is 0.0.0.0 force it to localhost in apcaccess.
- Integrat Thomas Habets' changes to keep connect() from blocking
  in apcnet.c so that apcupsd can service more slaves.
- Ensure that stdin/out/err are allocated in daemon_start() of apcuspd.c
- Update snmp.c with bug fix from Bacula.
- Bill has made numerous changes to improve the code such as adding
  consts where appropriate.

----> Release 3.10.13 20Apr04
- Added code to support net snmp configured with --enable-net-snmp
  based on patch sent by Sander Siemonsma.
- Build smtp on Unix systems.
- Update to most current smtp and make it easier to configure
  for apcupsd or Bacula
- Start implementing native Win32 version.
- Rename cmd -> ups_event and cmd_msg -> event_msg
- Add user supplied code to make apcaccess read the conf file and
  self configure to proper port. Thanks to Martin Flack for this
  patch.
- Start simplifying the Copyright and making the dates current.
- Rework the net driver. It was really in poor shape.
- Replace sprintf with asnprint. Replace strcpy with astrncpy
- Apply a fix supplied by Jim Pick where syslog releases the
  usb port and then re-attaches it to /dev/log.
- I finally took a careful look at the old master/slave networking
  code as well as ran it here, and it was sadly broken. Hopefully
  this commit fixes the problems.    
- Fix a few string functions using the new routines.
- Added asys.c imported from Bacula, which contains a number of 
  simple system routines such as astrncpy(), ...

----> Release apcupsd-3.10.12 (04 March 2004)
- Thanks to Joseph Sacco, we have Yellow dog support -- and he
  has tested and validated it!
- Integrated Joseph Sacco's yellowdog patch -- some done by hand.
- Minor updates to the documentation from user input.
- Fix a Makefile find that removes zero length files, which fails                 
  on some systems.
- Web site update.
- Apply patch from Adam that fixes OpenBSD and FreeBSD pthreads 
  library bugs.
- Add poll time to SNMP driver, and correct header file prototyping.
- Make usb driver sleep for 1 second then retry up to 10 times
  if the device cannot be opened. There are two such loops so in
  the event of failure, it will occur 20 seconds later. This
  allows time for the hotplug program to initialize the USB devices
  after a boot.
- Cleanup crap generated by doc book for web manual
- Turned on strict prototype checking.
- William King has made a number of commits to bring the cgi
  html up to current xhtml standards -- many thanks.
- Changed start level from 20 to 60 to ensure that DNS is started. 
  Reported by David Walser.
- Remove some unused code in the snmp directory.
- Cleanup some compile errors in the snmp directory.
- Move install.xml to install.kml and implement simpler html directives in
  docbook.  Modify Makefile to convert html back into docbook.
- Change references to serial port in apctest to device (USB included).

----> Release apcupsd-3.10.11 (26 January 2004)
- Correct apccontrol script to remove extra ;; that I inadvertantly
  left the last release -- apparently that prevented proper shutdown.
- Updates to manual as requested by Adam and other users.
- Fix localtime_r in configure.in as reported with patch by Adam.
- Fixed bad html in multimoncss.c reported by an anonymous user.
- Added new Mandrake apcupsd.spec.in submitted by David Walser.
- Revert to using the old master/slave networking code bu default.

----> Release apcupsd-3.10.10 (16 January 2004)
- This version has an additional fix to the USB driver based on
  work by Adam Kropelin -- it limits the rate at which apcupsd will
  poll the UPS for the volatile data, which in turn reduces the possiblity
  of flooding the kernel with control messages (hide-core.c: control
  queue full ...".
15Jan04
- I added a new "offbattery" event that is only executed if the 
  "onbattery" event was executed. This should allow users to easily
  control what messages they get and by using the ONBATTERYDELAY the
  time on batteries before the onbattery event is notified.

----> Release apcupsd-3.10.9 (31 December 2003)
31Dec03
- Bartlomiej Krol found an unexpected interaction between the 6 second
  "debounce" code and the new ONBATTERY delay time that caused the
  USB and apcsmart drivers to sleep for a long time.

----> Release apcupsd-3.10.8 (28 December 2003)
28Dec03
- Added upsBaiscOntrolConverveBattery change to smtp requested by
  Kastus Shchuka (kastus@list.sourceforge.net) 
- Move wall in killpower of apccontrol to after killpower to avoid 
  errors stopping script.
- Install apctest along with apcupsd.
- Fix DISTVER for RH Enterprise
19Dec03
- Added patch by Adam Kropelin that ignores invalid samples. This 
  eliminates the need for the wait, and seems to calm the system. Apparently, 
  even though apcupsd did not use the bad samples, it would break from the
  wait loop, and request an update, which gave even more bad samples. With
  Adam's patch the samples are simply dropped and we continue waiting (if 
  appropriate).  Thanks Adam.
18Dec03
- Add Slackware updated patch submitted by Andrei Mamontov
- Corrected the missing library dependencies in src/Makefile.in
  Thanks to Reg. Clemens for pushing me a bit on this.
06Dec03
- Added usleep(10000) provided by Reg. Clemens, which resolves the
  apcuspd USB problems on 2.6 kernels. Now removed by 19Dec03 patch.
24Nov03
- Added a ONBATTERYDELAY to the conf file. This is the time in
  seconds that apcupsd will wait after detecting a power failure
  until it sets the onbattery state.  If you do not want to be
  annoyed by short power outages (usually less than 10 seconds),
  set the ONBATTERYDELAY appropriately and comment out the
  powerout) "echo ...|wall" statement.
- I finally got the no driver configured error. It turns out that the
  Makefile detection of changes is all botched up. Since I don't understand
  how the author expected it to work, I used the sledgehammer approach and
  do a "make clean" on every ./configure.
- Replaced apcnet.c with Howard Wilkinson's new master/slave code. If
  anyone *really* needs the old driver, it is in src/apcnet.c.old
- Upgraded to Cygwin 1.5.5

----> Release apcupsd-3.10.7 (xx November 2003)
08Nov03
- Do automatic UPS detection in the USB code if no device is specified
  or if the specified device cannot be opened.
- Include patch provided by Howard Wilkinson, but put the new apcnet.c
  in apcnet.c.new until I have a chance to examine it in detail.

  His notes:
  I attach a complete rewrite of the Master side of the mast/slave code
  to support asynchronous connections to slaves.  I needed to do this as
  our network has a number of machines that tend to be powered off for
  long periods and the connect() calls were hanging around for more than
  nettime.
  I also, added a small patch for a new command line flag
  '-P|--pid-file' so that I can easily run multiple daemons on one
   machine.  I needed this as I have a machine that acts as a multiple
   master while getting its power from another UPS managed by another
   machine.
07Nov03
- Lib wrappers was not building correctly on FreeBSD due to the 
  library -lnls, so I copied over the Bacula code for configure.
  Thanks to Lars Kller for reporting this and for his patches.
- Attempt to get mkinstalldirs called by an absolute path rather
  than relative.
- Apply Lars' fixes to platforms/Makefile.in and platforms/etc/Makefile.in
  Install scripts with $(INSTALL_SCRIPT) instead of $(INSTALL_PROGRAM)
- Close all file descriptors except stdin/out/err.
- If there are no stdin/out/err (Windows), then create them and point them
  to /dev/null.  This prevents the serial port from suddenly getting
  debug output sent to it -- chaos.
- It seems that since the beginning of 3.10.x, the APCSMART_UPS never
  reported the proper status. This is because it was not in the case
  statement. Incredible since it is now the "standard" driver! Thanks
  to the user that brought this to my attention.
- Fix a segfault in linux-usb.c due to reference one beyond the command
  table. This happens only on newer USB UPSes. Thanks to the user who
  pointed this out.

----> Release apcupsd-3.10.6a (30 October 2003)
30Oct03
- Integrated Alexander Schremmer's stdout fix for Windows --
  keeps debug printout from being sent to the serial port.
28Oct03
- Bob Kuo found a bug that caused a seg fault for newer USB
  UPSes. The error was that my code walked off the end of a 
  table in linux-usb.c if the USB code was not in the
  table.

----> Release apcupsd-3.10.6 (10 October 2003)
11Oct03
- Release 3.10.6 10Oct03 as offical stable version.
03Oct03
- Move the old manual to old_documents and commit the
  new docbook manual to the CVS. Don't include the web
  html directory.
28Sep03
- Test net slave mode. It works fine.
- Add MASTER name to status output if device is a slave.
- Display last master update if device is a net slave.
- Add 10 sec delay before calling apcupsd --killpower it is
  needed for USB killpower to work right. Why????
- Save old apccontrol when installing a new one.
- Replace old UPS_SET() with set_ups() in a number of places.
27Sep03
- Implement autodetect of USB port if no DEVICE given.

----> Release apcupsd-3.10.6 (12 September 2003) Beta
14Sep03
- After the upgrade to RH9 with the new autoconf, quite a
  few things broke. As far as I can tell, it is because autoconf
  set top_srcdir to ., and since apcupsd exects top_srcdir to be
  absolute, lots of things broke.  Fixed by editing all the
  Makefiles and switching to topdir.
- Had to disable autoheader since it wipes out config.h.in
10Sep03
- Made pthreads default -- lots of problems converting to new
  autoconf -- it deleted my config.h.in file!
01Sep03
- Fixed bad file descriptor in SO_KEEPALIVE for slave (reported
  by Derek Battams.
- Added informative subject to email onbattery, ... (suggested
  by a user, thanks -- sorry I forgot who).
- #ifdef off IP6 code in inet_pton for platforms that do not have it.
06Aug03
- Added the -s "$MSG" to each of the script files (mainsback, ...)
  as suggested by Nicholas Robinson.
- The dependencies were not being correctly generated, so
  simplified the code. 
- Added install: to the include Makefile.in.  Lack of it 
  caused problems on OpenBSD.
- Changed LINEVOLT to MAINS in apcstatus.c to fix a problem   
  reported by David Walser of CGI reporting zero volts.
- Tried to clarify the difference between the net and
  the master/slave drivers in the doc.

----> Release apcupsd-3.10.6 (05 August 2003) Beta
05Aug03
- Because of the complaints about the master/slave code, I finally
  got around to testing it, and it was seriously broken in more
  than one way.  It seems to be working now.
- Started adding new set_ups() instead of UPS_SET().
- Adding the SIGCHLD broke quite a lot of calls in the master/slave
  code. This will probably also show up elsewhere.
04Aug03
- Tested the net driver, it seems to work perfectly fine. I
  did add a grace period of 4 seconds with comm loss on batteries
  before the shutdown is done.
- A number of changes to the manual.
- Clean up the net driver to be compatible with C++ for building
  on Windows.
- Ensure that we don't get stuck in a waitpid loop after calling
  apccontrol. Hopefully this will fix the 100% CPU usage on Win32
  after a power condition.

----> Release apcupsd-3.10.6 (18 July 2003)
18Jul03
- Reissue accept() immediately if interrupted rather than waiting.

----> Release apcupsd-3.10.6 (16 July 2003)
15Jul03
- In attempting to build the .cgi files on Windows, I realized that
  the gd1.2 code was no longer in the distribution.  Although some
  people were worried about the gif patent (I wasn't) it has now
  expired, so I see no reason why not to distribute the code as
  we always have. For the purists, it appears that the version you
  have on your system (png) will be used in preference to the local
  gd code.
- I backed out the 12July SNMP changes since they probably only
  work for 3 phase and I don't have the libraries to test compile
  or the card to test.

12Jul03
- Modify snmp driver to use upsPhaseOutputPercentPower instead of
  upsAdvOutputLoad as requested by ivac@gnjilux.srk.fer.hr.
08Jul03
- Added Sergey Vlasov's second USB kernel patch to the examples
  directory.  The two patches can be found in:
    linux-2.4.20-killpower.patch
    linux-2.4.20-USB-reject.patch
  The emails are also in that directory.
- As suggested by Sergey for the 2.5 kernel, I have #ifdefed
  out the call to HIDIOCGREPORT in the int_write routine used
  for killpower.
07Jul03
- Lots of updates to the document.
- Fixed a slave crash in master/slave mode. It was a missing setup_device,
  and was diagnosed and reported by Christian Schacht -- many thanks.

----> Release apcupsd-3.10.6 (30 May 2003)
30May03
- Made non-existent header files non-fatal and added #ifdef 
  around sys/socket.h so it will compile on IRIX.
- Add Scott's latest apcupsd.conf with the hid-ups program code 
  (actually I had done this some time ago ...).
- Start a ReleaseNotes file
20May03
- Fixed a typo error (mine) that prevented Scott from building
  rpms. Strange, it worked for me????
19May03
- More DESTDIR cleanup for building non-root rpms.
18May03
- Add DESTDIR everywhere so we can build rpms non-root
- Additional documentation
- Add Scott's new apcupsd.spec
06May03
- On Hilary Jones suggestion, I fixed the ./configure message that
  is printed when no libgd is found to direct the user to the
  main source.01May03
01May03
- Add Sergey Vlasov's kernel patch to the examples directory,
  and it replaces the previous patch.
  This patch now solves the killpower problem on Linux USB.
  <apcupsd-source>/examples/linux-2.4.20-alt-apc_usb_ups.patch
  notes are in: linux-usb-patch-email.txt
22Apr03
- Add TTY mode to apctest to communicated directly with UPS.
- Apply patch to linux-usb.c in killpower supplied by
  Sergey Vlasov (thanks!).
19Apr03
- Eliminate pow() function in linux-usb.c so that -lm is not needed.
14Apr03
- Add automatic detection of socklen_t
11Apr03
- I received a kernel patch from Sergey Vlasov that fixes
  the killpower problem on CS UPSes. apcupsd can now shutdown
  these devices! I've removed some debug code that was in
  the killpower routine and is not needed or used.
  I have put the kernel patch in:
    <apcupsd-source>/examples/linux-2.4.20-alt-hidups.patch
05Apr03
- When the Win32 version starts as a service, delete the
  NOLOGIN and PWRFAIL files to prevent later confusion.
  Thanks to Allen Crawford for pointing this out.
29Mar03
- Modify all Win32 program so that only windowed programs
  (apcupsd, popup) have the -mwindows flags. The others do not.
- Tweak apctest.c a bit -- add EEPROM programming (still a bit
  kludgy), but at least it can be done.
21Mar03
- Lots of clean ups for Cygwin stuff. Events now work, and exit.
- Clean up a few undefined symbols in building with everything on.
- Eliminate pid and serial port lock file on Win32 systems.
10Mar03
- Modify init script to use daemon so that STDIN/OUT, ... are   
  detached from the terminal and pointed to the log file. This
  prevents remotely logged in users who start apcupsd from being
  unable to log out.
06Mar03
- Made some mindor modifications to configure.in and aclocal.m4 to
  make consistent use of double quotes in test statements in
  response to problems with make install reported by Andrew Surratt.
- Thanks to Richard Schwaninger for finding and submitting a patch to
  the tcp-wrappers code that prevented it from working because of an
  invalid name. Fixed.
05Mar03
- Thanks to Andrew Reid for pointing out that the child reaping code
  should be clearing the pid slot if a -1 is returned. The pid table
  was filling up on his system due to killed children. Fixed
21Feb03
- A bug report against the Mandrake version of apcupsd indicates that
  apcupsd is not releasing /dev/console.  I've moved the close() of
  STDIN so that it is always executed to prevent this possibility.
12Feb03
- Implement very crude first cut of EEPROM programming in apctest.
  Set battery date, set UPS name, and print EEPROM values should
  work.

----> Release apcupsd-3.10.5 (03 Feb 2003)
03Feb03
- Added an avsnprinf() routine.          
- Replaced all vsprintf() calls with avsnprintf() to close a
  master/slave exploit that was published.
- Remove awk processing of halt script for Mandrake as suggested by
  David Walser.
02Feb03
- Corrected --enable-oldnet to be --enable-master-slave as I
  had intended. Thanks to David Walser for pointing this out.
- Added David Walser's apcupsd.spec.in for Mandrake and his
  changes to configure.in.

----> Release apcupsd-3.10.4 (28 Jan 2003)
28Jan03
- Fixed a lot of problems in the Win32 build (improper #ifdefing,
  missing prototypes, inet_pton not properly ifdeffed. Header files
  that are not available, ...)
- Modified make distclean to remove CVS directories (or most of them).
21Jan03
- Added error messages if old master/slave code called.
- Reworked the messages for ./configure --help to be aligned and
  clearer for networking and master/slave
- A number of important patches all supplied by Mirko Doelle.
- Moved technotes for 2001 and 2002 into respective directories.
- Created a new kes-3.10.4 file to which I will append if there
  are additional changes to 3.10.4. This will reduce the number
  of release note files.

Changes submitted this submission:
19Jan03
- Fixed hangs in usb driver startup when could not open port by
  releasing the ups structure lock before the Error_abort calls.
  Thanks to Mirko Doelle for reporting this.
- Fixed the default path for mkinstalldirs from $(topdir) to
  $(topdir)/autoconf.  Reported by Mirko.
- Fixed configure.in to always create platform/apccontrol. Previously
  it was not being created for Debian. Reported by Mirko.
- Removed Debian specific installation of apccontrol. Reported by
  Mirko.
- Implemented code to display the apcupsd events with the most recent
  first. Code sent by Mirko, but I modified it slightly.

----> Release apcupsd-3.10.3 (12 Dec 2002)
- Tried to correct problems with Makefiles
- Thanks to David Walser who pointed out where on the Sun, the make
  install was doing terrible things -- I found that there was
  a missing semicolon in the new Makefile.  Before my previous cleanup,
  there were actually 4 missing semicolons.  Hopefully this
  will correct the problem.
- For a second time, David Walser came to the rescue finding the
  CGI install problem reported by lots of people.  The new code
  used "make" instead of $(MAKE) to call the CGI make.  Fixed.

Changes submitted this submission:
- Removed Makefile code that creates and sets permission bits on
  /tmp $(prefix) and $(exec-prefix)
- Removed all occurrences of -z in the Makefiles (at least that I
  found) and replaced them with a more conservative formulation.
- Removed the install-symlinks script that caused some problems
  on distributions with blanks in the DISTVER name.
- Added install-symlinks to the suse Makefile.in. This is the
  only platform that currently uses it.


----> Release apcupsd-3.10.2 (08 Nov 2002)
- New cable design for BackUPS CS models to run it
  in Smart serial mode.
- Corrected a major bug in the smart and net code where the
  status word was getting clobbered.

Changes submitted this submission:
- A few days ago, slither_man sent me an email with some 
  information on how to run a BackUPS CS in smart mode with
  a serial cable.  He found the information by assuming that
  the UPS supported Smart mode and through trial and error.
  Well, it works!!!!!!! Amazing!!!! Thanks slither_man.
- Documentation for new CUSTOM-RJ54 cable that can be constructed
  from the end of an ethernet cable and a DB9F connector.

- Changed all the MAIL instances in shell scripts into APCUPSD_MAIL.
  This helps keep separated the apcupsd specific shell variables from
  the generic $MAIL shell variable that points to the user's mailbox:

    riccardo@ao:~> echo $MAIL
    /var/spool/mail/riccardo
    riccardo@ao:~>

  An user reported that ./configure script transformed internal $MAIL
  executable program into her mailbox path. This may happen if the
  configure suite is broken (thing that I don't want to check further).
  That said, APCUPSD_MAIL now should always correctly point to the
  system default mail client program.
- Made so that error_cleanup is a generic function called by the
  generic error handlers. Now if you want specific error_cleanup
  you don't need to write also specific error handlers, provided
  that error_cleanup don't accept parameters (i.e.
  specific_error_cleanup(void)) but if you want to have a specific
  error_cleanup with parameters you _must_ also write specific
  error_exit and error_out into which you will call the specific
  error_cleanup with parameters.
- Made so that error_exit and error_out are generic handlers that
  can be assigned, if needed, to specific handlers by the main() of
  each program. If not, the Error* routines will use the generic
  versions in apclib.a.
- Fixed wrong "true" usage in powerflute.
- Cleaned up the terminate() functions.
- Made DeviceVendor part of snmp DEVICE case insensitive.

----> Release apcupsd-3.10.1 (16 Sep 2002)
- Fixed a filling error with USB status dword.
- Fixed autoconf check and dependances of -lpanel,etc with -lncurses.
- Made more portable the apccontrol external scripts when calling the
  mailer (subject is now in the echo lines instead of relying on the
  presence of a -s switch on the mailer).
- Added gentoo platform.
- Added DESTDIR variable for platform packaging.
- Fixed a off-by-one problem in events table.
- Conditional compilation of old and new network code. Old network code
  disabled by default while new network code enabled by default.
- Removed old src/apcnet.c.old, old implementation of old networking.

----> Release apcupsd-3.10.0 (28 Jul 2002)
- Added documentation for SNMP UPSes. Documented the use of
  --kill-on-powerfail switch during shutdown.
- SuSE 8.0 is now supported.
- Added forward declaration of inet_pton and localtime_r when they
  are extraobj.
- Added inet_pton function. Implementation from Internet Software
  Consortium.
- Made sp_flags private to the dumb driver.
- Can't SET/CLEAR multiple flags: do them one by one. Fixed this
  bug in SNMP driver.
- Added 127A and 128A cables support for dumb UPSes.
- Implemented killpower for PowerNet MIB.
- Implemented the SNMP driver for APC's PowerNet MIB.
- Restructured UPSINFO so that now all the flags are contained
  into the Status bitmap.
- *BSD should compile cleanly again.
- Source tree is now under CVS revision control.
- Added support for listening on specific IP addresses/subnets in
  NIS server, from Troy.
- Doc updates, from Kern.

----> Release apcupsd-3.9.9 (18 May 2002)
- Applied final Kern's patch.
- Added a little program 'devicedbg' to help in debugging device
  drivers with gdb. To compile, 'make devicedbg' in src/.
- Cygwin platform added (reorganized old cygwin files).
- Darwin platform added.
- compile line is 'gcc -c -g -O2   -I../include  apcaction.c'.
- reviewed all the platform makefiles.
- use system libgd, searching for include files in system include dirs.
- in case system does not have libgd, uses provided libgd.
- put gd1.2 into master's contrib directory and a message if gd1.2
  is not present into src/gd1.2 (like default distribution will not)
  is issued at configure time to get gd1.2 from contrib and extract it
  into the src/ directory. Re-run config and all will be good and happy.
- Sources reorganization.
- Mandrake platform added.

----> Release apcupsd-3.9.8 (27 January 2002)
- New drivers layer adds new keywords to the UPSTYPE configuration
  variable (dumb, apcsmart, usb, snmp, net, and test). NOTE! only the
  first three are currently functional. All the old UPSTYPE keywords
  are translated into dumb or apcsmart for backward compatibility.   
  NOTE! snmp, net, and test drivers are experimental and thus
  largely non-functional.
- Reorganized developers documentation inside an html manual
  (Riccardo).
- Includes all enhancements to the officially released versions through
  3.8.5.
- Make drivers block a reasonable amount of
  time (maximum 1 minute, minimum 1 second). Blocking is determined
  by the state and functions requested.
- Many enhancements to the USB driver to support SmartUPSes (mostly).
- New code by Kamal to handle and truncate the events file.
- New smtp program to permit email messages from WinNT/Win2000 machines.
- Updates to apcaccess.
- New Dmsg() debug message code implemented.
- Include apctest Runtime Calibration feature.


----> Release apcupsd-3.9.4 Aug 13 2001
- Improvements in master/slave timeout detection and error messages.
- New master connect/disconnect events (accontrol).
- Additional master/slave documentation.
- Document USB.
- Updated manual to include ideas/suggestions received
  from users installing 3.8.2.
- Fixed safe.apccontrol to be a bit more system independent
  (thanks to Steven Orr for the idea).
- Added safe.apccontrol.in so that it is configured properly.
- Added a big warning message to the end of the ./configure
  output if /usr/ucb is on your path.
- Fixed reference to lock file in Solaris apcupsd.in so it is
  properly configured.
- Removed unused variable from Solaris apcupsd.in
- Added Makefile to examples directory
- Modified main Makefile.in to do clean and distclean of examples
- Additional documentation.
- Removed the sleep 2d from the halt script.
- Install apcupsd.conf with 644 permissions
- Add --disable-install-distdir ./configure option.
  This allows easier installation of slaves or
  multiple copies of apcupsd.
- Used makedepend if not gcc (Solaris fix).
- Set SO_REUSEADDR in slave machines.
- Add 940-0020C cable support (same as 20B).
- UPSNAME now sets upsname if given. Otherwise,
  apcupsd attempts to get name from UPS, if not found,
  uses hostname, finally "default".
- Implement CommLost NIS status.
- Implement Shutdown NIS status.
- Implement Slave NIS status.
- Correct SmartTrim and SmartBoost detection code.
- ./configure prints name of shutdown program.
- Add port to hosts.conf.
- Add new apccontrol arguments to script file.
- Add UPSNAME to RedHat apccontrol.
- Manual updates.
- Eliminated all N/A fields in STATUS report.
- Always construct STATFLAG in STATUS report.
- Added generic symlink installation in distributions/
- Cleanups of main Makefile.in