TODO: 
 * Process times and similar ?
 * Fix configuration GUI (low priority)
 * Fix installer (after configuration UI)
 * Add module for relaying events
 * Add filtering to WMI module
 * Fix WMI module
 * Fix PDH problems
 * Add API for rehashing the daemon (or implement it the API is there but does nothing)

2006-03-06 MickeM
 ! 0.2.7 released

2006-03-05 MickeM
 * Fixed -v FILEAGE check_nt (NSClient) check.
 * Added licence agreement header to all files

2006-03-04 MickeM
 + Added script_dir option to NRPE scetion as well as some sample scripts in the scripts/
   subdirectory. The script_dir will use all files in this directory as scripts for NRPE
 + Added japanese counters to counters.defs from patch (thanx!!!)

2006-02-25 MickeM
 + Added possibility to check many memory checks in one go, just stack type options.
     type=paged type=physical etc...
 * Fixed a performance check bug in the last nightly.
 * Fixed a potential crash when a maleformed check-file-age command was issued.
 + Added support for more then and NSClient command
 + Added netmask support to allowed_hosts (try with 192.168.0.1/24 and such)
 
2006-02-22 MickeM
 + Added debug output to see if the socket is bound and/or has shutdown.
 * Fixed a potential bug in the threadmanager.
 + Added configuration option for suppressing performance datat to the NRPE section.
   Set performance_data=0 to stop sendoing performancedata to nagios
 + New (better?) (simpler?) eventlog checking
 + Added option to most commands (ignore-perf-data) to suppres performance data
 + Added option CheckAll for checking all auto-start services to checkServiceState.
   Also an exclude=<service> to exclude checking that.
 * Fixed return syntax for PROCSTATE nsclient

2006-02-21 MickeM
 * Fixed "broken password check" (again) in NSClient listener (this time it is correct! :)

2006-12-02 MickeM
 + Managed to build so it works on NT 4.0 (SP6a) and W2K3
 * Fixed "broken password check" in NSClient listener

2006-11-18 MickeM
 + Added support for empty NRPE checking (i.e.. chec_nrpe without a -c argument)
 * Added error message when detected language is missing from counters.defs
 + Added Swedish locale to counters.defs (yes, I switched to Swedish XP on my computer :)
 * Fixed : (and possibly other problems) in counters when checking from check_nt (via NSCLient protocol)
 + Added CheckAllExcept to CheckDrive to check all except the specified drives.
 * Fixed a display error in the variouse size functions (1000-1024 byte was displayed incorrectly)

2006-10-05 MickeM
 * Yayyy!!! (first fix in a looong while :)
 * Fixed a W2k3 "bug" (actually just an incorrect error) but the:
   "e .\PDHCollector.cpp(130) Failed to query performance counters..." is no more...
 + Added option to NRPE/NSClient section to not-cache host names (for dyndns etc.)
   NOTICE this is "not safe" really in so far as someone might hi-jack your DNS and quickly gain 
   access to your nagios box (probably only a theoretical problem but hey! :)
   NOTICE this is "slow" since all hosts in the list are "looked up" each time you get a NRPE/NSClient 
   request it will be "slow" but I think it is not that much of a problem really.
   NOTICE I don't have the possibility to test this so feel free to report if it works and if it doesn't.
   Set cache_allowed_hosts=0 to disable host cache

2006-04-04 MickeM
 * Fixed a few more bugs to the INI/REG readers

2006-04-02 MickeM
 * Could all magicians stop trying to kill me? 
   *Please* i don't like to die!

2006-03-31 MickeM
 * Damn necromancers! stop 0wning my ass all the time!
 
2006-03-29 MickeM
 + Added API for saving/reading settings
 
2006-03-28 MickeM
 + Added REG/INI parsers
 * *NOTICE* You need to add an option (use_file=1) to your nsc.ini file or new builds wont work.

2006-03-25 MickeM
 * Oblivion f*cking roxx!

2006-03-02 MickeM
 * Fixed bug in INI-file reader (memory leak)

2006-03-01 MickeM
 * Fixed bug in CheckFile (now dates work correctly)

2006-02-26 MickeM
 + Added syntax option to CheckFile (%filename%, %creation%, %access%, %write%, %size%).

