v0.3: Stuff changed or added
This alpha should fix part of the test stuff -- the preinstall tests.
I also fixed a couple of small spelling errors.
3. Simplified TieUser quite a bit.
1. Fixed various modules to work with sys.cgi, the HTML browser thingy
2. Lots of little things that needed fixing, which I found with sys.cgi
3. Added a mail-validate utility; more on that in a moment
4. Simplified TieGeneric quite a bit.
6. Added more documentation
1. the test code is stable
2. the layout is done
3. the configuration space can mostly be tied into PERL now.
Modules added:
1. Added the TieMTab module
2. Added the TieRsrc module
Modules changed:
all of them, especially Cfgfile, TieGeneric, TieGroup, TieUser
Samples added
CfgAliases
CfgNamed
DNS-find-free
mail-validate
sys.cgi
----
SAMPLES ADDED
CfgAliases
CfgNamed
DNS-find-free
mail-validate
sys.cgi
CfgAliases is an example utility to modify the /etc/aliases file. It removes
aliases, add entries to an aliases, creates aliases, and removes entries from
aliases. It has a small test suite.
CfgNamed is the next example utility, a command line DNS modifier. Its
purpose is to make life fun and easy with DNS. Of course, the command line
parameters have not been fully worked out, so please send me examples of what
should be included. CfgNamed right now has no validation tests, and is not
ready to modify the DNS tables. It needs a command line interface that
reflects the operations.
DNS-find-free: what is it and why
DNS-find-free is simple sample script that employs TieNamed, and uses it to
check out the DNS tables for a place to allocate usage, and such. It is an
example of how to write a script to help assign machine addresses. It was
written upon request, and partly supports a second 'feature': it can
gather information from ARIN template files, find a free space, and
generate a SWIP report that is mostly suitable to send to ARIN. ARIN, by
the way, is the American Registry for Internet Numbers. It should be
relatively easy to modify DNS-find-free to support templates other than
ARIN's.
DNS-find-free does not change any file, or configuration. It will only
generate an SWIP report (and it requires a template to do so). I am not
even sure it will parse the ARIN and SWIP files properly, since I've never
used them.
mail-validate: what is it and why
mail-validate is simple script that employs TieUser and TieGroup, and uses
it to check out /var/spool/mail for any oddities, and such. It is an
example of how to write a script to validate a system; it is not a
replacement for actual security checking tools.
In the past, I've added some of the validation stuff to various modules
(TieNamed, and TieAliases, for example). The thinking was that the
subroutines for correcting problems would be nice to be reusable by others.
Especially since some of them do a lot of cross-reference, and integrity
checking. I'm rethinking that, and may move some of it back out into
separate examples.
The problem is that I don't know of any model for these things. So, for
now, their structure is a bit more on the exploratory side. Having the
validation routines in with the rest of the interface just confuses things.
sys.cgi is a sample CGI to browse configuration space. Of course, the HTML
is pretty simple. Chris Palmer provided a sample CSS to show people how to
make HTML really pretty, but does *not* require them to change the library
for the coolness. It demostrates TieGeneric.
MODULES ADDED:
1. Added CfgTie::TieMTab module
2. Added CfgTie::TieRsrc module
Because I was testing with Quota:: and BSD::Resources, it was fairly cheap
to add CfgTie::TieMTab and CfgTie::TieRsrc. TieMTab uses Quota:: (it won't
tie anything if Quota:: is not installed) to (sorta) retrieve information
about the mounted file systems. Quota:: has been extensively ported, so
this is a very good thing. Currently, changing the mount table is not
supported. TieRsrc is similar: it employs BSD::Resources to check system
wide resource limitations or set them. TieRsrc is basically a wrapper.
MODULES CHANGED:
Cfgfile
TieGeneric-- modified to still work with TieUser,TieGroup
TieGroup -- add @ISA and other fiex
TieUser -- small typos, rearchitected
A reworking of some of the object interlinks.
Changes to Cfgfile. Cfgfile.pm handles most of the real work for updating
*text* configuration files that do not have their own command-line program for
modification. Cfgfile.pm has a new method called 'RENAME' which is used to
delete elements, and was as change their text name. Specific objects -- like
TieAliases -- mostly just format the PERL information into a form that is
proper for /etc/aliases. A little bit of this interaction between objects has
been modified to allow the RENAME method to be clean.
CfgTie::TieUser has be internally rearchitected. Various user record keys
are now system dependent -- if the system does not support them, they keys
will not exist. The first example is the Quota:: module, which (if
installed) is used to report on the given users limits and file system
usage. Another one is the BSD::Resources module (if present) can be used
list how system wide resources the user has employed -- if BSD::Resources
is installed. (The 'use' command for these two is wrapped in an 'eval' so
that CfgTie is useful without them.) Similar modules can be added.