[
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: [email protected]
For additional commands, e-mail: [email protected]