[ 
https://issues.apache.org/jira/browse/DIRAPI-314?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Emmanuel Lecharny resolved DIRAPI-314.
--------------------------------------
    Resolution: Fixed

The workaround has been replaced by a real fix. We now use a {{Future}} that is 
updated when the handshake has been completed (or aborted). The {{startTLS}} 
setup had to be modified for that purpose, asking for {{MINA}} to send a 
{{SESSION_SECURED}} message when done, that is unblocking the {{Future}}.

 

Fixed with commit 61ef7c1f2ff6e60cdf1e999cc6c72fe55e72de5a

> StartTLS operation is not correctly handled
> -------------------------------------------
>
>                 Key: DIRAPI-314
>                 URL: https://issues.apache.org/jira/browse/DIRAPI-314
>             Project: Directory Client API
>          Issue Type: Bug
>    Affects Versions: 1.0.0
>            Reporter: Emmanuel Lecharny
>            Priority: Critical
>             Fix For: 2.0.0
>
>
> Currently, the {{startTLS}} operation waits for the {{ExtendedRespose}} to be 
> received to add the {{SslFilter}} into the network chain. So far, so good, as 
> it's not accepting any other operation while doing that (well, it does accept 
> some new request, but they will be queued).
> The problem arise when the response has been received, and once the 
> {{SslFilter}} has been added : the {{SSL}} handshake starts, but as it's not 
> blocking, it does not forbid other operations to be executed, and as the 
> secured session may not yet established, those extra messages are going to be 
> mixed with the handshake messages, leading to a closure of the connection.
> We must find a way to wait for the handshake to be completed before allowing 
> other operations to be accepted.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to