===================================
OVERVIEW - ISPutil package overview
===================================

This package uses a QDDB database to store Client (customer) records 
showing how many months at how many hours per month each customer has 
purchased.

It provides menus for use on the main host - the host where user accounts 
reside - for creation of new user accounts, purchase of months and of 
blocks of hours, changing accounts from slip to ppp and vice-versa and 
other related functions.

It is intended for use with the WWWutil package, which provides customer 
and staff web functions for viewing this and other system information and 
the ability of clients to purchase hours over the web if they have been 
registered with a PIN (Personal Identification Number) indicating that 
their credit card info has been collected and checked. As more and more 
functions are put into the WWWutil package this package will probably 
become more and more dependent upon running WWWutil as well as this package.

The package is currently in use at an ISP (Kayhay.com) which uses 
separate hosts for user accounts than for modems. The package has 
facilities for operating on one host that performs both functions but has 
not been tested in that configuration for some time so possibly some of 
that support may have broken.

At Kayhay, user accounts live on people.kayhay.com and the modems are on 
stars.kayhay.com ; each 15 minutes stars uses SUP to update its 
/etc/passwd, /etc/group, and /etc/mail/forward files. Stars uses the
Dial-Up_Utils package to enforce user timelimits, and the webserver user, 
http.daemon, is set up to allow rsh from "people" and some of the 
Dial-Up_Utils programs are intalled SUID root, group daemon, so that 
httpd.daemon can use them to set user timelimits and such.

New users are created using the compiled C program user_new, which is 
part of the ISPutil package. This program requires customisation and 
recompiling for each ISP. What it does for Kayhay is provide four 
different types of user account, different mainly in which default home 
page template (see WWWutil package) is generated. The user account is 
created with a specified number of prepaid months and a specified number 
of additional timeblocks per month, entered in the database, and (by 
means of rsh) given a Dial-Up_Utils timelimit record on the modem server. 
The user is also added to the /etc/smail/forward systemwide forwarding 
file, and subscribed to the majordomo-maintained mailing list "users".

Sales staff purchase additional months for the users from menus which 
greet them when they telnet to the "people" host. If a user has zero 
months when one is purchased, then the timelimit is set on the 
modemhost since they would not have gotten that done for them at monthend 
since they lack the current month. When months are purchased the rate and 
hours is as found in their database record.

Sales staff purchase additional blocks of time for the users from the same 
menus.

New accounts, month purchases, timeblock purchases, and changes of shell 
are all reported in the isputil.log file (usually /var/lob/isputil.log).

See the WWWutil package for web-based stuff such as online purchase of 
blocks of hours via the web for users who have a PIN (Personal 
Identifications Number) on file.

