[cap-talk] Ok, I'm being a bit cheeky here. I'm half way through designing a new

Jed at Webstart donnelley1 at webstart.com
Tue Nov 21 19:43:38 CST 2006


At 06:49 AM 11/21/2006, Sarah Crowther wrote:
>Ok, I'm being a bit cheeky here. I'm half way through designing a 
>new MUD system, details available on request, and I found I needed a 
>good access control system. I was pointed towards Capability Systems 
>as a solution, and they look perfect. Only problem - I have no idea 
>how to implement one, even less in the system I am putting in place 
>for my MUD (should be relatively easy, if I knew what I was doing).
>
>I would appreciate any pointers, and/or people rushing to help me 
>code to get their name up in lights (or more likely hidden in little 
>letters in the source code for a MUD which will never achieve 
>anything other than a listing on MudConnector and an average user 
>base of high fives, low sixes).
>
>Feel free to ignore me, shout me down, point me to a more 
>appropriate place to ask, and/or flame me mercilessly until I cry 
>like a little girl.

The notion of a "capability" is simply a permission token that can be 
communicated.  There many ways to implement them.  At the highest 
level they can be implemented as either protected descriptors or as 
blocks of data (e.g. encrypted).

If you want to distribute capabilities around a network (e.g. the 
Internet) then I suggest capabilities as data - e.g. as with:

https://wideword.net/doc/i%2Bej6NZzbDWtc2k444Nk%2FQ%3D%3D
or
http://www.waterken.com/dev/Web/

The capability concept is little more than using good object oriented 
programming - where the notion of
an object (e.g. as a parameter that can be communicated) includes 
access to the "object".

If you want to communicate object access (capabilities) within a 
program or single system then
a descriptor model may be appropriate - e.g. see Toby's suggestion 
about the E-language.

Good luck with your MUD project!

--Jed http://www.webstart.com/jed/ 




More information about the cap-talk mailing list