You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by "Pavel Moravec (JIRA)" <ji...@apache.org> on 2013/12/16 15:33:06 UTC

[jira] [Resolved] (QPID-5424) [C++ broker] [AMQP 1.0] wrong encoding/decoding of boolean type

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

Pavel Moravec resolved QPID-5424.
---------------------------------

    Resolution: Invalid

AMQP 1.0 constructor type 0x41 is boolean with value "true" while 0x42 is boolean with value "false". Both with zero data length.

Encoding and decoding is correct.

> [C++ broker] [AMQP 1.0] wrong encoding/decoding of boolean type
> ---------------------------------------------------------------
>
>                 Key: QPID-5424
>                 URL: https://issues.apache.org/jira/browse/QPID-5424
>             Project: Qpid
>          Issue Type: Bug
>          Components: C++ Broker, C++ Client
>    Affects Versions: 0.22, 0.24
>            Reporter: Pavel Moravec
>
> Both encoding/decoding AMQP 1.0 boolean primitive type seems to be wrong - it lacks specifying type constructor (0x56).
> E.g. taking tcpdump of a client communication, I got PDU:
> 0000008e02000000005312d00000007e0000000aa12d6d795175657565325f66373562326532622d613930392d343063612d393832652d65323630386666623439363652004150025000005328d00000001a0000000ba1086d79517565756532520040520042404040404040005329d00000001600000007a1086d79517565756532520040520042404040405200
> that is disassembled to:
> 0000008e = size(142)
> 02000000 = rest of header
> 00(descriptor_constructor) 53(fixed_one) 12(attach performative)
> d0 = compound-four, i.e. list32
>   0000007e(size=126)
>   0000000a(count=10)
>   (Name):  a1(str8) 2d(len=45) 6d795175657565325f66373562326532622d613930392d343063612d393832652d653236303866666234393636(myQueue2_f75b2e2b-a909-40ca-982e-e2608ffb4966)
>   (Handle):  52(smalluint) 00(0)
>   (Role):  41.. = boolean value???
> I see this reoccuring in any tcpdump I take - sometimes with Role 0x41 ("true"), sometimes 0x42 ("false"), depending on receiver/sender role of the peer.
> As the bug is present both in encode and decode, neither broker or client complains of malformed PDU.
> I see it in 0.22 while assume it in upstream as well (no change in relevant source code since that).



--
This message was sent by Atlassian JIRA
(v6.1.4#6159)

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