activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Timothy Bish <tabish...@gmail.com>
Subject Re: AMQ 5.6 breaks Stomp 1.0 clients, was: Re: 5.5 to 5.6 upgrade, stomp client suddenly gets "User name [ xyz] or password is invalid."
Date Mon, 23 Jul 2012 10:37:56 GMT
On Mon, 2012-07-23 at 11:23 +0100, Gary Tully wrote: 
> So the root problem is the php client having space between the ':'
> header key value separator that used to be trimmed.
> 
> Seems like there is a need to make the 1.1 compliant behavior
> introduced in https://issues.apache.org/jira/browse/AMQ-3823
> configurable.
> As in, have the option to force 1.0 (or existing amq) behavior when
> the 1.1 version header is not present in a connect.
> In fact, that seems like a sensible default.
> 

Even though its a bit vague, the Stomp 1.0 spec also requires that key /
header values allow for space padding just as the 1.1 spec does, you can
see this by examining the BNF for each spec.  If we are going to claim
spec compliance then we probably shouldn't default to non-spec complaint
behavior.  We could make it configurable but it seems like the right
thing to do is to use an updated client that is also spec complaint
instead of introducing yet another configuration option into the already
large and not so well documented set of options we already have.  

> 
> On 23 July 2012 05:11, neek <neek@nickfenwick.com> wrote:
> > I see that one of the changes going into ActiveMQ 5.6 was Stomp 1.1 support:
> > https://issues.apache.org/jira/browse/AMQ-3449
> >
> > Could this have changed the Stomp protocol supported in ActiveMQ such that
> > my Stomp 1.0 PHP client can no longer communicate with it?  This sounds like
> > a regression, and so seems unlikely, however the specs at
> > http://stomp.github.com/stomp-specification-1.0.html#STOMP_Frames and
> > http://stomp.github.com/stomp-specification-1.1.html#STOMP_Frames clearly
> > show a difference and ActiveMQ 5.6 seems to be breaking Stomp 1.0
> > compatibility.
> >
> > This is supported by https://issues.apache.org/jira/browse/AMQ-3823 which
> > clearly states that no whitespace (ws) should be trimmed from headers.  This
> > makes an old Stomp 1.0 client completely incompatible with ActiveMQ and its
> > Stomp 1.1 implementation.  It seems there's no version handshaking going on
> > in the Stomp protocol, so old clients have no way of working against new
> > servers because the server has no way of gracefully falling back to the old
> > protocol.
> >
> > I did a bunch of painful debugging that I'll omit here as the situation
> > seems clear.
> >
> > Where should we get a PHP Stomp 1.1 client from?  I don't see one bundled
> > with ActiveMQ and the usual suspects (http://activemq.apache.org/php.html,
> > http://stomp.fusesource.org/index.html,
> > http://stomp.github.com/implementations.html) don't offer any fresh leads.
> > I see a comment on https://issues.apache.org/jira/browse/AMQ-3836 saying
> > that the PHP client has been updated, but I don't see where to find this
> > client.
> >
> > I'm falling back to ActiveMQ 5.5 for now.  A big red warning flag about
> > breaking Stomp 1.0 compatibility would have been appreciated.  Perhaps there
> > was one and I missed it?
> >
> > Nick
> >
> >
> >
> > --
> > View this message in context: http://activemq.2283324.n4.nabble.com/5-5-to-5-6-upgrade-stomp-client-suddenly-gets-User-name-xyz-or-password-is-invalid-tp4654229p4654230.html
> > Sent from the ActiveMQ - User mailing list archive at Nabble.com.
> 
> 
> 

-- 
Tim Bish
Sr Software Engineer | FuseSource Corp
tim.bish@fusesource.com | www.fusesource.com
skype: tabish121 | twitter: @tabish121
blog: http://timbish.blogspot.com/


Mime
View raw message