Domain master.c base object
This needs some explaining, so here goes:
All domain masters should be inheriting this.
In the create() you should be able to do everything
you need to do, except on a rare occasion have to
mask a function... like Aprior's does to give all
Patrons read access.
The funcs:
set_domain_lord - sets whoever to Thane
set_domain - duh
set_read_open - if 1, everyone has read access into your domain
if 0, only members or those with special read perms can
set_write_open - if 1, anyone can write (default to 0 of course)
set_read_perms
set_write_perms - Basically the sub-dir protections, easily settable
set_read_perms(([ "/d/boo/bah" : 1
"/d/boo/bing" : 2,
"/d/boo/woo" : ({ "ben", "hur" })
]));
bah/ can be read by only members of the domain
boo/ can be read by the THANE
woo/ can be read by Ben and Hur
set_write_perms is basically the same, just replace the
'can be read' with 'can be written to' in the above section.
Note: If you don't have read perms to a file or dir, you
won't be getting write access.
Notice, /d/domain/logs/ NEEDS to be write locked to 2 for
security's sake. ie. Only the Thane should be able to alter
logs in his/her domain.
When making changes to your domain master object, do ANY changes
to a backup version and make sure it loads BEFORE replacing the
existing master object. You screw this up, the Mud crashes and has
to be manually brought back up, ie Baldrick wakes up and hits the
reset button. (NOT good)
If you plan on making extensive modifications to your domain, look
at /d/aprior/master.c and master_mods.c
Not tested, but I think you can set protections on individual
files themselves, not just the entire directory. Anyone does
this successfully, mail me. Have fun.
Radix