| @@ -6,6 +6,7 @@ | |||||
| package cmd | package cmd | ||||
| import ( | import ( | ||||
| "code.gitea.io/gitea/services/repository" | |||||
| "encoding/json" | "encoding/json" | ||||
| "fmt" | "fmt" | ||||
| "net/http" | "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.EnvRepoMaxFileSize, fmt.Sprint(setting.Repository.Upload.FileMaxSize)) | ||||
| os.Setenv(models.EnvRepoMaxSize, fmt.Sprint(setting.Repository.RepoMaxSize)) | os.Setenv(models.EnvRepoMaxSize, fmt.Sprint(setting.Repository.RepoMaxSize)) | ||||
| os.Setenv(models.EnvPushSizeCheckFlag, fmt.Sprint(setting.Repository.Upload.ShellFlag)) | 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) | |||||
| } | |||||
| } | } | ||||
| } | } | ||||
| } | } | ||||
| @@ -5,6 +5,7 @@ | |||||
| package ssh | package ssh | ||||
| import ( | import ( | ||||
| "code.gitea.io/gitea/services/repository" | |||||
| "crypto/rand" | "crypto/rand" | ||||
| "crypto/rsa" | "crypto/rsa" | ||||
| "crypto/x509" | "crypto/x509" | ||||
| @@ -74,7 +75,7 @@ func sessionHandler(session ssh.Session) { | |||||
| models.EnvPushSizeCheckFlag+"="+fmt.Sprint(setting.Repository.Upload.ShellFlag), | 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) | repo := getRepoFromCommandStr(command) | ||||
| if repo != nil { | if repo != nil { | ||||
| cmd.Env = append(cmd.Env, models.EnvRepoSize+"="+fmt.Sprint(repo.Size)) | cmd.Env = append(cmd.Env, models.EnvRepoSize+"="+fmt.Sprint(repo.Size)) | ||||
| @@ -19,6 +19,8 @@ import ( | |||||
| pull_service "code.gitea.io/gitea/services/pull" | pull_service "code.gitea.io/gitea/services/pull" | ||||
| ) | ) | ||||
| const SHELL_FLAG_ON = 1 | |||||
| // CreateRepository creates a repository for the user/organization. | // CreateRepository creates a repository for the user/organization. | ||||
| func CreateRepository(doer, owner *models.User, opts models.CreateRepoOptions) (*models.Repository, error) { | func CreateRepository(doer, owner *models.User, opts models.CreateRepoOptions) (*models.Repository, error) { | ||||
| repo, err := repo_module.CreateRepository(doer, owner, opts) | repo, err := repo_module.CreateRepository(doer, owner, opts) | ||||