Browse Source

models: mirror fix on #964

Unknwon 10 years ago
parent
commit
d446be9f5f
4 changed files with 9 additions and 9 deletions
  1. 6 5
      cmd/serve.go
  2. 1 1
      conf/locale/locale_en-US.ini
  3. 0 1
      models/publickey.go
  4. 2 2
      models/user.go

+ 6 - 5
cmd/serve.go

@@ -22,7 +22,7 @@ import (
 )
 
 const (
-	ACCESS_DENIED_MESSAGE = "Repository does not exist or you do not have access"
+	_ACCESS_DENIED_MESSAGE = "Repository does not exist or you do not have access"
 )
 
 var CmdServ = cli.Command{
@@ -55,7 +55,6 @@ func setup(logPath string) {
 }
 
 func parseCmd(cmd string) (string, string) {
-
 	ss := strings.SplitN(cmd, " ", 2)
 	if len(ss) != 2 {
 		return "", ""
@@ -66,8 +65,10 @@ func parseCmd(cmd string) (string, string) {
 var (
 	COMMANDS = map[string]models.AccessMode{
 		"git-upload-pack":    models.ACCESS_MODE_READ,
+		"git upload-pack":    models.ACCESS_MODE_READ,
 		"git-upload-archive": models.ACCESS_MODE_READ,
 		"git-receive-pack":   models.ACCESS_MODE_WRITE,
+		"git receive-pack":   models.ACCESS_MODE_WRITE,
 	}
 )
 
@@ -133,7 +134,7 @@ func runServ(c *cli.Context) {
 			if user.Id == repoUser.Id || repoUser.IsOwnedBy(user.Id) {
 				fail("Repository does not exist", "Repository does not exist: %s/%s", repoUser.Name, repoName)
 			} else {
-				fail(ACCESS_DENIED_MESSAGE, "Repository does not exist: %s/%s", repoUser.Name, repoName)
+				fail(_ACCESS_DENIED_MESSAGE, "Repository does not exist: %s/%s", repoUser.Name, repoName)
 			}
 		}
 		fail("Internal error", "Fail to get repository: %v", err)
@@ -146,9 +147,9 @@ func runServ(c *cli.Context) {
 
 	mode, err := models.AccessLevel(user, repo)
 	if err != nil {
-		fail("Internal error", "HasAccess fail: %v", err)
+		fail("Internal error", "Fail to check access: %v", err)
 	} else if mode < requestedMode {
-		clientMessage := ACCESS_DENIED_MESSAGE
+		clientMessage := _ACCESS_DENIED_MESSAGE
 		if mode >= models.ACCESS_MODE_READ {
 			clientMessage = "You do not have sufficient authorization for this action"
 		}

+ 1 - 1
conf/locale/locale_en-US.ini

@@ -149,7 +149,7 @@ repo_name_been_taken = Repository name has been already taken.
 org_name_been_taken = Organization name has been already taken.
 team_name_been_taken = Team name has been already taken.
 email_been_used = E-mail address has been already used.
-ssh_key_been_used = Public key name has been used.
+ssh_key_been_used = Public key name or content has been used.
 illegal_username = Your username contains illegal characters.
 illegal_repo_name = Repository name contains illegal characters.
 illegal_org_name = Organization name contains illegal characters.

+ 0 - 1
models/publickey.go

@@ -130,7 +130,6 @@ func extractTypeFromBase64Key(key string) (string, error) {
 
 // Parse any key string in openssh or ssh2 format to clean openssh string (rfc4253)
 func ParseKeyString(content string) (string, error) {
-
 	// Transform all legal line endings to a single "\n"
 	s := strings.Replace(strings.Replace(strings.TrimSpace(content), "\r\n", "\n", -1), "\r", "\n", -1)
 

+ 2 - 2
models/user.go

@@ -40,7 +40,7 @@ var (
 	ErrUserHasOrgs           = errors.New("User still have membership of organization")
 	ErrUserAlreadyExist      = errors.New("User already exist")
 	ErrUserNotExist          = errors.New("User does not exist")
-	ErrPublicKeyNotExist     = errors.New("Public key does not exist")
+	ErrUserNotKeyOwner       = errors.New("User does not the owner of public key")
 	ErrEmailAlreadyUsed      = errors.New("E-mail already used")
 	ErrEmailNotExist         = errors.New("E-mail does not exist")
 	ErrEmailNotActivated     = errors.New("E-mail address has not been activated")
@@ -518,7 +518,7 @@ func GetUserByKeyId(keyId int64) (*User, error) {
 	if err != nil {
 		return nil, err
 	} else if !has {
-		return nil, ErrPublicKeyNotExist
+		return nil, ErrUserNotKeyOwner
 	}
 	return user, nil
 }