[Zope3-checkins] SVN: Zope3/trunk/src/zope/app/component/hooks.py Merged from ZopeX3-3.0 branch:

Jim Fulton jim at zope.com
Fri Aug 13 16:29:19 EDT 2004


Log message for revision 27130:
  Merged from ZopeX3-3.0 branch:
  
    r27107 | jim | 2004-08-13 11:39:11 -0400 (Fri, 13 Aug 2004) | 3 lines
  
  Added an explanation for calling removeSecurityProxy. Also changed
  from using trustedRemoveSecurityProxy to using removeSecurityProxy.
  


Changed:
  U   Zope3/trunk/src/zope/app/component/hooks.py


-=-
Modified: Zope3/trunk/src/zope/app/component/hooks.py
===================================================================
--- Zope3/trunk/src/zope/app/component/hooks.py	2004-08-13 20:17:50 UTC (rev 27129)
+++ Zope3/trunk/src/zope/app/component/hooks.py	2004-08-13 20:29:19 UTC (rev 27130)
@@ -23,8 +23,7 @@
 from zope.app.site.interfaces import ISite
 from zope.component.service import serviceManager
 from zope.component.exceptions import ComponentLookupError
-from zope.proxy import removeAllProxies
-from zope.security.proxy import trustedRemoveSecurityProxy
+from zope.security.proxy import removeSecurityProxy
 from zope.app.traversing.interfaces import IContainmentRoot
 from zope.app.location.interfaces import ILocation
 from zope.app.location import locate
@@ -63,7 +62,15 @@
     if site is None:
         services = serviceManager
     else:
-        site = trustedRemoveSecurityProxy(site)
+
+        # We remove the security proxy because there's no way for
+        # untrusted code to get at it without it being proxied again.
+
+        # We should really look look at this again though, especially
+        # once site managers do less.  There's probably no good reason why
+        # they can't be proxied.  Well, except maybe for performance.
+        
+        site = removeSecurityProxy(site)
         services = site.getSiteManager()
 
     siteinfo.site = site
@@ -84,8 +91,18 @@
     # Deprecated support for a context that isn't adaptable to
     # IServiceService.  Return the default service manager.
     try:
-        return trustedRemoveSecurityProxy(IServiceService(context,
-                                                          serviceManager))
+
+
+        # We remove the security proxy because there's no way for
+        # untrusted code to get at it without it being proxied again.
+
+        # We should really look look at this again though, especially
+        # once site managers do less.  There's probably no good reason why
+        # they can't be proxied.  Well, except maybe for performance.
+
+
+        return removeSecurityProxy(IServiceService(context,
+                                                   serviceManager))
     except ComponentLookupError:
         return serviceManager
 



More information about the Zope3-Checkins mailing list