aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorstroucki <stroucki@andrew.cmu.edu>2016-11-23 19:52:55 -0500
committerLunny Xiao <xiaolunwen@gmail.com>2016-11-24 08:52:55 +0800
commit3a3782bb7fed768c1e832ff4c0a77f2f5281ed05 (patch)
treee943b540fbd6b9de6fbdca0373040acf095b513a
parentcb1602840c5206da91be477a73f45b437fa43c8f (diff)
downloadgitea-3a3782bb7fed768c1e832ff4c0a77f2f5281ed05.tar.gz
gitea-3a3782bb7fed768c1e832ff4c0a77f2f5281ed05.zip
Handle ssh key import better (#224)
* Handle user ssh key input better ssh_key: when user submitted keys had a newline at the end, strings.Split would have created a slice with an empty last element, and the key type check would be incorrect. Perhaps a better way is to look for 'ssh-rsa' or 'ssh-dsa' at the beginning of the string, but this is simple. * ssh_key: correct indentation
-rw-r--r--models/ssh_key.go2
1 files changed, 2 insertions, 0 deletions
diff --git a/models/ssh_key.go b/models/ssh_key.go
index 4a6acb8ecf..98fb2dcdbf 100644
--- a/models/ssh_key.go
+++ b/models/ssh_key.go
@@ -105,6 +105,8 @@ func extractTypeFromBase64Key(key string) (string, error) {
func parseKeyString(content string) (string, error) {
// Transform all legal line endings to a single "\n".
content = strings.NewReplacer("\r\n", "\n", "\r", "\n").Replace(content)
+ // remove trailing newline (and beginning spaces too)
+ content = strings.TrimSpace(content)
lines := strings.Split(content, "\n")
var keyType, keyContent, keyComment string