# HG changeset patch # User Kim Alvefur # Date 1650630572 -7200 # Node ID 13070c6a7ce866fc4c53f57cebfac63ae0ad314f # Parent 65438e4ba563101cf3c1825b84b4601bbb38c82b mod_http_muc_log: Fix exception on lack of trailing slash in room path A request to /room leads to the match call returning nil which in turn calls nodeprep(nil). In Prosody 0.11.x this does nothing and simply returns the nil, while in 0.12 it is an error. Now it redirects to the calendar view at /room/ - even for non-existant rooms. Discovered at a deployment with http_paths = { muc_log = "/" } and requests to /robots.txt and similar, which now result in a uses redirect before returning 404. diff -r 65438e4ba563 -r 13070c6a7ce8 mod_http_muc_log/mod_http_muc_log.lua --- a/mod_http_muc_log/mod_http_muc_log.lua Mon Apr 18 23:02:04 2022 +0200 +++ b/mod_http_muc_log/mod_http_muc_log.lua Fri Apr 22 14:29:32 2022 +0200 @@ -275,6 +275,10 @@ local request, response = event.request, event.response; local room, date = path:match("^([^/]+)/([^/]*)/?$"); + if not room then + response.headers.location = url.build({ path = path .. "/" }); + return 303; + end room = nodeprep(room); if not room then return 400;