-*-text-*-
To make this thing, cd into each directory and do:

make clean
make install

Should be fine.  



=========================
regd
by Joshua Rowe
=========================

Okay, this is a stupid little program.  I actually _liked_ the idea
behind the Windows 95/NT registry.  So I recreated it.  It uses my
pstream library (it's located at
http://sunsite.unc.edu/pub/Linux/Incoming/pstream-0.0.1.tgz).  It sits
and waits and listens to port 5500 (I think - haven't check the source
in a while), and accepts connections and processes transactions.  The
code is really dirty, and it could be a little unstable, and it
definitely could use some prettying up.  For instance, it uses a
binary protocol to send and retrieve text strings.  Maybe convert to a
text protocol, someone?  Incidentally, I had originally coded it so
that it could record three types of data - string, int, and binary
strings.  I changed that because I want the use to be able to edit the
regd data more easily and with a consistent interface - it only stores
strings.  But I put in some conversion functions based on vssprintf and
vscanf to write int and float data to the registry.  Somebody want to
write a hex converter for me (I could do it, but I don't feel like it
- shouldn't use hex anyway!)

The registry, incidentally, does have security built in.  Each key has
permissions very similar to the ext2 filesystem.  Each has an owner
and group.  As far as I know, it works.  It even implements root's
full access capabilities.  

A single connection originally starts up in guest mode, where the
client can read anything world-readable.  The client can log in using
a user name and password, and suddenly the world changes.  The /me key
points to the /users/uid key, and the user gains and access associated
with that uid and gid (and all the gid's the user is a member of).  

Somebody want to document the clientlib for me?  Thanks.  

FYI I use the SHARED=1 option to build shared libs.  I recommend it.  

jmr

