From ba244225c4bbb0d0c3d3a353929cb9932e40e6f7 Mon Sep 17 00:00:00 2001 From: rudolfkoenig <> Date: Mon, 20 Mar 2017 09:36:17 +0000 Subject: [PATCH] 01_FHEMWEB.pm: fix % in Filenames (Forum #69164) git-svn-id: https://svn.fhem.de/fhem/trunk@13745 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- fhem/FHEM/01_FHEMWEB.pm | 3 ++- fhem/FHEM/HttpUtils.pm | 9 ++++++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/fhem/FHEM/01_FHEMWEB.pm b/fhem/FHEM/01_FHEMWEB.pm index 46fb89bda..a7e38d705 100755 --- a/fhem/FHEM/01_FHEMWEB.pm +++ b/fhem/FHEM/01_FHEMWEB.pm @@ -775,7 +775,7 @@ FW_answerCall($) $dir =~ s/\.\.//g; $dir =~ s,www/,,g; # Want commandref.html to work from file://... - my $file = $ofile; + my $file = urlDecode($ofile); # 69164 $file =~ s/\?.*//; # Remove timestamp of CSS reloader if($file =~ m/^(.*)\.([^.]*)$/) { $file = $1; $ext = $2; @@ -2398,6 +2398,7 @@ FW_makeImage(@) } } else { $class = "class='$class'" if($class); + $p = urlEncodePath($p); return "\"$txt\""; } } diff --git a/fhem/FHEM/HttpUtils.pm b/fhem/FHEM/HttpUtils.pm index 45ad6c31d..03c2075fd 100644 --- a/fhem/FHEM/HttpUtils.pm +++ b/fhem/FHEM/HttpUtils.pm @@ -46,7 +46,14 @@ filename2MIMEType($) { sub urlEncode($) { $_= $_[0]; - s/([\x00-\x2F,\x3A-\x40,\x5B-\x60,\x7B-\xFF])/sprintf("%%%02x",ord($1))/eg; + s/([\x00-\x2F \x3A-\x40 \x5B-\x60 \x7B-\xFF])/sprintf("%%%02x",ord($1))/eg; + return $_; +} + +sub +urlEncodePath($) { + $_= $_[0]; + s/([\x00-\x20 \x25 \x3F \x7B-\xFF])/sprintf("%%%02x",ord($1))/eg; return $_; }