From 46b8b0b7eb7c222419ff2685911934177c8a42a8 Mon Sep 17 00:00:00 2001 From: helmutm Date: Mon, 2 Feb 2009 06:55:00 +0000 Subject: [PATCH] restrict using type as parent to IConcept and IResource objects git-svn-id: svn://svn.cy55.de/Zope3/src/loops/trunk@3199 fd906abe-77d9-0310-91a1-e0d9ade77398 --- security/policy.py | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/security/policy.py b/security/policy.py index 40f3c5c..17c0df0 100644 --- a/security/policy.py +++ b/security/policy.py @@ -128,14 +128,15 @@ class LoopsSecurityPolicy(ZopeSecurityPolicy): parents = cache.parents except AttributeError: parents = [] - try: - parents.append(obj.getType()) - except AttributeError: - pass - except TypeError: - from logging import getLogger - getLogger('loops.security.policy').warn( - 'TypeError: %s.getType: %r' % (obj, obj.getType)) + if IConcept.providedBy(obj) or IResource.providedBy(obj): + try: + parents.append(obj.getType()) + except AttributeError: + pass + except TypeError: + from logging import getLogger + getLogger('loops.security.policy').warn( + 'TypeError: %s.getType: %r' % (obj, obj.getType)) #if IConcept.providedBy(obj): # parents = [p for p in obj.getParents(noSecurityCheck=True) # if p != obj]