mirror of
https://github.com/go-gitea/gitea.git
synced 2025-07-23 00:01:45 -04:00
Compare commits
No commits in common. "9ca1853495768b0aafba9c477d20e0452a8c5bd6" and "c074af6a6db83de3b1099b80f500da0c083d0587" have entirely different histories.
9ca1853495
...
c074af6a6d
@ -1,43 +0,0 @@
|
|||||||
// Copyright 2023 The Gitea Authors. All rights reserved.
|
|
||||||
// SPDX-License-Identifier: MIT
|
|
||||||
|
|
||||||
package web
|
|
||||||
|
|
||||||
import (
|
|
||||||
"net/http"
|
|
||||||
|
|
||||||
"code.gitea.io/gitea/modules/context"
|
|
||||||
"code.gitea.io/gitea/modules/setting"
|
|
||||||
"code.gitea.io/gitea/modules/web"
|
|
||||||
"code.gitea.io/gitea/routers/web/repo"
|
|
||||||
context_service "code.gitea.io/gitea/services/context"
|
|
||||||
)
|
|
||||||
|
|
||||||
func requireSignIn(ctx *context.Context) {
|
|
||||||
if !setting.Service.RequireSignInView {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
// rely on the results of Contexter
|
|
||||||
if !ctx.IsSigned {
|
|
||||||
// TODO: support digit auth - which would be Authorization header with digit
|
|
||||||
ctx.Resp.Header().Set("WWW-Authenticate", `Basic realm="Gitea"`)
|
|
||||||
ctx.Error(http.StatusUnauthorized)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func gitHTTPRouters(m *web.Route) {
|
|
||||||
m.Group("", func() {
|
|
||||||
m.PostOptions("/git-upload-pack", repo.ServiceUploadPack)
|
|
||||||
m.PostOptions("/git-receive-pack", repo.ServiceReceivePack)
|
|
||||||
m.GetOptions("/info/refs", repo.GetInfoRefs)
|
|
||||||
m.GetOptions("/HEAD", repo.GetTextFile("HEAD"))
|
|
||||||
m.GetOptions("/objects/info/alternates", repo.GetTextFile("objects/info/alternates"))
|
|
||||||
m.GetOptions("/objects/info/http-alternates", repo.GetTextFile("objects/info/http-alternates"))
|
|
||||||
m.GetOptions("/objects/info/packs", repo.GetInfoPacks)
|
|
||||||
m.GetOptions("/objects/info/{file:[^/]*}", repo.GetTextFile(""))
|
|
||||||
m.GetOptions("/objects/{head:[0-9a-f]{2}}/{hash:[0-9a-f]{38}}", repo.GetLooseObject)
|
|
||||||
m.GetOptions("/objects/pack/pack-{file:[0-9a-f]{40}}.pack", repo.GetPackFile)
|
|
||||||
m.GetOptions("/objects/pack/pack-{file:[0-9a-f]{40}}.idx", repo.GetIdxFile)
|
|
||||||
}, ignSignInAndCsrf, requireSignIn, repo.HTTPGitEnabledHandler, repo.CorsHandler(), context_service.UserAssignmentWeb())
|
|
||||||
}
|
|
@ -275,8 +275,6 @@ func Routes() *web.Route {
|
|||||||
return routes
|
return routes
|
||||||
}
|
}
|
||||||
|
|
||||||
var ignSignInAndCsrf = verifyAuthWithOptions(&common.VerifyOptions{DisableCSRF: true})
|
|
||||||
|
|
||||||
// registerRoutes register routes
|
// registerRoutes register routes
|
||||||
func registerRoutes(m *web.Route) {
|
func registerRoutes(m *web.Route) {
|
||||||
reqSignIn := verifyAuthWithOptions(&common.VerifyOptions{SignInRequired: true})
|
reqSignIn := verifyAuthWithOptions(&common.VerifyOptions{SignInRequired: true})
|
||||||
@ -284,7 +282,7 @@ func registerRoutes(m *web.Route) {
|
|||||||
// TODO: rename them to "optSignIn", which means that the "sign-in" could be optional, depends on the VerifyOptions (RequireSignInView)
|
// TODO: rename them to "optSignIn", which means that the "sign-in" could be optional, depends on the VerifyOptions (RequireSignInView)
|
||||||
ignSignIn := verifyAuthWithOptions(&common.VerifyOptions{SignInRequired: setting.Service.RequireSignInView})
|
ignSignIn := verifyAuthWithOptions(&common.VerifyOptions{SignInRequired: setting.Service.RequireSignInView})
|
||||||
ignExploreSignIn := verifyAuthWithOptions(&common.VerifyOptions{SignInRequired: setting.Service.RequireSignInView || setting.Service.Explore.RequireSigninView})
|
ignExploreSignIn := verifyAuthWithOptions(&common.VerifyOptions{SignInRequired: setting.Service.RequireSignInView || setting.Service.Explore.RequireSigninView})
|
||||||
|
ignSignInAndCsrf := verifyAuthWithOptions(&common.VerifyOptions{DisableCSRF: true})
|
||||||
validation.AddBindingRules()
|
validation.AddBindingRules()
|
||||||
|
|
||||||
linkAccountEnabled := func(ctx *context.Context) {
|
linkAccountEnabled := func(ctx *context.Context) {
|
||||||
@ -1513,7 +1511,19 @@ func registerRoutes(m *web.Route) {
|
|||||||
})
|
})
|
||||||
}, ignSignInAndCsrf, lfsServerEnabled)
|
}, ignSignInAndCsrf, lfsServerEnabled)
|
||||||
|
|
||||||
gitHTTPRouters(m)
|
m.Group("", func() {
|
||||||
|
m.PostOptions("/git-upload-pack", repo.ServiceUploadPack)
|
||||||
|
m.PostOptions("/git-receive-pack", repo.ServiceReceivePack)
|
||||||
|
m.GetOptions("/info/refs", repo.GetInfoRefs)
|
||||||
|
m.GetOptions("/HEAD", repo.GetTextFile("HEAD"))
|
||||||
|
m.GetOptions("/objects/info/alternates", repo.GetTextFile("objects/info/alternates"))
|
||||||
|
m.GetOptions("/objects/info/http-alternates", repo.GetTextFile("objects/info/http-alternates"))
|
||||||
|
m.GetOptions("/objects/info/packs", repo.GetInfoPacks)
|
||||||
|
m.GetOptions("/objects/info/{file:[^/]*}", repo.GetTextFile(""))
|
||||||
|
m.GetOptions("/objects/{head:[0-9a-f]{2}}/{hash:[0-9a-f]{38}}", repo.GetLooseObject)
|
||||||
|
m.GetOptions("/objects/pack/pack-{file:[0-9a-f]{40}}.pack", repo.GetPackFile)
|
||||||
|
m.GetOptions("/objects/pack/pack-{file:[0-9a-f]{40}}.idx", repo.GetIdxFile)
|
||||||
|
}, ignSignInAndCsrf, repo.HTTPGitEnabledHandler, repo.CorsHandler(), context_service.UserAssignmentWeb())
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
// ***** END: Repository *****
|
// ***** END: Repository *****
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
.divider {
|
.divider {
|
||||||
margin: 10px 0;
|
margin: 1rem 0;
|
||||||
height: 0;
|
height: 0;
|
||||||
font-weight: var(--font-weight-medium);
|
font-weight: var(--font-weight-medium);
|
||||||
text-transform: uppercase;
|
text-transform: uppercase;
|
||||||
@ -15,7 +15,7 @@
|
|||||||
.divider.divider-text {
|
.divider.divider-text {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
padding: 5px 0;
|
padding: 7px 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.divider.divider-text::before,
|
.divider.divider-text::before,
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
display: flex;
|
display: flex;
|
||||||
gap: 8px;
|
gap: 8px;
|
||||||
align-items: flex-start;
|
align-items: flex-start;
|
||||||
padding: 10px 0;
|
padding: 1em 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.flex-item .flex-item-leading {
|
.flex-item .flex-item-leading {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user