WinNUT release 0.44.1c download
Ready to install version:WinNutUPSMonV0.44.1c.zip -
Compatible with NUT versions 0.44.x
Source code (Compiles with MS Visual Studio 6.0)
Based on source for NUT release version 0.44.1. Compatable with NUT versions
Main problems addressed in this release was adding the ability to allow for non forced
shutdowns (because it causes problems in some cases) and to fix a problem where we left upsd
with a dead connection every time windows 9x was shutdown.
The code was getting pretty disorganized, so it was restructured and duplicate
code was cleaned up and centralized. Also did more work to make it behave as a proper
windows application and service.
Bugs fixed & Improvements added ability to change shutdown types (Forced, Normal) in config tool and monitor daemon
Added daemon stop and start functionality to the config tool
Added current daemon status to the config tool
Registering daemon as win9x "service" process so it doesn't get killed when user logs out
(need this now because we register as a windows application, and would now be shutdown otherwise)
Config tool now use the Service manager API to register as a NT service, so reboots are no longer
required after installation to use the service.
Daemon is now registered with the event log service under NT/2000 so the event log messages show
Created winupscommon.c/h to contain all code / constants common to the config tool and the
daemon. This includes registry load and store functions / constants, configuration struct,
as well as daemon start / stop / and current status functions.
Completely restructured the daemon code.
Almost all code for handling windows events, services, etc is now in WinNUTMain.c. Removed the
Microsoft sample code that probably can't be release under GPL with my own completely new
implementation - which should conform better to the services API.
The application mode daemon now registers as a windows application so it has a proper message
loop (before this was only created when we had to display the win9x shutdown). This allows
the daemon to handle windows 9x shutdown so it doesn't leave open connections on the upsd side.
The restructuring along with some of the other changes should make it easier to port over newer
versions of the nut code.
The previous syslog function was a hack, and only handled event code and 2 string parameters.
It has been replaced with a new system that uses "..." arguement so it works like printf. Also
added Mutex based locking to prevent race conditions during setup, writing, and closing of the
I finally found that function I'd been looking for in the Win32API, so now AlertPopup uses the
MessageBox function to popup the message. This is better than the old popup, as it can popup
on the NT login screen, it wraps text, looks nicer, it's less coding for me...
Added -c stop command to stop any running WinNUTUpsMon daemons
Added -c start command to start the winnut daemon (service or application mode)
Added Application mutex that prevents multiple copies of the daemon to monitor simultanously