mirror of
				https://gitee.com/gitea/gitea
				synced 2025-11-04 16:40:24 +08:00 
			
		
		
		
	bug fixed
This commit is contained in:
		@@ -77,8 +77,8 @@ func init() {
 | 
			
		||||
// PublicKey represents a SSH key of user.
 | 
			
		||||
type PublicKey struct {
 | 
			
		||||
	Id          int64
 | 
			
		||||
	OwnerId     int64  `xorm:" index not null"`
 | 
			
		||||
	Name        string `xorm:" not null"` //UNIQUE(s)
 | 
			
		||||
	OwnerId     int64  `xorm:"unique(s) index not null"`
 | 
			
		||||
	Name        string `xorm:"unique(s) not null"` //UNIQUE(s)
 | 
			
		||||
	Fingerprint string
 | 
			
		||||
	Content     string    `xorm:"TEXT not null"`
 | 
			
		||||
	Created     time.Time `xorm:"created"`
 | 
			
		||||
 
 | 
			
		||||
@@ -261,7 +261,7 @@ func basicDecode(encoded string) (user string, name string, err error) {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func authRequired(ctx *middleware.Context) {
 | 
			
		||||
	ctx.ResponseWriter.Header().Set("WWW-Authenticate", `Basic realm="Gogs Auth"`)
 | 
			
		||||
	ctx.ResponseWriter.Header().Set("WWW-Authenticate", "Basic realm=\".\"")
 | 
			
		||||
	ctx.Data["ErrorMsg"] = "no basic auth and digit auth"
 | 
			
		||||
	ctx.HTML(401, fmt.Sprintf("status/401"))
 | 
			
		||||
}
 | 
			
		||||
@@ -273,6 +273,8 @@ func Http(ctx *middleware.Context, params martini.Params) {
 | 
			
		||||
		reponame = reponame[:len(reponame)-4]
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	//fmt.Println("req:", ctx.Req.Header)
 | 
			
		||||
 | 
			
		||||
	repoUser, err := models.GetUserByName(username)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		ctx.Handle(500, "repo.GetUserByName", nil)
 | 
			
		||||
@@ -297,7 +299,11 @@ func Http(ctx *middleware.Context, params martini.Params) {
 | 
			
		||||
 | 
			
		||||
		// check basic auth
 | 
			
		||||
		baHead := ctx.Req.Header.Get("Authorization")
 | 
			
		||||
		if baHead != "" {
 | 
			
		||||
		if baHead == "" {
 | 
			
		||||
			authRequired(ctx)
 | 
			
		||||
			return
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		auths := strings.Fields(baHead)
 | 
			
		||||
		if len(auths) != 2 || auths[0] != "Basic" {
 | 
			
		||||
			ctx.Handle(401, "no basic auth and digit auth", nil)
 | 
			
		||||
@@ -332,10 +338,6 @@ func Http(ctx *middleware.Context, params martini.Params) {
 | 
			
		||||
			ctx.Handle(401, "no basic auth and digit auth", nil)
 | 
			
		||||
			return
 | 
			
		||||
		}
 | 
			
		||||
		} else {
 | 
			
		||||
			authRequired(ctx)
 | 
			
		||||
			return
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	dir := models.RepoPath(username, reponame)
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user