[DGD] Can't put a wiztool outside the /usr/System directory...
Noah Gibbs
noah_gibbs at yahoo.com
Sun Oct 3 21:54:48 CEST 2004
I've recently been trying to make Phantasmal more of an intermediate
layer than a game, and separate the actual game into a separate thing
(tentatively called Seas of Night). This has been good for my
discipline and for security, and it makes several design issues a lot
clearer.
Phantasmal, for instance, hands control off to a /usr/game/initd.c on
startup, queries a gamedriver object to find out, say, what connection
object to use, and so on.
Along the same lines, I tried putting a wiztool object in
/usr/game/obj/wiztool. I added a small function in the System
directory to clone it with the wizard's identity, just like the regular
/usr/System/obj/wiztool object works normally.
It *almost* works. You can run a lot of the regular commands like
"people" and "access global" successfully, because those check the
owner of the object or the path of the program that's calling them.
But since a lot of the file operations check the creator of the object
instead, you can't do things like grant somebody access (which creates
a new directory for them) or determine what your own access (which
involves enumerating a directory's entries).
Ah, well. Guess I'll put the wiztool back under /usr/System and add
a buildertool under /usr/game for any new admin-type commands the game
wants to implement.
Don't know if anybody else is doing something similar under a
Kernel-based library, but I figured it was worth mentioning.
=====
__________________________________
Do you Yahoo!?
New and Improved Yahoo! Mail - Send 10MB messages!
http://promotions.yahoo.com/new_mail
_________________________________________________________________
List config page: http://list.imaginary.com/mailman/listinfo/dgd
More information about the DGD
mailing list