Merge r1529559, r1531505 from trunk:
Fix PR 55397: dav_resource->uri treated as an unparsed uri. The change made for PR 54611 caused this field to be treated as unescaped. mod_dav_svn however, provided escaped URIs. Essentially breaking support for paths with non-URI safe characters in SVN. Adjust the code so that dav_resource->uri is assumed to be escaped and adjust mod_dav_fs so that it uses escaped URIs in this field. * modules/dav/fs/repos.c (dav_fs_get_resource): Use the unparsed_uri to contruct the resource uri. * modules/dav/main/mod_dav.c (dav_xml_escape_uri): Do not uri escape, just handle xml escaping. (dav_created): Assume that locn if provided is escaped. (dav_method_copymove, dav_method_bind): Use the unparsed_uri on the request when calling dav_created() to adjust to locn assuming it is escaped. * modules/dav/main/mod_dav.h (dav_resource): Document that uri is escaped. Followup to r1529559: mod_dav_fs: Fix encoding of hrefs in PROPFIND response. Previous commit missed encoding the names of the children of the PROPFIND request when the depth wasn't 0. * modules/dav/fs/repos.c (dav_fs_append_uri): New function (dav_fs_walker): Use dav_fs_append_uri() and adjust length calculations to use the encoded length. Submitted by: breser Reviewed/backported by: jim git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x@1533448 13f79535-47bb-0310-9956-ffa450edef68
parent
da9cdf04
Please register or sign in to comment