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; }