summaryrefslogtreecommitdiff
path: root/lib/gitlab/gpg/invalid_gpg_signature_updater.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/gitlab/gpg/invalid_gpg_signature_updater.rb')
-rw-r--r--lib/gitlab/gpg/invalid_gpg_signature_updater.rb8
1 files changed, 7 insertions, 1 deletions
diff --git a/lib/gitlab/gpg/invalid_gpg_signature_updater.rb b/lib/gitlab/gpg/invalid_gpg_signature_updater.rb
index a525ee7a9ee..7bdf6760295 100644
--- a/lib/gitlab/gpg/invalid_gpg_signature_updater.rb
+++ b/lib/gitlab/gpg/invalid_gpg_signature_updater.rb
@@ -6,9 +6,15 @@ module Gitlab
end
def run
+ # `OR valid_signature` is for backwards compatibility: legacy records
+ # that weren't migrated to use the new `#verification_status` have
+ # `#valid_signature` set instead
GpgSignature
.select(:id, :commit_sha, :project_id)
- .where('gpg_key_id IS NULL OR valid_signature = ?', false)
+ .where('gpg_key_id IS NULL OR valid_signature = ? OR verification_status <> ?',
+ false,
+ GpgSignature.verification_statuses[:verified]
+ )
.where(gpg_key_primary_keyid: @gpg_key.primary_keyid)
.find_each { |sig| sig.gpg_commit.update_signature!(sig) }
end