2006-02-25 MickeM
 * Fixed Sections problem (now sections can be any size)
 + Added bind_to_address option to both NRPE and NSClient section in the INI file.
   Allows you to bind the listener to a specific IP address (only dotted number not host name).
   This might break things as I had to do some internal rewrite of the Socket classes so be careful :)
 * Disabled default-debug logging (as things are fairly stable, you can still enable it by using debug=1 in the NSC:ini file)
 * "Fixed" socket backlog to use "max responsible value" as opposed to "10" if no value is specified.
 + Added option socket_back_log to both NRPE and NSClient section that allows you to tweak the "back-log" of incoming connections to keep.
   This is an advanced setting and should not be used. If you get "connection refused" when running many client this might be something you want to tweak though.
   And if you then start getting "Socket timeout" you might wanna tweak the timeout value as well because larger value here means it takes "longer" to process a socket.
 - I have looked into the event log problem and dates seem to work here so if anyone still have problems (use the syntax option to debug) let me know.
 * Moved listpdh and debugpdh into the CheckSystem module
 * Removed PDH dependencies from "core exe" means you can run NSClient++ without PDH (though you cant use the CheckSystem module)
 
2006-02-2? MickeM
 + Added new Interface for Modules (NSCommandLineExec that allows modules to execute things give from command line.
   Syntax is NSClient++ <module name> <command> [arguments] and if a module doesn't support this it is simply ignored.
 + Added new install/uninstall command to SystemTray module:
   NSClient++.exe SystemTray install 
   NSClient++.exe SystemTray uninstall 
   That will install/uninstall the system tray module this sets the "Allow Service to Interact with Desktop" flag for the service.
 * Removed the "Allow Service to Interact with Desktop" flag from the /install option so that it no longer defaults to on (see commands to set this above).
 * Fixed so checkProcess isn't case sensitive.
 * Added (not finished) syntax option to event log checker to format the outputted data

2006-02-12 MickeM
 + Added support for host name resolve to allowed_hosts

2006-02-08 MickeM
 ! Fixed filter-eventID in EventLog module (now works for all IDs regardless of severity state)
 + Added new filters to EventLog (filter-severity that can filter based on event severity success, error, warning, informational)

2006-02-07 MickeM
 + Added new filter option to eventlog filter-eventID
 + Added new operator to all numeric filters in:number,number,... etc. (for instance filter-eventID=in:123,456,789 to check for lists.

2006-02-05 MickeM
 + Added CheckFile check command
   This new command (in development) will allow various file checks such as age, size, date, etc on single or multiple files.
 + Added FILEAGE support to NSClient
 + Started to convert the web page to WIKI
 
2006-01-21 MickeM
 + Added WMI Check module (early alpha)
   This is an extremely early alpha more to see if there is an interest and how to progress with it.
   To use the WMI module enable the WMICheck.dll (nsc.ini) and then run the following check:
   CheckWMI MaxWarn=10 MaxCrit=15 "Query:load=Select LoadPercentage from win32_Processor"
   The Max* are as every other check and sets limits. 
   The Query works similarly to other check commands i.e.. Query:<name>=<WMI query>
   So any other WMI query should work (notice this is experimental and not stable and has virtually 
   no error handling so it is likely to crash nsclient if you ask anything "non working".)
   I would *really* *really* like to get feedback on how to expand this concept to work better so feel free to come with feedback.
  * Fixed NT4 /install (should work now!)

2006-01-02 MickeM
 * Fixed ChangeServiceConfig2 on NT4
 + Added support for more then 4GB memory (8GB?)
   Since I don't have this much memory this needs to be verified...
 * Fixed syntax of performance data

2005-09-24 MickeM
 * Fixed memory size bug (free and used were swapped)

2005-09-20 MickeM
 + Added option to debug all PDH counters /debugpdh

2005-09-17 MickeM
 + Added support for checking service by display name

2005-09-03 MickeM
 * First off, sorry for lack of updates, but was on vacation :)
 + Added ShowAll=long to CPULoad
 + Added several new types to checkMem (type=paged, type=physical, type=page, type=virtual)

2005-07-31 MickeM
 + /install now sets the service to autostart
 * Did some cleanup of minor code sections
 * (done before but not reported i think) /listpdh option added to list all PDH counters (nsclient++ /listpdh)
 + Added service description
 * Event log reworked (again) this time I hope it is better (and even useful, but syntax has changed)

2005-07-26 MickeM
 + Added support for ShowAll=long (to show long and short info, only applies to some areas, but available everywhere)
 + Extended Drive and memory check syntax to facilitate both Free and Used space checks: MaxWarnFree / MaxWarnUsed etc)

2005-07-19 MickeM
 * Changed thread API to use _creatthreadex as opposed to _creatthread (works better now!)
 * Fixed UNKNOWN return code (was 4 should have been 3)

2005-07-16 MickeM
 * Fixed drive checks from NSClient

2005-07-11 MickeM
 * *ALOT* of bug fixes and enhancements all checking code has been centralized and rewritten also my internal check scripts 
   have been extended to check a lot more things.
   *NOTICE* that EventLog has not been upgraded yet neither has the documentation.
 + Added MaxWarnCount / MinWarnCount to checkProcState to check number of processes running

