summaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
authorDouwe Maan <douwe@gitlab.com>2018-02-19 08:47:14 +0000
committerDouwe Maan <douwe@gitlab.com>2018-02-19 08:47:14 +0000
commit804b38d5e63c7e0001e26741b99960e9553114b1 (patch)
tree04403bdc23bf311afea8f94b63eec29924ce9cec /app
parent557db7e635c70bf68a15f7029014301013b30070 (diff)
parent7044a3a54a4ee4dd45af111727df2ff512db1a22 (diff)
downloadgitlab-ce-804b38d5e63c7e0001e26741b99960e9553114b1.tar.gz
Merge branch 'rd-40552-gitlab-should-check-if-keys-are-valid-before-saving' into 'master'
Sanitize extra blank spaces used when uploading a SSH key Closes #40552 See merge request gitlab-org/gitlab-ce!17138
Diffstat (limited to 'app')
-rw-r--r--app/models/key.rb7
1 files changed, 3 insertions, 4 deletions
diff --git a/app/models/key.rb b/app/models/key.rb
index 7406c98c99e..ae5769c0627 100644
--- a/app/models/key.rb
+++ b/app/models/key.rb
@@ -33,9 +33,8 @@ class Key < ActiveRecord::Base
after_destroy :refresh_user_cache
def key=(value)
- value&.delete!("\n\r")
- value.strip! unless value.blank?
- write_attribute(:key, value)
+ write_attribute(:key, value.present? ? Gitlab::SSHPublicKey.sanitize(value) : nil)
+
@public_key = nil
end
@@ -97,7 +96,7 @@ class Key < ActiveRecord::Base
def generate_fingerprint
self.fingerprint = nil
- return unless self.key.present?
+ return unless public_key.valid?
self.fingerprint = public_key.fingerprint
end