THE BIG BROTHER SYSTEM AND NETWORK MONITOR
==========================================
Version 1.08a
14 Aug 1998

This program is Copyright (c) 1997, 1998
The MacLawran Group Inc.
All Rights Reserved

License Agreement & Lack of Warranty
====================================

By downloading the source code to Big Brother
for Unix or the Big Brother Client for NT, you
agree to abide by the following terms: 

1.    You may not sell Big Brother, nor sell
      any of the functionality it provides. No
      part of the Big Brother system may be
      used as part of any commercial
      product without having first obtained a
      commercial licence from the
      MacLawran Group Inc. 

2.    The code, documentation, graphics and
      algorithms which makes up Big
      Brother are Copyright (c) 1997, 1998
      The MacLawran Group Inc. You agree
      to respect these rights and leave all
      copyright notices intact. NT client
      code Copyright (c) 1998 Robert-Andre
      Croteau and The MacLawran Group Inc. 

3.    You agree not to redistribute the code
      without written permission from the
      MacLawran Group Inc. 

4.    At least one link to the BB home site
      at http://MacLawran.ca/bb-dnld/
      must be available from the
      BB-generated status pages so that
      others may obtain a copy of BB. 

5.    You understand that this software is
      provided as-is. The MacLawran Group
      Inc. makes no claims towards its
      suitability for any purpose and accepts
      absolutely no liability for any damages
      the software may cause. Use at your
      own risk. 

      Questions? Contact:
      The MacLawran Group Inc.
      E-mail: sean@MacLawran.CA
      Tel: +1 (514) 982-9688 

New in 1.08a:
	Support for multiple disk partition level monitoring, using the
	etc/bb-dftab file, kermit version 6 numeric pager support, fixes 
	for AIX and some Web display cleanup.

New in 1.08:
	Groups that don't have data for all the columns in a BB display
	can remove those columns by using the keyword "group-compress"
	in the etc/bb-hosts file.  The BB summary display now only
	displays columns that contain non-green data.

New in 1.07c:
	The most significant change in this release is that more info
	is being sent to the BB server - full df output as well as 
	the entire HTTP server responses.  

New in 1.07b:
	Now all internet services are paged on if they fail.  If you don't
	want to be paged, add the service to NONETPAGE in etc/bbdef.sh.
	Thanks to Patrick Hopewell <p.hopewell@utoronto.ca> for pointing
	out this problem.

New in 1.07a:
	Better testing for services in bb-network.sh - no more can't shift errors.
	Less obscure error messages from bb and bbnet

New in 1.07:
	The MacLawran Group Inc now has a proper server on the net.
	All addresses have changed to http://MacLawran.ca/bb-dnld.

	New bb-hosts keyword - "noping" if you want to disable the
	ping test.  DNS failures now mention where from, and the

	Subject line of BB mail has been made more concise.

New in 1.06e:
	No more touch command!  touchtime has been modified to
	create files all by itself.  Fixes bugs created by 1.06d.
	Dialup hosts now generate clear dots when network tests 
	fail and a minor change to bb-local.sh for process paging.

New in 1.06d:
	Bugfix and y2k change to touchtime.c.  Arguments returned
	now include a 2 digit year.  Fix to ping parameters for
	hpux 10.X from Steve Bonds <sbonds@agora.rdrop.com>

New in 1.06c:
	dns server testing from Frank Kujawski <frank@bluegrass.net>
	A DNS server running on a host can be tested by putting the
	keyword 'dns' on the corresponding host line in etc/bb-hosts.

	Corrected a bug where 'dialup' connections paged when they
	shouldn't.  Found by rpeiffer@smacek.com (Rich Peiffer)  .

New in 1.06b:
	NT client now available (not included here)

	Minor change to support Roxen proxy server testing.

	Support for proxy calling in bb-hosts file.  If you're 
	using a proxy server, specify it in the hosts file as 
	follows: http://proxy.com:port/http://check-this-addr.com

	Better security in bbd.c: bounds checking, better handling of 
	etc/security file, better error messages and immediate
	restart on Solaris (SO_REUSEADDR).

	Better support for Redhat, better error messages

New in 1.06a:
	Big Brother now supports display grouping of machines.
	Just put the word "group" on a line in etc/bb-hosts and
	a new table will be created with the contents of that
	line.  i.e. the following line in bb-hosts:

	group <H3><I>Web Servers</I></H3>

	will create a new table called "Web Servers". The table
	will contain every line up until the next group directive
	or summary/dialup lines, that have their own syntax.  These
	lines can contain HTML commands, at your own risk.

	The generated pages are now a little cleaner in terms of
	HTML syntax, and will load *much* faster if grouping is 
	enabled.

