[Moonlight-list] Moonlight 2 In Second Life

Sebastien Pouliot sebastien.pouliot at gmail.com
Wed Oct 21 08:47:40 EDT 2009


Hello Jim,

On Wed, 2009-10-21 at 13:00 +0100, Babbage Linden wrote:
> We're hoping to start working on adding C# support to Second Life very
> soon, which mostly involves changing Second Life to verify assemblies
> created by residents using the Mono bytecode and metadata verifiers
> and to build a sandbox in the simulator for the assemblies using the
> CoreCLR support in Moonlight 2.

CoreCLR support, like the verifier, is inside Mono itself. Moonlight
only enables them when initializing Mono.

> We'd like to build a CoreCLR sandbox to have the verified, untrusted
> code running safely within our unmanaged C++ application.
> 
> What's the best way to do that? Host Moonlight and just modify the set
> of SafeCritical and Critical assemblies? 

No (as per above). So you might want some other features from Moonlight
(e.g. web and socket policies) but this is not required to get either
CoreCLR or the verifier working.

> Embed Mono as we currently do and then use the CoreCLR machinery to
> build our own Sandbox?

Yes. Now that requires you to provide class libraries that follow the
CoreCLR requirements. 

There are quite a few pages on the wiki about the security tools we're
using to _ease_ that job - but keep in mind that our job is a bit
simpler because we already have a profile, Silverlight 2, to use as a
guideline. 

You'll likely need/want something different since I assume you'll want
to keep, as much as possible, compatible with your existing class
libraries.

> We're hoping to use Moonlight 2 final for this work, what's the
> current estimated release date for that?

The current state (in mono 2.6 branch) is very stable and unlikely to
change much API-wise. I suggest you start with this then build your own
class libraries (profile) with the coreclr requirements - that later
part (and its audit) will likely take some time (and Moonlight 2.0 will
likely have shipped by then).

Sebastien




More information about the Moonlight-list mailing list