See also the CHANGES.PLAINTEXT file for a list of
explanations what the impact of changes is


2000/01/08 12:58:05	uxmon/Monitor/ping.pm:
	use PATH in fping check

2000/01/08 12:47:56	uxmon/Config/software:
	enabled generic software check

2000/01/08 10:47:42	uxmon/Monitor/cmd.pm, uxmon/Config/ntp:
	extend the path while check()-ing so that we might find the standard
	commands

2000/01/08 10:43:54	uxmon/Monitor/cmd.pm:
	check(): try pattern match with text output of command (e.g. used in
	ntp monitor)

2000/01/08 10:43:03	uxmon/Config/ntp:
	allow frequencies >1/10 Min., catch timeout event

2000/01/02 15:27:47	bb_evgen.pm:
	limit comment in SNMP traps to 150 chars

1999/12/27 18:25:30	uxmon/Monitor/logfile.pm:
	use /s (single line) option with pattern checking - therefore support
	multiline matches

1999/12/27 18:24:50	bstrapd.pl:
	do not dupe time stamps

1999/12/27 18:24:29	Makefile, etc/snmp_trap:
	renamed snmptrap to snmp_trap

1999/12/27 18:23:17	uxmon/Config/logfile:
	fixed some mistakes in new snmp_trap code

1999/12/27 18:22:53	uxmon/Monitor/snmp_trap.pm:
	default name of check is '.trap'

1999/12/27 17:49:44	bb_start, bstrapd.pl, Makefile, uxmon/Config/logfile, uxmon/Monitor/snmp_trap.pm:
	added trap monitor

1999/12/27 17:24:55	skins/frames/frameset_contents.proto:
	include icon in hyperlink

1999/12/27 17:02:12	skins/alt_contentsicons/yellow_funny.gif, skins/alt_contentsicons/red_funny.gif, skins/alt_contentsicons/purple_funny.gif, skins/alt_contentsicons/green_funny.gif, skins/alt_contentsicons/frameset_contents.proto:
	added alt_contentsicons skinset

1999/12/16 19:53:06	uxmon/Config/_evaluator:
	fixed _evaluator: send host name and alias name as distinguished arguments

1999/12/16 19:49:20	uxmon/Monitor/etherport.pm, uxmon/Monitor/atmport.pm, uxmon/Config/software, uxmon/Config/atmport, uxmon/Config/etherport:
	added etherport and atmport checks (Joseph G)

1999/12/16 19:44:33	uxmon/Config/software:
	added SNMP software version check (Joseph G)

1999/12/16 19:37:42	uxmon/Config/_evaluator:
	fixed bad 'memory' usage (Joseph G)

1999/12/16 19:37:03	bbdisp.pm:
	fixed sorting of tables by host/group name (Joseph G)

1999/12/11 21:55:03	skins/frames/frameset_contents.proto:
	added lamps to contents frame

1999/12/11 21:51:29	uxmon/Monitor/mrtg.pm:
	adopted the new short message/html message concept, brought in the
	latest changes from Joseph G

1999/12/11 21:48:26	skins/frames/frame1.proto, bbdisp.pm:
	added colored lamps to Contents part of framed status pages

1999/12/11 21:47:37	uxmon/Monitor/procs.pm:
	fixed procs.pm reporting for the wrong host (Joseph G)

1999/12/11 15:10:24	uxmon/Monitor/cmd.pm:
	log the output of commands

1999/12/11 14:29:52	uxmon/Monitor/uxmon.pm:
	beware of defective modules ... limit status values to 3

1999/12/11 14:07:14	skins/default/table.proto:
	moved the 'system' column from bbdisp.pm into table.proto

1999/12/11 13:55:15	bbdisp.pm:
	(Joseph G.) create_table(): sort hosts/groups by name
	write_html_status(): recognize the special keywords &red/&green/&purple/
	&yellow and &html in status messages

1999/12/11 13:24:33	uxmon/Config/ntp:
	added ntp check

1999/12/11 13:22:33	uxmon/Monitor/mrtg.pm, uxmon/Config/mrtg:
	added mrtg check (Joseph G)

1999/12/11 13:19:16	uxmon/Monitor/ping.pm:
	added fping support (Joseph G.)

1999/12/11 13:05:09	common.pm:
	invoke load_resources() after setting main::root (Joseph G)

1999/12/05 16:20:23	RotatingLog.pm:
	beware of getting to noisy if we cannot open the log file

1999/12/05 15:53:44	RotatingLog.pm:
	fixed call of main::log

1999/12/05 15:43:08	Makefile, bbd.pl, RotatingLog.pm:
	moved "statuslog" funcionality out into a class RotatingLog

1999/12/05 15:11:45	snmp.pm, SNMP_AGENT, bb_evgen.pm, bb_event_generator.cfg:
	added SNMP trap generation to bb_event_generator

1999/12/05 11:33:47	bb_event_generator.pl:
	wait() for children


1999/11/14 15:00:00 RELEASE 0.37



1999/11/14 13:15:38	uxmon/uxmon-rules-generic.pl:
	reload(): fixed fix of testing if the config file has been altered

1999/11/14 13:14:01	bbdisp.pm, bbd.pl:
	added www/history/status.log mechanism, new options NewLog, BBLog

1999/11/09 20:18:21	uxmon/uxmon-rules-generic.pl:
	honor the -c flag in uxmon (changes brought in by R. Roberts)

1999/11/03 19:47:24	uxmon/Config/ping:
	fixed wrong usage of $proto/$args, added pingcmd

