aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKim Alvefur <zash@zash.se>2014-03-09 22:16:44 +0100
committerKim Alvefur <zash@zash.se>2014-03-09 22:16:44 +0100
commitf3aa32f2f5a7accbca168905225fbd83ca04b46e (patch)
tree788b6ffc69ded99ea51f473e959b6b2a4f49e3c1
parent8bc89fe8e53fa1e317c2700972b6df2de94ae31c (diff)
downloadprosody-f3aa32f2f5a7accbca168905225fbd83ca04b46e.tar.gz
prosody-f3aa32f2f5a7accbca168905225fbd83ca04b46e.zip
mod_http_files: Strip path separator from end of paths, was broken on Windows (thanks Junne)
-rw-r--r--plugins/mod_http_files.lua3
1 files changed, 2 insertions, 1 deletions
diff --git a/plugins/mod_http_files.lua b/plugins/mod_http_files.lua
index 6ab295ac..3a9368b9 100644
--- a/plugins/mod_http_files.lua
+++ b/plugins/mod_http_files.lua
@@ -14,6 +14,7 @@ local os_date = os.date;
local open = io.open;
local stat = lfs.attributes;
local build_path = require"socket.url".build_path;
+local path_sep = package.config:sub(1,1);
local base_path = module:get_option_string("http_files_dir", module:get_option_string("http_path"));
local dir_indices = module:get_option("http_index_files", { "index.html", "index.htm" });
@@ -61,7 +62,7 @@ function serve(opts)
local request, response = event.request, event.response;
local orig_path = request.path;
local full_path = base_path .. (path and "/"..path or "");
- local attr = stat(full_path);
+ local attr = stat((full_path:gsub('%'..path_sep..'+$','')));
if not attr then
return 404;
end