Additions for 1.06:
	Copyright clearly asserted just about everywhere.  New
	and clearer license agreement.

Fixes for 1.05a:
	Improved redhat support (finally) and fixed PAGINGLOCK
	call in runbb.sh.  From Martin Richard <martin@europa.collegebdeb.qc.ca>

New Features in 1.05:

	Added security feature to allow bbd to control incoming
	requests.  If the file $BBHOME/etc/security exists, only 
	those systems whose network or IP addresses listed will
	be considered.  Others are ignored.

	Make BB Explorer friendly by adding HEIGHT and WIDTH tags
	notes file can now be .html / .htm / or no extension

	touchtime can now return arbitrary times
	New default minimum time between pages

	Preliminary support for groups within BB
	Support for polling IP addresses only
	Support for devices that aren't always present
	Bugfix in web/mkbb2.sh (Ruediger.Schuetz@Munich.Netsurf.DE)

Multiple Partition Monitoring for BB
====================================
Added the ability to monitor specific disk partitions with different 
warning and panic levels based on code from Robert Andre Croteau.  
If the file $BBHOME/etc/bb-dftab exists, disk warning and panic levels 
will be taken from there.  The file bb-dftab.INFO is an example that 
can be modified and installed.  The format has the information for one 
partition per line: 
	partition:warn%:panic%
i.e.:
		/database:99:100
		/usr:80:85

Enhanced Security for BB
========================
It's now possible to specify who is allowed to connect to Big
Brother servers.  The server checks for the existance of the
file etc/security.  If present, only the hosts and networks
listed in there are allowed to connect.  Others are quietly
ignored.

The file only contains IP addresses and networks, one per line
like:

	204.101.110.101
	204.101.111.0

This means allow host 204.101.110.101 and everyone on the class
C network 204.101.111, and ignore everything else.

Group support for BB
====================
The bb-hosts file now supports a line type "group".  This will cause
a new table to be created on the Web page, and is useful for grouping
machines on output.  This line can contain HTML, just be careful how
you use it.  Format:

	group <H2>Web Servers</H2>

This keyword has been enhanced as well.  The "group-compress" keyword
now indicates that only columns containing data are to be displayed on
output.  In other words, if you're not monitoring disk for this group 
of machines, the column won't be there.  Format:

	group-compress <H2>External Servers</H2>

The bb-hosts file now supports a new line type "summary".  This indicates
to the BBDISPLAY machine that summary information about the state of this
display is to be forwarded to the IP address noted on the line.  The 
summary can be sent to more than one parent machine.  The format of the 
summary line is:

	summary	ROW-NAME.COL-NAME  IP-ADDRESS  HTTP-ADDRESS-OF-SOURCE

Examples:

	summary quebec.mtl 205.164.184.6 http://cafe.tactik.com/bb/

Which means:

	Put the summary information on a row called "quebec" in 
	a column called "mtl".  Send the information to 205.164.184.6
	and make it link back to the sending DISPLAY server located
	at http://cafe.tactik.com/bb/

Ability to disable pinging
===========================
A new keyword "noping" can be added to any host line in the bb-hosts file.
This disable the ping test that is performed by default.  Good for firewalls
and secure environments.  A clear dot will be displayed on the web page with
the message: "Ping test disabled by request (noping)".

Support for dialup devices:
===========================

The bb-hosts file now supports a new line type and a new keyword "dialup"
The line starts with "dialup" then a name, then the starting IP address
and the count of IP addresses to test.  Example:

	dialup	modem-bank1 132.220.50.1 16

You can also use the 'dialup' keyword on ordinary hosts to denote that
these hosts may be 'offline' from time to time.  They'll get a clear dot
instead of the red dot, and there won't be any paging.  Example:

	132.220.23.2 bobo.MacLawran.ca dialup


Support for time delay between pages
aka The Pager Protection Act of 1997
====================================

Use of BB has been linked to the untimely death of at least one
pager in Texas.  In order to protect pagers from their users, a
new variable has been added to bbdef.sh, PAGERDELAY, specifying
how many minutes *must* pass between pages being sent out.  The
default is now 15 minutes between pages.

Stop and restart bb.

Revision History
================
Changes for 1.08a
05 sep 1998	etc/bbsys.aix		DFUSE and DFSORT variable were fixed by
					Patrice Allais <allais@lucent.com>
04 sep 1998	bin/bb-local.sh		Code for custom disk parition monitoring
					from Robert-Andre Croteau
