]> git.ipfire.org Git - thirdparty/apache/httpd.git/commit
Fix PR 55397: dav_resource->uri treated as an unparsed uri.
authorBen Reser <breser@apache.org>
Sun, 6 Oct 2013 01:08:51 +0000 (01:08 +0000)
committerBen Reser <breser@apache.org>
Sun, 6 Oct 2013 01:08:51 +0000 (01:08 +0000)
commit0ec9a56bb7339ac6713af0f33e1bf8dba349f816
tree08c36cd310fd95479521463dc934b526e20c8d79
parente7ce06ae67ac3ab09646f5a744703919acb5fd84
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.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1529559 13f79535-47bb-0310-9956-ffa450edef68
modules/dav/fs/repos.c
modules/dav/main/mod_dav.c
modules/dav/main/mod_dav.h