From 67da0c16f971b4721cf32b0c86d4e97ac8cd2e5e Mon Sep 17 00:00:00 2001 From: chenyifan01 Date: Mon, 16 May 2022 14:43:13 +0800 Subject: [PATCH] update --- cmd/serv.go | 13 ++++++++----- modules/ssh/ssh.go | 3 ++- services/repository/repository.go | 2 ++ 3 files changed, 12 insertions(+), 6 deletions(-) diff --git a/cmd/serv.go b/cmd/serv.go index cce25512b..4785315c8 100644 --- a/cmd/serv.go +++ b/cmd/serv.go @@ -6,6 +6,7 @@ package cmd import ( + "code.gitea.io/gitea/services/repository" "encoding/json" "fmt" "net/http" @@ -213,11 +214,13 @@ func runServ(c *cli.Context) error { os.Setenv(models.EnvRepoMaxFileSize, fmt.Sprint(setting.Repository.Upload.FileMaxSize)) os.Setenv(models.EnvRepoMaxSize, fmt.Sprint(setting.Repository.RepoMaxSize)) os.Setenv(models.EnvPushSizeCheckFlag, fmt.Sprint(setting.Repository.Upload.ShellFlag)) - env, _ := private.GetHookConfig(username, reponame) - if env != nil && len(env) > 0 { - repoSize := env[models.EnvRepoSize] - if repoSize != "" { - os.Setenv(models.EnvRepoSize, repoSize) + if setting.Repository.Upload.ShellFlag == repository.SHELL_FLAG_ON { + env, _ := private.GetHookConfig(username, reponame) + if env != nil && len(env) > 0 { + repoSize := env[models.EnvRepoSize] + if repoSize != "" { + os.Setenv(models.EnvRepoSize, repoSize) + } } } } diff --git a/modules/ssh/ssh.go b/modules/ssh/ssh.go index ac590a057..fe13d5484 100644 --- a/modules/ssh/ssh.go +++ b/modules/ssh/ssh.go @@ -5,6 +5,7 @@ package ssh import ( + "code.gitea.io/gitea/services/repository" "crypto/rand" "crypto/rsa" "crypto/x509" @@ -74,7 +75,7 @@ func sessionHandler(session ssh.Session) { models.EnvPushSizeCheckFlag+"="+fmt.Sprint(setting.Repository.Upload.ShellFlag), ) - if strings.HasPrefix(command, "git-receive-pack") { + if strings.HasPrefix(command, "git-receive-pack") && setting.Repository.Upload.ShellFlag == repository.SHELL_FLAG_ON { repo := getRepoFromCommandStr(command) if repo != nil { cmd.Env = append(cmd.Env, models.EnvRepoSize+"="+fmt.Sprint(repo.Size)) diff --git a/services/repository/repository.go b/services/repository/repository.go index d0cd52653..b9abbeb6f 100644 --- a/services/repository/repository.go +++ b/services/repository/repository.go @@ -19,6 +19,8 @@ import ( pull_service "code.gitea.io/gitea/services/pull" ) +const SHELL_FLAG_ON = 1 + // CreateRepository creates a repository for the user/organization. func CreateRepository(doer, owner *models.User, opts models.CreateRepoOptions) (*models.Repository, error) { repo, err := repo_module.CreateRepository(doer, owner, opts)