2005-06-09 MickeM
 * Escapes " in NRPE commands in the NSC.ini

2005-06-05 MickeM
 * Created configuration interface (not released yet)

2005-06-03 MickeM
 * Created interactive installer (not released yet)

2005-06-02 MickeM
 * CheckEventLog reworked...

2005-06-01 MickeM
 * CheckSystem auto detects windows version and language.

2005-05-29 MickeM
 * Fixed PROCSTATE and SERVICESTATE return state.
 + Added support for individual size in CheckDriveSize and CheckFileSize (size has to be specified before a drive/path)
 * Fixed performance data for drives (and possibly other places)

2005-05-23 MickeM
 + Added obfuscated password support
 + Added some more debug info on commands (return code, and input args)
 + Added some more comments to the NSC.ini
 + Added central password "override"
 + Added central "host override"
 + Fixed bug with external commands always getting WARNING state

2005-05-22 MickeM
 + Added debug output for command
 + Added timestamps for log-to-file (date_mask to configure format)
 + Added support for "no password" with check_nt
 + Added log of bad password on NSClient requests.
 * Some threading issues fixed (I hate threading :)

2005-05-19 MickeM
 * Verified NT4 compatibility

2005-05-18 MickeM
 * Fixed bug in NSC.ini (section title for Check System was wrong)
 + Added multitasking for plug-ins (now two plug-ins can handle requests simultaneously)
 * Fixed some minor issues here and there

2005-05-15 MickeM
 + Added NRPE support for checkCounter
 + Updated documentation
 * Make check commands ignore case
 + Added CheckHelpers module to alter the result of various check and similar things 

2005-05-14 MickeM
 + Added support for Volumes (CheckDisk)
 + Added support for checking all drives of a certain kind
 + Added support for altering filter (makes it possible to check removable drives)
 + Created web page and better documentation

2005-04-20 MickeM
 + Added multitasking to socket listener (it can now handle multiple connections)
 * Fixed bug in NSClientListener now "seqv" in check_nt shouldn't happen.
 + Added COUNTER support to NSClient and CheckSystem

2005-04-19 MickeM
 + Added SSL support
 + Added a lot of new options
 + Added documentation
 * Renamed and restructured NSCLientCompat to CheckSystem
 * *ALOT* of fixes all over
 : We are now starting to get to something that is "stable"
 : This means that soon you might actually be able to use this.
 
2005-03-28 MickeM
 * Changed the Thread class a bit (mutex -> signal, and CreatThread does not return the instance)
 * Moved settings "keys" fro NRPE to config.h
 * Changed build options (added Distribution) which builds a zip file under ./dist (requires 7z installed)
 * Minor tweaks to error/debug logging and small fixes "here and there"

2005-03-26 MickeM
 + NRPE Support (very basic, no encryption, and nothing fancy)
 * Socket classes rewritten
 + Added NSCModuleHelper::getSettingsSection to the API

2005-03-22 MickeM
 * Fixed NSClientListener return codes for basic commands
 * Extracted arrayBuffer code into new files under /include
 * Minor tweaks in the API (fixed minor issues)
 + Added some basic "tests" to a few commands (getToken, and arrayBuffer related)

2005-03-21 MickeM
 * Fixed BUG in inject command (now things should "work" again, but far from stable)
 + Added NRPE return code
 * Fixed some return states to NSClientListener (not verified yet, but soon they will be back in order :)

2005-03-20 MickeM
 * Fundamental API changes (due to NRPE compatibility)
   - HandleCommand has changed
   - Inject has changed
   - Most API calls have new "return codes" (typedef:ed INT to allow for return code compiler checks)
   - A lot of the old return codes have changed
 + Preliminary NRPE support (can parse and execute incoming requests, cant return data yet, and no encryption)
 + New SimpleSocket in include/ will be used as base class for Listeners
 * A lot of rewrite to the NSC API

2005-03-19 MickeM
 * Re factored out NSCLient Listener as a separate module
 + Added initial NRPE listener module (not yet implemented only a shell)
 * Changed Module API (Inject function has new syntax)
 + Added some tokenizer function to charEx
 + Added new wrapper function to inject Command
 * Minor changes in relation to refactor work

2005-03-01 MickeM
 * Improved thread safety in Core
 + Added exception handling and logging in PDH code
 * Various fixes all over the place
 + New module for check size of files/directories
 * Changed build to Dynamic link
 * Added regular expression support for EventLog checker

2005-02-22 MickeM
 + Added documentation

2005-02-17 MickeM
 * NSClient issues fixed
 * System Tray issues fixed

2005-02-14 MickeM
 * Initial SourceForge release