Hi Stuart,

You might have missed a reply in this thread, there were a few. I fixed the
issue in git master and 3.11.1-SNAPSHOT builds. Let us know.

Thank you,
Gary

On Thu, Jun 6, 2024, 1:42 AM Stuart Maclean <[email protected]>
wrote:

> Hi Gary, all,
>
> following up to my post last week...
>
> I managed to discount the OAuth2 part being the culprit.
>
> The simplest code I can write that FAILS under commons net 3.11.0 but
> WORKS with 3.10.0, 3.9.0 and 3.8.0 is this
>
> AuthenticatingIMAPClient aic = new AuthenticatingIMAPClient(true);
> String server = "imap-mail.outlook.com";
> try {
>       aic.connect( server );
> } catch( Exception e ) {
>       e.printStackTrace();
> }
>
> When binding to the 3.11.0 commons net jar, the code above produces this
> on my (Linux) terminal:
>
> org.apache.commons.net.MalformedServerReplyException: Received
> unexpected IMAP protocol response from server: '* OK The Microsoft
> Exchange IMAP4 service is ready.
>
> [TQBXADQAUABSADAAMwBDAEEAMAAyADkAMwAuAG4AYQBtAHAAcgBkADAAMwAuAHAAcgBvAGQALgBvAHUAdABsAG8AbwBrAC4AYwBvAG0A]'.
>      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)
>      at
>
> org.apache.commons.net.imap.IMAPSClient._connectAction_(IMAPSClient.java:176)
>      at org.apache.commons.net
> .SocketClient._connect(SocketClient.java:142)
>      at org.apache.commons.net.SocketClient.connect(SocketClient.java:308)
>      at org.apache.commons.net.SocketClient.connect(SocketClient.java:290)
>      at org.apache.commons.net.SocketClient.connect(SocketClient.java:275)
>
> Under all earlier versions of the commons net jar mentioned, the
> connect() routine succeeds and no stack trace is printed.
>
> In my previous post, I had subbed in 'xxxxxxxxx' for the long string
> TQB... above, since I thought it might leak OAuth2 info. Given the above
> code doesn't get as far as offering any OAuth credentials, I can't see
> how the string above can be sensitive (famous last words!)
>
> I am running my code via 'mvn test'. My mvn set up is
>
> $ mvn -v
> Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f)
> Maven home: /home/stuart/Downloads/apache-maven-3.6.3
> Java version: 11.0.22, vendor: Ubuntu, runtime:
> /usr/lib/jvm/java-11-openjdk-amd64
> Default locale: en_US, platform encoding: UTF-8
> OS name: "linux", version: "5.15.0-107-generic", arch: "amd64", family:
> "unix"
>
> If I drive mvn with a Java 8 VM I get same results.
>
> Stuart
>
>
> On 5/31/24 13:39, Gary Gregory wrote:
> > Hello Stu,
> >
> > Thank you for your report.
> >
> > Does the issue occur using 3.9.0?
> >
> > What about 3.10.0?
> >
> > Do you have a way we can reproduce this issue?
> >
> > If not, you could run your test in a debugger and extract a reproducible
> > and a failing unit test.
> >
> > You could also use git bisect to find the first offending commit.
> >
> > TY!
> > Gary
> >
> > On Fri, May 31, 2024, 3:13 PM Stuart Maclean <[email protected]
> >
> > wrote:
> >
> >> I have an app that uses Commons Net. It talks IMAP, via OAuth2, to a MS
> >> Exchange Server.  With Commons Net 3.8.0 and 3.10.0, it works fine. I
> >> just saw 3.11.0 was released, and wanted to try it. I was alarmed to see
> >> it fail with my app. The ONLY change made to the build was in my
> >> pom.xml, from this
> >>
> >>       <dependency>
> >>         <groupId>commons-net</groupId>
> >>         <artifactId>commons-net</artifactId>
> >>         <version>3.8.0</version>
> >>       </dependency>
> >>
> >>       <dependency>
> >>         <groupId>commons-net</groupId>
> >>         <artifactId>commons-net</artifactId>
> >>         <version>3.11.0</version>
> >>       </dependency>
> >>
> >> With 3.11.0, the app reports
> >>
> >> $ ./mailRetriever -e
> >>
> >> 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)
> >>
> >> The app is trying to do an 'INBOX EXAMINE' request.
> >>
> >> I do see mention made of IMAPReply in the 3.11.0 release notes. Maybe I
> >> need to change my own code to use the IMAP objects differently?? Or
> >> maybe the flaw is the server end??
> >>
> >> Stu
> >>
> >>
> >> On 5/31/24 10:35, Gary Gregory wrote:
> >>> The Apache Commons Net team is pleased to announce the release of
> >>> Apache Commons Net 3.11.0.
> >>>
> >>> Apache Commons Net library contains a collection of network utilities
> >>> and protocol implementations. Supported protocols include Echo,
> >>> Finger, FTP, NNTP, NTP, POP3(S), SMTP(S), Telnet, and Whois.
> >>>
> >>> Maintenance and bug fix release (Java 8 or above).
> >>>
> >>> For complete information on Apache Commons Net, including instructions
> >>> on how to submit bug reports, patches, or suggestions for improvement,
> >>> see the Apache Commons Net website:
> >>>
> >>> https://commons.apache.org/proper/commons-net/
> >>>
> >>> Download page:
> >> https://commons.apache.org/proper/commons-net/download_net.cgi
> >>> Historical list of changes:
> >>> https://commons.apache.org/proper/commons-net/changes-report.html
> >>>
> >>> Enjoy!
> >>> Gary Gregory
> >>> -Apache Commons Net team
> >>>
> >>> ---------------------------------------------------------------------
> >>> To unsubscribe, e-mail: [email protected]
> >>> For additional commands, e-mail: [email protected]
> >>>
> >> ---------------------------------------------------------------------
> >> To unsubscribe, e-mail: [email protected]
> >> For additional commands, e-mail: [email protected]
> >>
> >>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
>
>

Reply via email to