[CalendarServer-changes] [1130] CalendarServer/trunk/twistedcaldav/extensions.py

source_changes at macosforge.org source_changes at macosforge.org
Mon Feb 5 16:03:55 PST 2007


Revision: 1130
          http://trac.macosforge.org/projects/calendarserver/changeset/1130
Author:   wsanchez at apple.com
Date:     2007-02-05 16:03:55 -0800 (Mon, 05 Feb 2007)

Log Message:
-----------
Handle access controls errors on properties.

Modified Paths:
--------------
    CalendarServer/trunk/twistedcaldav/extensions.py

Modified: CalendarServer/trunk/twistedcaldav/extensions.py
===================================================================
--- CalendarServer/trunk/twistedcaldav/extensions.py	2007-02-06 00:03:33 UTC (rev 1129)
+++ CalendarServer/trunk/twistedcaldav/extensions.py	2007-02-06 00:03:55 UTC (rev 1130)
@@ -31,6 +31,7 @@
 import cgi
 import time
 
+from twisted.python import log
 from twisted.internet.defer import succeed, deferredGenerator, waitForDeferred
 from twisted.web2 import responsecode
 from twisted.web2.http import HTTPError, Response, RedirectResponse
@@ -258,8 +259,18 @@
             for qname in qnames:
                 property = waitForDeferred(self.readProperty(qname, request))
                 yield property
-                property = property.getResult()
+                try:
+                    property = property.getResult()
+                    name = property.sname()
+                    value = property.toxml()
+                except HTTPError, e:
+                    if e.response.code != responsecode.UNAUTHORIZED:
+                        log.err("Unable to read property %s for dirlist: %s" % (qname, e))
+                        raise
 
+                    name = "{%s}%s" % qname
+                    value = "(access forbidden)"
+
                 output.append(
                     """<tr class="%(even)s">"""
                     """<td>%(name)s</td>"""
@@ -267,8 +278,8 @@
                     """</tr>"""
                     % {
                         "even": even and "even" or "odd",
-                        "name": property.sname(),
-                        "value": cgi.escape(property.toxml()),
+                        "name": name,
+                        "value": cgi.escape(value),
                     }
                 )
                 even = not even

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20070205/8de09143/attachment.html


More information about the calendarserver-changes mailing list