Merge branch 'fix/gpg/case-insensitive' into 'master'

Make GPG validation case insensitive

See merge request gitlab-org/gitlab-ce!14376
This commit is contained in:
Dmitriy Zaporozhets 2017-10-02 15:37:04 +00:00
commit f1b8d79f4a
3 changed files with 14 additions and 1 deletions

View File

@ -73,7 +73,7 @@ class GpgKey < ActiveRecord::Base
end
def verified_and_belongs_to_email?(email)
emails_with_verified_status.fetch(email, false)
emails_with_verified_status.fetch(email.downcase, false)
end
def update_invalid_gpg_signatures

View File

@ -0,0 +1,5 @@
---
title: Compare email addresses case insensitively when verifying GPG signatures
merge_request: 14376
author: Tim Bishop
type: fixed

View File

@ -138,6 +138,14 @@ describe GpgKey do
expect(gpg_key.verified?).to be_truthy
expect(gpg_key.verified_and_belongs_to_email?('bette.cartwright@example.com')).to be_truthy
end
it 'returns true if one of the email addresses in the key belongs to the user and case-insensitively matches the provided email' do
user = create :user, email: 'bette.cartwright@example.com'
gpg_key = create :gpg_key, key: GpgHelpers::User2.public_key, user: user
expect(gpg_key.verified?).to be_truthy
expect(gpg_key.verified_and_belongs_to_email?('Bette.Cartwright@example.com')).to be_truthy
end
end
describe '#revoke' do