Subject: Perms on initialize

From: Conrad Hughes <[email-masked]>
Date: Wed, 15 Jan 1992 18:14:42 -0800

I'm not sure if this has been discussed before, but why are the
perms with which child:initialize() is called those of the
caller of parent:create()?  It seems a bit strange when I call
create(obj,own) that the permissions with which child:initialize
is called are mine, rather than those either of own or of
obj.owner (own seems more logical).  The reason I ask is that I
would like to be able to move create into the database so that
most verbs call $creation_utils:create(obj,own) rather than
create(obj,own) - under these circumstances I can mess with
creation without the risk of the caller causing me to call a
nasty initialize verb with wizard permissions.

Conrad

---

From: Pavel Curtis <[email-masked]>
Date: Thu, 16 Jan 1992 15:42:19 -0800

Conrad Hughes writes:

> I'm not sure if this has been discussed before, but why are the perms with
> which child:initialize() is called those of the caller of parent:create()?

In all cases where a built-in function calls back into MOO code, the called MOO
verb appears to have been invoked by the verb that called the built-in
function.

> It seems a bit strange when I call create(obj,own) that the permissions with
> which child:initialize is called are mine, rather than those either of own or
> of obj.owner (own seems more logical).  The reason I ask is that I would like
> to be able to move create into the database so that most verbs call
> $creation_utils:create(obj,own) rather than create(obj,own) - under these
> circumstances I can mess with creation without the risk of the caller causing
> me to call a nasty initialize verb with wizard permissions.

I don't understand your concern.  The :initialize verb is still going to run
using the permissions of its authors, so why do you care that the calling verb
has wizard permissions?

	Pavel/Haakon