summaryrefslogtreecommitdiff
path: root/lib/gitlab/gpg
diff options
context:
space:
mode:
authorAlexis Reigel <mail@koffeinfrei.org>2017-08-24 14:21:42 +0200
committerAlexis Reigel <mail@koffeinfrei.org>2017-09-05 12:18:32 +0200
commit00392d929b4553a9ed8e1938cb11f091b79566c9 (patch)
treea5b61a15f1283bec4bc6b0e471186d09c3893f65 /lib/gitlab/gpg
parent2a89037b63967aac0725cf4e122cecbe0c3c5596 (diff)
downloadgitlab-ce-00392d929b4553a9ed8e1938cb11f091b79566c9.tar.gz
add verification_status: same_user_different_email
this is used to make a difference between a committer email that belongs to user, where the user used a different email for the gpg key. this means that the user is the same, but a different, unverified email is used for the signature.
Diffstat (limited to 'lib/gitlab/gpg')
-rw-r--r--lib/gitlab/gpg/commit.rb2
1 files changed, 2 insertions, 0 deletions
diff --git a/lib/gitlab/gpg/commit.rb b/lib/gitlab/gpg/commit.rb
index 16c8ef563da..7aaf3f6aa5b 100644
--- a/lib/gitlab/gpg/commit.rb
+++ b/lib/gitlab/gpg/commit.rb
@@ -85,6 +85,8 @@ module Gitlab
def verification_status(gpg_key)
if gpg_key && gpg_key.verified_and_belongs_to_email?(@commit.committer_email) && verified_signature.valid?
GpgSignature.verification_statuses[:verified]
+ elsif gpg_key && gpg_key.verified? && verified_signature.valid? && gpg_key.user.all_emails.include?(@commit.committer_email)
+ GpgSignature.verification_statuses[:same_user_different_email]
elsif gpg_key && gpg_key.verified? && verified_signature.valid?
GpgSignature.verification_statuses[:other_user]
elsif gpg_key