1999/11/03 19:46:39	uxmon/Monitor/ping.pm:
	fixed wrong usage of $proto/$args, added 'pingcmd' argument (contributed
	by Roland Roberts)

1999/10/24 12:55:05	tools/bsadmin.pl, bb_start:
	introduced some differences to the installed version to see if install.sh
	will install the correct version (out of the scratch dir)

1999/10/24 12:38:37	bswebalarm.pl, bb_evgen.pm:
	place alarms for checks listed in the ignore list in the 'new_alarms' list
	and keep them there until either the alarm condition or the ignore mode
	has gone. bswebalarm: show them as acknowledged

1999/10/24 12:36:06	uxmon/Monitor/uxmon.pm:
	When re-reading the config file do remove all the variables and status
	buffers

1999/10/16 17:31:50	uxmon/Config/memory, uxmon/Config/load, uxmon/Config/diskload, uxmon/Config/diskfree:
	fixed perflib memory


1999/10/16 19:00:00 RELEASE 0.36



1999/10/16 16:23:37	uxmon/Monitor/bb.pm:
	added run() method

1999/10/16 15:53:03	skins/default/_lamp.sub, bswebadmin.pl, Makefile:
	added Webadmin interface

1999/10/16 15:48:18	bb_start:
	support systems without -w grep option (XPG4)

1999/10/16 15:13:34	bbd.pl, permissions, access.pm, Makefile:
	implemented new access security model (allow_connect() in bbd, access.pm)

1999/10/14 19:13:18	bbdisp.pm:
	group_write(): schedule next group_write in 5 minutes instead of 15 minutes
	(webadmin...)

1999/10/14 18:40:11	uxmon/Config/procs:
	accept ( and ) in process names if not looking like a range definition
	(number-number) or if escaped with a leading \

1999/10/11 17:24:50	uxmon/Monitor/procs.pm:
	BSD ps option: cax instead of -cax

1999/10/11 17:23:33	uxmon/uxmon.pl:
	run through scheduler with 'time=0' after each reconfiguration - so that
	all the scheduled jobs are at least executed once directly after reconfig

1999/10/10 17:26:17	uxmon/Config/metastat, uxmon/Monitor/metastat.pm:
	use new schedule mechanism instead of builtin one, default to 30 minutes
	periods

1999/10/10 17:19:52	uxmon/Monitor/Monitor.pm:
	unreport() and unset_variable() using the correct list

1999/10/10 17:05:25	uxmon/uxmon.pl:
	if time of next run is >10 minutes in the past catch up without doing any
	work

1999/10/10 17:03:27	uxmon/Monitor/uxmon.pm:
	init internally tracked agent state in init() rather than each time in
	run_once()

1999/10/10 16:21:00	uxmon/Monitor/uxmon.pm:
	added Schedule class, Monitor is now subclass of Schedule, Monitors
	use the method report() and set_variable() (both Monitor class) instead
	of directly calling the respective uxmon procedures.
	Monitors are now called through the schedule mechanism at arbitrary
	frequencies.

1999/10/10 16:20:59	uxmon/Monitor/tcp.pm, uxmon/Monitor/statusfile.pm, uxmon/Monitor/snmp.pm, uxmon/Monitor/sar.pm, uxmon/Monitor/rpc_ping.pm, uxmon/Monitor/procs.pm, uxmon/Monitor/ping.pm, uxmon/Monitor/metastat.pm, uxmon/Monitor/logfile.pm, uxmon/Monitor/fs.pm, uxmon/Monitor/dumpdates.pm, uxmon/Monitor/cpuload.pm, uxmon/Monitor/cmd.pm, uxmon/Monitor/Schedule.pm, uxmon/Monitor/PerfLib.pm, uxmon/Monitor/Monitor.pm, uxmon/Monitor/Evaluator.pm:
	added Schedule class, Monitor is now subclass of Schedule, Monitors
	use the method report() and set_variable() (both Monitor class) instead
	of directly calling the respective uxmon procedures.
	Monitors are now called through the schedule mechanism at arbitrary
	frequencies.

1999/10/10 16:17:19	uxmon/Config/statusfile, uxmon/Config/procs, uxmon/Config/ping, uxmon/Config/metastat, uxmon/Config/logfile, uxmon/Config/load, uxmon/Config/http, uxmon/Config/dumpdates, uxmon/Config/dns, uxmon/Config/diskload, uxmon/Config/diskfree, uxmon/Config/cpuload, uxmon/Config/bsdisplay, uxmon/Config/bbscript, uxmon/Config/_tcp, uxmon/Config/_storage, uxmon/Config/_snmp, uxmon/Config/_rpc:
	implement 'frequency=' settings

1999/10/10 16:16:59	uxmon/Config/_perflib, uxmon/Config/_evaluator:
	implement 'frequency=' settings

1999/10/10 16:16:31	uxmon/uxmon.pl:
	use Monitor::Schedule, loop once per minute

1999/10/10 09:13:00	bbd.pl:
	set_config() before going into listen mode

1999/10/09 15:54:57	bbdisp.pm:
	join_group(): add a group title for newly created parent groups also

1999/10/07 18:55:33	bscgi.pm:
	added support for POST method


1999/09/25 15:00:00 RELEASE 0.35



1999/09/25 12:46:51	tools/install32.pl:
	search for Big Sister in the working directory too - therefore find the
	Big Sister root directory also when not the default one

1999/09/25 11:16:01	uxmon/uxmon.pl:
	fixed signal handling: die on "TERM", ignore "INT" and "TSTP" if not
	in debug mode

1999/07/25 13:46:59	tools/install32.pl:
	when registering service: set AppDirectory to bin-Dir so that Big Sister
	programs will find their libraries.

