[rabbitmq-discuss] STOMP 1.0 adapter escapes colon as \c (STOMP 1.1 style)

Emile Joubert emile at rabbitmq.com
Tue Oct 23 11:05:50 BST 2012


Hi Michael,

On 23/10/12 09:48, Michael Justin wrote:
> Hello,
> 
> a test showed that a colon in a SEND frame will be escaped STOMP 
> 1.1-style as \c, so this
> 
> SEND
> destination:/queue/ExampleQueue
> testcolon1:a:test
> 
> will be received as:
> 
> MESSAGE
> destination:/queue/ExampleQueue
> testcolon1:a\ctest
> 
> Is this as designed? The STOMP plugin page does not cover this escape 
> mechanism, which was introduced with STOMP 1.1

The only difference in framing between 1.0 and 1.1 in the RabbitMQ STOMP
implementation at present is trimming. If the negotiated version is 1.0
then headers are trimmed. Only 1.1 frame parsing is implemented, under
the assumption that this is backwards-compatible.

Are you relying on the STOMP 1.0 behaviour w.r.t colons in header values?

> I also noticed that messages with header line which contains a backslash 
> seem to be dropped on the broker side:
> 
> SEND
> destination:/queue/ExampleQueue
> testbackslash:\x
> 
> -> the message does not appear in the Management console

This is compatible with 1.1, which says that undefined escape sequences
must be treated as a fatal protocol error.

We'd be interested in your opinion of how important strict STOMP 1.0
framing support is to help us decide whether to invest in that effort or
focus on 1.2 instead.


-Emile




More information about the rabbitmq-discuss mailing list