[Mono-devel-list] AppDomain.[Get|Set]Data icalls

Sebastien Pouliot sebastien at ximian.com
Tue Apr 5 09:45:55 EDT 2005


I need to make some changes to the AppDomain.[Get|Set]Data icalls. 

Most of the well-known entries are paths and must be protected with CAS
permissions (FileIOPermission / PathDiscovery). This cannot be done
right now because the icalls are public - and I cannot do the checks in
unmanaged code (i.e. without calling back into managed code).

The obvious fix is to:

* Changes icalls names and make them private;
* Add managed methods to replace the icalls;
* Add CAS stuff for well-known names (Get) into the new managed methods;
* Call the private icalls (old code);

Now looking both icalls code I'm not sure they need to be icalls at all.
So both methods could be moved entirely into managed code.

Unless someone knows a reason for the hash table to be unmanaged ? If so
then maybe the handling of well-known items could be managed and the
rest unmanaged ?

Sebastien Pouliot  <sebastien at ximian.com>
blog: http://pages.infinit.net/ctech/poupou.html

More information about the Mono-devel-list mailing list