[
https://issues.apache.org/jira/browse/APLO-255?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13452499#comment-13452499
]
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 frame:
CONNECT
accept-version:1.1
login:admin
passcode:password
^@
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: https://issues.apache.org/jira/browse/APLO-255
> 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:
> java.io.IOException: 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: http://www.atlassian.com/software/jira