03 sep 1998	web/mkbb.sh		PRAGMA NO-CACHE added to help avoid BB cache
					from vanboers@dedserius.com
25 aug 1998	etc/numeric-k6.scr 	Mathieu Patenaude - numeric script that works
					with kermit version 6 (math@unix.sh).
20 aug 1998	src/bb.c		Cosmetic change; newline after error messages

Changes for 1.08
09 aug 1998	web/mkbb.comp		Fix last group compress buglet
08 aug 1998	web/mkbb.comp		New.  Returns list of column names to display
08 aug 1998	web/mkbb.sh		If group line is marked "group-compress" only 
					display columns that have data in that group.
08 aug 1998	web/mkbb2.sh		Only display non-green columns on output
06 aug 1998	bin/bb-local.sh		Made sure if pager was called, displayed message
					also says (paging).  For debugging.
04 aug 1998	bin/bb-network.sh	Added ERR variable to fix erroneous green
					condition buglet...

Changes for 1.07c
01 Aug 1998	bin/bb-network.sh	Modified ping test to check for return code
					then the return string - string is not 
					always OK (Time To Live exceeded errors)...
					Navindra Umanee <navindra@openface.ca>
		bin/bb-page.sh		Reorganized it in a case statement in part to
					support the Airtouch e-mail -> pager format of
					NNNNNNN@airtouch.net (which used to try to dial	
					out due to the NNNNNNN).
30 Jul 1998	src/bbd.c		Remove hardcoded port # from error message 
					(frank@bluegrass.net)
29 Jul 1998	bin/bb-network.sh	Added support for DHCP (0.0.0.0) addresses and 
					automatic noping for them. http test now sends
					entire server response from head commands.
23 Jul 1998	etc/bbdef.sh		LYNX=lynx definition changed so that output
					works like bbnet: Leif Ericksen <phantom@wwa.com>
19 Jul 1998	src/bbd.c		Allow longer messages (like an entire ps or df)
		src/bb.h		MAXBUF (largest message size now 8192)
		bin/bb-local.sh		Send full 'df' output to BBDISPLAY

Changes for 1.07b
24 jun 98	bin/bb-network.sh	Added paging for all internet services
					Patrick Hopewell <p.hopewell@utoronto.ca>
24 jun 98	etc/bbdef.sh		Added NONETPAGE, removed TELNETPAGE & HTTPPAGE	

Changes for 1.07a
21 jun 98	bin/bb-network.sh	Better service checks and error messages
21 jun 98	src/bb.c		Better error messages
21 jun 98	src/bbnet.c		Better error messages

Changes for 1.07
17 jun 98	bin/bb-network.sh	Added noping option - ping test now optional
17 jun 98	bin/bb-page.sh		Shortened subject line for mail paging

Changes for 1.06e
26 may 98	bin/bb-local.sh		PROCS now includes PAGEPROCS to test
26 may 98	bin/bb-network.sh	Dialup services that fail = clear dot
25 may 98	src/touchtime.c		New functionality - does touch files
25 may 98	web/mkbb.sh		Change related to touchtime
25 may 98	bin/bb-page.sh		Change related to touchtime
25 may 98	bin/sendmsg		Change related to touchtime
Changes for 1.06d
24 may 98	etc/bbsys.hpux		Added PINGPARs for hpux from Steve 
					Bonds <sbonds@agora.rdrop.com>
23 may 98	src/touchtime.c		Fix for year-rollover problem.
Changes for 1.06c
05 may 98	etc/bbsys.unixware	Fix for ping params from Jim Whitby
18 apr 98	bin/bb-network.sh	dialup would page on clear...
29 apr 98	bin/bb-network.sh	dns server testing from Frank Kujawski 
						<frank@bluegrass.net>
29 apr 98	etc/bbsys.sh		Added NSLOOKUP variable
29 apr 98	etc/bbinc.sh		Added DNSERR variable
01 may 98	etc/bbinc.*		Defined additional NSLOOKUP locations

Changes for 1.06b
22 mar 98	src/bbnet.c		http request to have \r's for roxen
					Brian Lenihan <brianl@real.com>
