[CalendarServer-changes] [5804] CalendarServer/trunk/twistedcaldav
source_changes at macosforge.org
source_changes at macosforge.org
Tue Jun 22 16:32:54 PDT 2010
Revision: 5804
http://trac.macosforge.org/projects/calendarserver/changeset/5804
Author: sagen at apple.com
Date: 2010-06-22 16:32:52 -0700 (Tue, 22 Jun 2010)
Log Message:
-----------
If EnableCalDAV is False, suppress the calendar-related DAV header values.
Modified Paths:
--------------
CalendarServer/trunk/twistedcaldav/stdconfig.py
CalendarServer/trunk/twistedcaldav/test/test_options.py
Modified: CalendarServer/trunk/twistedcaldav/stdconfig.py
===================================================================
--- CalendarServer/trunk/twistedcaldav/stdconfig.py 2010-06-22 22:04:00 UTC (rev 5803)
+++ CalendarServer/trunk/twistedcaldav/stdconfig.py 2010-06-22 23:32:52 UTC (rev 5804)
@@ -945,25 +945,30 @@
partitions.clear()
def _updateCompliance(configDict):
- if configDict.Scheduling.CalDAV.OldDraftCompatibility:
- compliance = caldavxml.caldav_full_compliance
+
+
+ if configDict.EnableCalDAV:
+ if configDict.Scheduling.CalDAV.OldDraftCompatibility:
+ compliance = caldavxml.caldav_full_compliance
+ else:
+ compliance = caldavxml.caldav_implicit_compliance
+ if configDict.EnableProxyPrincipals:
+ compliance += customxml.calendarserver_proxy_compliance
+ if configDict.EnablePrivateEvents:
+ compliance += customxml.calendarserver_private_events_compliance
+ if configDict.Scheduling.CalDAV.EnablePrivateComments:
+ compliance += customxml.calendarserver_private_comments_compliance
+ if config.Sharing.Enabled:
+ compliance += customxml.calendarserver_sharing_compliance
else:
- compliance = caldavxml.caldav_implicit_compliance
+ compliance = ()
- if configDict.EnableProxyPrincipals:
- compliance += customxml.calendarserver_proxy_compliance
- if configDict.EnablePrivateEvents:
- compliance += customxml.calendarserver_private_events_compliance
- if configDict.Scheduling.CalDAV.EnablePrivateComments:
- compliance += customxml.calendarserver_private_comments_compliance
if configDict.EnableCardDAV:
compliance += carddavxml.carddav_compliance
+ # Principal property search is always enabled
compliance += customxml.calendarserver_principal_property_search_compliance
- if config.Sharing.Enabled:
- compliance += customxml.calendarserver_sharing_compliance
-
configDict.CalDAVComplianceClasses = compliance
Modified: CalendarServer/trunk/twistedcaldav/test/test_options.py
===================================================================
--- CalendarServer/trunk/twistedcaldav/test/test_options.py 2010-06-22 22:04:00 UTC (rev 5803)
+++ CalendarServer/trunk/twistedcaldav/test/test_options.py 2010-06-22 23:32:52 UTC (rev 5804)
@@ -109,3 +109,38 @@
request = SimpleRequest(self.site, "OPTIONS", "/")
return self.send(request, do_test)
+
+ def test_dav_header_caldav_disabled(self):
+ """
+ DAV header does not advertise CalDAV
+ """
+ def do_test(response):
+ response = IResponse(response)
+
+ dav = response.headers.getHeader("dav")
+ if not dav: self.fail("no DAV header: %s" % (response.headers,))
+ self.assertIn("1", dav, "no DAV level 1 header")
+ self.assertNotIn("calendar-access", dav, "DAV calendar-access header")
+
+ config.EnableCalDAV = False
+ request = SimpleRequest(self.site, "OPTIONS", "/")
+
+ return self.send(request, do_test)
+
+ def test_dav_header_carddav_disabled(self):
+ """
+ DAV header does not advertise CardDAV
+ """
+ def do_test(response):
+ response = IResponse(response)
+
+ dav = response.headers.getHeader("dav")
+ if not dav: self.fail("no DAV header: %s" % (response.headers,))
+ self.assertIn("1", dav, "no DAV level 1 header")
+ self.assertNotIn("addressbook", dav, "DAV calendar-access header")
+
+ config.EnableCardDAV = False
+ request = SimpleRequest(self.site, "OPTIONS", "/")
+
+ return self.send(request, do_test)
+
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20100622/fcd16b43/attachment.html>
More information about the calendarserver-changes
mailing list