[DGD] Kotaka case sensitivity

Shentino shentino at gmail.com
Mon Mar 23 05:09:19 CET 2009


On Sun, Mar 22, 2009 at 8:51 PM, Brian Gernhardt
<benji at silverinsanity.com>wrote:

> I was interested by the recent upsurge in activity on the list and was
> reminded of my various plans for a mudlib. A far more rational thing to do
> is use someone else's code, so I downloaded Gurbalib, Phantasmal, and
> Kotaka.  I started by looking at their READMEs...
>
> kotaka/mudlib/README says:
>
>> Notes:
>>
>>        Kotaka can not be run on Windows because part of its core
>>        functionality relies on case sensitive filenames.
>>
>
> I would like to point out that this also excludes Mac OS X, or at least
> anyone who uses the default filesystem.
>

Kotaka uses the klib's access controls to segregate its subsystems as well
as the wizards.  For example, Common versus System versus Game versus lars
versus shentino versus admin.  In fact, that's part of my security scheme,
that said subsystems have to be expressly granted access to anything outside
their homedir.

Subsystems are somewhat privileged over users, and the system distinguishes
a Subsystem from a user based on whether the "user"'s username is
capitalized or not.  A subsystem may ask for an access proxy for:

1)  itself, to take advantage of access grants made by other users or
subsystems
2)  a user, if that user is online, to act on behalf of that user (good
example would be an FTP daemon)

Whereas a user is only allowed to ask for an access proxy for him or
herself.

Game itself grants Common read access to its helpdir so that the HelpD can
read the help files without being elevated to full blown System privileges,
as in phantasmal.

The Kotaka site says it got heavy inspiration from Phantasmal.  Does
> Phantasmal also have this limitation?


As far as I can tell, phantasmal doesn't.  Using case to distinguish a
subsystem from a user is a decision that is likely unique to Kotaka.

Usernames in DGD, however, are case sensitive, so if you wish to handle
usernames, you will need to canonicalize them.  Inside the Klib, filenames
are case sensitive as well.

Also, the Klib's access mechanisms are case sensitive.  If you have granted
access to "foobar", they will not be able to access it with "Foobar", even
though on a case insensitive filesystem those will resolve identically.


> ~~ B
> ___________________________________________
> https://mail.dworkin.nl/mailman/listinfo/dgd
>



More information about the DGD mailing list