Skip to content

Commit 641d481

Browse files
authored
Correctly check http git access rights for reverse proxy authorized users (#3721) (#3743)
1 parent 6c6d1ff commit 641d481

File tree

1 file changed

+20
-20
lines changed

1 file changed

+20
-20
lines changed

routers/repo/http.go

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -184,33 +184,33 @@ func HTTP(ctx *context.Context) {
184184
return
185185
}
186186
}
187+
}
187188

188-
if !isPublicPull {
189-
has, err := models.HasAccess(authUser.ID, repo, accessMode)
190-
if err != nil {
191-
ctx.ServerError("HasAccess", err)
192-
return
193-
} else if !has {
194-
if accessMode == models.AccessModeRead {
195-
has, err = models.HasAccess(authUser.ID, repo, models.AccessModeWrite)
196-
if err != nil {
197-
ctx.ServerError("HasAccess2", err)
198-
return
199-
} else if !has {
200-
ctx.HandleText(http.StatusForbidden, "User permission denied")
201-
return
202-
}
203-
} else {
189+
if !isPublicPull {
190+
has, err := models.HasAccess(authUser.ID, repo, accessMode)
191+
if err != nil {
192+
ctx.ServerError("HasAccess", err)
193+
return
194+
} else if !has {
195+
if accessMode == models.AccessModeRead {
196+
has, err = models.HasAccess(authUser.ID, repo, models.AccessModeWrite)
197+
if err != nil {
198+
ctx.ServerError("HasAccess2", err)
199+
return
200+
} else if !has {
204201
ctx.HandleText(http.StatusForbidden, "User permission denied")
205202
return
206203
}
207-
}
208-
209-
if !isPull && repo.IsMirror {
210-
ctx.HandleText(http.StatusForbidden, "mirror repository is read-only")
204+
} else {
205+
ctx.HandleText(http.StatusForbidden, "User permission denied")
211206
return
212207
}
213208
}
209+
210+
if !isPull && repo.IsMirror {
211+
ctx.HandleText(http.StatusForbidden, "mirror repository is read-only")
212+
return
213+
}
214214
}
215215

216216
if !repo.CheckUnitUser(authUser.ID, authUser.IsAdmin, unitType) {

0 commit comments

Comments
 (0)