From 351b7cd179e76d856700b96236160889145cddff Mon Sep 17 00:00:00 2001 From: martinlanghoff Date: Wed, 27 Feb 2008 03:02:05 +0000 Subject: [PATCH] MDL-90 PEAR/HTTP/WebDAV: fix file name encoding ... for real this time? Cherry picked from upstream. --- lib/pear/HTTP/WebDAV/Server.php | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/lib/pear/HTTP/WebDAV/Server.php b/lib/pear/HTTP/WebDAV/Server.php index e9266349f74..b6983dd4e25 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",