29 mar 98	README			Got rid of BBPAGER-beta crap.
30 mar 98	src/bbd.c		standalone bbd core dump - fixed.
01 apr 98	bin/bb-page.sh		Corrected comment about BBPAGER to PAGER
19 mar 98	src/bbnet.c		remove extra socket() call
19 mar 98	src/bb.c 		remove extra socket() call
21 jan 98	bin/bb-network.sh	Test 3 times before paging on ping
05 feb 98	bin/bb-network.sh	MACHIP -> IPADDR when paging
14 feb 98	web/mkbb.sh		bb.gif HEIGHT and WIDTH were reversed
05 mar 98	web/mkbb.sh		BBBKG, BBDATE, BBTIME variables added
14 mar 98	src/bbd.c		etc/security fixes and bounds checking
					from fetch@muffin.arcadia.spb.ru
14 mar 98	src/bbd.c		SO_REUSEADDR (bbd restart bug) from 
					Gary Mills <mills@cc.UManitoba.CA>
15 mar 98	src/bbnet.c		Support for PROXY checking...  format is					http://proxy.com/http://reg.url.com
16 mar 98	etc/bbsys.redhat	grep lives in /bin and ps has no -
Changes for 1.06a
10 Jan 98	web/mkbb.sh	Support for notes files links in summary lines.
16 Jan 98	bin/bb-page.sh	Fix bug where numeric mail is sent via kermit
18 Jan 98	web/mkbb.sh	Support display grouping & blanks in bb-hosts
18 Jan 98	web/mkbb.sh	Fix HTML syntax errors in display
18 Jan 98	web/mkbb2.sh	Fix HTML syntax errors in display

Previous Versions
01 Jan 98	Version 1.06	Copyrights and Licenses enhanced.

04 Dec 97	Version 1.05a	Finally added redhat fixes and fixed
				PAGINGLOCK in runbb.sh from Martin Richard
				<martin@europa.collegebdeb.qc.ca>
20 Oct 97	Version 1.05	More security, grouping, dialup support

27 Apr 97	Version 1.04h	From: Jon Lewis <jlewis@inorganic5.fdt.net>
				Fix bbnet.c unitialized data sent.
25 Apr 97	Version 1.04g	From: Doug White <dwhite@gdi.uoregon.edu>
				Fix bbnet.c core dump on http addresses
13 Apr 97	Version 1.04f	Added the FAQ to the docs directory.
02 Apr 97	Version 1.04e	New little button for BB.  Yup, that's it.
26 Mar 97	Version 1.04d	Bill Petersen <brpeters@tssun7.dsccc.com>
				make web/mkbb.cols 25 times faster :)
18 Mar 97	Version 1.04c	bb.h MAXLINE changed to 2048 to avoid
				making Solaris ftpd core dump on test
06 Mar 97	Version 1.04b	bbnet.c GET protocol correction from
				Don Sullivan (dsullivan@gaia.arc.nasa.gov)
				Fixed dumb table problem in mkbb2.sh
				Thanks to Marc Albers (marca@cvi.ns.nl)
				Improved http testing from Douwe Dijkstra
				<D.Dijkstra@Twinfo.nl> bbnet.c, bb-network.sh
03 Mar 97	Version 1.04a	Fix bug in bbnet.c that messed up IP addrs
				From Fred Lindberg (cfl-src@id.wustl.edu)
				Ping test now uses IP address not name
				Tabs and spaces OK in /etc/services
23 Feb 97	Version 1.04	FQDN support (fully qualified domain names)
				New Generic server tests (ftp / pop3 / smtp)
				Extra help about the tests on the bb pages
				Standard footer can be included on all pgs
03 Feb 97	Version 1.03a	Support for HPUX 9.X, moved MAIL defn to 
				local files from Greg Baker (bakerg3@rpi.edu)
01 Feb 97	Version 1.03	Support for AIX from Darren Henderson
				(darren.henderson@state.me.us)
				Change prefix to force kermit to tone dial
30 Jan 97	Version 1.02c	sendmsg - get rid of echo on line busy
29 Jan 97	Version 1.02b	sendmsg - change test -e to test -f
				'cause solaris doesn't like it...
				bdf really should be in /bin for hpux
25 Jan 97	Version 1.02a	Minor fix for systems using langauages
				other than english (comma as decimal pt)
12 Jan 97	Version 1.02	Jacob Lundqvist adds SMS pager support
				and reworks kermit numeric paging, and
				fixed a variety of little buglets...
				Irix fixes from Jeffrey K. Matson
				<jmatson@cedar.micro.umn.edu>
				Clean up of etc/bbdef.sh includes; 
				should only happen when needed now...
				Cute little "b" icon on brief view page
08 Jan 97	Version 1.01	Added support multiple pager numbers
				multiple pager types, numeric and e-mail
				preliminary support for alpha / SMS paging
				Uptime now reported in CPU column, any
				uptime < 1 hour is a warning...
				SCO3 support Added by Richard Dansereau
				<dansereau.richard@regis.uqam.ca>