1999/07/25 13:39:14	bbd.pl:
	parse_line() do not crash if some client is sending a 'leave *' command
	with an invalid host argument


1999/07/18 12:00:00 RELEASE 0.34



1999/07/17 20:27:35	contrib/makebinary:
	compile install32

1999/07/17 20:26:26	common.pm:
	proginit(): when computing progdir recognize '\' as well as '/'

1999/07/17 20:25:44	platforms/BS_win32.pm:
	perlpath(): support extensions other than .exe

1999/07/17 20:24:55	uxmon/Config/logfile:
	ignore eventlog check on non-Win32-systems

1999/07/17 20:17:35	Makefile, tools/install32.pl:
	added Win32 install procedure

1999/07/16 21:19:24	uxmon/uxmon-rules-generic.pl:
	limit interpretation of ':' in uxmon-net to http check

1999/07/16 21:17:12	uxmon/Monitor/PerfLib.pm, uxmon/Config/memory, uxmon/Config/load, uxmon/Config/diskload, uxmon/Config/diskfree, uxmon/Config/_perflib, uxmon/Config/_evaluator:
	added NT performance monitor

1999/07/16 21:14:23	platforms/BS_win32.pm, platforms/BS_unix.pm, common.pm:
	allow setting root via platform specific config method (registry on Win32)


1999/06/26 15:20:00 RELEASE 0.33



1999/06/26 11:06:17	bscgi.pm:
	timeout only if running in FCGI mode

1999/06/26 09:56:15	contrib/makebinary:
	addet bb_stop32

1999/06/26 09:52:58	bb_start:
	'start': only warn, never kill running Big Sister daemons

1999/06/26 09:47:24	uxmon/Monitor/bb.pm:
	_end_report() increased grace time

1999/06/26 09:40:53	bscgi.pm:
	fixed wrong behaviour when FCGI module not present

1999/06/24 20:16:29	uxmon/Monitor/logfile.pm:
	use "msgs" as default instead of "log"

1999/06/24 19:55:55	bbdisp.pm:
	write_html: changed order of search-and-replaces

1999/06/24 19:44:52	bbdisp.pm:
	when renaming files in replace_vars_file() respect perl2exe bug

1999/06/24 19:12:52	contrib/makebinary:
	on Win32 systems find and copy perlcrt.dll

1999/06/24 19:08:42	bbd.pl:
	moved error message when rename fails in log writing

1999/06/24 18:55:25	bb_stop32.pl, Makefile:
	added bb_stop32 for stopping Big Sister on NT

1999/06/24 18:54:57	bb_start32.pl:
	do not print perlpath ...

1999/06/24 18:22:50	bbdisp.pm:
	bug fix: call write_html_status() in _set(), limit the number of passes
	instead of the number of groups recomputed in recompute()

1999/06/24 18:19:54	common.pm:
	write a .pid file when backgrounding

1999/06/24 18:17:08	common.pm:
	call Syslog functions with mentioning the package name

1999/06/21 18:17:04	bb_start:
	start / killproc: warn if trying to start Big Sister when Big Sister
	daemons are already running

1999/06/21 18:17:04	bb_start:
	start / killproc: warn if trying to start Big Sister when Big Sister
	daemons are already running

1999/06/20 17:24:51	Makefile, tools/bbecho.pl, uxmon/Monitor/bbscript.pm, uxmon/Config/bbscript:
	added bbscript monitor

1999/06/20 17:22:09	uxmon/uxmon-rules-generic.pl:
	execute(): fixed variable defs regular expression: variable name ends at
	the first '='

1999/06/20 17:13:19	uxmon/Monitor/statusfile.pm:
	add_check(): absolutize paths not starting with "/"

1999/06/20 15:56:37	uxmon/Monitor/statusfile.pm, uxmon/Config/statusfile:
	added statusfile monitor

1999/06/20 15:09:39	bbdisp.pm:
	read_file(): added "%Option" statement, _set(): ImmediateHTML option,
	read_file(): KeepGroups option

1999/06/20 14:56:46	bbd.pl:
	inject(): on Win32 systems try unlink/rename if remame failed

1999/06/19 17:30:50	bbdisp.pm:
	write_html_log(): translate "<" and ">" character

1999/06/19 15:38:56	uxmon/Monitor/uxmon.pm:
	load_rules(): do only load rulefile on startup - never again

1999/06/19 15:37:47	uxmon/Config/load, uxmon/Config/cpuload, uxmon/Monitor/cpuload.pm:
	make 'check' configurable and default to 'cpu', use host alias passed by
	uxmon for reporting

1999/06/19 11:49:55	uxmon/Monitor/cpuload.pm, uxmon/Config/cpuload:
	added cpuload (uptime) check - contributed by Torben Sorensen

1999/06/17 20:15:41	bb_evgen.pm:
	on win32 systems use Platform::background_process for running the notifier

1999/06/17 20:14:33	bb_start32.pl:
	run uxmon from bin/uxmon if existant

1999/06/17 20:13:34	platforms/BS_win32.pm:
	perlpath(): available for other programs than perl. Print what we are running,

1999/06/17 20:05:54	uxmon/uxmon-rules-generic.pl:
	execute() try a last 'do' if Config file not found

1999/06/17 20:01:50	uxmon/uxmon.pl:
	made compliant with new uxmon.pm

1999/06/17 20:00:43	uxmon/Monitor/uxmon.pm:
	load rulefile and Monitor classes using require rather than self-made
	search-and-execute, do initialization in a subroutine rather than on
	module load.

