[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