Hi
You could see the failing tests here: 
https://github.com/quickfix-j/quickfixj/runs/7201285514?check_suite_focus=true
Basically these are tests that should fail when using a bad certificate.
As an example here is one test that registers a filter that should get an 
exception but it doesn't: 
https://github.com/quickfix-j/quickfixj/blob/da21d92c32c37265ee1d4e20519832fb13a26d05/quickfixj-core/src/test/java/quickfix/mina/ssl/SecureSocketTest.java#L67

Thanks in advance and cheers
Chris

Jul 6, 2022 12:42:15 Jonathan Valliere <john...@apache.org>:

> What test are you trying?  Emmanuel made changes from the original design
> to cause it to throw on the filter.  My original design threw on the filter
> but only during a subsequent read or write action thereby enforcing strong
> concurrency within the pipeline.
> 
> On Jul 6, 2022 at 3:53:57 AM, Christoph John
> <christoph.j...@macd.com.invalid> wrote:
> 
>> 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 <elecha...@gmail.com>:
>> 
>> 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 <elecha...@gmail.com>:
>> 
>>> 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
>> 
>> emmanuel.lecha...@busit.com https://www.busit.com/
>> 
>> 
>> ---------------------------------------------------------------------
>> 
>> To unsubscribe, e-mail: dev-unsubscr...@mina.apache.org
>> 
>> For additional commands, e-mail: dev-h...@mina.apache.org
>> 
>> 
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: dev-unsubscr...@mina.apache.org
>> For additional commands, e-mail: dev-h...@mina.apache.org
>> 
>> 

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

Reply via email to