[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