Browse Source

models/ssh_key: fix SSH_KEYGEN_PATH not working (#3770)

Unknwon 8 years ago
parent
commit
9b8fa69c15
2 changed files with 5 additions and 4 deletions
  1. 3 2
      models/ssh_key.go
  2. 2 2
      routers/repo/setting.go

+ 3 - 2
models/ssh_key.go

@@ -385,9 +385,10 @@ func addKey(e Engine, key *PublicKey) (err error) {
 	if err = ioutil.WriteFile(tmpPath, []byte(key.Content), 0644); err != nil {
 		return err
 	}
-	stdout, stderr, err := process.Exec("AddPublicKey", "ssh-keygen", "-lf", tmpPath)
+
+	stdout, stderr, err := process.Exec("AddPublicKey", setting.SSH.KeygenPath, "-lf", tmpPath)
 	if err != nil {
-		return fmt.Errorf("'ssh-keygen -lf %s' failed with error '%s': %s", tmpPath, err, stderr)
+		return fmt.Errorf("fail to parse public key: %s - %s", err, stderr)
 	} else if len(stdout) < 2 {
 		return errors.New("not enough output for calculating fingerprint: " + stdout)
 	}

+ 2 - 2
routers/repo/setting.go

@@ -378,7 +378,7 @@ func parseOwnerAndRepo(ctx *context.Context) (*models.User, *models.Repository)
 	owner, err := models.GetUserByName(ctx.Params(":username"))
 	if err != nil {
 		if models.IsErrUserNotExist(err) {
-			ctx.Handle(404, "GetUserByName", err)
+			ctx.Handle(404, "GetUserByName", nil)
 		} else {
 			ctx.Handle(500, "GetUserByName", err)
 		}
@@ -388,7 +388,7 @@ func parseOwnerAndRepo(ctx *context.Context) (*models.User, *models.Repository)
 	repo, err := models.GetRepositoryByName(owner.ID, ctx.Params(":reponame"))
 	if err != nil {
 		if models.IsErrRepoNotExist(err) {
-			ctx.Handle(404, "GetRepositoryByName", err)
+			ctx.Handle(404, "GetRepositoryByName", nil)
 		} else {
 			ctx.Handle(500, "GetRepositoryByName", err)
 		}