[
https://issues.apache.org/jira/browse/PROTON-915?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14591587#comment-14591587
]
Robbie Gemmell commented on PROTON-915:
---------------------------------------
I think it could be argued either way as it isnt necessarily strictily stated
and the first bit you quoted further makes it muddy, but I think it is strongly
implied that you dont send more bytes. E.g a couple of the other points in the
section/list you quoted at
http://docs.oasis-open.org/amqp/core/v1.0/os/amqp-core-transport-v1.0-os.html#section-version-negotiation
(and the related ascii art) read to me as saying 'send more if the header is
supported, dont send more if it isnt':
{quote}
If the requested protocol version is supported, the server MUST send its own
protocol header with the requested version to the socket, and then proceed
according to the protocol definition.
If the requested protocol version is not supported, the server MUST send a
protocol header with a supported protocol version and then close the socket.
{quote}
Of course, this is all further complicated by SASL vs non-SASL, which is the
same protocol 'version' but with a different 'id'. That only seems to be
covered by Figure 2.13, but reads similarly to me as saying 'send the header
and nothing else'.
> Incompatible protocol header handled incorrectly
> ------------------------------------------------
>
> Key: PROTON-915
> URL: https://issues.apache.org/jira/browse/PROTON-915
> Project: Qpid Proton
> Issue Type: Bug
> Components: proton-c
> Affects Versions: 0.9, 0.9.1
> Reporter: Gordon Sim
> Assignee: Rafael H. Schloming
> Priority: Blocker
> Fix For: 0.10
>
> Attachments:
> 0001-PROTON-915-Send-correct-AMQP-header-upon-protocol-mi.patch
>
>
> The correct response is to send back a supported header[1] before closing the
> socket. This worked for 0.8 but is broker from 0.9 onwards, I believe by this
> commit:
> https://git-wip-us.apache.org/repos/asf?p=qpid-proton.git;a=commit;h=1b2be03c748ef5a57cf181f8373b9b6e8f8cfd22
> It means anything relying on proton-c for protocol header handling is not
> compliant with the spec.
> [1] section 2.2 of spec: "If the requested protocol version is not
> supported, the server MUST send a protocol header with a supported protocol
> version and then close the socket."
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)