aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-x3rdparty/Sabre/DAV/Server.php2
-rw-r--r--apps/calendar/lib/connector_sabre.php4
2 files changed, 5 insertions, 1 deletions
diff --git a/3rdparty/Sabre/DAV/Server.php b/3rdparty/Sabre/DAV/Server.php
index 0dfac8b0c71..67794964b4b 100755
--- a/3rdparty/Sabre/DAV/Server.php
+++ b/3rdparty/Sabre/DAV/Server.php
@@ -656,7 +656,7 @@ class Sabre_DAV_Server {
* @return void
*/
protected function httpDelete($uri) {
-
+
if (!$this->broadcastEvent('beforeUnbind',array($uri))) return;
$this->tree->delete($uri);
$this->broadcastEvent('afterUnbind',array($uri));
diff --git a/apps/calendar/lib/connector_sabre.php b/apps/calendar/lib/connector_sabre.php
index 8eea06da7e2..ac3b26ceb33 100644
--- a/apps/calendar/lib/connector_sabre.php
+++ b/apps/calendar/lib/connector_sabre.php
@@ -212,6 +212,10 @@ class OC_Connector_Sabre_CalDAV extends Sabre_CalDAV_Backend_Abstract {
* @return void
*/
public function deleteCalendar($calendarId) {
+ if(preg_match( '=iCal/[1-4]?.*Mac OS X/10.[1-6](.[0-9])?=', $_SERVER['HTTP_USER_AGENT'] )){
+ throw new Sabre_DAV_Exception_Forbidden("Action is not possible with OSX 10.6.x", 403);
+ }
+
OC_Calendar_Calendar::deleteCalendar($calendarId);
}