31 Dec 96	Version 1.00	bb-pager.sh included in release
				Security enhancements & bug fixes
				Put tmp files in BBTMP, not in /tmp
				thanks to Alan Cox(alan@cymru.net)
				Disallow bogus status file creation
				from Jac Kersing (J.Kersing@the-box.com)
				Fixes to bb-network.sh for kermit paging
				from Doug White (dwhite@resnet.uoregon.edu)
				Support for Redhat Linux from Ron Nelson
				(rnelson@mpr.org)
23 Dec 96	Beta 0.99	Time of last update put in Web page title
				bbnet.c deals with trailing / better...
				Fix for SunOS ping parameters
				Jim Whitby adds support for UnixWare 2.0
				Fixed bug in bb-network.sh $NAME -> MACHINE
				in status report.
15 Dec 96	Beta 0.98	Added bbnet to check network connections
				instead of lynx.  All machines/ports can
				be checked, but just do http for now...
				bin/bb-network.sh and src/ changed.
12 Dec 96	Beta 0.97	Support for SCO 5 from Douwe Dijkstra
				(D.Dijkstra@Twinfo.nl)
				Added non-blinking GIFS
02 Dec 96	Beta 0.96	Added Solaris ping changes from
				Josh Wilmes (josh@sky.net)
				Added proper IRIX support with info from
				David Brandon (dbrandon@tamug.tamu.edu)
27 Nov 96	Beta 0.95	Folded in Gunnar Helliesen's changes
				for OSF/Unix, Ultrix, and NetBSD
				Changes bin/bb-network.sh for ping
				code, and changed grep and rm to variables.
25 Nov 96	Beta 0.94	Spit error code if variables undefined.
				Increase CPU warning > 150 error > 300
				Fixed bbd.c "errno.h" => <errno.h>
				Added Gunnar Helliesen's (gunnar@bitcon.no)
				changes to the infamous zombie code...
21 Nov 96	Beta 0.93	Removed -DZOMBIE from Linux makefile
				Added $DFEXCLUDE to bin/bb-local.sh
19 Nov 96	Beta 0.92	Fixed bad patch in src/bbd.c (in 0.91)
18 Nov 96	Beta 0.91	Patched src/bbd.c check for signal interrupt



Really Quick and Dirty Install Procedure for Big Brother
========================================================

1.	cd ./doc, and run ./bbconfig <OS-NAME>
	where OS-NAME is freebsd, solaris, linux, hpux10, sunos, 
				ultrix, osf, netbsd, freebsd, redhat
	If you're not running one of the above, read the README

2.	cd ../src
	type "make"
	then type "make install"

3.	cd ..
	edit runbb.sh, set BBHOME to the current directory.

4.	cd etc

	edit bb-hosts, but your host files in there.  Refer to doc/README.
	This is the core of Big Brother.  You must read the docs here.
	edit bbdef.sh, set alarm levels and things.

5.	cd ..
	./runbb.sh &

6.	Debug, and look at all the docs.

7.	Check the online documentation!  It lives under:
	http://MacLawran.ca/bb-dnld/

For the Web Stuff
=================

All Web-based things live in the www directory.  In order for the bb
stuff to work correctly, this directory must be linked into your Web
site somewhere.  I suggest something like the following:

ln -s /home/sean/bb/www /WWW/bb (where /WWW is the Document Root dir).

You should then be able to access BB with the URL http:/bb/bb.html


For the Pager Stuff
===================

You need kermit and a modem.  It should be working...

1.	Edit etc/bbdef.sh and define the variables
	KERMIT (where kermit lives), TTYLINE (what tty it uses)
	PREFIX (dial prefix if any)

	If you're using SMS paging (mainly Europe) read Jacob's
	readme: doc/README.SMS

2.	define the PAGER variable, format is as follows:

	PAGER="1233123 sean@MacLawran.ca sms-1323123 alpha-1323123"
		send numeric page to 1233123, then
		mail sean@MacLawran.ca
		send and SMS page to 1323123
		send an alpha page to 1323123

	If you're notifying by mail, MAIL in etc/bbdef.sh should
	be defined correctly to something that will send a mail
	message with a Subject line.

3.	For Web-based paging (bb-pager.sh) edit bb-page.sh and install
	it in your cgi-bin directory.  Then edit bb-page.html to point
	at the correct cgi-bin location to make this work.

Have fun.
--
Sean MacGuire					sean@MacLawran.CA
http://MacLawran.ca/sean 			+1 514 982 9688
