I had found issue in Commons Net 3.11.0, whereby an 'untagged IMAP'
reply of sufficient length would cause a Pattern mismatch and the
following stack trace:
org.apache.commons.net.MalformedServerReplyException: Received
unexpected IMAP protocol response from server: '* OK The Microsoft
Exchange IMAP4 service is ready. [xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx]'.
at
org.apache.commons.net.imap.IMAPReply.getReplyCode(IMAPReply.java:119)
at
org.apache.commons.net.imap.IMAPReply.getUntaggedReplyCode(IMAPReply.java:130)
at org.apache.commons.net.imap.IMAP.getReply(IMAP.java:288)
at org.apache.commons.net.imap.IMAP._connectAction_(IMAP.java:152)
This was apparently fixed in 3.11.1.
Browsing the latest source code, I see this regex
private static final String UNTAGGED_RESPONSE = "^\\*
(\\S{1,80}).{0,160}";
If I am correct, this can match against a string of max length 240 chars ??
I am still seeing the error, even in 3.11.1. Here is a recent example:
org.apache.commons.net.MalformedServerReplyException: Received
unexpected IMAP protocol response from server: '* OK The Microsoft
Exchange IMAP4 service is ready.
[TQBXADIAUABSADIAMQAwADEAQwBBADAAMAAzADYALgBuAGEAbQBwAHIAZAAyADEALgBwAHIAbwBkAC4AbwB1AHQAbABvAG8AawAuAGMAbwBtAA==]'.
at
org.apache.commons.net.imap.IMAPReply.getReplyCode(IMAPReply.java:119)
at
org.apache.commons.net.imap.IMAPReply.getUntaggedReplyCode(IMAPReply.java:130)
The string between the single quotes, which I suspect is the 'untagged
response', is 265 bytes in length, which is longer than the regex
definition.
Stuart
---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscr...@commons.apache.org
For additional commands, e-mail: user-h...@commons.apache.org