diff --git a/apps/calendar/appinfo/app.php b/apps/calendar/appinfo/app.php
index 1fece8077acd1fdf551a6c79e9b0368539ed20c4..ea743674fe83e6461544df1418cbae332e711993 100644
--- a/apps/calendar/appinfo/app.php
+++ b/apps/calendar/appinfo/app.php
@@ -7,7 +7,6 @@ OC::$CLASSPATH['OC_Calendar_Hooks'] = 'apps/calendar/lib/hooks.php';
 OC::$CLASSPATH['OC_Connector_Sabre_CalDAV'] = 'apps/calendar/lib/connector_sabre.php';
 OC::$CLASSPATH['OC_Search_Provider_Calendar'] = 'apps/calendar/lib/search.php';
 OC_HOOK::connect('OC_User', 'post_deleteUser', 'OC_Calendar_Hooks', 'deleteUser');
-OC_Hook::connect('OC_DAV', 'initialize', 'OC_Calendar_Hooks', 'initializeCalDAV');
 OC_Util::addScript('calendar','loader');
 OC_App::register( array(
   'order' => 10,
@@ -20,4 +19,4 @@ OC_App::addNavigationEntry( array(
   'icon' => OC_Helper::imagePath( 'calendar', 'icon.svg' ),
   'name' => $l->t('Calendar')));
 OC_App::registerPersonal('calendar', 'settings');
-OC_Search::registerProvider('OC_Search_Provider_Calendar');
\ No newline at end of file
+OC_Search::registerProvider('OC_Search_Provider_Calendar');
diff --git a/apps/calendar/lib/hooks.php b/apps/calendar/lib/hooks.php
index 54f1680a36e55d4a68427902ca3ce2816cc8b1d5..22e8d8e20f28257bc1c6e7c31401546b2a9d693a 100644
--- a/apps/calendar/lib/hooks.php
+++ b/apps/calendar/lib/hooks.php
@@ -24,17 +24,4 @@ class OC_Calendar_Hooks{
 
 		return true;
 	}
-
-	/**
-	 * @brief Adds the CardDAV resource to the DAV server
-	 * @param paramters parameters from initialize-Hook
-	 * @return array
-	 */
-	public static function initializeCalDAV($parameters){
-		// We need a backend, the root node and the caldav plugin
-		$parameters['backends']['caldav'] = new OC_Connector_Sabre_CalDAV();
-		$parameters['nodes'][] = new Sabre_CalDAV_CalendarRootNode($parameters['backends']['principal'], $parameters['backends']['caldav']);
-		$parameters['plugins'][] = new Sabre_CalDAV_Plugin();
-		return true;
-	}
 }
diff --git a/apps/calendar/templates/part.choosecalendar.rowfields.php b/apps/calendar/templates/part.choosecalendar.rowfields.php
index a789be45a43d50bfa86968081d9b1eaa76048272..d3bf6c0501c8e1c267d15be156271503ab3582f9 100644
--- a/apps/calendar/templates/part.choosecalendar.rowfields.php
+++ b/apps/calendar/templates/part.choosecalendar.rowfields.php
@@ -1,4 +1,4 @@
 <?php
 	echo "<td width=\"20px\"><input id=\"active_" . $_['calendar']["id"] . "\" type=\"checkbox\" onClick=\"Calendar.UI.Calendar.activation(this, " . $_['calendar']["id"] . ")\"" . ($_['calendar']["active"] ? ' checked="checked"' : '') . "></td>";
 	echo "<td><label for=\"active_" . $_['calendar']["id"] . "\">" . $_['calendar']["displayname"] . "</label></td>";
-	echo "<td width=\"20px\"><a href=\"#\" onclick=\"Calendar.UI.showCalDAVUrl('" . OC_User::getUser() . "', '" . $_['calendar']["uri"] . "');\" title=\"" . $l->t("CalDav Link") . "\" class=\"action\"><img  class=\"svg action\" src=\"../../core/img/actions/public.svg\"></a></td><td width=\"20px\"><a href=\"export.php?calid=" . $_['calendar']["id"] . "\" title=\"" . $l->t("Download") . "\" class=\"action\"><img  class=\"svg action\" src=\"../../core/img/actions/download.svg\"></a></td><td width=\"20px\"><a  href=\"#\" title=\"" . $l->t("Edit") . "\" class=\"action\" onclick=\"Calendar.UI.Calendar.edit(this, " . $_['calendar']["id"] . ");\"><img class=\"svg action\" src=\"../../core/img/actions/rename.svg\"></a></td><td width=\"20px\"><a href=\"#\" onclick=\"Calendar.UI.Calendar.deleteCalendar('" . $_['calendar']["id"] . "');\" title=\"" . $l->t("Delete") . "\" class=\"action\"><img  class=\"svg action\" src=\"../../core/img/actions/delete.svg\"></a></td>";
+	echo "<td width=\"20px\"><a href=\"#\" onclick=\"Calendar.UI.showCalDAVUrl('" . OC_User::getUser() . "', '" . rawurlencode( $_['calendar']["uri"] ) . "');\" title=\"" . $l->t("CalDav Link") . "\" class=\"action\"><img  class=\"svg action\" src=\"../../core/img/actions/public.svg\"></a></td><td width=\"20px\"><a href=\"export.php?calid=" . $_['calendar']["id"] . "\" title=\"" . $l->t("Download") . "\" class=\"action\"><img  class=\"svg action\" src=\"../../core/img/actions/download.svg\"></a></td><td width=\"20px\"><a  href=\"#\" title=\"" . $l->t("Edit") . "\" class=\"action\" onclick=\"Calendar.UI.Calendar.edit(this, " . $_['calendar']["id"] . ");\"><img class=\"svg action\" src=\"../../core/img/actions/rename.svg\"></a></td><td width=\"20px\"><a href=\"#\" onclick=\"Calendar.UI.Calendar.deleteCalendar('" . $_['calendar']["id"] . "');\" title=\"" . $l->t("Delete") . "\" class=\"action\"><img  class=\"svg action\" src=\"../../core/img/actions/delete.svg\"></a></td>";
diff --git a/apps/contacts/ajax/chooseaddressbook.php b/apps/contacts/ajax/chooseaddressbook.php
index 8298c16b041a059cd9cbd2e3bf70ea51c28fd71a..d6080791299794e83ddebaa82386f97493e60e56 100644
--- a/apps/contacts/ajax/chooseaddressbook.php
+++ b/apps/contacts/ajax/chooseaddressbook.php
@@ -12,4 +12,3 @@ OC_JSON::checkAppEnabled('contacts');
 
 $output = new OC_TEMPLATE("contacts", "part.chooseaddressbook");
 $output -> printpage();
-?>
diff --git a/apps/contacts/appinfo/app.php b/apps/contacts/appinfo/app.php
index 0ff8fd29ef3ca3c794279136b5e60c779378fd9d..7e44219ce99deef0c957566986d0ef66d7bcf321 100644
--- a/apps/contacts/appinfo/app.php
+++ b/apps/contacts/appinfo/app.php
@@ -8,7 +8,6 @@ OC::$CLASSPATH['OC_Search_Provider_Contacts'] = 'apps/contacts/lib/search.php';
 OC_HOOK::connect('OC_User', 'post_deleteUser', 'OC_Contacts_Hooks', 'deleteUser');
 OC_HOOK::connect('OC_Calendar', 'getEvents', 'OC_Contacts_Hooks', 'getBirthdayEvents');
 OC_HOOK::connect('OC_Calendar', 'getSources', 'OC_Contacts_Hooks', 'getCalenderSources');
-OC_Hook::connect('OC_DAV', 'initialize', 'OC_Contacts_Hooks', 'initializeCardDAV');
 
 OC_App::register( array(
   'order' => 10,
diff --git a/apps/contacts/lib/hooks.php b/apps/contacts/lib/hooks.php
index e09da20be8633ac651e66d26e01ed34daea6a00d..b858c4a5a48a91e6bb0444257ccef65e8f6e5d04 100644
--- a/apps/contacts/lib/hooks.php
+++ b/apps/contacts/lib/hooks.php
@@ -39,19 +39,6 @@ class OC_Contacts_Hooks{
 		return true;
 	}
 
-	/**
-	 * @brief Adds the CardDAV resource to the DAV server
-	 * @param paramters parameters from initialize-Hook
-	 * @return array
-	 */
-	static public function initializeCardDAV($parameters){
-		// We need a backend, the root node and the carddav plugin
-		$parameters['backends']['carddav'] = new OC_Connector_Sabre_CardDAV();
-		$parameters['nodes'][] = new Sabre_CardDAV_AddressBookRoot($parameters['backends']['principal'], $parameters['backends']['carddav']);
-		$parameters['plugins'][] = new Sabre_CardDAV_Plugin();
-		return true;
-	}
-
 	static public function getCalenderSources($parameters) {
 		$base_url = OC_Helper::linkTo('calendar', 'ajax/events.php').'?calendar_id=';
 		foreach(OC_Contacts_Addressbook::all(OC_User::getUser()) as $addressbook) {
diff --git a/apps/contacts/templates/part.chooseaddressbook.rowfields.php b/apps/contacts/templates/part.chooseaddressbook.rowfields.php
index 95a4b2362aa7e36eed4f19dd72560015d37911c5..8518c1acd135feb42e7b71e78edb0cfdcd115c00 100644
--- a/apps/contacts/templates/part.chooseaddressbook.rowfields.php
+++ b/apps/contacts/templates/part.chooseaddressbook.rowfields.php
@@ -2,4 +2,4 @@
 	// FIXME: Make this readable.
 	echo "<td width=\"20px\"><input id=\"active_" . $_['addressbook']["id"] . "\" type=\"checkbox\" onClick=\"Contacts.UI.Addressbooks.activation(this, " . $_['addressbook']["id"] . ")\"" . (OC_Contacts_Addressbook::isActive($_['addressbook']["id"]) ? ' checked="checked"' : '') . "></td>";
 	echo "<td><label for=\"active_" . $_['addressbook']["id"] . "\">" . htmlspecialchars($_['addressbook']["displayname"]) . "</label></td>";
-	echo "<td width=\"20px\"><a href=\"#\" onclick=\"Contacts.UI.showCardDAVUrl('" . OC_User::getUser() . "', '" . $_['addressbook']["uri"] . "');\" title=\"" . $l->t("CardDav Link") . "\" class=\"action\"><img  class=\"svg action\" src=\"../../core/img/actions/public.svg\"></a></td><td width=\"20px\"><a href=\"export.php?bookid=" . $_['addressbook']["id"] . "\" title=\"" . $l->t("Download") . "\" class=\"action\"><img  class=\"svg action\" src=\"../../core/img/actions/download.svg\"></a></td><td width=\"20px\"><a  href=\"#\" title=\"" . $l->t("Edit") . "\" class=\"action\" onclick=\"Contacts.UI.Addressbooks.editAddressbook(this, " . $_['addressbook']["id"] . ");\"><img class=\"svg action\" src=\"../../core/img/actions/rename.svg\"></a></td><td width=\"20px\"><a href=\"#\" onclick=\"Contacts.UI.Addressbooks.deleteAddressbook('" . $_['addressbook']["id"] . "');\" title=\"" . $l->t("Delete") . "\" class=\"action\"><img  class=\"svg action\" src=\"../../core/img/actions/delete.svg\"></a></td>";
+	echo "<td width=\"20px\"><a href=\"#\" onclick=\"Contacts.UI.showCardDAVUrl('" . OC_User::getUser() . "', '" . rawurlencode($_['addressbook']["uri"]) . "');\" title=\"" . $l->t("CardDav Link") . "\" class=\"action\"><img  class=\"svg action\" src=\"../../core/img/actions/public.svg\"></a></td><td width=\"20px\"><a href=\"export.php?bookid=" . $_['addressbook']["id"] . "\" title=\"" . $l->t("Download") . "\" class=\"action\"><img  class=\"svg action\" src=\"../../core/img/actions/download.svg\"></a></td><td width=\"20px\"><a  href=\"#\" title=\"" . $l->t("Edit") . "\" class=\"action\" onclick=\"Contacts.UI.Addressbooks.editAddressbook(this, " . $_['addressbook']["id"] . ");\"><img class=\"svg action\" src=\"../../core/img/actions/rename.svg\"></a></td><td width=\"20px\"><a href=\"#\" onclick=\"Contacts.UI.Addressbooks.deleteAddressbook('" . $_['addressbook']["id"] . "');\" title=\"" . $l->t("Delete") . "\" class=\"action\"><img  class=\"svg action\" src=\"../../core/img/actions/delete.svg\"></a></td>";
diff --git a/dav.php b/dav.php
deleted file mode 100644
index 78e2711aec84495b36a8837ac0d44a66f43cdb3c..0000000000000000000000000000000000000000
--- a/dav.php
+++ /dev/null
@@ -1,77 +0,0 @@
-<?php
-
-/**
-* ownCloud
-*
-* @author Jakob Sack
-* @copyright 2012 Jakob Sack owncloud@jakobsack.de
-*
-* This library is free software; you can redistribute it and/or
-* modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE
-* License as published by the Free Software Foundation; either
-* version 3 of the License, or any later version.
-*
-* This library is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-* GNU AFFERO GENERAL PUBLIC LICENSE for more details.
-*
-* You should have received a copy of the GNU Affero General Public
-* License along with this library.  If not, see <http://www.gnu.org/licenses/>.
-*
-*/
-
-require_once('lib/base.php');
-
-// Backends we always need (auth, principal and files)
-$backends = array(
-	'auth' => new OC_Connector_Sabre_Auth(),
-	'principal' => new OC_Connector_Sabre_Principal()
-);
-
-// Root nodes
-$nodes = array(
-	new Sabre_CalDAV_Principal_Collection($backends['principal'])
-);
-
-// Plugins
-$plugins = array(
-	new Sabre_DAV_Auth_Plugin($backends['auth'],'ownCloud'),
-	new Sabre_DAVACL_Plugin(),
-	new Sabre_DAV_Browser_Plugin(false) // Show something in the Browser, but no upload
-);
-
-// Load the plugins etc we need for usual file sharing
-$backends['lock'] = new OC_Connector_Sabre_Locks();
-$plugins[] = new Sabre_DAV_Locks_Plugin($backends['lock']);
-// Add a RESTful user directory
-// /files/$username/
-if( OC_User::isLoggedIn()){
-	$currentuser = OC_User::getUser();
-	$files = new Sabre_DAV_SimpleCollection('files');
-	foreach( OC_User::getUsers() as $username ){
-		if( $username == $currentuser ){
-			$public = new OC_Connector_Sabre_Directory('.');
-			$files->addChild( new Sabre_DAV_SimpleCollection( $username, $public->getChildren()));
-		}
-		else{
-			$files->addChild(new Sabre_DAV_SimpleCollection( $username ));
-		}
-	}
-	$nodes[] = $files;
-}
-
-// Get the other plugins and nodes
-OC_Hook::emit( 'OC_DAV', 'initialize', array( 'backends' => &$backends, 'nodes' => &$nodes, 'plugins' => &$plugins ));
-
-// Fire up server
-$server = new Sabre_DAV_Server($nodes);
-$server->setBaseUri(OC::$WEBROOT.'/dav.php');
-
-// Load additional plugins
-foreach( $plugins as &$plugin ){
-	$server->addPlugin( $plugin );
-} unset( $plugin ); // Always do this after foreach with references!
-
-// And off we go!
-$server->exec();
diff --git a/files/ajax/upload.php b/files/ajax/upload.php
index af7a7acf70292521ec176e22dd272ba1bbb91055..76ea65fe933a03c8058549c03be4e22cefba5719 100644
--- a/files/ajax/upload.php
+++ b/files/ajax/upload.php
@@ -47,7 +47,8 @@ $result=array();
 if(strpos($dir,'..') === false){
 	$fileCount=count($files['name']);
 	for($i=0;$i<$fileCount;$i++){
-		$target=stripslashes($dir) . $files['name'][$i];
+		// $target=stripslashes($dir) . $files['name'][$i];
+        $target = OC_Helper::buildNotExistingFileName(stripslashes($dir), $files['name'][$i]);
 		if(is_uploaded_file($files['tmp_name'][$i]) and OC_Filesystem::fromTmpFile($files['tmp_name'][$i],$target)){
 			$meta=OC_FileCache::getCached($target);
 			$result[]=array( "status" => "success", 'mime'=>$meta['mimetype'],'size'=>$meta['size'],'name'=>$files['name'][$i]);
diff --git a/lib/helper.php b/lib/helper.php
index c33db5f10fe3cd8a1f75951c33603b8f93973026..412f0e6b7643377493c8cf5209d9eaba0b4fb9f8 100755
--- a/lib/helper.php
+++ b/lib/helper.php
@@ -492,4 +492,32 @@ class OC_Helper {
 			}
 		}
 	}
+
+    /**
+     * Adds a suffix to the name in case the file exists
+     *
+     * @param $path
+     * @param $filename
+     * @return string
+     */
+    public static function buildNotExistingFileName($path, $filename)
+    {
+        if ($pos = strrpos($filename, '.')) {
+            $name = substr($filename, 0, $pos);
+            $ext = substr($filename, $pos);
+        } else {
+            $name = $filename;
+        }
+
+        $newpath = $path . '/' . $filename;
+        $newname = $filename;
+        $counter = 2;
+        while (OC_Filesystem::file_exists($newpath)) {
+            $newname = $name . ' (' . $counter . ')' . $ext;
+            $newpath = $path . '/' . $newname;
+            $counter++;
+        }
+
+        return $newname;
+    }
 }