From bbad9b617869ce05db2f33cd113f3a581316cee3 Mon Sep 17 00:00:00 2001
From: Lunny Xiao <xiaolunwen@gmail.com>
Date: Thu, 31 Jan 2019 21:36:57 +0800
Subject: [PATCH] Fix bug when read public repo lfs file (#5912)

* fix bug when read public repo lfs file

* add comment on lfs permission check
---
 modules/lfs/server.go | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/modules/lfs/server.go b/modules/lfs/server.go
index 58acbb807e..188a6b8d57 100644
--- a/modules/lfs/server.go
+++ b/modules/lfs/server.go
@@ -497,12 +497,15 @@ func authenticate(ctx *context.Context, repository *models.Repository, authoriza
 		accessMode = models.AccessModeWrite
 	}
 
+	// ctx.IsSigned is unnecessary here, this will be checked in perm.CanAccess
 	perm, err := models.GetUserRepoPermission(repository, ctx.User)
 	if err != nil {
 		return false
 	}
-	if ctx.IsSigned {
-		return perm.CanAccess(accessMode, models.UnitTypeCode)
+
+	canRead := perm.CanAccess(accessMode, models.UnitTypeCode)
+	if canRead {
+		return true
 	}
 
 	user, repo, opStr, err := parseToken(authorization)