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 6e4dcf6e096431a64caefd944f9cc37c3c88473e Author: Benoit TELLIER <btell...@linagora.com> AuthorDate: Thu Nov 21 22:23:13 2024 +0100 [FIX] Filter out invalid user in LDAP Today this makes listing crash! --- .../java/org/apache/james/user/ldap/ReadOnlyLDAPUsersDAO.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/server/data/data-ldap/src/main/java/org/apache/james/user/ldap/ReadOnlyLDAPUsersDAO.java b/server/data/data-ldap/src/main/java/org/apache/james/user/ldap/ReadOnlyLDAPUsersDAO.java index 39b1409ec6..6b749be5b1 100644 --- a/server/data/data-ldap/src/main/java/org/apache/james/user/ldap/ReadOnlyLDAPUsersDAO.java +++ b/server/data/data-ldap/src/main/java/org/apache/james/user/ldap/ReadOnlyLDAPUsersDAO.java @@ -271,7 +271,14 @@ public class ReadOnlyLDAPUsersDAO implements UsersDAO, Configurable { String usernameAttribute = ldapConfiguration.getUsernameAttribute().orElse(ldapConfiguration.getUserIdAttribute()); Optional<String> userName = Optional.ofNullable(userAttributes.getAttributeValue(usernameAttribute)); return userName - .map(Username::of) + .flatMap(name -> { + try { + return Optional.of(Username.of(name)); + } catch (Exception e) { + LOGGER.warn("Invalid username in the LDAP: {}", name, e); + return Optional.empty(); + } + }) .map(username -> new ReadOnlyLDAPUser(username, userDN, ldapConnectionPool)); } --------------------------------------------------------------------- To unsubscribe, e-mail: notifications-unsubscr...@james.apache.org For additional commands, e-mail: notifications-h...@james.apache.org