1999/06/14 19:44:05	bscgi.pm:
	do not execute code on module load - use init() procedure instead

1999/06/14 19:41:26	platforms/BS_win32.pm, platforms/BS_unix.pm:
	use Sys::Hostname for hostname guessing in preference to any other method


1999/06/12 18:15:00 RELEASE 0.32



1999/06/12 15:16:47	platforms/BS_win32.pm, log_mail.pl, bbdisp.pm, bbd.pl, bb_start32.pl, bb_evgen.pm:
	tested on WinNT and fixed flaky implementations

1999/06/12 11:58:40	bbd.pl:
	sendlogs(): time out when not being able to send for some time, do close
	unused sockets when forking, minimal support for crippled systems like Win32
	not implementing fork()

1999/06/11 21:26:50	uxmon/Monitor/bb.pm, tools/bsadmin.pl:
	added archivelogs command

1999/06/11 20:46:13	bbd.pl:
	savelogs(): allow client to pass tag identifying old log files.
	sendlogs(): allow client to retrieve old log files using the above tag

1999/06/11 18:11:33	bbdisp.pm, bbd.pl:
	write a checkpoint entry to display.history each 5 minutes. If necessary re-read
	config file just AFTER a display update instead of just BEFORE.

1999/06/11 17:58:34	bb_evgen.pm:
	page(), raise(), ack(): include time in alarms sent

1999/06/09 19:58:57	Makefile, etc/eventlog:
	added default etc/eventlog

1999/06/09 19:52:29	contrib/release_bigsister:
	create a big sister release from CVS

1999/06/09 19:50:17	bbd.pl:
	fixed bad usage of set_config() method

1999/06/09 19:43:33	contrib/Makedoc.pl:
	be a little more quiet

1999/06/09 19:24:09	bb_start:
	use bs_instdir in preference to all other possible Big Sister roots

1999/06/09 18:50:42	platforms/BS_unix.pm:
	require POSIX in bswait_nohang()

1999/06/09 18:37:13	common.pm:
	do not warn if syslog module does not load

1999/06/09 18:35:21	platforms/BS_unix.pm:
	do only include POSIX module on demand

1999/06/09 18:34:24	bb_evgen.pm:
	do not use Socket module

1999/06/08 19:07:39	display_map.pm:
	added 'name' and 'line' statement

1999/06/08 18:03:46	bbd.pl:
	added %agents hash, fill it with the information of which agent sent us
	which status, log agent changes

1999/06/07 20:02:57	uxmon/Monitor/eventlog.pm:
	show EventID in log text

1999/06/07 19:21:15	bb_event_generator.cfg, Makefile:
	now install a minimal bb_event_generator.cfg by default

1999/06/07 19:19:56	etc/OV:
	added a few comments

1999/06/07 19:16:53	CONFIG:
	updated some infos

1999/06/07 18:47:03	bb_evgen.pm:
	use log() to log event_generator events.
	assume checks are up when undefined (e.g. when used in "check=...")

1999/06/07 18:13:49	bbdisp.pm:
	fixed variable replacing code (_replace_vars()). Correctly treat quotes (@@).
	Quote @ in incoming messages (write_html_status())

1999/06/06 10:48:37	uxmon/Monitor/eventlog.pm:
	fixed invalid log priority "error" (should be "err")

1999/06/06 09:16:11	uxmon/Monitor/eventlog.pm:
	try to re-establish lost connections to EventLogs

1999/06/05 22:27:11	uxmon/Monitor/procs.pm, uxmon/Config/procs:
	added support for Win32 Services

1999/06/05 21:34:44	uxmon/Monitor/eventlog.pm:
	added support for Win32 EventLog (eventlog logfile module)

1999/06/05 21:32:52	uxmon/Monitor/logfile.pm:
	implemented file manipulating routines as methods instead of calling them
	directly. So they can be overriden (e.g. used for Win32 eventlog)

1999/06/05 21:19:36	uxmon/uxmon.pl, uxmon/Monitor/uxmon.pm, platforms/BS_win32.pm, platforms/BS_unix.pm, common.pm:
	moved hostname guessing to Platform modules

1999/05/22 09:44:02	log_mail.pl:
	replaced require common by the new use ... proginit() construct

1999/05/15 17:41:27	platforms/Platforms.pm:
	decide at compile time which platform we are running on

1999/05/15 13:54:56	contrib/cvslog2changes:
	convert CVS logs to CHANGES format

1999/05/15 13:03:08	Q+A, PROTOCOL, HOWTO:
	documented savelogs command

1999/05/15 12:51:31	tools/bsadmin.pl:
	added 'displayname' command

1999/05/15 12:45:15	bbd.pl:
	added 'savelogs' client command rotating log files (display.history)

1999/05/15 12:24:53	Makefile:
	added parse.pm and bsadmin command to install-common target

1999/05/15 12:20:53	tools/parse.pm, tools/bsadmin.pl:
	added parse.pm and bsadmin.pl

1999/05/15 12:12:38	uxmon/Monitor/bb.pm:
	fixed wrong usage of "Platform:bsconnected" vs. "connected"
	added sysreport() method

1999/05/14 09:16:42	README:
	updated some things for release 0.32

1999/05/14 09:12:57	Q+A:
	added section about ping monitor

1999/05/14 08:57:23	uxmon/Monitor/ping.pm:
	Fixed hard-wired ping adress in karl_ping()

1999/05/14 08:53:37	uxmon/Monitor/ping.pm:
	added "karl_ping" as contributed by Torben Sorensen - uses Solaris ping
	command

