Ok, the tests in QuickFIX/J which expect the exception to be caught in a filter still don't work. I recall that you also did some changes in other Apache projects to make it work with MINA 2.2.0. Could it be that I also need to adapt something in this regard?
Thanks Chris Jul 5, 2022 18:47:09 Emmanuel Lécharny <[email protected]>: > I have tested that the exception gets propagated before launching the vote to > be clear :-) > > On 05/07/2022 18:17, Christoph John wrote: >> Sorry, no. The last message regarding this was: >> >> ----------snip--------- >> >> 11.04.2022 09:37:30 Emmanuel Lécharny <[email protected]>: >> Hi Christophe, >> sorry, my late mail was off base. >> The pb here is that the SSLEngine excpeiton is not propagated to the >> handler, when it should. >> My guess is that we have some missing call somewhere in the stack. I'm going >> to check that out. >> On 11/04/2022 00:15, Christoph John wrote: >>> Hi, >>> thanks Jonathan and Emmanuel for working on this! >>> I tried to integrate this into QuickFIX/J and it compiles successfully. >>> However there are some tests failing that expect an Exception. For example >>> we have >>> https://github.com/quickfix-j/quickfixj/blob/b6a822a46a5278dcd0985a5a77299ed03168ab03/quickfixj-core/src/test/java/quickfix/mina/ssl/SecureSocketTest.java#L54 >>> Up to now it was tried to get the Exception via a filter in the chain. This >>> no longer seems to work but I think I can see the error getting thrown in >>> the log: >>> SEVERE: SSLHandlerG0@590ec99c[mode=server, connected=false] task() - >>> storing error {} >>> javax.net.ssl.SSLHandshakeException: No available authentication scheme >>> at java.base/sun.security.ssl.Alert.createSSLException(Alert.java:131) >>> at java.base/sun.security.ssl.Alert.createSSLException(Alert.java:117) >>> at >>> java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:358) >>> at >>> java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:314) >>> at >>> java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:305) >>> at >>> java.base/sun.security.ssl.CertificateMessage$T13CertificateProducer.onProduceCertificate(CertificateMessage.java:972) >>> at >>> java.base/sun.security.ssl.CertificateMessage$T13CertificateProducer.produce(CertificateMessage.java:961) >>> at >>> java.base/sun.security.ssl.SSLHandshake.produce(SSLHandshake.java:440) >>> at >>> java.base/sun.security.ssl.ClientHello$T13ClientHelloConsumer.goServerHello(ClientHello.java:1246) >>> at >>> java.base/sun.security.ssl.ClientHello$T13ClientHelloConsumer.consume(ClientHello.java:1182) >>> at >>> java.base/sun.security.ssl.ClientHello$ClientHelloConsumer.onClientHello(ClientHello.java:840) >>> at >>> java.base/sun.security.ssl.ClientHello$ClientHelloConsumer.consume(ClientHello.java:801) >>> at >>> java.base/sun.security.ssl.SSLHandshake.consume(SSLHandshake.java:396) >>> at >>> java.base/sun.security.ssl.HandshakeContext.dispatch(HandshakeContext.java:480) >>> at >>> java.base/sun.security.ssl.SSLEngineImpl$DelegatedTask$DelegatedAction.run(SSLEngineImpl.java:1277) >>> at >>> java.base/sun.security.ssl.SSLEngineImpl$DelegatedTask$DelegatedAction.run(SSLEngineImpl.java:1264) >>> at >>> java.base/java.security.AccessController.doPrivileged(AccessController.java:712) >>> at >>> java.base/sun.security.ssl.SSLEngineImpl$DelegatedTask.run(SSLEngineImpl.java:1209) >>> at >>> org.apache.mina.filter.ssl.SSLHandlerG0.execute_task(SSLHandlerG0.java:743) >>> at >>> org.apache.mina.filter.ssl.SSLHandlerG0.receive_loop(SSLHandlerG0.java:255) >>> at >>> org.apache.mina.filter.ssl.SSLHandlerG0.receive(SSLHandlerG0.java:162) >>> at >>> org.apache.mina.filter.ssl.SslFilter.messageReceived(SslFilter.java:342) >>> at >>> org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:650) >>> at >>> org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1300(DefaultIoFilterChain.java:49) >>> at >>> org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:1128) >>> at >>> org.apache.mina.core.filterchain.IoFilterAdapter.messageReceived(IoFilterAdapter.java:122) >>> at >>> org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:650) >>> at >>> org.apache.mina.core.filterchain.DefaultIoFilterChain.fireMessageReceived(DefaultIoFilterChain.java:643) >>> at >>> org.apache.mina.core.polling.AbstractPollingIoProcessor.read(AbstractPollingIoProcessor.java:539) >>> at >>> org.apache.mina.core.polling.AbstractPollingIoProcessor.access$1200(AbstractPollingIoProcessor.java:68) >>> at >>> org.apache.mina.core.polling.AbstractPollingIoProcessor$Processor.process(AbstractPollingIoProcessor.java:1224) >>> at >>> org.apache.mina.core.polling.AbstractPollingIoProcessor$Processor.process(AbstractPollingIoProcessor.java:1213) >>> at >>> org.apache.mina.core.polling.AbstractPollingIoProcessor$Processor.run(AbstractPollingIoProcessor.java:683) >>> at >>> org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnable.java:64) >>> at >>> java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) >>> at >>> java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) >>> at java.base/java.lang.Thread.run(Thread.java:833) >>> What is the new way to get this Exception? >>> NB: I recall discussing this with Jonathan some months ago but seem to have >>> lost track of the mail thread. >>> Thanks in advance, >>> Chris. >>> On 09.04.22 00:26, Emmanuel Lécharny wrote: >>>> Hi ! >>>> >>>> I will start to cut a first milestone for the MINA 2.2.X branch. It has >>>> been tested on Apache Ftpserver, Ldap API and Directory Server with >>>> success. >>>> >>>> There will probably be more milestone, but that would be a first step. >>>> >>>> The main changes are: >>>> - a complete redesign of the TLS handling >>>> - the removal of the SslFilter.DISABLE_ENCRYPTION_ONCE attribute, which is >>>> either replaced by a dedicated filter, or the encapsulation of the message >>>> in a DisableEncryptWriteRequest interface >>>> >>>> >>>> I'll do that this week-end. >>>> >>>> Thanks ! >>> >> > > -- > *Emmanuel Lécharny - CTO* 205 Promenade des Anglais – 06200 NICE > T. +33 (0)4 89 97 36 50 > P. +33 (0)6 08 33 32 61 > [email protected] https://www.busit.com/ > > --------------------------------------------------------------------- > 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]
