]> granicus.if.org Git - apache/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)
commit4de0b69f7f4272be734ebddd111b480174bc2525
tree08c36cd310fd95479521463dc934b526e20c8d79
parentbc8495dba1dbb708579e6cfb9be3a7e0a32817f0
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