[Checkins] SVN: AccessControl/trunk/src/AccessControl/ZopeGuards.py Tweaks
Hanno Schlichting
hannosch at hannosch.eu
Sat Jun 19 12:23:00 EDT 2010
Log message for revision 113661:
Tweaks
Changed:
U AccessControl/trunk/src/AccessControl/ZopeGuards.py
-=-
Modified: AccessControl/trunk/src/AccessControl/ZopeGuards.py
===================================================================
--- AccessControl/trunk/src/AccessControl/ZopeGuards.py 2010-06-19 16:18:09 UTC (rev 113660)
+++ AccessControl/trunk/src/AccessControl/ZopeGuards.py 2010-06-19 16:23:00 UTC (rev 113661)
@@ -11,9 +11,8 @@
#
##############################################################################
-__version__='$Revision: 1.18 $'[11:-2]
-
import sys
+import string, math, random
import RestrictedPython
from RestrictedPython.Guards import safe_builtins, full_write_guard
@@ -29,6 +28,11 @@
safe_builtins = safe_builtins.copy()
safe_builtins.update(utility_builtins)
+# Allow access to unprotected attributes
+string.__allow_access_to_unprotected_subobjects__ = 1
+math.__allow_access_to_unprotected_subobjects__ = 1
+random.__allow_access_to_unprotected_subobjects__ = 1
+
# AccessControl.Implementation inserts these names into this module as
# module globals: aq_validate, guarded_getattr
@@ -70,7 +74,7 @@
return v
if getSecurityManager().validate(object, object, None, v):
return v
- raise Unauthorized, 'unauthorized access to element %s' % `i`
+ raise Unauthorized('unauthorized access to element %s' % index)
# Create functions using nested scope to store state
# This is less expensive then instantiating and calling instances
@@ -277,7 +281,6 @@
if locals is None:
locals = {}
mnameparts = mname.split('.')
- firstmname = mnameparts[0]
validate = getSecurityManager().validate
module = load_module(None, None, mnameparts, validate, globals, locals)
if module is None:
More information about the checkins
mailing list