|
|
|
@ -5,6 +5,8 @@ |
|
|
|
|
package user |
|
|
|
|
|
|
|
|
|
import ( |
|
|
|
|
"strings" |
|
|
|
|
|
|
|
|
|
"github.com/Unknwon/com" |
|
|
|
|
|
|
|
|
|
"github.com/gogits/gogs/models" |
|
|
|
@ -171,7 +173,10 @@ func SettingsSSHKeysPost(ctx *middleware.Context, form auth.AddSSHKeyForm) { |
|
|
|
|
return |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if ok, err := models.CheckPublicKeyString(form.Content); !ok { |
|
|
|
|
// Remove newline characters from form.KeyContent
|
|
|
|
|
cleanContent := strings.Replace(form.Content, "\n", "", -1) |
|
|
|
|
|
|
|
|
|
if ok, err := models.CheckPublicKeyString(cleanContent); !ok { |
|
|
|
|
ctx.Flash.Error(ctx.Tr("form.invalid_ssh_key", err.Error())) |
|
|
|
|
ctx.Redirect("/user/settings/ssh") |
|
|
|
|
return |
|
|
|
@ -180,7 +185,7 @@ func SettingsSSHKeysPost(ctx *middleware.Context, form auth.AddSSHKeyForm) { |
|
|
|
|
k := &models.PublicKey{ |
|
|
|
|
OwnerId: ctx.User.Id, |
|
|
|
|
Name: form.SSHTitle, |
|
|
|
|
Content: form.Content, |
|
|
|
|
Content: cleanContent, |
|
|
|
|
} |
|
|
|
|
if err := models.AddPublicKey(k); err != nil { |
|
|
|
|
if err == models.ErrKeyAlreadyExist { |
|
|
|
|