From c61c98cbef9cc6ece60175d5cf45dbc6d5a1ca41 Mon Sep 17 00:00:00 2001 From: Robin Appelman Date: Sat, 2 Feb 2013 15:44:05 +0100 Subject: [PATCH 1/2] Dav: don't overwrite etag from filecache with old etag from properties table --- lib/connector/sabre/directory.php | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lib/connector/sabre/directory.php b/lib/connector/sabre/directory.php index a7201579366..b210602bbf4 100644 --- a/lib/connector/sabre/directory.php +++ b/lib/connector/sabre/directory.php @@ -138,7 +138,9 @@ class OC_Connector_Sabre_Directory extends OC_Connector_Sabre_Node implements Sa $propertypath = $row['propertypath']; $propertyname = $row['propertyname']; $propertyvalue = $row['propertyvalue']; - $properties[$propertypath][$propertyname] = $propertyvalue; + if($propertyname !== self::GETETAG_PROPERTYNAME) { + $properties[$propertypath][$propertyname] = $propertyvalue; + } } } } From ed4130474a60599798ff42b8390b433126f658a2 Mon Sep 17 00:00:00 2001 From: Robin Appelman Date: Sat, 2 Feb 2013 18:26:27 +0100 Subject: [PATCH 2/2] Dav: update etag in filecache when doing a PROPSET --- lib/connector/sabre/node.php | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lib/connector/sabre/node.php b/lib/connector/sabre/node.php index b48d3b41f24..52995630211 100644 --- a/lib/connector/sabre/node.php +++ b/lib/connector/sabre/node.php @@ -154,7 +154,9 @@ abstract class OC_Connector_Sabre_Node implements Sabre_DAV_INode, Sabre_DAV_IPr } } else { - if( strcmp( $propertyName, self::LASTMODIFIED_PROPERTYNAME) === 0 ) { + if( strcmp( $propertyName, self::GETETAG_PROPERTYNAME) === 0 ) { + \OC\Files\Filesystem::putFileInfo($this->path, array('etag'=> $propertyValue)); + } elseif( strcmp( $propertyName, self::LASTMODIFIED_PROPERTYNAME) === 0 ) { $this->touch($propertyValue); } else { if(!array_key_exists( $propertyName, $existing )) {