diff options
author | Jan Kundrát <jkt@flaska.net> | 2017-01-20 11:13:52 +0100 |
---|---|---|
committer | David Pursehouse <dpursehouse@collab.net> | 2017-03-18 01:17:05 +0000 |
commit | a1be2c744567fe58b641a3ac1c0eb7b879682043 (patch) | |
tree | f1cf71590d512c70408ad212dbf7987f75dad1e4 | |
parent | f1f980d3a82e5de59d9618ddcd826c9a76944ebf (diff) |
Support for at-sign (@) in usernames
Our SSO system (Shibboleth, a SAML thing) is a federated system which
uses login names such as kundrat@cesnet.cz for unique identifiers.
Change-Id: Ic2df0f270c178e7a93dde5d0460dd24f10edf321
Bug: Issue 2830
-rw-r--r-- | gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/api/group/GroupsIT.java | 12 | ||||
-rw-r--r-- | gerrit-reviewdb/src/main/java/com/google/gerrit/reviewdb/client/Account.java | 2 |
2 files changed, 13 insertions, 1 deletions
diff --git a/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/api/group/GroupsIT.java b/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/api/group/GroupsIT.java index 3f8c1bcedb..37358accfa 100644 --- a/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/api/group/GroupsIT.java +++ b/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/api/group/GroupsIT.java @@ -100,6 +100,18 @@ public class GroupsIT extends AbstractDaemonTest { } @Test + public void addMembersWithAtSign() throws Exception { + String g = createGroup("users"); + TestAccount u10 = accounts.create("u10", "u10@example.com", "Full Name 10"); + TestAccount u11_at = accounts.create("u11@something", "u11@example.com", + "Full Name 11 With At"); + TestAccount u11 = accounts.create("u11", "u11.another@example.com", + "Full Name 11 Without At"); + gApi.groups().id(g).addMembers(u10.username, u11_at.username); + assertMembers(g, u10, u11_at); + } + + @Test public void includeRemoveGroup() throws Exception { String p = createGroup("parent"); String g = createGroup("newGroup"); diff --git a/gerrit-reviewdb/src/main/java/com/google/gerrit/reviewdb/client/Account.java b/gerrit-reviewdb/src/main/java/com/google/gerrit/reviewdb/client/Account.java index 9e36fc161c..1682195097 100644 --- a/gerrit-reviewdb/src/main/java/com/google/gerrit/reviewdb/client/Account.java +++ b/gerrit-reviewdb/src/main/java/com/google/gerrit/reviewdb/client/Account.java @@ -60,7 +60,7 @@ public final class Account { } public static final String USER_NAME_PATTERN_FIRST = "[a-zA-Z0-9]"; - public static final String USER_NAME_PATTERN_REST = "[a-zA-Z0-9._-]"; + public static final String USER_NAME_PATTERN_REST = "[a-zA-Z0-9._@-]"; public static final String USER_NAME_PATTERN_LAST = "[a-zA-Z0-9]"; /** Regular expression that {@link #userName} must match. */ |