MQTT 5.0 WD07 CONNACK code Incompatible with MQTT 3.1 and MQTT 3.1.1

    • Type: Bug
    • Resolution: Fixed
    • Priority: Major
    • None
    • Affects Version/s: 5
    • Component/s: core
    • None
    • Hide

      Should the TC decide it is desirable to maintain cross version interoperability in this case, I think the following would be required.

      1.) All versions use the same return value (1) to signify incorrect protocol version.

      2) MQTT 5.0 should require that that if a connect can be processed to the point that the version can be established, the first validation check should be the version, and the value 1 SHOULD be returned and the connection closed. The server MAY choose not to send a CONNACK.

      Show
      Should the TC decide it is desirable to maintain cross version interoperability in this case, I think the following would be required. 1.) All versions use the same return value (1) to signify incorrect protocol version. 2) MQTT 5.0 should require that that if a connect can be processed to the point that the version can be established, the first validation check should be the version, and the value 1 SHOULD be returned and the connection closed. The server MAY choose not to send a CONNACK.

      The interoperability of CONNACK(unsupported protocol level) between MQTT 5.0 WD07 and MQTT 3.1.1 and MQTT 3.1 seems to be broken. My questions are 'is this a defect' and 'should it be changed'.

      MQTT 5.0 WD07 uses a different CONNACK return code for this condition as summarized be low

      Ver retval retval
      0x01 0x84
      3.1 unsupported prot. level UNDEFINED-RESERVED
      3.1.1 unsupported prot. level UNDEFINED-RESERVED
      5.0 WD07 UNDEFINED-RESERVED unsupported protocol level

      As a consequence, the following useful exchanges no longer work

      3.1 or 3.1.1 Client 5.0 WD07 Server
      CONNECT 3.1 ->
      <- CONNACK 0x84
      UNSPECIFIED

      • - -

      3.1 or 3.1.1 Client 5.0 WD07 Server
      CONNECT 3.1.1 ->
      <- CONNACK 0x84
      UNSPECIFIED

      5.0 WD07 Client MQTT 3.1 or 3.1.1 Server
      CONNECT 5.0 ->
      <- CONNACK 1
      UNSPECIFIED

      Comments

      I submit interoperability is necessary in this ONE particular case.

            Assignee:
            edbriggs
            Reporter:
            edbriggs
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: