From aff84ba79e0736e263f110ae726a906dd8ed052e Mon Sep 17 00:00:00 2001 From: chenyifan01 Date: Mon, 11 Apr 2022 12:10:59 +0800 Subject: [PATCH] #1639 rollback --- routers/repo/http.go | 54 +++----------------------------------------- 1 file changed, 3 insertions(+), 51 deletions(-) diff --git a/routers/repo/http.go b/routers/repo/http.go index 26d58bd54..87406a2c3 100644 --- a/routers/repo/http.go +++ b/routers/repo/http.go @@ -365,7 +365,8 @@ func HTTP(ctx *context.Context) { ctx.NotFound("Smart Git HTTP", err) return } - route.handler(serviceHandler{cfg, w, r, dir, file, cfg.Env, repo}) + + route.handler(serviceHandler{cfg, w, r, dir, file, cfg.Env}) return } } @@ -428,7 +429,6 @@ type serviceHandler struct { dir string file string environ []string - repo *models.Repository } func (h *serviceHandler) setHeaderNoCache() { @@ -546,19 +546,6 @@ func serviceRPC(h serviceHandler, service string) { return } } - content, _ := ioutil.ReadAll(reqBody) - //check size - if service == "receive-pack" { - if err := repo_service.CheckPushSizeLimit4Http(h.repo, int64(len(content))); err != nil { - h.w.WriteHeader(http.StatusOK) - str := GenerateGitErrorBody(err.Error()) - h.w.Write([]byte(str)) - if h.w.Header().Get("Content-Type") == "" { - h.w.Header().Set("Content-Type", "application/x-git-receive-pack-result") - } - return - } - } // set this for allow pre-receive and post-receive execute h.environ = append(h.environ, "SSH_ORIGINAL_COMMAND="+service) @@ -573,7 +560,7 @@ func serviceRPC(h serviceHandler, service string) { } cmd.Stdout = h.w - cmd.Stdin = bytes.NewReader(content) + cmd.Stdin = reqBody cmd.Stderr = &stderr pid := process.GetManager().Add(fmt.Sprintf("%s %s %s [repo_path: %s]", git.GitExecutable, service, "--stateless-rpc", h.dir), cancel) @@ -585,41 +572,6 @@ func serviceRPC(h serviceHandler, service string) { } } -func GenerateGitErrorBody(content string) string { - var builder strings.Builder - builder.WriteString(GenerateErrStartPKTLine()) - builder.WriteString(GeneratePKTLine(content)) - builder.WriteString(GenerateEndPKTLine()) - return builder.String() -} - -func GeneratePKTLine(content string) string { - //\033[31m ... \033[0m - //mark the text red in shell - content = "\u0002\033[31m " + content + " \033[0m" - l := len(content) - prefixLength := 4 - suffix := "\n" - f := strconv.FormatInt(int64(l+prefixLength+len(suffix)), 16) - lf := len(f) - if lf == 1 { - f = "000" + f - } else if lf == 2 { - f = "00" + f - } else if lf == 3 { - f = "0" + f - } - return f + content + suffix -} - -func GenerateEndPKTLine() string { - return "0000" -} - -func GenerateErrStartPKTLine() string { - return "0031\u0001000eunpack err\n0019ok refs/heads/master\n0000" -} - func serviceUploadPack(h serviceHandler) { serviceRPC(h, "upload-pack") }