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 980d3144e9a0be6258d9570c04b9351231536aaf Author: Benoit TELLIER <btell...@linagora.com> AuthorDate: Thu Nov 21 22:19:13 2024 +0100 [FIX] Domain validation should be more informative --- core/src/main/java/org/apache/james/core/Domain.java | 5 +++-- .../james/jmap/rfc8621/contract/MailboxSetMethodContract.scala | 2 +- .../apache/james/webadmin/routes/DLPConfigurationRoutesTest.java | 6 +++--- .../java/org/apache/james/webadmin/routes/MappingRoutesTest.java | 2 +- .../jmap/RecomputeUserFastViewProjectionItemsRequestToTaskTest.java | 2 +- .../org/apache/james/webadmin/routes/UserMailboxesRoutesTest.java | 2 +- .../james/webadmin/service/MailboxesExportRequestToTaskTest.java | 2 +- .../james/webadmin/service/SubscribeAllRequestToTaskTest.java | 2 +- 8 files changed, 12 insertions(+), 11 deletions(-) diff --git a/core/src/main/java/org/apache/james/core/Domain.java b/core/src/main/java/org/apache/james/core/Domain.java index 4f7c85447e..1718fdd485 100644 --- a/core/src/main/java/org/apache/james/core/Domain.java +++ b/core/src/main/java/org/apache/james/core/Domain.java @@ -55,14 +55,15 @@ public class Domain implements Serializable { "Domain name length should not exceed %s characters", MAXIMUM_DOMAIN_LENGTH); String domainWithoutBrackets = removeBrackets(domain); - Preconditions.checkArgument(PART_CHAR_MATCHER.matchesAllOf(domainWithoutBrackets), "Domain parts ASCII chars must be a-z A-Z 0-9 - or _"); + Preconditions.checkArgument(PART_CHAR_MATCHER.matchesAllOf(domainWithoutBrackets), + "Domain parts ASCII chars must be a-z A-Z 0-9 - or _ in {}", domain); int pos = 0; int nextDot = domainWithoutBrackets.indexOf('.'); while (nextDot > -1) { if (pos + 1 > domainWithoutBrackets.length()) { - throw new IllegalArgumentException("Last domain part should not be empty"); + throw new IllegalArgumentException("Last domain part should not be empty in " + domain); } Domain.assertValidPart(domainWithoutBrackets, pos, nextDot); pos = nextDot + 1; diff --git a/server/protocols/jmap-rfc-8621-integration-tests/jmap-rfc-8621-integration-tests-common/src/main/scala/org/apache/james/jmap/rfc8621/contract/MailboxSetMethodContract.scala b/server/protocols/jmap-rfc-8621-integration-tests/jmap-rfc-8621-integration-tests-common/src/main/scala/org/apache/james/jmap/rfc8621/contract/MailboxSetMethodContract.scala index 52b6fb8b3d..21b0e26da0 100644 --- a/server/protocols/jmap-rfc-8621-integration-tests/jmap-rfc-8621-integration-tests-common/src/main/scala/org/apache/james/jmap/rfc8621/contract/MailboxSetMethodContract.scala +++ b/server/protocols/jmap-rfc-8621-integration-tests/jmap-rfc-8621-integration-tests-common/src/main/scala/org/apache/james/jmap/rfc8621/contract/MailboxSetMethodContract.scala @@ -5924,7 +5924,7 @@ trait MailboxSetMethodContract { | "notUpdated": { | "${mailboxId.serialize}": { | "type": "invalidArguments", - | "description": "Domain parts ASCII chars must be a-z A-Z 0-9 - or _" + | "description": "Domain parts ASCII chars must be a-z A-Z 0-9 - or _ in {} [inva...@domain.tld]" | } | } | }, "c1"] diff --git a/server/protocols/webadmin/webadmin-data/src/test/java/org/apache/james/webadmin/routes/DLPConfigurationRoutesTest.java b/server/protocols/webadmin/webadmin-data/src/test/java/org/apache/james/webadmin/routes/DLPConfigurationRoutesTest.java index c6e19fee1d..be6b0bfd2f 100644 --- a/server/protocols/webadmin/webadmin-data/src/test/java/org/apache/james/webadmin/routes/DLPConfigurationRoutesTest.java +++ b/server/protocols/webadmin/webadmin-data/src/test/java/org/apache/james/webadmin/routes/DLPConfigurationRoutesTest.java @@ -329,7 +329,7 @@ class DLPConfigurationRoutesTest { .body("statusCode", is(HttpStatus.BAD_REQUEST_400)) .body("type", is("InvalidArgument")) .body("message", is("Invalid arguments supplied in the user request")) - .body("details", is("Domain parts ASCII chars must be a-z A-Z 0-9 - or _")); + .body("details", is("Domain parts ASCII chars must be a-z A-Z 0-9 - or _ in {} [d...@strange.com]")); } @Test @@ -646,7 +646,7 @@ class DLPConfigurationRoutesTest { .body("statusCode", is(HttpStatus.BAD_REQUEST_400)) .body("type", is("InvalidArgument")) .body("message", is("Invalid arguments supplied in the user request")) - .body("details", is("Domain parts ASCII chars must be a-z A-Z 0-9 - or _")); + .body("details", is("Domain parts ASCII chars must be a-z A-Z 0-9 - or _ in {} [d...@strange.com]")); } } @@ -859,7 +859,7 @@ class DLPConfigurationRoutesTest { .body("statusCode", is(HttpStatus.BAD_REQUEST_400)) .body("type", is("InvalidArgument")) .body("message", is("Invalid arguments supplied in the user request")) - .body("details", is("Domain parts ASCII chars must be a-z A-Z 0-9 - or _")); + .body("details", is("Domain parts ASCII chars must be a-z A-Z 0-9 - or _ in {} [d...@strange.com]")); } } diff --git a/server/protocols/webadmin/webadmin-data/src/test/java/org/apache/james/webadmin/routes/MappingRoutesTest.java b/server/protocols/webadmin/webadmin-data/src/test/java/org/apache/james/webadmin/routes/MappingRoutesTest.java index 046deb63d5..23553143ee 100644 --- a/server/protocols/webadmin/webadmin-data/src/test/java/org/apache/james/webadmin/routes/MappingRoutesTest.java +++ b/server/protocols/webadmin/webadmin-data/src/test/java/org/apache/james/webadmin/routes/MappingRoutesTest.java @@ -640,7 +640,7 @@ class MappingRoutesTest { .body("statusCode", is(400)) .body("type", is("InvalidArgument")) .body("message", is("Invalid arguments supplied in the user request")) - .body("details", is("Domain parts ASCII chars must be a-z A-Z 0-9 - or _")); + .body("details", is("Domain parts ASCII chars must be a-z A-Z 0-9 - or _ in {} [dom...@domain.tld]")); } @Test diff --git a/server/protocols/webadmin/webadmin-jmap/src/test/java/org/apache/james/webadmin/data/jmap/RecomputeUserFastViewProjectionItemsRequestToTaskTest.java b/server/protocols/webadmin/webadmin-jmap/src/test/java/org/apache/james/webadmin/data/jmap/RecomputeUserFastViewProjectionItemsRequestToTaskTest.java index baa92c90e2..bf859d3a88 100644 --- a/server/protocols/webadmin/webadmin-jmap/src/test/java/org/apache/james/webadmin/data/jmap/RecomputeUserFastViewProjectionItemsRequestToTaskTest.java +++ b/server/protocols/webadmin/webadmin-jmap/src/test/java/org/apache/james/webadmin/data/jmap/RecomputeUserFastViewProjectionItemsRequestToTaskTest.java @@ -242,7 +242,7 @@ class RecomputeUserFastViewProjectionItemsRequestToTaskTest { .body("statusCode", is(400)) .body("type", is(ErrorResponder.ErrorType.INVALID_ARGUMENT.getType())) .body("message", is("Invalid arguments supplied in the user request")) - .body("details", is("Domain parts ASCII chars must be a-z A-Z 0-9 - or _")); + .body("details", is("Domain parts ASCII chars must be a-z A-Z 0-9 - or _ in {} [bad@bad]")); } @Test diff --git a/server/protocols/webadmin/webadmin-mailbox/src/test/java/org/apache/james/webadmin/routes/UserMailboxesRoutesTest.java b/server/protocols/webadmin/webadmin-mailbox/src/test/java/org/apache/james/webadmin/routes/UserMailboxesRoutesTest.java index f40125ddc3..ac5081f4d5 100644 --- a/server/protocols/webadmin/webadmin-mailbox/src/test/java/org/apache/james/webadmin/routes/UserMailboxesRoutesTest.java +++ b/server/protocols/webadmin/webadmin-mailbox/src/test/java/org/apache/james/webadmin/routes/UserMailboxesRoutesTest.java @@ -1577,7 +1577,7 @@ class UserMailboxesRoutesTest { .body("statusCode", Matchers.is(400)) .body("type", Matchers.is("InvalidArgument")) .body("message", Matchers.is("Invalid arguments supplied in the user request")) - .body("details", Matchers.is("Domain parts ASCII chars must be a-z A-Z 0-9 - or _")); + .body("details", Matchers.is("Domain parts ASCII chars must be a-z A-Z 0-9 - or _ in {} [bad@bad]")); } } diff --git a/server/protocols/webadmin/webadmin-mailbox/src/test/java/org/apache/james/webadmin/service/MailboxesExportRequestToTaskTest.java b/server/protocols/webadmin/webadmin-mailbox/src/test/java/org/apache/james/webadmin/service/MailboxesExportRequestToTaskTest.java index c52d8ffc1b..5222eec1ee 100644 --- a/server/protocols/webadmin/webadmin-mailbox/src/test/java/org/apache/james/webadmin/service/MailboxesExportRequestToTaskTest.java +++ b/server/protocols/webadmin/webadmin-mailbox/src/test/java/org/apache/james/webadmin/service/MailboxesExportRequestToTaskTest.java @@ -178,7 +178,7 @@ class MailboxesExportRequestToTaskTest { .body("statusCode", is(400)) .body("type", is(ErrorResponder.ErrorType.INVALID_ARGUMENT.getType())) .body("message", is("Invalid arguments supplied in the user request")) - .body("details", is("Domain parts ASCII chars must be a-z A-Z 0-9 - or _")); + .body("details", is("Domain parts ASCII chars must be a-z A-Z 0-9 - or _ in {} [bad@bad]")); } @Test diff --git a/server/protocols/webadmin/webadmin-mailbox/src/test/java/org/apache/james/webadmin/service/SubscribeAllRequestToTaskTest.java b/server/protocols/webadmin/webadmin-mailbox/src/test/java/org/apache/james/webadmin/service/SubscribeAllRequestToTaskTest.java index 414f7bdbb0..96b7947688 100644 --- a/server/protocols/webadmin/webadmin-mailbox/src/test/java/org/apache/james/webadmin/service/SubscribeAllRequestToTaskTest.java +++ b/server/protocols/webadmin/webadmin-mailbox/src/test/java/org/apache/james/webadmin/service/SubscribeAllRequestToTaskTest.java @@ -176,7 +176,7 @@ class SubscribeAllRequestToTaskTest { .body("statusCode", is(400)) .body("type", is(ErrorResponder.ErrorType.INVALID_ARGUMENT.getType())) .body("message", is("Invalid arguments supplied in the user request")) - .body("details", is("Domain parts ASCII chars must be a-z A-Z 0-9 - or _")); + .body("details", is("Domain parts ASCII chars must be a-z A-Z 0-9 - or _ in {} [bad@bad]")); } @Test --------------------------------------------------------------------- To unsubscribe, e-mail: notifications-unsubscr...@james.apache.org For additional commands, e-mail: notifications-h...@james.apache.org