[Ironpython-users] Passing Python exceptions in a sandboxed domain
Cesar Mello
cmello at gmail.com
Wed Mar 21 22:15:44 CET 2012
Hey guys,
I know this is not IronPython specific, but it is causing pain to embbed
IronPython in our product. If someone can help, thanks so much!
I can repro the problem throwing a TypeErrorException from the restricted
appdomain like this:
// starts with standard Internet Zone sandbox permissions
var evidence = new Evidence();
evidence.AddHostEvidence(new Zone(SecurityZone.Internet));
var permissionSet = SecurityManager.GetStandardSandbox(evidence);
permissionSet.AddPermission(new
ReflectionPermission(PermissionState.Unrestricted));
var setup = new AppDomainSetup();
setup.ApplicationBase = AppDomain.CurrentDomain.BaseDirectory;
setup.ApplicationName = "ConsoleScriptHost";
var domain = AppDomain.CreateDomain(setup.ApplicationName,
evidence, setup, permissionSet, null);
try
{
domain.DoCallBack(delegate
{
var x = new
IronPython.Runtime.Exceptions.TypeErrorException("xxx");
throw x;
});
}
catch (SecurityException ex)
{
var m = ex.Message; // why this?
}
On Mon, Mar 19, 2012 at 10:50 AM, Cesar Mello <cmello at gmail.com> wrote:
> Hi,
>
> When I try to run something like 'None + 2' inside a sandboxed domain, I'm
> getting the following exception:
>
> System.Security.SecurityException
> Message: Request failed
>
> Stack trace:
>
> at
> IronPython.Runtime.Exceptions.TypeErrorException.GetObjectData(SerializationInfo
> info, StreamingContext context)
> at System.Runtime.Serialization.ObjectCloneHelper.GetObjectData(Object
> serObj, String& typeName, String& assemName, String[]& fieldNames,
> Object[]& fieldValues)
>
> Any help is greatly appreciated.
>
> To help debugging, I thought about adding a command line argument to ipy
> console for setting up a standard Internet-zone sandbox.
>
> Thank you!
>
> Best regards
> Mello
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/ironpython-users/attachments/20120321/afef1cf9/attachment.html>
More information about the Ironpython-users
mailing list