1999/05/13 13:40:31	install.sh, Makefile:
	ignore CVS/RCS admin directories

1999/05/13 13:17:04	uxmon/uxmon.pl:
	do not "require" common.pm any more - "use" it and call proginit()

1999/05/13 13:16:50	compile_skin.pl, common.pm, bswebalarm.pl, bstrapd.pl, bshistory.pl, bbd.pl, bb_event_generator.pl:
	do not "require" common.pm any more - "use" it and call proginit()

1999/05/13 13:09:37	bb_start:
	check adm directory for uxmon-net files and run a copy of uxmon for everyone
	found

1999/05/13 12:42:18	bbdisp.pm, bbd.pl, bb_event_generator.pl:
	prefer "require" to "do whatever"/"eval whatever" stuff. Do not "require"
	modules already present.

1999/05/12 22:30:54	Makefile:
	have .../bin and .../uxmon be module directories (-I in first line of scripts)

1999/05/09 20:20:26	uxmon/uxmon.pl, uxmon/uxmon-rules-generic.pl:
	added option -c to uxmon which allows to pass the name of
	the "uxmon-net" file (as suggested by R. Roberts)

1999/05/09 20:13:44	uxmon/Config/procs:
	added support for pscomm= as suggested by Roland Roberts

1999/05/09 17:14:43	bb_evgen.pm:
	send "ack" alarm when receiving an acknowledgement

1999/05/09 15:12:36	bswebalarm.pl, bb_evgen.pm:
	completed support for alarm acknowledges

1999/05/09 15:10:51	skins/default/alarm.proto:
	added chapter "Ignored checks"

    09.05.99: introduced CVS

    08.05.99: install.sh: check if file exists in scratch dir
	      and install from there if yes

    08.05.99: Makefile: target bin: copy files to be modified
	      to scratch directory and modify them there

    06.05.99: bb_evgen.pm: alarm(), raise(): moved set up of
	      "norepeat" time from alarm() to raise()

    05.05.99: bb_evgen.pm: check_alarms(), common_check(),
	      alarm(): know acks

    03.05.99: bb_evgen.pm: interpret "ack" log entry
	      (check_logs())

    01.05.99: bbd.pl: added "ack" client command

    01.05.99: bbdisp.pm: added method log()

    01.05.99: bbd.pl: ignore "set" command when used by clients

    01.05.99: bbdisp.pm: added method set_config(), write config
	      to grouping file (group_write())

    01.05.99: bbd.pl: set display config ($display->set_config)

    25.04.99: bscgi.pm: set skin _BASE to WEBROOT.inc so that
	      URLs are automatically referenced correctly

    24.04.99: bbdisp.pm, bswebalarm.pl, bshistory.pl: moved
	      main display routines from bbdisp to the respective
	      .pl

    24.04.99: bb_evgen.pm: raise(), load_state(): give alarms
	      ids

    24.04.99: *.pl: require common rather than doing the same
	      things in every executable

    24.04.99: common.pm: added, contains common initialization
	      routines (such as parsing options, loading some
	      modules, etc.)

    24.04.99: compile_skin.pl, Makefile: when installing
	      skins pre-compile them using the cache_skin()
	      method of bbdisp.pm

    24.04.99: bbdisp.pm: find_skin(), read_skin(), cache_skin(),
	      bypass_skincache():
	      bbdisp.pm is now able to create and use cached skin 
	      data

    24.04.99: bbd.pl: do_listen(): fixed logged text when
	      reporting "purple" to include the time in
	      Unix format in "(...)"

    24.04.99: bshistory.pl, bswebalarm: use bscgi library
	      instead of copying subroutines between them

    24.04.99: added bscgi.pm library: working with CGI
	      and FastCGI

    24.04.99: bshistory.pl: fixed wrong usage of
	      bs_instdir ("use strict" patch from
	      R. Roberts)

    22.04.99: skins/default/history_entry.proto: fixed
	
    17.04.99: uxmon/Config/logfile, syslog, OV: same
	      source, same syntax ...

    17.04.99: uxmon/Monitor/logfile.pm, syslog.pm, OV.pm:
	      created generic class Monitor::logfile which is
	      the common base class for syslog.pm and OV.pm
	      (and future file based monitor classes)

    17.04.99: uxmon/Config/_snmp: added load_module("snmp")

