Skip to content
  • Jeremy Evans's avatar
    c5c05460
    Warn on access/modify of $SAFE, and remove effects of modifying $SAFE · c5c05460
    Jeremy Evans authored
    This removes the security features added by $SAFE = 1, and warns for access
    or modification of $SAFE from Ruby-level, as well as warning when calling
    all public C functions related to $SAFE.
    
    This modifies some internal functions that took a safe level argument
    to no longer take the argument.
    
    rb_require_safe now warns, rb_require_string has been added as a
    version that takes a VALUE and does not warn.
    
    One public C function that still takes a safe level argument and that
    this doesn't warn for is rb_eval_cmd.  We may want to consider
    adding an alternative method that does not take a safe level argument,
    and warn for rb_eval_cmd.
    c5c05460
    Warn on access/modify of $SAFE, and remove effects of modifying $SAFE
    Jeremy Evans authored
    This removes the security features added by $SAFE = 1, and warns for access
    or modification of $SAFE from Ruby-level, as well as warning when calling
    all public C functions related to $SAFE.
    
    This modifies some internal functions that took a safe level argument
    to no longer take the argument.
    
    rb_require_safe now warns, rb_require_string has been added as a
    version that takes a VALUE and does not warn.
    
    One public C function that still takes a safe level argument and that
    this doesn't warn for is rb_eval_cmd.  We may want to consider
    adding an alternative method that does not take a safe level argument,
    and warn for rb_eval_cmd.
Loading