From adb1f949ac073be9530dca7cd308c0f4ab526cec Mon Sep 17 00:00:00 2001 From: Andrew McMillan Date: Mon, 28 Jun 2010 08:41:46 +1200 Subject: [PATCH] Check for existence of target resource before we check for READ perm. --- inc/caldav-PROPFIND.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/inc/caldav-PROPFIND.php b/inc/caldav-PROPFIND.php index 5333c1b2..8c8ae938 100644 --- a/inc/caldav-PROPFIND.php +++ b/inc/caldav-PROPFIND.php @@ -19,12 +19,12 @@ require_once('DAVResource.php'); $reply = new XMLDocument( array( 'DAV:' => '' ) ); if ( !isset($request->xml_tags) ) { - $request->DoResponse( 403, translate("REPORT body contains no XML data!") ); + $request->DoResponse( 403, translate("Request body contains no XML data!") ); } $position = 0; $xmltree = BuildXMLTree( $request->xml_tags, $position); if ( !is_object($xmltree) ) { - $request->DoResponse( 403, translate("REPORT body is not valid XML data!") ); + $request->DoResponse( 403, translate("Request body is not valid XML data!") ); } $allprop = $xmltree->GetPath('/DAV::propfind/*'); $property_list = array(); @@ -217,10 +217,10 @@ if ( $request->IsProxyRequest() ) { } else { $resource = new DAVResource($request->path); - $resource->NeedPrivilege('DAV::read'); if ( ! $resource->Exists() ) { $request->DoResponse( 404, translate('That resource is not present on this server.') ); } + $resource->NeedPrivilege('DAV::read'); if ( $resource->IsCollection() ) { dbg_error_log('PROPFIND','Getting collection contents: Depth %d, Path: %s', $request->depth, $resource->dav_name() ); $responses[] = $resource->RenderAsXML($property_list, $reply);