
                     Documentation for INF-TOOL (XFBB)
                    by Stewart Wilkinson G0LGS Sysop GB7LGS
                    ---------------------------------------

Please ensure you read the whole of this README document before using the
program, failure to do so could leave you with an unusable XFBB system.

INTRODUCTION

This software was written for use on systems using the Linux F6FBB BBS
software V7.01 and later. (However it may also work with V7.00 - see
later).

WHAT DOES IT DO

INF-TOOL performs various checks on the FBB User information database, and
will remove invalid & corrupted entries (when used with appropriate
command line arguments/options).

It will optionally remove all entries older that a specified number of
days (ie: entries for users that have not logged in during that number of
days). It will however NOT remove old entries that are marked as EXCLUDED,
unless they are also corrupted and the '--remove-excluded' command line
option is specified (even then it will generate a warning message for each
excluded callsign removed).

This program has some similarities to the original FBB MAINTINF program,
but does much more checking of the various information fields. The checks
performed by this version are:

1. The callsign field:
	has 1 or 2 numbers, and
	is between 3 and 6 characters long,
	contains only alpha-numeric characters or #.

2. The hroute field:
	has at least 2 dots, and
	does not have 2 dots together, and
	does not end in a dot.
	the part up to first dot obeys the callsign rules above, and
	the remainder contains only alpha-numeric characters or #.
	
3. The SSID field is in range 0 to 15.

4. Resets the number of connections value (when its < 0 or > 100000 ).

5. Ensures No of Lines per page (OL setting) is between 4 and 50.

6. Ensures Language selection is within current available range.


PRECAUTIONS

As INF-TOOL manipulates 'inf.sys' which is essential to the correct
operation of FBB, it is highly recommended that you make a backup copy of
'inf.sys' before you use the program. This will ensure that should the
power fail or some other unforeseen event occur during the few moments the
program takes to do its work you will be able to restore the system to
normal operation.

As a further precaution to try and prevent corruption of the FBB system
files, once the process has started the program will silently ignore the
SIGINT (and CTRL-C) signals.

WARNINGS

Although this program has been tested by the author on GB7LGS it is
provided with no warranty, guarantee or even possibility that it will work
for you on your system or in your configuration. The author will not be
responsible for any damages that may be caused by the use of this program.

The program makes changes directly to 'inf.sys' and so should NOT under
any circumstances be used to modify the user database whilst FBB is
active.

The program will attempt to check if FBB is currently active, it should
refuse to continue if it finds any active processes of 'xfbbd' or 'xfbb'.

Note: The program uses the linux program 'pidof' to perform this check, if
'pidof' is not available (on the current PATH) the program will exit with
the message 'Unable to determine if XFBB is active.'




USING THE PROGRAM

After closing XFBB and backing up the important FBB files you can simply
start the program with a command line like:

	inf-tool                   : Display Help
	inf-tool --help            : & exit.

	inf-tool --version         : Display Version & exit.

	inf-tool [options] --check : Report on what would be done.

	inf-tool --tidy            : Remove empty / invalid entries.

	inf-tool --clean=180       : Remove entries not updated in last 180 Days.

	inf-tool [options] --verbose : Be more Verbose.

	Some options may be combined (ie: --tidy and --clean).

The program reads the information it requires from your fbb.conf and will
perform some initial checks on 'inf.sys' before it attempts to make any
changes.

Note: When the program is started using any option that might cause
changes to be made the original 'inf.sys' will first be copied to
'inf.old' - if the program cannot complete this process it should simply
refuse to continue.

USING INF-TOOL DURING FBB's DAILY MAINTENANCE CYCLE.

Once you are happy that the program works satisfactorily and with no
unwanted side effects on your system you might want to run the program as
part of the FBB daily maintainance cycle.

To do this you might install the program in /usr/lib/fbb/tool and create
yourself a suitable script in /usr/lib/fbb/script/maintenance that calls
the program with appropriate parameters.


USING with XFBB V7.00

Whilst the program has not been tested with XFBB 7.00, I believe It should
work correctly if you create a /etc/ax25/fbb.conf file with at least the 
following lines:

	# Path to find inf.sys
	data = /var/ax25/fbb

	# Path to config dir (if fbb.conf is not in /etc/ax25)
	conf = /etc/fbb

	where /var/ax25/fbb is replaced with the path where your
	'inf.sys' file resides (ie: /home/xfbb).

---
Stewart G0LGS
Sysop GB7LGS
