This is an automated email from the ASF dual-hosted git repository.

btellier pushed a commit to branch fix-inalid-user-in-ldap
in repository https://gitbox.apache.org/repos/asf/james-project.git

commit 7302390c7ca7649ef49b45adbc485699dcf1b6b1
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 +++--
 .../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 +-
 7 files changed, 11 insertions(+), 10 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/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

Reply via email to