Ports and Packages
Mailing Lists
Bugs and Known Issues
Upcoming Versions
Change Log

Brief descriptions of the changes made between different releases of NetSaint are listed here...

 0.0.7 - 03/01/2002
  • Bug fix in monthly log rotation
  • Bug fix for state statistics calculation during clock skew
  • Removed LIFO size restriction in logfile and history CGIs
  • Bug fix in detection of circular service dependencies
  • Bug fix in command file creation

 0.0.7b8 - 12/02/2001
  • Bug fix for potential segfault in status CGI
  • Embedded Perl bug fixes
  • Embedded Perl documentation
  • Mini embedded Perl testing program added to contrib directory
  • Bug fixes in WAP and availavility CGIs
  • Safer temp file handling

 0.0.7b7 - 09/30/2001
  • Fixed bug in PostgreSQL DB creation script
  • Added meta tags to WML header in statuswml CGI to prevent caching of pages on WAP devices
  • Corrected bug in host and service state statistics view in extinfo CGI
  • Missing CONTENT_TYPE header fields from CGI POSTs are assumed to be "application/octet-stream" per RFC-2068
  • More embedded Perl interpreter bug fixes

 0.0.7b6 - 07/02/2001
  • Fixed bug with creation of lockfile
  • Fixed memory leak with PostgreSQL backed (hopefully)
  • Fixed (again) stats in availability CGI
  • Two $$ can now be used as a way to escape a single $ in commands

 0.0.7b5 - 06/11/2001
  • Fixed segmentation fault in outages CGI
  • Fixed bug in monthly log rotation time calculation in CGIs
  • Fixed display bug in availability CGI that affected state percentages for hosts in the hostgroup display mode
  • Bug fixes in PostgreSQL code for comment and retention data
  • A few other minor bug fixes

 0.0.7b4 - 04/27/2001
  • Embedded Perl interpreter enhancements
  • Configure script modifications
  • Fix for notification timing bug
  • snprintf() support for OSes that lack it

 0.0.7b3 - 03/17/2001
  • Embedded Perl interpreter bug fixes
  • Fixed bug where host/service state statistics were incorrectly inflated. Retention data must be blown away in order to remove the incorrect times, unless someone writes a script...
  • Added three auto-layout modes to statusmap CGI
  • Added support for DB table optimization (i.e. VACUUM in pgsql)
  • Fixed date/time format bugs in PostgreSQL code

 0.0.7b2 - 02/28/2001
  • Embedded Perl interpreter bug fixes
  • Minor configure script and Makefile changes
  • Fixed bug where host notifications were sent out even in STANDBY mode
  • Fixed bug where host notification interval was not always honored

 0.0.7b1 - 02/18/2001
  • Tactical overview CGI
  • Availability reporting CGI
  • WAP interface CGI
  • Embedded Perl interpreter
  • Forced service checks
  • Acknowledgements without notifications
  • Ability to schedule downtime for hosts and services
  • Flap detection
  • Custom intervals for notification escalations
  • Auto-save of retention data
  • Extended service information
  • Service notification and execution dependencies
  • Aggregated status data updates
  • External command file now implemented as a FIFO
  • Statusmap and statuswrl CGI rewritten to use user-supplied coordinates for drawing
  • Database support for status, comment, extended, and retention data
  • Lots of other little goodies..

 0.0.6 - 11/01/2000
  • Patched daemon-init script
  • Fixed small bug affecting state retention of services that were in soft states
  • Fixed bug with authentication requirements in outages CGI
  • Fixed bug with host logic where hosts might not change from an unreachable state to a down state when their parent(s) recovered
  • Fixed bug where service checks that timed out never had their results recorded properly and thus would never get rescheduled
  • Fixed bug where service checks that timed out were never killed

 0.0.6b6 - 09/23/2000
  • Patched drop_privileges() to set supplemetary group privileges properly
  • Patched subst and daemon-init scripts
  • Fixed bug where trends CGI would go into infinite loop if log rotation was not used
  • Commands that have a return code or 126 or 127 are now logged with a warning about potentialy missing scripts or binaries
  • Added a check for NULL host name and service description in IPC message queue to avoid errneous warnings about results being found for non-existent services
  • Services that are in an OK state are no longer escalated to a critical state (HOST_DOWN or UNREACHABLE) when there are host problems

 0.0.6b5 - 08/26/2000
  • Added ability to remove host and service acknowledgements
  • Services that have a notification interval of 0 (no re-notifications) no longer generate warning during pre-flight check
  • A read lock is now placed on the external command file while it is being processed
  • NetSaint will now shut itself down if it cannot delete the command file once it is done processing the contents
  • Added a check for services that may become "orphaned" during normal operation
  • Fixed a bug where a NULL host event handler caused a crash when debug options were enabled
  • Patched daemon-init script to have correct location of log file
  • Modified status CGI to only sound audio alert if there were problems for hosts/services that had not been acknowledged already and that were not disabled
  • Modified status CGI so hosts that have checks disabled have an icon displayed in the status detail view (like services)
  • Fixed bugs in status CGI where link to extended info CGI was generated improperly for comments and disabled checks
  • Minor patches to the popup window code in the status CGI to preserve hoststatus and servicestatus types

 0.0.6b4 - 07/25/2000
  • Fixed bug where hosts that had no parents and were in a DOWN state were incorrectly listed as being UNREACHABLE
  • Fixed bug in status CGI where host names were not being URL encoded properly
  • Configure script and Makefile changes
  • Patched daemon-init script to work on more platforms
  • Added daemonchk and traceroute CGIs to contrib directory

 0.0.6b3 - 07/09/2000
  • Fixed bugs in several CGIs where NULL hostextinfo entries were not being checked for properly
  • Fixed bug in trends CGI where UNKNOWN service states were not being read correctly
  • Fixed bug in status CGI where host names were not being URL encoded
  • Patched drop_privileges() so that setgid() call works properly
  • Minor Makfile patches and new daemon-init script
  • Fixed bug where daemon mode was not setting a file lock on the lock file correctly
  • Minor enhancements to the trends CGI

 0.0.6b2 - 06/25/2000
  • Fixed a bug in host macro processing
  • dded netsaint_user and netsaint_group directives to main config file to allow NetSaint to drop privileges on startup
  • Default path to CGI config file is now the same as the other config files (/usr/local/netsaint/etc)
  • Added $USERn$ macros
  • Added resource_file directive to main config file for specifying files that contain $USERn$ macro definitions
  • Misc. documentation bug fixes
  • New docs on securing NetSaint
  • Added "noheader" and "embedded" options to CGIs to remove top header and allow for embedding CGI output in other HTML pages via #include directives

 0.0.6b1 - 06/11/2000
  • Multiple parent hosts may now be specified for each host definition
  • Passive service checks
  • Volatile services
  • Optional host and service notification escalations
  • Outages and trends CGIs
  • Entry sorting and optional audio alerts in status CGI
  • CGIs now use stylesheets
  • Optional host and service state retention between program restarts
  • Optional logging of initial host and service states
  • Acknowledgement of host and service problems via the web interface
  • Timeouts for service check, host check, event handler, and notification commands
  • Various macro changes
  • A lot of internal code changes and minor bug fixes

 0.0.5-2 - 06/12/2000
  • Included patched cgi/getcgi.c and cgi/popen.c to fix buffer overflows in the CGIs.

 0.0.5 - 04/26/2000
  • Off the top of my head, I don't think any changes were made since the beta 6 release. See changelog info for previous 0.0.5 betas for a complete list of changes since the 0.0.4 release.

 0.0.5b6 - 04/06/2000
  • Fixed a race condition in the daemon initialization code that could leave the lock file open to a symlink attack
  • Fixed a bug where NetSaint would loop continuously if it were restarted with configuration data that contained errors
  • Changed the 'make uninstall' functionality to be less destructive
  • Fixed a bug in the IPC message queue initialization code that could prevent multiple copies of NetSaint from being run simultaneously

 0.0.5b5 - 03/26/2000
  • Fixed a bug where notifications were prevented from being sent out
  • Fixed a bug in the timeperiod scheduling code, which sometimes caused service checks to get rescheduled 24 hours too far into the future

 0.0.5b4 - 02/21/2000
  • Fixed bug where the main config file could not be opened after a restart if a full path was not specified when the program was first started
  • Fixed bug where state times for services on a host that was down or unreachable could become inverted
  • Fixed bug where plugin results from service checks were sometimes incorrect
  • Fixed bug where the lockfile was being deleted during restarts in daemon mode
  • A few other minor bug fixes...

 0.0.5b3 - 01/17/2000
  • Added sample event handler scripts and documentation on how notifications work
  • Added ability to display only services with problems in status CGI
  • Added --with-gd-lib and --with-gd-inc directives to configure script for specifying location of GD library and includes
  • Modified configure script to detect proper method for grabbing the timezone string
  • Fixed bug with processing of notification commands in contact definitions
  • Fixed bug where system time change resulting in segfault
  • Fixed bug with service status filters in status CGI that prevented services that were in a RECOVERY state from being displayed

 0.0.5b2 - 01/09/2000
  • Several bug fixes
  • Added service_interleave_factor option to reduce load on remote hosts
  • Added max_concurrent_checks option to limit load on local host
  • Added service and host status type filters to status CGI

 0.0.5b1 - 12/29/1999
  • Parallel execution of service checks
  • Automatic log file rotation
  • Active and standby program modes
  • External command interface
  • Host and service state statistics
  • Dynamic network map generation
  • CGI authentication/authorization requirements
  • Daemon mode
  • NetSaint process checking in the CGIs
  • Support for multiple host configuration files
  • Log file reversal in the CGIs
  • Global event handlers
  • Some basic means of implementing redundancy
  • Several of the usual bug fixes
  • Lots of minor enhancements...

 0.0.4 - 09/02/1999
  • Fixed bug where Netsaint was reporting UNREACHABLE hosts as being DOWN
  • Added a check for duplicate service definitions in pre_flight_check()
  • Fixed a typo in the configure script that prevented the sample host configuration file from being created correctly
  • Added a detailed view of all services associated with a particular hostgroup to the status CGI
  • Fixed bug in side.html.in where service status detail CGI-BIN URL was not getting generated correctly
  • Fixed a bug where host names that contained a period were not being processed correctly by the status CGI

 0.0.4b4 - 08/15/1999
  • Fixed bug in netsaint.c where last line of config files were being read twice
  • CGIs now use full path when opening nscgi.cfg
  • URLs to CGIs in index.html and side.html are now auto generated from the configure script options (can be changed with the --with-cgiurl option)
  • Added options to the history and notifications CGIs to allow for easier viewing of different types of alerts and notifications
  • Fixed a bug where NetSaint would not always restart or shutdown properly upon receiving a signal
  • Fixed a minor bug in the calculation of the inter-check delay to use when initially scheduling service checks
  • Added a function to cleanup zombie processes on a regular interval

 0.0.4b3 - 08/05/1999
  • Removed a call to update_status_log() in monitor_service() where checks that had to be delayed would not get logged correctly. This isn't really fixed, the problem is just gone for now. It will be fixed eventually...
  • Fixed a problem in pre_flight_check() where not all errors would show a problem when using the -v option
  • Wrote my_strsep() function using source from glibc 2.x library because Solaris is brain dead...
  • The side.html distributed with 0.0.4b2 was missing the time periods bar, which is now fixed.
  • Added a few more functions to cgiutils.c and tightened up the code for reading/parsing files a bit, so as to avoid premature end of script errors in the future
  • Added missing -p argument to sample check_tcp and check_udp command definitions
  • Fixed erorr in sample host config file where contact definitions had only one time period
  • Added $(SOCKETLIBS) argument to Makefile for check_overcr plugin
  • Added quotes around query argument in the check_log plugin
  • Added a check for no supported options in the check_ups plugin
  • Modified the code in main() to be a bit clearer

 0.0.4b2 - 07/30/1999
  • Entries read from config files are now stripped of CR\LF pairs, spaces, and tabs
  • Added notification on recovery/down/unreachables options to host definitions
  • Fixed a few bugs in the host check functions and made problem/resolution detection a bit smarter
  • Fixed a bug where hosts that became unreachable would result in two notifications being sent out
  • Fixed a bug where soft host problems were getting logged when they shouldn't have been
  • Expanded the functionality of the agressive_host_checking option to speed up host checks
  • Added time periods to host configuration file
  • Added a check time period to service definitions
  • Added notification time periods to service, host, and contact definitions
  • Added contact groups to service definitions
  • Added time zone to date/time strings in CGIs
  • Minor tweaks to the web interface
  • Added more documentation and updated existing docs for 0.0.4

 0.0.4b1 - 07/13/1999
  • Fixed bug in get_raw_command_line() where function was returning a pointer to a variable declared locally
  • Fixed a bug in monitor_service() where hosts were not being reported as down when they should have been
  • Fixed a bug in host_notification() where previous state (instead of current state) was being used for notification type
  • Added retry_interval option to service definitions to allow for user-specified retry rates on a per-service basis
  • A better web interface and new logo thanks to the help of Todd Wheeler
  • Rewrote a lot of code behind the CGIs, making it easier to create custom CGI displays
  • Soft host errors are no longer recorded after host is already down "hard"
  • Added agressive host checking option to try and make the logic behind host status checks a bit more intelligent (and faster)
  • Date/time stamps in log files have to changed to time_t format (seconds since Unix epoch)
  • Streamlined the main service check logic a bit and made it work with the new host status types
  • Modified router/host check logic to determine the status of a host (UP, DOWN, or UNREACHABLE)
  • Replace on_local_net option in host definition with parent_host option
  • Remove all local router variables and functions that were present in 0.0.3

 0.0.3 - 05/21/1999
  • Rewrote check_nwstat plugin to fix uptime and volume space errata
  • Fixed problem with NetSaint hogging cpu time while it waited for child processes to finish
  • Incorporated check_swap and check_vsz plugins contributed by Karl DeBisschop
  • Minor coding changes for portability across other OSes

 0.0.3b2 - 05/17/1999
  • Added Netware statistics plugin (check_nwstat)
  • Added the netsaint_statd package contributed by Charlie Cook
  • Incorporated autoconf config scripts contributed by Karl DeBisschop
  • Fixed a minor bug in the contact notification code
  • Fixed a bug with the processing of macros $ARG7$ - $ARG9$
  • Added some code to my_system() to prevent unresponsive child processes from hanging NetSaint

 0.0.3b1 - 05/10/1999
  • Added generic MRTG plugin (check_mrtg) and a dummy plugin (check_dummy)
  • Added postgresQL plugin (check_pgsql) - contributed by Karl DeBisschop
  • Added "pending" status to services which have not been checked yet
  • Added <max_attempts> option to host definitions
  • Added ability to log "soft" error states
  • Added service and host event handlers
  • Increased number of command argument macros to 16 ($ARG1$ - $ARG16$)
  • Added ability to automatically regenerate HTML pages at startup
  • Moved hardcoded paths/filenames in CGIs out to config files
  • Added ability to specify multiple contact groups per host group
  • Wrote calculate_inter_check_delay() function to help in load balancing
  • Rewrote the monitor_service() function
  • Many, many other minor tweaks and bug fixes...

 0.0.2p1 - 04/18/1999
  • Fixed problem with size of Changelog file in original 0.0.2 release
  • Fixed a bug in parse_input() where service commands that contained equals signs would get chopped off.
  • Fixed a bug in add_host() with DEBUG1 code causing compilation errors due to a missing parentheses
  • Fixed a bug in pre_flight_check() where NetSaint would return an error if you did not specify host check commands in host definitions
  • Fixed current attempt/max attempts inconsistency for service retries
  • Fixed bug in update_status_log() where host/service pair string matching prevented some services from displaying in the status CGI
  • Fixed bug in status CGI where UNKNOWN status levels were not being counted in the status totals table
  • Added HP printer plugin (check_hpjd)
  • Added MRTG traffic rate plugin (check_mrtgtraf)
  • Added Oracle database plugin (check_oracle) - Contributed by Jorge Sanchez
  • Added processor load plugin (check_load) - Contributed by Felipe Almeida
  • Added documentation for host configuration file
  • Reformatted documentation for plugins
  • Added documentation on host/contact/service relationships
  • Added some documentation explaining how NetSaint performs its monitoring
  • Added compiler support for IRIX - contributed by Charlie Cook
  • Modified pre_flight_check() to validate check commands used in service definitions
  • Increased number of argument macros to 6 ($ARG1$ - $ARG6$)
  • Added optional argument to check_ping plugin to allow for optional number of ping packets to send
  • Many other minor tweaks...

 0.0.2 - 04/10/1999
  • Added host check and notification functionality, thereby aggregating mutiple service recovery/failure notifications when an entire host (that has several monitored services) goes down or comes back online
  • Added option to not log host/service notifications
  • Added option to control notification interval for local router problems
  • Added check_dns, check_disk, check_users, and check_procs plugins
  • Updated check_http plugin to include host header option
  • Fixed a bug where custom status log location was not working properly
  • Fixed a bug where the month was incorrect in the logs and status CGI
  • Some minor tweaks to the HTML interface
  • Added compiler support for HP-UX (not fully tested yet)

 0.0.1 - 03/14/1999
  • First release!

Last modified: Mar 01st, 2002