Skip to content
This repository was archived by the owner on Sep 30, 2024. It is now read-only.
This repository was archived by the owner on Sep 30, 2024. It is now read-only.

Perforce permissions email matching is case sensitive #58757

@marcleblanc2

Description

@marcleblanc2
  • Sourcegraph version: v4+
  • Platform information: Any Sourcegraph deployment when syncing with Perforce code hosts

Steps to reproduce:

  1. Configure a Perforce code host, with "authorization": {} configured to sync and enforce user permissions
  2. Configure a user in Perforce and Sourcegraph, with the same email address, but different capitalization (ex. Firstname.Lastname@domain.tld vs firstname.lastname@domain.tld)
  3. Notice that this Sourcegraph user won't be matched with their permissions in Perforce, so they won't see code from the Perforce code host
  4. Change the capitalization of their email address on either Sourcegraph or Perforce to match the other
  5. Notice that this Sourcegraph user will now be matched with their permissions in Perforce, so they will now see code from the Perforce code host
  6. Note that many large enterprises have long histories of changing email address conventions (i.e. their email addresses are a hot mess, and longstanding staff have many email addresses on their LDAP accounts), and Perforce customers can't use a centralized identity provider to batch update the email address on Perforce user accounts.

Expected behavior:

  1. Email addresses are not case sensitive anywhere else, so they shouldn't be in Sourcegraph
  2. Email addresses from both the Perforce users table and the Sourcegraph user should be normalized to lowercase before permissions recording / searching

Actual behavior:

  1. Capitalization breaks Perforce permissions

If you would like immediate help on this, please email support@sourcegraph.com (you can still create the issue, but there are no SLAs on issues like there are for support requests).

/cc @mrnugget

Metadata

Metadata

Assignees

Labels

bugAn error, flaw or fault that produces an incorrect or unexpected result, or behavior.repository-permissionsteam/sourceTickets under the purview of Source - the one Source to graph it all

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions