[
https://issues.apache.org/jira/browse/QPID-6784?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14952845#comment-14952845
]
Lorenz Quack commented on QPID-6784:
------------------------------------
Considering the parameter name in 0-9 for this is "frame-max" and not
"frame-size-max" I find this interpretation very dubious but okay... I'm going
to back of.
In the spirit of being lenient about what you accept and strict about what you
send I suggest the following:
* make sure the client is 0-9-1 compliant, i.e., including header and eof byte
in the frame size calculation
* keep the brokers current behaviour but change the default max frame size it
negotiates to be 8 bytes smaller than the buffer size to avoid the problems in
{{NonBlockingConnectionPlainDelegate#processData}}
> [Java Broker, Java Client] Client sends too large frames and broker does
> wrong frame size validation on 0-9
> -----------------------------------------------------------------------------------------------------------
>
> Key: QPID-6784
> URL: https://issues.apache.org/jira/browse/QPID-6784
> Project: Qpid
> Issue Type: Bug
> Components: Java Broker, Java Client
> Affects Versions: 0.17, 0.32
> Reporter: Lorenz Quack
> Priority: Blocker
>
> The Client does not include the frame attributes (except for 1 byte) in its
> calculation of the AMQP Frame size thus creating frames which are 7 bytes too
> large. This happens in
> {{org.apache.qpid.client.BasicMessageProducer_0_8#calculateContentBodyFrameCount}}
> and maybe other places.
> The broker on the other end does an incorrect validation (in
> {{AMQDecoder#decodable}} at least) where it does not take any of the
> attributes into account thus accepting too large frames.
> Besides not being compliant with the spec this causes problems in
> {{NonBlockingConnectionPlainDelegate#processData}} where the frame does not
> fit into a single networkBuffer.
> I did not investigate other protocol versions.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]