Changeset

6030:9b91242cc137

mod_http_files: Strip path separator from end of paths, was broken on Windows (thanks Junne)
author Kim Alvefur <zash@zash.se>
date Sun, 09 Mar 2014 22:16:44 +0100 (2014-03-09)
parents 6029:dd3d4cfbd3cb
children 6031:8796aa94c4b5 6033:0d6f23049e95
files plugins/mod_http_files.lua
diffstat 1 files changed, 2 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/plugins/mod_http_files.lua	Sun Mar 09 22:15:40 2014 +0100
+++ b/plugins/mod_http_files.lua	Sun Mar 09 22:16:44 2014 +0100
@@ -14,6 +14,7 @@
 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 @@
 		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