From 623d0c1a16df8ef40d2f738150f28b23d72cc5bf Mon Sep 17 00:00:00 2001 From: Runxi Yu Date: Wed, 12 Feb 2025 11:18:03 +0800 Subject: [PATCH] router: Stricter URL --- router.go | 12 ++++++++++++ diff --git a/router.go b/router.go index ed0e9b5de53f4eb7744edf480261df007e08d98f..bfbba668265abff6b4137fd4ac4dc4f06a0fdb17 100644 --- a/router.go +++ b/router.go @@ -85,9 +85,21 @@ case "raw": params["rest"] = strings.Join(segments[separator_index+4:], "/") handle_repo_raw(w, r, params) case "log": + if non_empty_last_segments_len != separator_index+5 { + fmt.Fprintln(w, "Too many parameters") + return + } + if dir_mode { + http.Redirect(w, r, strings.TrimSuffix(r.URL.Path, "/"), http.StatusSeeOther) + return + } params["ref"] = segments[separator_index+4] handle_repo_log(w, r, params) case "commit": + if dir_mode { + http.Redirect(w, r, strings.TrimSuffix(r.URL.Path, "/"), http.StatusSeeOther) + return + } params["commit_id"] = segments[separator_index+4] handle_repo_commit(w, r, params) } -- 2.48.1