This is an automated email from the ASF dual-hosted git repository. btellier pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/james-project.git
commit 371f0c3bbfdd1b45c4785f5f5c229390d17ef56d Author: Quan Tran <hqt...@linagora.com> AuthorDate: Tue Dec 10 11:54:01 2024 +0700 [FIX] POP3 UserCmdHandler should return error response when invalid username input Was `Error dispatching command for request USER` on `java.lang.IllegalArgumentException: Domain parts ASCII chars must be a-z A-Z 0-9 - or _ in govmu,org`: ```json { "timestamp": "2024-12-10T04:32:03.703Z", "level": "ERROR", "thread": "pop3server-11", "mdc": { "charset": "US-ASCII", "protocol": "POP3", "sessionId": "6fec7ab7", "ip": "192.168.43.3" }, "logger": "org.apache.james.protocols.api.handler.CommandDispatcher", "message": "Error dispatching command for request USER", "context": "default", "exception": "java.lang.IllegalArgumentException: Domain parts ASCII chars must be a-z A-Z 0-9 - or _ in govmu,org\n\tat com.google.common.base.Preconditions.checkArgument(Preconditions.java:220)\n\tat org.apache.james.core.Domain.of(Domain.java:58)\n\tat org.apache.james.core.Username.fromLocalPartWithDomain(Username.java:52)\n\tat org.apache.james.core.Username.of(Username.java:46)\n\tat org.apache.james.protocols.pop3.core.UserCmdHandler.user(UserCmdHandler.java:73)\n\tat org.a [...] } ``` --- .../org/apache/james/protocols/pop3/core/UserCmdHandler.java | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/protocols/pop3/src/main/java/org/apache/james/protocols/pop3/core/UserCmdHandler.java b/protocols/pop3/src/main/java/org/apache/james/protocols/pop3/core/UserCmdHandler.java index 62cacb94a5..c5952ae09c 100644 --- a/protocols/pop3/src/main/java/org/apache/james/protocols/pop3/core/UserCmdHandler.java +++ b/protocols/pop3/src/main/java/org/apache/james/protocols/pop3/core/UserCmdHandler.java @@ -70,9 +70,14 @@ public class UserCmdHandler extends AbstractPOP3CommandHandler implements CapaCa LOGGER.trace("USER command received"); String parameters = request.getArgument(); if (session.getHandlerState() == POP3Session.AUTHENTICATION_READY && parameters != null) { - session.setUsername(Username.of(parameters)); - session.setHandlerState(POP3Session.AUTHENTICATION_USERSET); - return POP3Response.OK; + try { + session.setUsername(Username.of(parameters)); + session.setHandlerState(POP3Session.AUTHENTICATION_USERSET); + return POP3Response.OK; + } catch (IllegalArgumentException e) { + LOGGER.info("USER command input error", e); + return POP3Response.ERR; + } } else { return POP3Response.ERR; } --------------------------------------------------------------------- To unsubscribe, e-mail: notifications-unsubscr...@james.apache.org For additional commands, e-mail: notifications-h...@james.apache.org