From b11fa0302f275dc7d5b7c3a344f5ee7c51873cb3 Mon Sep 17 00:00:00 2001 From: Ralf Becker Date: Fri, 30 Sep 2011 12:52:40 +0000 Subject: [PATCH] * CalDAV/GroupDAV: return empty collection, as iCal under iOS 5 had problems with returning "404 Not found" status --- calendar/inc/class.calendar_groupdav.inc.php | 4 +++- infolog/inc/class.infolog_groupdav.inc.php | 5 ++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/calendar/inc/class.calendar_groupdav.inc.php b/calendar/inc/class.calendar_groupdav.inc.php index f9d85c00e0..2bd9eb6e5b 100644 --- a/calendar/inc/class.calendar_groupdav.inc.php +++ b/calendar/inc/class.calendar_groupdav.inc.php @@ -165,7 +165,9 @@ class calendar_groupdav extends groupdav_handler // process REPORT filters or multiget href's if (($id || $options['root']['name'] != 'propfind') && !$this->_report_filters($options,$filter,$id)) { - return false; + // return empty collection, as iCal under iOS 5 had problems with returning "404 Not found" status + // when trying to request not supported components, eg. VTODO on a calendar collection + return true; } if ($this->debug > 1) { diff --git a/infolog/inc/class.infolog_groupdav.inc.php b/infolog/inc/class.infolog_groupdav.inc.php index 265fd4b442..29a8a894fc 100644 --- a/infolog/inc/class.infolog_groupdav.inc.php +++ b/infolog/inc/class.infolog_groupdav.inc.php @@ -147,7 +147,9 @@ class infolog_groupdav extends groupdav_handler // process REPORT filters or multiget href's if (($id || $options['root']['name'] != 'propfind') && !$this->_report_filters($options,$filter,$id)) { - return false; + // return empty collection, as iCal under iOS 5 had problems with returning "404 Not found" status + // when trying to request not supported components, eg. VTODO on a calendar collection + return true; } if ($this->debug > 1) { @@ -171,6 +173,7 @@ class infolog_groupdav extends groupdav_handler // return iterator, calling ourself to return result in chunks $files['files'] = new groupdav_propfind_iterator($this,$path,$filter,$files['files']); + return true; }