summaryrefslogtreecommitdiffstats
path: root/modules/dav/main/mod_dav.h
diff options
context:
space:
mode:
authorBen Reser <breser@apache.org>2014-06-13 10:34:05 +0200
committerBen Reser <breser@apache.org>2014-06-13 10:34:05 +0200
commit3bda0de20f7f3249d1b48879c08670bfb648c1c4 (patch)
tree3354b19af9e5561484b2450f2a7cdef874ba844e /modules/dav/main/mod_dav.h
parentFollow up r1601943: (diff)
downloadapache2-3bda0de20f7f3249d1b48879c08670bfb648c1c4.tar.xz
apache2-3bda0de20f7f3249d1b48879c08670bfb648c1c4.zip
Fix PR 56480: PROPFIND walker doesn't encode hrefs properly
Reverts r1529559 partially (specifically the dav_xml_escape_uri) bit. Reverts r1531505 entirely. * modules/dav/main/mod_dav.c (dav_xml_escape_uri): Revert the piece of r1529559 that removes the URI escaping from this function. * modules/dav/main/props.c (dav_do_prop_subreq): Escape the URI before doing a sub request with it. This resolves some properties like getcontenttype from failing to be returned for files that contain characters that require encoding in their path. * modules/dav/main/mod_dav.h (dav_resource): Note the inconsistency in the documentation. * modules/dav/fs/repos.c (dav_fs_get_resource): Don't use the unparsed_uri to set the uri field of the resource. This is the correct fix for the double encoding in mod_dav_fs that led to the dav_xml_escape_uri() change and r1531505. (dav_fs_walker, dav_fs_append_uri): Revert r1531505 changes. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1602338 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'modules/dav/main/mod_dav.h')
-rw-r--r--modules/dav/main/mod_dav.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/modules/dav/main/mod_dav.h b/modules/dav/main/mod_dav.h
index 62c21f057f..96088d3406 100644
--- a/modules/dav/main/mod_dav.h
+++ b/modules/dav/main/mod_dav.h
@@ -386,7 +386,9 @@ typedef struct dav_resource {
* REGULAR and WORKSPACE resources,
* and is always 1 for WORKING */
- const char *uri; /* the escaped URI for this resource */
+ const char *uri; /* the URI for this resource;
+ * currently has an ABI flaw where sometimes it is
+ * assumed to be encoded and sometimes not */
dav_resource_private *info; /* the provider's private info */