Andrew Stitcher commented on PROTON-915:

I have a fix for this now - try the attached patch.

However this fails the current tests, because proton-j (and proton-c in client 
mode) ignore the spec and send the AMQP header followed by and open and 
immediate close frame. Which I don't think is allowed as the spec says "*MUST* 
... and then close the socket".

You could argue that the spec doesn't forbid bytes between the coirrect header 
and closing the socket, but I think that's a stretch.

I can make the test less restrictive if that is the consensus here, but I think 
there may be a larger spec compliance issue.

> 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: Andrew Stitcher
>            Priority: Blocker
>             Fix For: 0.10
> 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

Reply via email to