summaryrefslogtreecommitdiff
path: root/daemon/gvfsbackenddav.c
diff options
context:
space:
mode:
authorOndrej Holy <oholy@redhat.com>2018-05-15 15:05:02 +0200
committerOndrej Holy <oholy@redhat.com>2018-05-15 15:12:56 +0200
commitc5df6116e37a3afb34559724b9fc5c4a4a632d5c (patch)
tree9e58ae3aab3e722fe26310849efeefef6c07bb20 /daemon/gvfsbackenddav.c
parent6296b7ba077e688e08338d3875b28d875c9ba2f3 (diff)
downloadgvfs-c5df6116e37a3afb34559724b9fc5c4a4a632d5c.tar.gz
dav: Ignore file size for directories
Most of the servers don't use "getcontentlength" node (which is used to set file size) for directories anyway. However, some servers report total size of files inside the directory, which is not expected and causes issues for clients. Let's simply ignore file size for directories if set. https://gitlab.gnome.org/GNOME/nautilus/issues/431
Diffstat (limited to 'daemon/gvfsbackenddav.c')
-rw-r--r--daemon/gvfsbackenddav.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/daemon/gvfsbackenddav.c b/daemon/gvfsbackenddav.c
index 967f1db4..6591f149 100644
--- a/daemon/gvfsbackenddav.c
+++ b/daemon/gvfsbackenddav.c
@@ -1109,6 +1109,13 @@ ms_response_to_file_info (MsResponse *response,
icon = g_themed_icon_new ("folder");
symbolic_icon = g_themed_icon_new ("folder-symbolic");
file_info_set_content_type (info, "inode/directory");
+
+ /* Ignore file size for directories. Most of the servers don't report it
+ * for directories anyway. However, some servers report total size of
+ * files inside the directory, which is not expected and causes issues
+ * for clients.
+ */
+ g_file_info_remove_attribute (info, G_FILE_ATTRIBUTE_STANDARD_SIZE);
}
else
{