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

Timothy A. Bish resolved PROTON-2490.
-------------------------------------
    Fix Version/s: protonj2-1.0.0-M5
       Resolution: Fixed

> SASL to AMQP handoff is unsuccessful in server contexts (e.g. for 
> peer-to-peer)
> -------------------------------------------------------------------------------
>
>                 Key: PROTON-2490
>                 URL: https://issues.apache.org/jira/browse/PROTON-2490
>             Project: Qpid Proton
>          Issue Type: Bug
>          Components: protonj2
>    Affects Versions: protonj2-1.0.0-M4
>            Reporter: Matt Selway
>            Assignee: Timothy A. Bish
>            Priority: Blocker
>             Fix For: protonj2-1.0.0-M5
>
>
> When using the engine in a server context, i.e., not the client classes, the 
> SASL to AMQP handoff does not complete correctly leaving the 
> ProtonFrameDecodingHandler in the incorrect to process the followup 
> AMQPHeader message.
> The problem appears to be caused by the `handleWrite(..., SASLEnvelope)` and 
> `handleRead(..., SASLEnvelope)` methods resetting the 
> ProtonFrameDecodingHandler's pipeline interests to 'read only'. However, this 
> occurs before it processes the write of the final SASL Outcome frame, which 
> is used to reset the ProtonFrameDecodingHandler's state to handle the next 
> incoming AMQPHeader frame.
> The ProtonFrameDecodingHandler needs to be modified such that it only resets 
> the interest to read only once it has processed the SASLOutcome and not 
> before (unless it is a non-SASL engine).
> As it stands, it prevents the ProtonJ2 library from being used out of the box 
> in server contexts, which default to SASL engine configurations. A temporary 
> workaround is to add an engine handler to the pipeline that listens to 
> writes, searches the pipeline for the decoder, and forces its reset at the 
> appropriate time.
> It is recommended that Unit Tests be written to cover the SASL to AMQP 
> handover portion of the protocol (and possibly other state transitions 
> currently missing) as the current test suite only tests some aspects of the 
> SASL protocol and AMQP protocols independently.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

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

Reply via email to