Re: [ANNOUNCE] Apache Commons Net 3.11.0

Stuart Maclean <[email protected]> Thu, 6 Jun 2024 09:33:22 -0700
Newsgroups gmane.comp.jakarta.commons.user
Message-ID <[email protected]>
Hi Gary, all,

yes I did miss the fact that you had fixed the error.  I just consulted 
the sources and saw your fix, thanks for that.

And I tested my exact same small test case w 3.11.1-SNAPSHOT (after 
adding that repo you mentioned to my pom) and it now WORKS where it 
FAILED w 3.11.0.

Stuart

On 6/6/24 02:56, Gary Gregory wrote:
> 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]
>>
>>