From 04d1ed40ca996a61490c2656654fe8e729711bdd Mon Sep 17 00:00:00 2001 From: Runxi Yu Date: Wed, 12 Feb 2025 20:06:03 +0800 Subject: [PATCH] router_{http,ssh}.go, url_misc.go: Fix escaping --- router_http.go | 2 ++ router_ssh.go | 2 +- url_misc.go | 2 +- diff --git a/router_http.go b/router_http.go index 754cf10cba994b0cbf962e4047db2bb664d40344..9b42e9b9f9f16f889545498f3108a2723ded7120 100644 --- a/router_http.go +++ b/router_http.go @@ -83,6 +83,8 @@ return } repo_feature := segments[separator_index+3] switch repo_feature { + case "info": + handle_repo_info(w, r, params) case "tree": params["rest"] = strings.Join(segments[separator_index+4:], "/") handle_repo_tree(w, r, params) diff --git a/router_ssh.go b/router_ssh.go index 6b5280be5a8273cd91e97fd7dd5277632ae80d30..8eaaebd4b65781005ea1201822c9953b6bfaf5b9 100644 --- a/router_ssh.go +++ b/router_ssh.go @@ -14,7 +14,7 @@ segments := strings.Split(strings.TrimPrefix(ssh_path, "/"), "/") for i, segment := range segments { var err error - segments[i], err = url.QueryUnescape(segment) + segments[i], err = url.PathUnescape(segment) if err != nil { return "", err } diff --git a/url_misc.go b/url_misc.go index 7dc0ad57def05f2b49dcb83e73a67be08eef144d..86a3c6e6054847c0bed6da42fe3f08dde6100c03 100644 --- a/url_misc.go +++ b/url_misc.go @@ -50,7 +50,7 @@ segments = strings.Split(strings.TrimPrefix(path, "/"), "/") for i, segment := range segments { - segments[i], err = url.QueryUnescape(segment) + segments[i], err = url.PathUnescape(segment) if err != nil { return nil, nil, misc.Wrap_one_error(err_bad_request, err) } -- 2.48.1