Repository Identity "Automatically Detected User": don't trust unverified emails
Summary:
Make sure that Repository Diffusion Identities "Automatically Detected User " are not created from unverified emails.
Closes T15965
Test Plan:
Find at least one identity that is assigned to nobody:
http://phorge.localhost/diffusion/identity/
(For example, you may easily find an identity of "GitHub <noreply@github.com>")
(Double check that its "Assigned To" is unset or make sure it's unset for this test)
Be evil: add *that* email in your Profile → Settings → Email addresses. So, for example add "noreply@github.com", like a rogue. The email can stay unverified.
Run this command to immediately cause an effect:
./bin/repository rebuild-identities --all-identities
- before this change, you can reproduce that you successfully steal that identity and you become "GitHub" or whoever
- after this change, you see that "Automatically Detected User" is unset again
- after this change, any other identity manually assigned, is still assigned to that value
- after this change, any other identity automatically assigned to verified emails, are still "Automatically Detected User"
Reviewers: O1 Blessed Committers, speck, 20after4
Reviewed By: O1 Blessed Committers, speck, 20after4
Subscribers: aklapper, tobiaswiese, Matthew, Cigaryno
Maniphest Tasks: T15965
Differential Revision: https://we.phorge.it/D25845