activemq-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Christian Posta (JIRA)" <>
Subject [jira] [Commented] (APLO-255) Typo and weird exception text in StompCodec.scala
Date Mon, 10 Sep 2012 22:04:07 GMT


Christian Posta commented on APLO-255:

I see Hiram committed the fix for escaping the exception and fixing the typo (r1378607)...

On my side, I cannot connect with telnet. The connection terminates when trying to send this



A little digging led to this... The telnet client is sending end-of-lines as \r\n
When the StompCodec tries to parse this in the apply() function that's defined in the read_headers(...)
function, it tries to move to the tail of the line (line.moveTail(-1)

The Buffer object's moveTail method adds the parameter (-1) to the length of the line. So
for \n it works fine (the line.length is effectively zero: true length of "1" + the parameter
"-1"), but for \r\n, the effective length is '1' (2 + -1). So the apply method continues on
trying to parse the header.... which will be wrong. 

Hiram, any suggestion on how the Buffer class should determine the tail? 
> Typo and weird exception text in StompCodec.scala
> -------------------------------------------------
>                 Key: APLO-255
>                 URL:
>             Project: ActiveMQ Apollo
>          Issue Type: Bug
>         Environment: apollo-99-trunk-20120829.114214-107
>            Reporter: Lionel Cons
>            Priority: Minor
>         Attachments: APLO-255_connect_as_telnet.patch
> While interacting with the broker via telnet, Apollo complained with:
> ]012-08-29 15:08:00,619 Shutting connection 'null'  down due to:
Unable to parser header line [ascii: 
> The ] at the beginning is weird, this comes from a control character (^M) being logged.
> The invalid data should be properly escaped before being turned into an exception. Here
is the current code:
>  throw new IOException("Unable to parser header line [" + line + "]")
> Then you may want to s/to parser/to parse/g.

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see:

View raw message