Fix SSH signature email case verification

What does this MR do and why?

Contributes to #618877 (closed)

Problem

SSH-signed commits can be incorrectly marked as unverified with an other_user status when the verified owner email and committer email differ only by capitalization.

Solution

  • Compare complete normalized email addresses when checking key ownership.
  • Compare normalized addresses when checking verified-email status.
  • Cover verified primary and secondary email matches, unconfirmed secondary emails, unrelated addresses, and Unicode case-folding.

Closes #618877 (closed)

References

How to set up and validate locally

  1. Run the focused RSpec suite: 35 examples, 0 failures.
  2. Run RuboCop on the two changed files: 2 files, no offenses.
  3. Run git diff --check.

MR acceptance checklist

Evaluate this MR against the MR acceptance checklist.

Edited by Vasilii Iakliushin

Merge request reports

Loading
Loading