The Sockets library does a lot of Security checking, i.e. Is the SafeLevel
too high for this action. It may be helpful to be able to specify this kind
of thing as an attribute on the method.

Something like:

 

        [RubyMethod("getsockopt")]

        [RubySafeLevel(2)]

        public static MutableString GetSocketOption(CodeContext/*!*/
context, RubyBasicSocket/*!*/ self, object/*Numeric*/ level,
object/*Numeric*/ optname) {

  

Rather than:

 

        [RubyMethod("getsockopt")]

        public static MutableString GetSocketOption(CodeContext/*!*/
context, RubyBasicSocket/*!*/ self, object/*Numeric*/ level,
object/*Numeric*/ optname) {

            Protocols.CheckSafeLevel(context, 2, "getsockopt");

            ...

        }

 

Or maybe even more cleverly integrate it into the .NET security permissions
attributes.

What do you think?

Pete

_______________________________________________
Ironruby-core mailing list
Ironruby-core@rubyforge.org
http://rubyforge.org/mailman/listinfo/ironruby-core

Reply via email to