projects
/
arvados.git
/ blobdiff
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
3220: Merge branch '3220-http-status-codes' closes #3220
[arvados.git]
/
services
/
api
/
app
/
models
/
authorized_key.rb
diff --git
a/services/api/app/models/authorized_key.rb
b/services/api/app/models/authorized_key.rb
index 2b30d4b7e3320d73d23642d9876f0494df7beb94..5856e0c8e8d9a6a2c0b7e0edb9c01e782b3dfc77 100644
(file)
--- a/
services/api/app/models/authorized_key.rb
+++ b/
services/api/app/models/authorized_key.rb
@@
-1,5
+1,5
@@
class AuthorizedKey < ArvadosModel
class AuthorizedKey < ArvadosModel
- include
Assign
Uuid
+ include
Has
Uuid
include KindAndEtag
include CommonApiTemplate
before_create :permission_to_set_authorized_user_uuid
include KindAndEtag
include CommonApiTemplate
before_create :permission_to_set_authorized_user_uuid
@@
-33,14
+33,14
@@
class AuthorizedKey < ArvadosModel
def public_key_must_be_unique
if self.public_key
def public_key_must_be_unique
if self.public_key
- key = /
ssh-rsa [A-Za-z0-9+\/]+
/.match(self.public_key)
+ key = /
^ssh-(rsa|dss) [A-Za-z0-9+\/=\+]+\b
/.match(self.public_key)
if not key
if not key
- errors.add(:public_key, "
Does not appear to be a valid ssh-rsa
key")
+ errors.add(:public_key, "
does not appear to be a valid ssh-rsa or dsa public
key")
else
# Valid if no other rows have this public key
if self.class.where('public_key like ?', "%#{key[0]}%").any?
else
# Valid if no other rows have this public key
if self.class.where('public_key like ?', "%#{key[0]}%").any?
- errors.add(:public_key, "
Key
already exists in the database, use a different key.")
+ errors.add(:public_key, "already exists in the database, use a different key.")
return false
end
end
return false
end
end