Disable listening, instead checking the ACL to prevent DoS

This commit is contained in:
Lukas Reschke 2012-08-10 22:18:08 +02:00
parent 11895a86b0
commit 85f2e737a4
2 changed files with 9 additions and 13 deletions

View File

@ -21,22 +21,21 @@ $principalBackend = new OC_Connector_Sabre_Principal();
$caldavBackend = new OC_Connector_Sabre_CalDAV(); $caldavBackend = new OC_Connector_Sabre_CalDAV();
// Root nodes // Root nodes
$collection = new Sabre_CalDAV_Principal_Collection($principalBackend); $collection->disableListing = true; // Disable listening
$nodes = array( $nodes = array(
new Sabre_CalDAV_Principal_Collection($principalBackend), $collection,
new Sabre_CalDAV_CalendarRootNode($principalBackend, $caldavBackend), new Sabre_CalDAV_CalendarRootNode($principalBackend, $caldavBackend),
); );
// Fire up server // Fire up server
$server = new Sabre_DAV_Server($nodes); $server = new Sabre_DAV_Server($nodes);
$server->setBaseUri($baseuri); $server->setBaseUri($baseuri);
// Add plugins // Add plugins
$aclPlugin = new Sabre_DAVACL_Plugin();
$aclPlugin->hideNodesFromListings = true;
$server->addPlugin($aclPlugin);
$server->addPlugin(new Sabre_DAV_Auth_Plugin($authBackend,'ownCloud')); $server->addPlugin(new Sabre_DAV_Auth_Plugin($authBackend,'ownCloud'));
$server->addPlugin(new Sabre_CalDAV_Plugin()); $server->addPlugin(new Sabre_CalDAV_Plugin());
$server->addPlugin(new Sabre_DAVACL_Plugin()); $server->addPlugin(new Sabre_DAVACL_Plugin());
$server->addPlugin(new Sabre_DAV_Browser_Plugin(false)); // Show something in the Browser, but no upload $server->addPlugin(new Sabre_DAV_Browser_Plugin(false)); // Show something in the Browser, but no upload
$server->addPlugin(new Sabre_CalDAV_ICSExportPlugin()); $server->addPlugin(new Sabre_CalDAV_ICSExportPlugin());
// And off we go! // And off we go!
$server->exec(); $server->exec();

View File

@ -36,19 +36,16 @@ $principalBackend = new OC_Connector_Sabre_Principal();
$carddavBackend = new OC_Connector_Sabre_CardDAV(); $carddavBackend = new OC_Connector_Sabre_CardDAV();
// Root nodes // Root nodes
$collection = new Sabre_CalDAV_Principal_Collection($principalBackend); $collection->disableListing = true; // Disable listening
$nodes = array( $nodes = array(
new Sabre_CalDAV_Principal_Collection($principalBackend), $collection,
new Sabre_CardDAV_AddressBookRoot($principalBackend, $carddavBackend), new Sabre_CardDAV_AddressBookRoot($principalBackend, $carddavBackend),
); );
// Fire up server // Fire up server
$server = new Sabre_DAV_Server($nodes); $server = new Sabre_DAV_Server($nodes);
$server->setBaseUri($baseuri); $server->setBaseUri($baseuri);
// Add plugins // Add plugins
$aclPlugin = new Sabre_DAVACL_Plugin();
$aclPlugin->hideNodesFromListings = true;
$server->addPlugin($aclPlugin);
$server->addPlugin(new Sabre_DAV_Auth_Plugin($authBackend, 'ownCloud')); $server->addPlugin(new Sabre_DAV_Auth_Plugin($authBackend, 'ownCloud'));
$server->addPlugin(new Sabre_CardDAV_Plugin()); $server->addPlugin(new Sabre_CardDAV_Plugin());
$server->addPlugin(new Sabre_DAVACL_Plugin()); $server->addPlugin(new Sabre_DAVACL_Plugin());