[ 
https://issues.apache.org/jira/browse/ARTEMIS-826?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15982697#comment-15982697
 ] 

ASF GitHub Bot commented on ARTEMIS-826:
----------------------------------------

GitHub user mtaylor opened a pull request:

    https://github.com/apache/activemq-artemis/pull/1227

    ARTEMIS-826 Fix MQTT protocol detection

    

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/mtaylor/activemq-artemis ARTEMIS-826

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/activemq-artemis/pull/1227.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #1227
    
----
commit 4e225c272493b99cebd55a1889b40b5f88e90e85
Author: Martyn Taylor <mtay...@redhat.com>
Date:   2017-04-24T15:27:46Z

    ARTEMIS-826 Fix MQTT protocol detection

----


> MQTT with a long password field causes NPE exception
> ----------------------------------------------------
>
>                 Key: ARTEMIS-826
>                 URL: https://issues.apache.org/jira/browse/ARTEMIS-826
>             Project: ActiveMQ Artemis
>          Issue Type: Bug
>    Affects Versions: 1.4.0, 1.5.0
>            Reporter: luca capra
>            Assignee: Martyn Taylor
>            Priority: Critical
>              Labels: mqtt
>             Fix For: 2.next
>
>
> Hi
> I'm using mqtt.js and Paho (java) as client for MQTT protocol. 
> The issue can be replicated both on (my embed) version pointing at master 
> (1.5.0-SNAPSHOT) and with a clean install of 1.4.0 release
> Happens by using a long password (a jwt token in my case) which causes this 
> exception on both versions
> Example password:
> eyJhbGciOiJIUzUxMiJ9.eyJjcmVhdGVkIjoxNDc3NDg1NDc5OTEzLCJleHAiOjE0Nzc0ODcyNzksInV1aWQiOiI2NmVkNDc3Mi0wNDg5LTRlOTYtYmI2NS01NDhiMmVkMmM3MWQifQ.LbOAr8pPApDlVBLi32JWtCjmCa80ByAJYq9BnTnWQgh4SWka4WzykMU0D_atE5tYtgICj2QOg-OFglv2ZqLLNw
> Exception:
> Caused by: java.lang.NullPointerException
>       at 
> org.apache.activemq.artemis.core.protocol.ProtocolHandler$ProtocolDecoder.decode(ProtocolHandler.java:185)
>  [artemis-server-1.4.0.jar:1.4.0]
> Looking at the source Artemis receive a different set of bytes ("M"QTT starts 
> at array[5])
> https://github.com/apache/activemq-artemis/blob/master/artemis-protocols/artemis-mqtt-protocol/src/main/java/org/apache/activemq/artemis/core/protocol/mqtt/MQTTProtocolManager.java#L131
> ---
> MQTT spec on password length (0 to 65535 bytes of binary data + 2bytes for 
> length)
> http://docs.oasis-open.org/mqtt/mqtt/v3.1.1/os/mqtt-v3.1.1-os.html#_Toc385349246
> Client code is here:
> https://gist.github.com/muka/df7cac712a645b9f1895274adcbe3670
> Embed artemis code is here:
> https://github.com/muka/raptor/tree/master/raptor-broker
> Thanks!



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to