08.04.99: release 0.30



    07.04.99: log_mail.pl: SMTP code: do not report
	      "mailprogram ..." error, use "require"
	      rather than "eval 'use..."

    07.04.99: bb_evgen.pm: clear_alarm(): call 
	      pager() with the right number of
	      arguments (bug introduced 13.3.99)

    07.04.99: bb_event_generator.pl: background():
	      open STDIN/STDOUT/STDERR on /dev/null

    07.04.99: log_mail.pl: made it "use strict" and
	      "perl -T" proof

    07.04.99: bbd.pl: inject(): make log file writing
	      an atomic operation: write to a tmp directory
	      and then move the file

    07.04.99: bb_evgen.pm: read_state() do not accept
	      bad log files (next unless(defined ...)

    30.03.99: *.pl: use "bs_instdir" set by Makefile
	      for finding the Big Sister root directory

    28.03.99: uxmon/Monitor/snmp.pm: added debug mode
	      where variables are read from a file rather
	      than from network (get(), walk())

    28.03.99: uxmon/Monitor/procs.pm: support the new
	      variable model, support other data sources
	      than 'ps' (e.g. snmp)

    28.03.99: uxmon/Monitor/uxmon.pm: run_once: first run
	      check() for any checker, then late_check()

    28.03.99: uxmon/Monitor/Monitor.pm, every monitor module:
	      base class for Monitors is Monitor::Monitor

    28.03.99: uxmon/Config/_snmp: re-designed storage
	      check to use the enhanced Evaluator/snmp
	      monitoring

    28.03.99: added uxmon/Monitor/Evaluator.pm

    28.03.99: uxmon/Monitor/snmp.pm: invoke uxmon::set_variable()
	      for each snmp variable 

    28.03.99: uxmon/Monitor/uxmon.pm: added %uxmon::monitor_variables
	      and uxmon::set_variable()

    22.03.99: bbdisp.pm: _set(): generate HTML version
	      of status (logs) file in 'html' directory

    20.03.99: bbd.pl: added -f option

    20.03.99: bbdisp.pm: added %include statement

    20.03.99: bbdisp.pm: re-designed skin parsing code
	      replace_vars()

    19.03.99: added bswebalarm.pl

    16.03.99: uxmon-rules-generic.pl: parse(): allow quotes 
	      in uxmon-net

    14.03.99: Makefile: install notify and notify.cfg

    13.03.99: bb_evgen.pm: accept alternatives to
	      'log_mail' through "pager" variable

    13.03.99: bbdisp.pm: do not create_table() for
	      undefined groups

    13.03.99: bbdisp.pm: %Frameset: build contents
	      in the order pages appear in .cfg file
	      ("ordered_pages")

    13.03.99: display_map.pm: stop treating black as
	      transparent for template gifs

    12.03.99: log_mail.pl: use Net::SNMP replaced by
	      use Net::SMTP ...

    12.03.99: added history.pl: cgi script for displaying
	      history

    11.03.99: Makefile: insert -I${BS_ROOTDIR}/bin in every
	      perl script

    08.03.99: bbdisp.pm, Makefile: removed cgi.pl and www.pl
	      (no longer used thanks to the skin mechanism)

    08.03.99: bbdisp.pm: added %Frameset statement

    08.03.99: bbdisp.pm: replaced the 'template' mechanism
	      by the 'skin' mechanism

    07.03.99: uxmon/Config/ping: print a warning if using
	      icmp ping without being root

    07.03.99: bb_start: killproc() Big Sister components by
	      name rather than by uid, optionally run uxmon
	      as root

    07.03.99: install.sh: exclude 'CVS' and 'RCS' directories

    07.03.99: uxmon/Monitor/procs.pm: filtered out some more
	      space characters

    07.03.99: uxmon/Monitor/uxmon.pm, bb.pm: moved FQDN support
	      into bb.pm

    07.03.99: uxmon/Config/bsdisplay: added "fqdn" variable
	
    06.03.99: uxmon/Config/bsdisplay: added port and timeout
	      arguments

    15.02.99: uxmon/Monitor/ping.pm: stop crashing when recv
	      does not return a packet (on some systems recv
	      returns when receiving ICMP Destination 
	      unreachable????)

    19.01.99: uxmon/uxmon.pl, uxmon/Monitor/uxmon.pm, uxmon/Monitor/bb.pm,
	      uxmon/Monitor/OV.pm: added "log mode"

    10.01.99: bbdisp.pm: read_file(), "Groups": translate '.' in
	      FQDNs to '_' after setting the group title

04.01.99: release 0.28



    03.01.99: bb_evgen.pm: load_rules(): replace '.' in hostnames
	      by '_'

    03.01.99: bbdisp.pm: replace '.' by '_' in hostnames in
	      bb-display.cfg (FQDN)

    03.01.99: bbdisp.pm: replace '_' by '.' when using a hostname
	      as a display name (FQDN)

    02.01.99: uxmon/Monitor/uxmon.pm: report(), run_once(): sort
	      messages by status (report 'red' first, 'green' last)

    02.01.99: bbd.pl: increased max. length of received messages

    02.01.99: uxmon/Monitor/uxmon.pm: report(): split long
	      comments onto multiple lines

    02.01.99: uxmon/Monitor/bb.pm: report_one() support for 
	      multiline comments

    02.01.99: bb_evgen.pm: allow for multiline status messages

    02.01.99: bbd.pl: inject(), read_state(), parse_line():
	      allow for multiline status messages

    02.01.99: bbdisp.pm: %Page statement: when prototype file
	      given without an absolute path add the path of
	      the 'www' directory

    02.01.99: bbd.pl: parse_line(): allow ',' character in
	      host names and translate to '_'

    25.12.98: uxmon/Config/ping: removed "print STDERR ..."

    25.12.98: bbd.pl: remove the "last updated" information when
	      a host "leave"s a group

    25.12.98: uxmon/uxmon-rules-generic.pl: implemented reload()

    25.12.98: uxmon/Monitor/uxmon.pm: added uxmon::reconfigure()

    25.12.98: uxmon/uxmon.pl: if rule::reload exists call it each
	      pass and run uxmon::reconfigure if it returns true

    25.12.98: uxmon/Monitor/*.pm: check the return value of inet_aton
	      and behave reasonable if not defined (usually ignore the
	      check)

    21.12.98: bbdisp.pm: print a warning if an unknown host is used
	      in a Rsync statement

    21.12.98: uxmon/uxmon-rules-generic.pl: print a warning if an
	      unknown host appears in uxmon-net

    21.12.98: uxmon/uxmon.pl: go into background after the config
	      file was read so that we get a change to see warnings

19.12.98: release 0.27



    19.12.98: Makefile: moved OV into etc subdirectory

    19.12.98: uxmon/Config/diskfree: auto detect the 'df' command
	      we should preferably use, store fs monitor object in
	      memory{"fs.$type"}

    19.12.98: bb_start: do not 'su' if we are already running 
   	      as the $bsuser

    19.12.98: install.sh: install directories user writable

    19.12.98: uxmon/Config/snmp: added hrStorage check for
	      nt systems, display allocation units for storage
	      devices

    18.12.98: uxmon/Monitor/metastat.pm: do not use '-f' option
	      with metastat command.

    16.12.98: bbd.pl: run display update in the background
	      on Win32 platform (create a "detached" process)

    16.12.98: platform/BS_win32.pm: added perlpath() sub

    16.12.98: bbd.pl, bbdisp.pm, uxmon/uxmon.pm, platform/BS_win32.pm,
	      platform/BS_unix.pm: moved wait, wait...NOHANG, 
	      strftime into Platform modules.

    16.12.98: added bb_start32.pl: startup script for
	      Win32 platform

    15.12.98: uxmon/Monitor/uxmon.pm, uxmon/Config/*FQDN:
	      either strip domain suffixes from host names
	      or replace '.' by '_'

    15.12.98: bb_start: added '-b' to uxmon start up command

12.12.98: release 0.26beta



    12.12.98: uxmon/uxmon.pl: do waitpid() for child processes
	      (just in case ...)

    12.12.98: bbd.pl, uxmon/uxmon.pl, bb_event_generator.pl:
	      ignore SIGINT

    06.12.98: Makefile: install etc/OV correctly

    06.12.98: uxmon/uxmon.pl, uxmon/Monitor/uxmon.pm: stop uxmon
	      from dynamically load modules/uxmon-rules after
	      modifications

    19.11.98: bb_event_generator.pl/bb_evgen.pm: added load_state/
	      flush_state

    15.11.98: log_mail.pl: added SMTP support (Net::SMTP module!)

    14.11.98: added platform/*, changed uxmon/bbd so that the
	      platform modules are used and the platform dependend
	      alarm/connect subs are called

11.11.98: release 0.25beta



    11.11.98: bbdisp.pm: changed time format used in "EXPIRES" on
	      the generated web pages (thanks to Dennis Moore)

    10.11.98: added uxmon/Monitor/OV.pm, uxmon/Config/OV (openview
	      trap monitor)

    10.11.98: uxmon/Config/dumpdates: fixed bug making dumpdates
	      complain about backup too early (actually 24*3600
	      times to early)

    08.11.98: bb_evgen.pm, bb_event_generator.pl: rewritten
	      from scratch

    07.11.98: uxmon/Monitor/cmd.pm: stopped cmd check to kill
	      uxmon after 5 minutes ...

    07.11.98: bb_event_generator.pl, uxmon/Monitor/uxmon.pm,
	      bbd.pl: ignore SIGHUP

    07.11.98: bb_start: run uxmon with absolute paths

    07.11.98: Makefile: corrected 'bin' rule not altering
	      bsuser in bb_start

01.11.98: release 0.24beta



    01.11.98: started replacing some gifs

    01.11.98: bbdisp.pm/bbd.pl: added "Autoconnect" feature

    01.11.98: bbdisp.pm: removed 2 stray prints to STDOUT (debugging)

    01.11.98: bbd.pl: added '-c' option

    01.11.98: display_map.pm: delete old graphics files correctly
	      (use 'seq' file to keep track of the image sequence
	      number)

    27.10.98: install.sh/Makefile: use install.sh rather than
	      system install program

    27.10.98: Makefile: return true when using ed in a for loop
	      some versions of make behave different ...

26.10.98: released bugfix release 0.23beta



    26.10.98: bb_start: use install destination directory as
	      Big Sister home too. Run uxmon with full path rather
	      than cd.

    26.10.98: bbd.pl: fixed wrong interpretation of single IP addresses
	      in adm/hosts.allow

    26.10.98: Makefile: replaced find ... -exec by find + for loop
	      since -exec ... {} is not treated identically by
	      different versions of find

    26.10.98: perlpath: added missing 'shift'

25.10.98: release 0.22beta



    25.10.98: uxmon.pl, bbd.pl: ignore SIGPIPE

    25.10.98: Monitor::bb.pm, Monitor::tcp.pm: use send/recv rather
	      than syswrite/sysread

    24.10.98: bbdisp.pm/display_map.pm: added support for graphical
	      status displays

    24.10.98: bbdisp.pm: read_file()/create_table(): %table statement: 
	      allow for groups to be prefixed with "+".

    24.10.98: bbd.pl: during startup do a $display->compute
	      before the first $display->update

    24.10.98: bbdisp.pm: added new internal structure "group_status"
	      holding consolidated status for any group. Added
	      method "group_status()" meant to get values out
	      of the group_status structure.

    22.10.98: bbdisp.pm: added "Autojoin" feature

18.10.98: release 0.21beta (hmh, already :-))



    18.10.98: improved documentation again

    18.10.98: added Monitor::cmd.pm, added uxmon/Config/dns
	      "cheap" dns check using Monitor::cmd and 
	      nslookup

    18.10.98: bbdisp.pm, bbd.pl: added "%Pager" statement to 
	      bb-display.cfg. Interpret "page" command from
	      clients and behave like Big Brother

17.10.98: release 0.20beta



    17.10.98: improved documentation

    17.10.98: initial revison of uxmon-rules-generic.pl which will
	      be used as the "standard" in future

    17.10.98: A few changes to Makefile

    16.10.98: Monitor::rpc_ping.pm: removed endless "portmap()-Loop"
	      when a registered rpc service changed port. Fixed
	      wrong useage of "$ip" variable.

    15.10.98: Monitor::bb.pm: added "Big Brother compatibility
	      mode"

    11.10.98: Monitor::dumpdates.pm: when reporting remove
	      the partitions path (usually /dev/dsk) from
	      the partition name reported in the text

    11.10.98: added Monitor::syslog monitoring log files

10.10.98: release 0.12beta



    10.10.98: Monitor::snmp.pm: added method "poll_fail"
	      which allows status "snmp get successfull"
	      reporting ("snmp ping")

    07.10.98: bb_start: run bin/bb_event_generator, not
	      adm/bb_event_generator

    07.10.98: Makefile: replace '#!....perl' by the path
	      supplied (PERL=...) or the path returned
	      by 'which perl'. Don't try to install (make)
	      the destination directory if it already
	      exists.

    07.10.98: bb_event_generator.pl, log_mail.pl: fixed
	      a few things ...

    06.10.98: Monitor::rpc_ping.pm: do a portmap call when
	      ping failed (just in case an RPC process was
	      restarted and changed port number)

    06.10.98: bb_event_generator.pl: default pager path set
	      to $root/bin/log_mail, go into background (daemon
	      mode) when not running in debug mode.
	      bb_start: start bb_event_generator without "&"
	      (does automatically go into background now)

    06.10.98: snmp.pm: when SNMP-getting many values get them
	      in multiple passes

    28.9.98: added a few known prog numbers to uxmon/Monitor/rpc_ping.pm

    28.9.98: uxmon/Monitor/*.pm: send clearer text when reporting
	     text when reporting status ("udp-ping OK" rather than
	     just the status for instance)
	
    28.9.98: bbdisp.pm: text written to display.history altered:
	     "host.check: old_status->new_status text".

26.9.98: release 0.11alpha



    26.9.98: uxmon/Monitor/bb.pm: detect if server closes
	     connection during transfer and abort transmission
	     too instead of crashing.

    26.9.98: uxmon/Monitor/*.pm: uxmon::report() altered
	     so that it uses the same status codes as
	     bbd

    26.9.98: bbdisp.pm: stopped loading Monitor::bb each
	     time when doing an rsync. Fixed set() not
	     updateing the internal status text table
	     when only the text changed but not the
	     status level itself.

    26.9.98: bbdisp.pm: fixed join_group()'s ignoring
	     some joins, fixed behaviour of "%title auto"
	     statement when using dynamic grouping

    25.9.98: added Monitor::dumpdates.pm: read /etc/dumpdates
	     and check for last backup

    24.9.98: bbdisp.pm: write grouping/display info to
	     www/grouping regularly

    24.9.98: bbdisp.pm: rsync: group info/display names
	     for parent groups need also syncing.

    24.9.98: bbdisp.pm: need_update(): return always true.
	     update(): do rsync independently of the isdirty
	     flag, do recompute and create pages only if
	     isdirty set. Synctime check fixed.

23.9.98: release 0.10alpha



    23.9.98: bb_start: use home directory of user bs as the
	     Big Sister root dir if it looks appropriate. Start
	     bbd with '-b' option. Check for adm/bb-display.cfg
	     rather than for www/logs to see if bb_start should
	     run bbd.

    23.9.98: *.pl: /usr/bin/perl changed to /usr/local/bin/perl

    22.9.98: uxmon/Monitor/uxmon.pm: added procedures
	     quit_gracefully (quit with sending "leave" group
	     information to bbd if necessary), join_group
	     (set group information for hosts), displayname
	     (set display names for hosts), leave_on_exit
	     (tell uxmon.pm to send "leave" information when
	     exitting in a normal way)

    22.9.98: uxmon/Monitor/bb.pm: added 3rd argument "join"
	     to report(). bb.pm is now able to report dynamic
	     grouping information

    21.9.98: bbd.pl: added -i option (set interval between
	     display updates) - mainly for debugging purposes

    21.9.98: bbdisp.pm: added methods join_group, leave_group,
	     displayname. bbd.pl: added client commands
	     join, leave, displayname (allow for clients
	     to join/leave Big Sister dynamically)

    21.9.98: bbd.pl: fixed bug in hosts.allow checks which
	     made it impossible for a client to connect
	     multiple times

    21.9.98: added "contrib/mibs" directory and compiled a
	     few MIBs.

    21.9.98: Monitor::snmp.pm: add_check: if the "differential"
	     argument equals "PERSEC" the difference of the
	     polled values is divided thru the number of seconds
	     between the polls.

20.9.98: released version 0.09 Alpha



    20.9.98: automatically replace the user we will be
	     running as in bb_start

    20.9.98: Makefile: do check if the user we are installing
	     as does exist

    20.9.98: Makefile: do not install bs when running make
	     without an argument

    20.9.98: Makefile: stop overwriting already installed
	     config files (adm/*, uxmon/uxmon-rules.pl,
	     adm/uxmon-net)

    20.9.98: added rudimentary utils/def2mib.pl script
	     converting "mosy" (CMU SNMP ...) .defs files
	     into the format expected by Monitor::snmp
	     MIB loader

    20.9.98: added MIB loader to Monitor::snmp. Compiled
	     MIB-II into uxmon/mibs.txt

    20.9.98: bbd.pl: deny access to unauthorized agents.
	     Use config file adm/hosts.allow

    19.9.98: added Monitor::snmp monitor (snmp polling)

    19.9.98: Monitor::sar.pm: upper limits were not checked
	     correctly (if both a "yellow" and a "red" upper
	     limit existed, only the "yellow" one was checked)

17.9.98: released version 0.08 Alpha