You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by rc...@apache.org on 2019/11/26 02:03:08 UTC
[james-project] 03/03: JAMES-2949 Enforce username to be always
lower cased
This is an automated email from the ASF dual-hosted git repository.
rcordier pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/james-project.git
commit 9e976d3f49f6ae2068aa583bc66fc75c37c85b52
Author: Raphael Ouazana <ra...@linagora.com>
AuthorDate: Wed Nov 20 17:21:42 2019 +0100
JAMES-2949 Enforce username to be always lower cased
---
.../main/java/org/apache/james/core/Username.java | 21 +--------
.../java/org/apache/james/core/UsernameTest.java | 51 +++++-----------------
.../apache/james/mailbox/model/MailboxPath.java | 2 +-
.../apache/james/mailbox/MailboxManagerTest.java | 2 +-
.../QuotaUsageUpdatedEventSerializationTest.java | 8 ++--
.../james/transport/mailets/AbstractSign.java | 6 +--
.../apache/james/mpt/TestScriptedUserAdder.java | 4 +-
.../org/apache/james/user/api/UsersRepository.java | 4 +-
.../user/cassandra/CassandraUsersRepository.java | 8 ++--
.../src/test/resources/json/event.json | 2 +-
.../src/test/resources/json/eventComplex.json | 2 +-
.../src/test/resources/json/eventEmpty.json | 2 +-
.../apache/james/user/jpa/JPAUsersRepository.java | 4 +-
.../org/apache/james/user/jpa/model/JPAUser.java | 2 +-
.../james/user/lib/AbstractUsersRepository.java | 6 +--
.../james/user/memory/MemoryUsersRepository.java | 14 +++---
.../mailets/delivery/SimpleMailStore.java | 2 +-
.../integration/GetMailboxesMethodTest.java | 8 ++--
.../SenderAuthIdentifyVerificationRcptHook.java | 2 +-
19 files changed, 50 insertions(+), 100 deletions(-)
diff --git a/core/src/main/java/org/apache/james/core/Username.java b/core/src/main/java/org/apache/james/core/Username.java
index 8ae8117..ee5d846 100644
--- a/core/src/main/java/org/apache/james/core/Username.java
+++ b/core/src/main/java/org/apache/james/core/Username.java
@@ -85,7 +85,7 @@ public class Username {
Preconditions.checkArgument(!localPart.isEmpty(), "username should not be empty");
Preconditions.checkArgument(!localPart.contains("@"), "username can not contain domain delimiter");
- this.localPart = localPart;
+ this.localPart = localPart.toLowerCase(Locale.US);
this.domainPart = domainPart;
}
@@ -121,25 +121,6 @@ public class Username {
.orElse(localPart);
}
- public String asId() {
- return toLowerCase().asString();
- }
-
- public Username toLowerCase() {
- return new Username(localPart.toLowerCase(Locale.US), domainPart);
- }
-
- public boolean equalsAsId(String otherId) {
- if (otherId == null) {
- return false;
- }
- return asId().equals(otherId.toLowerCase(Locale.US));
- }
-
- public boolean equalsAsId(Username otherId) {
- return asId().equals(otherId.asId());
- }
-
public MailAddress asMailAddress() throws AddressException {
Preconditions.checkState(hasDomainPart());
return new MailAddress(localPart, domainPart.get());
diff --git a/core/src/test/java/org/apache/james/core/UsernameTest.java b/core/src/test/java/org/apache/james/core/UsernameTest.java
index 8d49880..d787947 100644
--- a/core/src/test/java/org/apache/james/core/UsernameTest.java
+++ b/core/src/test/java/org/apache/james/core/UsernameTest.java
@@ -27,7 +27,14 @@ import java.util.Optional;
import org.apache.commons.lang3.StringUtils;
import org.junit.jupiter.api.Test;
+import nl.jqno.equalsverifier.EqualsVerifier;
+
class UsernameTest {
+ @Test
+ void shouldRespectBeanContract() {
+ EqualsVerifier.forClass(Username.class)
+ .verify();
+ }
@Test
void fromShouldThrowOnEmptyLocalPart() {
@@ -244,50 +251,14 @@ class UsernameTest {
}
@Test
- void equalsAsIdShouldReturnFalseWhenNull() {
- assertThat(Username.of("user").equalsAsId((String)null))
- .isFalse();
- }
-
- @Test
- void equalsAsIdShouldReturnFalseWhenDifferentId() {
- assertThat(Username.of("user").equalsAsId("user2"))
+ void equalsShouldReturnFalseWhenDifferentId() {
+ assertThat(Username.of("user").equals(Username.of("user2")))
.isFalse();
}
@Test
- void equalsAsIdShouldReturnTrueWhenSameId() {
- assertThat(Username.of("user").equalsAsId("user"))
- .isTrue();
- }
-
- @Test
- void equalsAsIdShouldReturnTrueWhenSameIdWithDifferentCase() {
- assertThat(Username.of("user").equalsAsId("uSEr"))
- .isTrue();
- }
-
- @Test
- void equalsAsIdForUsernameShouldThrowWhenNull() {
- assertThatThrownBy(() -> Username.of("user").equalsAsId((Username)null))
- .isInstanceOf(NullPointerException.class);
- }
-
- @Test
- void equalsAsIdForUsernameShouldReturnFalseWhenDifferentId() {
- assertThat(Username.of("user").equalsAsId(Username.of("user2")))
- .isFalse();
- }
-
- @Test
- void equalsAsIdForUsernameShouldReturnTrueWhenSameId() {
- assertThat(Username.of("user").equalsAsId(Username.of("user")))
- .isTrue();
- }
-
- @Test
- void equalsAsIdForUsernameShouldReturnTrueWhenSameIdWithDifferentCase() {
- assertThat(Username.of("user").equalsAsId(Username.of("uSEr")))
+ void equalsShouldReturnTrueWhenSameIdWithDifferentCase() {
+ assertThat(Username.of("user").equals(Username.of("uSEr")))
.isTrue();
}
}
diff --git a/mailbox/api/src/main/java/org/apache/james/mailbox/model/MailboxPath.java b/mailbox/api/src/main/java/org/apache/james/mailbox/model/MailboxPath.java
index baa600b..e922503 100644
--- a/mailbox/api/src/main/java/org/apache/james/mailbox/model/MailboxPath.java
+++ b/mailbox/api/src/main/java/org/apache/james/mailbox/model/MailboxPath.java
@@ -105,7 +105,7 @@ public class MailboxPath {
}
public boolean belongsTo(MailboxSession mailboxSession) {
- return user.equalsAsId(mailboxSession.getUser());
+ return user.equals(mailboxSession.getUser());
}
/**
diff --git a/mailbox/api/src/test/java/org/apache/james/mailbox/MailboxManagerTest.java b/mailbox/api/src/test/java/org/apache/james/mailbox/MailboxManagerTest.java
index d3cb1a1..022294b 100644
--- a/mailbox/api/src/test/java/org/apache/james/mailbox/MailboxManagerTest.java
+++ b/mailbox/api/src/test/java/org/apache/james/mailbox/MailboxManagerTest.java
@@ -606,7 +606,7 @@ public abstract class MailboxManagerTest<T extends MailboxManager> {
@Nested
class EventTests {
- private final QuotaRoot quotaRoot = QuotaRoot.quotaRoot("#private&USER_1", Optional.empty());
+ private final QuotaRoot quotaRoot = QuotaRoot.quotaRoot("#private&user_1", Optional.empty());
private EventCollector listener;
private MailboxPath inbox;
private MailboxId inboxId;
diff --git a/mailbox/event/json/src/test/java/org/apache/james/event/json/QuotaUsageUpdatedEventSerializationTest.java b/mailbox/event/json/src/test/java/org/apache/james/event/json/QuotaUsageUpdatedEventSerializationTest.java
index 345016e..66e07e3 100644
--- a/mailbox/event/json/src/test/java/org/apache/james/event/json/QuotaUsageUpdatedEventSerializationTest.java
+++ b/mailbox/event/json/src/test/java/org/apache/james/event/json/QuotaUsageUpdatedEventSerializationTest.java
@@ -52,7 +52,7 @@ class QuotaUsageUpdatedEventSerializationTest {
private static final Instant INSTANT = Instant.parse("2018-11-13T12:00:55Z");
private final MailboxListener.QuotaUsageUpdatedEvent eventWithUserContainsUsername = new MailboxListener.QuotaUsageUpdatedEvent(
EVENT_ID,
- Username.of("onlyUsername"),
+ Username.of("onlyusername"),
QUOTA_ROOT,
QUOTA_COUNT,
QUOTA_SIZE,
@@ -65,7 +65,7 @@ class QuotaUsageUpdatedEventSerializationTest {
" \"countQuota\":{\"used\":12,\"limit\":100,\"limits\":{}}," +
" \"time\":\"2018-11-13T12:00:55Z\"," +
" \"sizeQuota\":{\"used\":1234,\"limit\":10000,\"limits\":{}}," +
- " \"user\":\"onlyUsername\"" +
+ " \"user\":\"onlyusername\"" +
" }" +
"}";
@@ -107,7 +107,7 @@ class QuotaUsageUpdatedEventSerializationTest {
" \"quotaRoot\":\"#private&foo\"," +
" \"time\":\"2018-11-13T12:00:55Z\"," +
" \"sizeQuota\":{\"used\":1234,\"limit\":10000,\"limits\":{}}," +
- " \"user\":\"onlyUsername\"" +
+ " \"user\":\"onlyusername\"" +
" }" +
"}";
@@ -124,7 +124,7 @@ class QuotaUsageUpdatedEventSerializationTest {
" \"quotaRoot\":\"#private&foo\"," +
" \"time\":\"2018-11-13T12:00:55Z\"," +
" \"countQuota\":{\"used\":12,\"limit\":100,\"limits\":{}}," +
- " \"user\":\"onlyUsername\"" +
+ " \"user\":\"onlyusername\"" +
" }" +
"}";
diff --git a/mailet/crypto/src/main/java/org/apache/james/transport/mailets/AbstractSign.java b/mailet/crypto/src/main/java/org/apache/james/transport/mailets/AbstractSign.java
index 5a643e1..3a3b6f3 100644
--- a/mailet/crypto/src/main/java/org/apache/james/transport/mailets/AbstractSign.java
+++ b/mailet/crypto/src/main/java/org/apache/james/transport/mailets/AbstractSign.java
@@ -574,7 +574,7 @@ public abstract class AbstractSign extends GenericMailet {
return false;
}
- String authUser = fetchedAuthUser.get();
+ Username authUser = Username.of(fetchedAuthUser.get());
// The sender is the postmaster?
if (Objects.equal(getMailetContext().getPostmaster(), reversePath)) {
@@ -586,8 +586,8 @@ public abstract class AbstractSign extends GenericMailet {
} else {
// is the reverse-path user different from the SMTP authorized user?
Username username = getUsername(reversePath);
- if (!username.equalsAsId(authUser)) {
- LOGGER.info("SMTP logged in as <{}> but pretend to be sender <{}>", authUser, username);
+ if (!username.equals(authUser)) {
+ LOGGER.info("SMTP logged in as <{}> but pretend to be sender <{}>", authUser.asString(), username.asString());
return false;
}
// is there no "From:" address same as the reverse-path?
diff --git a/mpt/core/src/test/java/org/apache/james/mpt/TestScriptedUserAdder.java b/mpt/core/src/test/java/org/apache/james/mpt/TestScriptedUserAdder.java
index 75528fc..b490e3d 100644
--- a/mpt/core/src/test/java/org/apache/james/mpt/TestScriptedUserAdder.java
+++ b/mpt/core/src/test/java/org/apache/james/mpt/TestScriptedUserAdder.java
@@ -48,7 +48,7 @@ public class TestScriptedUserAdder {
@Test
public void testShouldExecuteScriptAgainstPort() throws Exception {
ScriptedUserAdder adder = new ScriptedUserAdder("localhost", protocol.getPort(), "C: USER='${user}' password='${password}'");
- adder.addUser(Username.of("A User"), "Some Password");
- assertThat(record.complete()).isEqualTo("USER='A User' password='Some Password'\r\n");
+ adder.addUser(Username.of("user"), "Some Password");
+ assertThat(record.complete()).isEqualTo("USER='user' password='Some Password'\r\n");
}
}
diff --git a/server/data/data-api/src/main/java/org/apache/james/user/api/UsersRepository.java b/server/data/data-api/src/main/java/org/apache/james/user/api/UsersRepository.java
index a5ffdad..dae2654 100644
--- a/server/data/data-api/src/main/java/org/apache/james/user/api/UsersRepository.java
+++ b/server/data/data-api/src/main/java/org/apache/james/user/api/UsersRepository.java
@@ -136,9 +136,9 @@ public interface UsersRepository {
*/
default Username getUser(MailAddress mailAddress) throws UsersRepositoryException {
if (supportVirtualHosting()) {
- return Username.of(mailAddress.asString()).toLowerCase();
+ return Username.of(mailAddress.asString());
} else {
- return Username.of(mailAddress.getLocalPart()).toLowerCase();
+ return Username.of(mailAddress.getLocalPart());
}
}
diff --git a/server/data/data-cassandra/src/main/java/org/apache/james/user/cassandra/CassandraUsersRepository.java b/server/data/data-cassandra/src/main/java/org/apache/james/user/cassandra/CassandraUsersRepository.java
index 9f73dfa..fe17614 100644
--- a/server/data/data-cassandra/src/main/java/org/apache/james/user/cassandra/CassandraUsersRepository.java
+++ b/server/data/data-cassandra/src/main/java/org/apache/james/user/cassandra/CassandraUsersRepository.java
@@ -118,7 +118,7 @@ public class CassandraUsersRepository extends AbstractUsersRepository {
public User getUserByName(Username name) {
return executor.executeSingleRow(
getUserStatement.bind()
- .setString(NAME, name.asId()))
+ .setString(NAME, name.asString()))
.map(row -> new DefaultUser(Username.of(row.getString(NAME)), row.getString(PASSWORD), row.getString(ALGORITHM)))
.blockOptional()
.orElse(null);
@@ -133,7 +133,7 @@ public class CassandraUsersRepository extends AbstractUsersRepository {
.setString(REALNAME, defaultUser.getUserName().asString())
.setString(PASSWORD, defaultUser.getHashedPassword())
.setString(ALGORITHM, defaultUser.getHashAlgorithm())
- .setString(NAME, defaultUser.getUserName().asId()))
+ .setString(NAME, defaultUser.getUserName().asString()))
.block();
if (!executed) {
@@ -145,7 +145,7 @@ public class CassandraUsersRepository extends AbstractUsersRepository {
public void removeUser(Username name) throws UsersRepositoryException {
boolean executed = executor.executeReturnApplied(
removeUserStatement.bind()
- .setString(NAME, name.asId()))
+ .setString(NAME, name.asString()))
.block();
if (!executed) {
@@ -196,7 +196,7 @@ public class CassandraUsersRepository extends AbstractUsersRepository {
user.setPassword(password);
boolean executed = executor.executeReturnApplied(
insertStatement.bind()
- .setString(NAME, user.getUserName().asId())
+ .setString(NAME, user.getUserName().asString())
.setString(REALNAME, user.getUserName().asString())
.setString(PASSWORD, user.getHashedPassword())
.setString(ALGORITHM, user.getHashAlgorithm()))
diff --git a/server/data/data-jmap-cassandra/src/test/resources/json/event.json b/server/data/data-jmap-cassandra/src/test/resources/json/event.json
index d86fdfe..3a8ffda 100644
--- a/server/data/data-jmap-cassandra/src/test/resources/json/event.json
+++ b/server/data/data-jmap-cassandra/src/test/resources/json/event.json
@@ -1,7 +1,7 @@
{
"type":"filtering-rule-set-defined",
"eventId":0,
- "aggregateId":"FilteringRule/Bart",
+ "aggregateId":"FilteringRule/bart",
"rules":[
{
"id":"1",
diff --git a/server/data/data-jmap-cassandra/src/test/resources/json/eventComplex.json b/server/data/data-jmap-cassandra/src/test/resources/json/eventComplex.json
index 62b6ab0..7371858 100644
--- a/server/data/data-jmap-cassandra/src/test/resources/json/eventComplex.json
+++ b/server/data/data-jmap-cassandra/src/test/resources/json/eventComplex.json
@@ -1,7 +1,7 @@
{
"type":"filtering-rule-set-defined",
"eventId":0,
- "aggregateId":"FilteringRule/Bart",
+ "aggregateId":"FilteringRule/bart",
"rules":[
{
"id":"id-from",
diff --git a/server/data/data-jmap-cassandra/src/test/resources/json/eventEmpty.json b/server/data/data-jmap-cassandra/src/test/resources/json/eventEmpty.json
index f7fbaee..a04ba44 100644
--- a/server/data/data-jmap-cassandra/src/test/resources/json/eventEmpty.json
+++ b/server/data/data-jmap-cassandra/src/test/resources/json/eventEmpty.json
@@ -1,6 +1,6 @@
{
"type":"filtering-rule-set-defined",
"eventId":0,
- "aggregateId":"FilteringRule/Bart",
+ "aggregateId":"FilteringRule/bart",
"rules":[]
}
\ No newline at end of file
diff --git a/server/data/data-jpa/src/main/java/org/apache/james/user/jpa/JPAUsersRepository.java b/server/data/data-jpa/src/main/java/org/apache/james/user/jpa/JPAUsersRepository.java
index 9eed717..7934b16 100644
--- a/server/data/data-jpa/src/main/java/org/apache/james/user/jpa/JPAUsersRepository.java
+++ b/server/data/data-jpa/src/main/java/org/apache/james/user/jpa/JPAUsersRepository.java
@@ -93,7 +93,7 @@ public class JPAUsersRepository extends AbstractUsersRepository {
EntityManager entityManager = entityManagerFactory.createEntityManager();
try {
- return (JPAUser) entityManager.createNamedQuery("findUserByName").setParameter("name", name.asId()).getSingleResult();
+ return (JPAUser) entityManager.createNamedQuery("findUserByName").setParameter("name", name.asString()).getSingleResult();
} catch (NoResultException e) {
return null;
} catch (PersistenceException e) {
@@ -146,7 +146,7 @@ public class JPAUsersRepository extends AbstractUsersRepository {
final EntityTransaction transaction = entityManager.getTransaction();
try {
transaction.begin();
- if (entityManager.createNamedQuery("deleteUserByName").setParameter("name", name.asId()).executeUpdate() < 1) {
+ if (entityManager.createNamedQuery("deleteUserByName").setParameter("name", name.asString()).executeUpdate() < 1) {
transaction.commit();
throw new UsersRepositoryException("User " + name.asString() + " does not exist");
} else {
diff --git a/server/data/data-jpa/src/main/java/org/apache/james/user/jpa/model/JPAUser.java b/server/data/data-jpa/src/main/java/org/apache/james/user/jpa/model/JPAUser.java
index fc805c5..63215a0 100644
--- a/server/data/data-jpa/src/main/java/org/apache/james/user/jpa/model/JPAUser.java
+++ b/server/data/data-jpa/src/main/java/org/apache/james/user/jpa/model/JPAUser.java
@@ -42,7 +42,7 @@ import com.google.common.hash.Hashing;
@Entity(name = "JamesUser")
@Table(name = "JAMES_USER")
@NamedQueries({
- @NamedQuery(name = "findUserByName", query = "SELECT user FROM JamesUser user WHERE LOWER(user.name)=:name"),
+ @NamedQuery(name = "findUserByName", query = "SELECT user FROM JamesUser user WHERE user.name=:name"),
@NamedQuery(name = "deleteUserByName", query = "DELETE FROM JamesUser user WHERE user.name=:name"),
@NamedQuery(name = "containsUser", query = "SELECT COUNT(user) FROM JamesUser user WHERE user.name=:name"),
@NamedQuery(name = "countUsers", query = "SELECT COUNT(user) FROM JamesUser user"),
diff --git a/server/data/data-library/src/main/java/org/apache/james/user/lib/AbstractUsersRepository.java b/server/data/data-library/src/main/java/org/apache/james/user/lib/AbstractUsersRepository.java
index 2d0cb7f..24558f2 100644
--- a/server/data/data-library/src/main/java/org/apache/james/user/lib/AbstractUsersRepository.java
+++ b/server/data/data-library/src/main/java/org/apache/james/user/lib/AbstractUsersRepository.java
@@ -128,10 +128,8 @@ public abstract class AbstractUsersRepository implements UsersRepository, Config
@Override
public boolean isAdministrator(Username username) throws UsersRepositoryException {
- if (administratorId.isPresent()) {
- return administratorId.get().toLowerCase().equals(username.toLowerCase());
- }
- return false;
+ return administratorId.map(id -> id.equals(username))
+ .orElse(false);
}
@Override
diff --git a/server/data/data-memory/src/main/java/org/apache/james/user/memory/MemoryUsersRepository.java b/server/data/data-memory/src/main/java/org/apache/james/user/memory/MemoryUsersRepository.java
index a658f3d..d7c7d53 100644
--- a/server/data/data-memory/src/main/java/org/apache/james/user/memory/MemoryUsersRepository.java
+++ b/server/data/data-memory/src/main/java/org/apache/james/user/memory/MemoryUsersRepository.java
@@ -72,14 +72,14 @@ public class MemoryUsersRepository extends AbstractUsersRepository {
@Override
protected void doAddUser(Username username, String password) {
- DefaultUser user = new DefaultUser(username.toLowerCase(), algo);
+ DefaultUser user = new DefaultUser(username, algo);
user.setPassword(password);
- userByName.put(username.asId(), user);
+ userByName.put(username.asString(), user);
}
@Override
public User getUserByName(Username name) throws UsersRepositoryException {
- return userByName.get(name.asId());
+ return userByName.get(name.asString());
}
@Override
@@ -88,24 +88,24 @@ public class MemoryUsersRepository extends AbstractUsersRepository {
if (existingUser == null) {
throw new UsersRepositoryException("Please provide an existing user to update");
}
- userByName.put(user.getUserName().asId(), user);
+ userByName.put(user.getUserName().asString(), user);
}
@Override
public void removeUser(Username name) throws UsersRepositoryException {
- if (userByName.remove(name.asId()) == null) {
+ if (userByName.remove(name.asString()) == null) {
throw new UsersRepositoryException("unable to remove unknown user " + name.asString());
}
}
@Override
public boolean contains(Username name) throws UsersRepositoryException {
- return userByName.containsKey(name.asId());
+ return userByName.containsKey(name.asString());
}
@Override
public boolean test(Username name, final String password) throws UsersRepositoryException {
- return Optional.ofNullable(userByName.get(name.asId()))
+ return Optional.ofNullable(userByName.get(name.asString()))
.map(user -> user.verifyPassword(password))
.orElse(false);
}
diff --git a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/delivery/SimpleMailStore.java b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/delivery/SimpleMailStore.java
index 45f9f08..ce6391e 100644
--- a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/delivery/SimpleMailStore.java
+++ b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/delivery/SimpleMailStore.java
@@ -104,7 +104,7 @@ public class SimpleMailStore implements MailStore {
private String locateFolder(Username username, Mail mail) {
return AttributeUtils
- .getValueAndCastFromMail(mail, AttributeName.of(DELIVERY_PATH_PREFIX + username.asId()), String.class)
+ .getValueAndCastFromMail(mail, AttributeName.of(DELIVERY_PATH_PREFIX + username.asString()), String.class)
.orElse(folder);
}
diff --git a/server/protocols/jmap-draft-integration-testing/jmap-draft-integration-testing-common/src/test/java/org/apache/james/jmap/draft/methods/integration/GetMailboxesMethodTest.java b/server/protocols/jmap-draft-integration-testing/jmap-draft-integration-testing-common/src/test/java/org/apache/james/jmap/draft/methods/integration/GetMailboxesMethodTest.java
index c3f4d88..cc5b7e8 100644
--- a/server/protocols/jmap-draft-integration-testing/jmap-draft-integration-testing-common/src/test/java/org/apache/james/jmap/draft/methods/integration/GetMailboxesMethodTest.java
+++ b/server/protocols/jmap-draft-integration-testing/jmap-draft-integration-testing-common/src/test/java/org/apache/james/jmap/draft/methods/integration/GetMailboxesMethodTest.java
@@ -256,8 +256,8 @@ public abstract class GetMailboxesMethodTest {
public void getMailboxesShouldReturnSharedWithProperty() throws Exception {
String mailboxName = "myMailbox";
String myMailboxId = mailboxProbe.createMailbox(MailboxConstants.USER_NAMESPACE, ALICE.asString(), mailboxName).serialize();
- String targetUser1 = "toUser1@" + DOMAIN;
- String targetUser2 = "toUser2@" + DOMAIN;
+ String targetUser1 = "touser1@" + DOMAIN;
+ String targetUser2 = "touser2@" + DOMAIN;
aclProbe.replaceRights(MailboxPath.forUser(ALICE, mailboxName), targetUser1, new Rfc4314Rights(Right.Lookup, Right.Administer));
aclProbe.replaceRights(MailboxPath.forUser(ALICE, mailboxName), targetUser2, new Rfc4314Rights(Right.Read, Right.Lookup));
@@ -279,7 +279,7 @@ public abstract class GetMailboxesMethodTest {
public void getMailboxesShouldRemoveOwnerRight() throws Exception {
String mailboxName = "myMailbox";
String myMailboxId = mailboxProbe.createMailbox(MailboxConstants.USER_NAMESPACE, ALICE.asString(), mailboxName).serialize();
- String targetUser1 = "toUser1@" + DOMAIN;
+ String targetUser1 = "touser1@" + DOMAIN;
aclProbe.replaceRights(MailboxPath.forUser(ALICE, mailboxName), ALICE.asString(), new Rfc4314Rights(Right.Read, Right.Administer));
aclProbe.replaceRights(MailboxPath.forUser(ALICE, mailboxName), targetUser1, new Rfc4314Rights(Right.Read, Right.Lookup));
@@ -317,7 +317,7 @@ public abstract class GetMailboxesMethodTest {
public void nonHandledRightsShouldBeFilteredOut() throws Exception {
String mailboxName = "myMailbox";
String myMailboxId = mailboxProbe.createMailbox(MailboxConstants.USER_NAMESPACE, ALICE.asString(), mailboxName).serialize();
- String targetUser1 = "toUser1@" + DOMAIN;
+ String targetUser1 = "touser1@" + DOMAIN;
aclProbe.replaceRights(MailboxPath.forUser(ALICE, mailboxName), targetUser1, new Rfc4314Rights(Right.Lookup, Right.Post));
diff --git a/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/SenderAuthIdentifyVerificationRcptHook.java b/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/SenderAuthIdentifyVerificationRcptHook.java
index 74e1953..0faa527 100644
--- a/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/SenderAuthIdentifyVerificationRcptHook.java
+++ b/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/SenderAuthIdentifyVerificationRcptHook.java
@@ -75,6 +75,6 @@ public class SenderAuthIdentifyVerificationRcptHook extends AbstractSenderAuthId
@Override
protected boolean isSenderAllowed(Username user, Username sender) {
- return user.equalsAsId(sender);
+ return user.equals(sender);
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org