You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@james.apache.org by bt...@apache.org on 2024/12/11 16:20:54 UTC
(james-project) 02/02: [FIX] POP3 UserCmdHandler should return error response when invalid username input
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 <hq...@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-unsubscribe@james.apache.org
For additional commands, e-mail: notifications-help@james.apache.org