felixauringer commented on PR #2773:
URL: https://github.com/apache/james-project/pull/2773#issuecomment-3191333089

   I added OAUTHBEARER authentication and some tests.
   
   The authentication logic I wrote is very similar to 
`james-project/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/UsersRepositoryAuthHook.java`
 or 
`james-project/protocols/imap/src/main/java/org/apache/james/imap/processor/AuthenticateProcessor.java`,
 I assume that those implement correct `SASL XOAUTH2`, but still decided to 
test many cases here.
   
   I was not sure about using [MPT](https://james.apache.org/mpt/main/) and 
decided to implement a ManageSieveTestSystem like already existing for SMTP. As 
there is no managesieve client by 
[Apache](https://commons.apache.org/proper/commons-net/apidocs/), I also had to 
write a small client.
   
   I added tests for the whole authentication logic and found some bugs / 
non-standard-conforming behavior and tried to fix them.
   There is one test I did not get working so far: After sending the logout 
command, I would like to check that the server really closes the connection. 
This happens asynchronously but even when waiting multiple seconds, 
`isConnected` still returns true. The RFC says the server MUST close the 
connection and in my understanding of the code, it also does so 
(`channel.writeAndFlush(Unpooled.EMPTY_BUFFER).addListener(ChannelFutureListener.CLOSE)`).
   
   > Also, out of curiosity do we have a managedSive compatible client>
   
   Roundcube supports using managesieve with XOAUTH2/OAUTHBEARER.
   
   I am working on the example and documentation, but if you have feedback to 
the tests before that, I would appreciate it :slightly_smiling_face: 


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscr...@james.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscr...@james.apache.org
For additional commands, e-mail: notifications-h...@james.apache.org

Reply via email to