From c919c016830dc587a368b0e15fea1d9a2421ce27 Mon Sep 17 00:00:00 2001 From: thoscut Date: Tue, 25 Feb 2025 17:20:33 +0100 Subject: [PATCH] Fix nil user --- services/lfs/server.go | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/services/lfs/server.go b/services/lfs/server.go index c4866edaab233..97165fc94f398 100644 --- a/services/lfs/server.go +++ b/services/lfs/server.go @@ -533,6 +533,14 @@ func authenticate(ctx *context.Context, repository *repo_model.Repository, autho return accessMode <= perm_model.AccessModeWrite } + user, err := parseToken(ctx, authorization, repository, accessMode) + if err != nil { + // Most of these are Warn level - the true internal server errors are logged in parseToken already + log.Warn("Authentication failure for provided token with Error: %v", err) + return false + } + ctx.Doer = user + // ctx.IsSigned is unnecessary here, this will be checked in perm.CanAccess perm, err := access_model.GetUserRepoPermission(ctx, repository, ctx.Doer) if err != nil { @@ -545,13 +553,6 @@ func authenticate(ctx *context.Context, repository *repo_model.Repository, autho return true } - user, err := parseToken(ctx, authorization, repository, accessMode) - if err != nil { - // Most of these are Warn level - the true internal server errors are logged in parseToken already - log.Warn("Authentication failure for provided token with Error: %v", err) - return false - } - ctx.Doer = user return true }