From: martinlanghoff Date: Wed, 27 Feb 2008 03:01:56 +0000 (+0000) Subject: MDL-90 PEAR/HTTP/WebDAV: fix file name encoding ... for real this time? X-Git-Url: http://git.mjollnir.org/gw?a=commitdiff_plain;h=9f75b5886f327c9f4a0f92ed30817fa9610f80d4;p=moodle.git MDL-90 PEAR/HTTP/WebDAV: fix file name encoding ... for real this time? Cherry picked from upstream. --- diff --git a/lib/pear/HTTP/WebDAV/Server.php b/lib/pear/HTTP/WebDAV/Server.php index e9266349f7..b6983dd4e2 100755 --- a/lib/pear/HTTP/WebDAV/Server.php +++ b/lib/pear/HTTP/WebDAV/Server.php @@ -714,6 +714,9 @@ class HTTP_WebDAV_Server collections end in a slash, this should be done in here by checking the resource attribute */ $href = $this->_mergePathes($this->_SERVER['SCRIPT_NAME'], $path); + + /* minimal urlencoding is needed for the resource path */ + $href = $this->_urlencode($href); echo " $href\n"; @@ -2008,7 +2011,7 @@ class HTTP_WebDAV_Server /** * private minimalistic version of PHP urlencode() * - * only blanks and XML special chars must be encoded here + * only blanks, percent and XML special chars must be encoded here * full urlencode() encoding confuses some clients ... * * @param string URL to encode @@ -2017,6 +2020,7 @@ class HTTP_WebDAV_Server function _urlencode($url) { return strtr($url, array(" "=>"%20", + "%"=>"%25", "&"=>"%26", "<"=>"%3C", ">"=>"%3E",