diff options
Diffstat (limited to 'internal/cmd')
-rw-r--r-- | internal/cmd/serv.go | 14 | ||||
-rw-r--r-- | internal/cmd/web.go | 12 |
2 files changed, 15 insertions, 11 deletions
diff --git a/internal/cmd/serv.go b/internal/cmd/serv.go index 8c6349e3..40f0852d 100644 --- a/internal/cmd/serv.go +++ b/internal/cmd/serv.go @@ -126,9 +126,9 @@ func checkDeployKey(key *db.PublicKey, repo *db.Repository) { var ( allowedCommands = map[string]db.AccessMode{ - "git-upload-pack": db.ACCESS_MODE_READ, - "git-upload-archive": db.ACCESS_MODE_READ, - "git-receive-pack": db.ACCESS_MODE_WRITE, + "git-upload-pack": db.AccessModeRead, + "git-upload-archive": db.AccessModeRead, + "git-receive-pack": db.AccessModeWrite, } ) @@ -184,7 +184,7 @@ func runServ(c *cli.Context) error { } // Prohibit push to mirror repositories. - if requestMode > db.ACCESS_MODE_READ && repo.IsMirror { + if requestMode > db.AccessModeRead && repo.IsMirror { fail("Mirror repository is read-only", "") } @@ -196,7 +196,7 @@ func runServ(c *cli.Context) error { fail("Invalid key ID", "Invalid key ID '%s': %v", c.Args()[0], err) } - if requestMode == db.ACCESS_MODE_WRITE || repo.IsPrivate { + if requestMode == db.AccessModeWrite || repo.IsPrivate { // Check deploy key or user key. if key.IsDeployKey() { if key.Mode < requestMode { @@ -216,7 +216,7 @@ func runServ(c *cli.Context) error { if mode < requestMode { clientMessage := _ACCESS_DENIED_MESSAGE - if mode >= db.ACCESS_MODE_READ { + if mode >= db.AccessModeRead { clientMessage = "You do not have sufficient authorization for this action" } fail(clientMessage, @@ -259,7 +259,7 @@ func runServ(c *cli.Context) error { } else { gitCmd = exec.Command(verb, repoFullName) } - if requestMode == db.ACCESS_MODE_WRITE { + if requestMode == db.AccessModeWrite { gitCmd.Env = append(os.Environ(), db.ComposeHookEnvs(db.ComposeHookEnvsOptions{ AuthUser: user, OwnerName: owner.Name, diff --git a/internal/cmd/web.go b/internal/cmd/web.go index 84c99184..f26c5a51 100644 --- a/internal/cmd/web.go +++ b/internal/cmd/web.go @@ -41,6 +41,7 @@ import ( "gogs.io/gogs/internal/route/admin" apiv1 "gogs.io/gogs/internal/route/api/v1" "gogs.io/gogs/internal/route/dev" + "gogs.io/gogs/internal/route/lfs" "gogs.io/gogs/internal/route/org" "gogs.io/gogs/internal/route/repo" "gogs.io/gogs/internal/route/user" @@ -648,11 +649,14 @@ func runWeb(c *cli.Context) error { // e.g. with or without ".git" suffix. m.Group("/:reponame([\\d\\w-_\\.]+\\.git$)", func() { m.Get("", ignSignIn, context.RepoAssignment(), context.RepoRef(), repo.Home) - m.Options("/*", ignSignInAndCsrf, repo.HTTPContexter(), repo.HTTP) - m.Route("/*", "GET,POST", ignSignInAndCsrf, repo.HTTPContexter(), repo.HTTP) + + m.Group("/info/lfs", func() { + lfs.RegisterRoutes(m.Router) + }, ignSignInAndCsrf) + + m.Route("/*", "GET,POST,OPTIONS", ignSignInAndCsrf, repo.HTTPContexter(), repo.HTTP) }) - m.Options("/:reponame/*", ignSignInAndCsrf, repo.HTTPContexter(), repo.HTTP) - m.Route("/:reponame/*", "GET,POST", ignSignInAndCsrf, repo.HTTPContexter(), repo.HTTP) + m.Route("/:reponame/*", "GET,POST,OPTIONS", ignSignInAndCsrf, repo.HTTPContexter(), repo.HTTP) }) // ***** END: Repository ***** |