forked from NYANDEV/forgejo
Merge pull request #372 from andmarios/dev
Remove newline characters from ssh key before processing it.
This commit is contained in:
commit
ce55807542
1 changed files with 7 additions and 2 deletions
|
@ -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 {
|
||||
|
|
Loading…
Reference in a new issue