[DGD] Persistent library design, initialization and data integrity
Carter Cheng
carter_cheng at yahoo.com
Thu Oct 18 11:45:08 CEST 2007
My understanding of MapD after reading over the code is it mainly accepts UNQ files and uses these as input in order to generate objects. This scheme is one of the rather interesting aspects of the Phantasmal library and permeates much of the existing library. So in order to generate new objects under the Phantasmal scheme I assume I would always need to have a relevant UNQ file from which to generate objects from.
So in this case the UNQ file takes the place of the script and provides a secondary location in which data about an extant object is stored. I guess the question I had concerning persistent library design is whether it is safe to discard the "script" as well and whether it is possible to secure the system provided by Phantasmal/Klib in this case (excuse my ignorance).
One thing I thought that might be interesting to do would be to be able to dynamically configure objects such as rooms then post them to the system (change ownership) once they are mature enough for common use. In a typical LPmud this would involve writing a "initialization script" and the copying it over to the relevant directory and recreating said object using the script. But I am curious if a more direct approach is possible (i.e. constructing and xferring the object directly). Or are there some dire implications to something like this?
Sincerely,
Carter Cheng.
----- Original Message ----
From: Noah Gibbs <noah_gibbs at yahoo.com>
To: All about Dworkin's Game Driver <dgd at dworkin.nl>
Sent: Tuesday, October 16, 2007 9:38:29 PM
Subject: Re: [DGD] Persistent library design, initialization and data integrity
You're correct that Phantasmal uses a lot more verification code in a
lot of
places to keep unauthorized callers out. It's not perfect (the kernel
lib is
astoundingly correct and consistent on security), but it's not bad.
Phantasmal doesn't have particularly fine-grained security, partly
because I
just didn't get to it. The MapD carefully owns everything, so the
place to
secure would be the MapD's API. In a persistent system, and most
heavily
attacked systems, the approach is similar -- have system components as
"armed
camps" verifying each request as they come in, and whether the person
making
the request is authorized to do it.
--- Carter Cheng <carter_cheng at yahoo.com> wrote:
> One of the most salient features of DGD is persistence. As noted on a
> previous thread on the mailing list in theory this means that most
> initialization code can be for the most part done away with since
many
> objects need to be only initialized once. In my experience from
working
> primarily with MudOS 90% or more of the code is designed to support
> initialization or initialization code of some sort.
>
> I am curious what happens when you start avoiding the initialization
script
> approach to initializing things on persistent muds. Do you have to be
more
> concerned about data integrity since the data might be the only place
where
> that information is kept (there is no redundancy of an init script or
a save
> file). So instead of spending security effort protecting files you
(following
> this line of reasoning) have to protect data just as much.
>
> This seems like to me it might have two implications- either security
has
> finer granularity (is this possible under either Klib or Phantasmal?)
and you
> can fine tune the system to make sure certain calls are restricted to
certain
> classes of users depending on the object. Or you would have to add
extra code
> to each set type call in turn to make sure that it isnt called by
someone
> lacking proper permissions.
>
> Is this true and are there other implications also when designing
persistent
> mudlibs?
>
>
>
>
> ___________________________________________
> https://mail.dworkin.nl/mailman/listinfo/dgd
>
____________________________________________________________________________________
Looking for a deal? Find great prices on flights and hotels with Yahoo!
FareChase.
http://farechase.yahoo.com/
___________________________________________
https://mail.dworkin.nl/mailman/listinfo/dgd
More information about the DGD
mailing list