Uploaded image for project: 'OASIS Message Queuing Telemetry Transport (MQTT) TC'
  1. OASIS Message Queuing Telemetry Transport (MQTT) TC
  2. MQTT-8

Create a new CONNACK return code to indicate that the CONNECT packet was malformed.

    XMLWordPrintable

    Details

    • Type: Improvement
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 3.1.1
    • Fix Version/s: 3.1.1
    • Component/s: core
    • Labels:
      None
    • Environment:

      MQTT Server

    • Proposal:
      Hide

      No new return code will be added, for clarity the following sentences will be added

      After line 751 WD11

      add "If a correctly formed CONNECT packet is received by the server, but the server is unable to process it (for some reason), then the server SHOULD attempt to flow one of the following connack return codes before disconnecting the TCP Connection."

      In the table from 753, elaborate as follows:

      1 0x01 Connection Refused: unacceptable protocol version - The server does not support the level of the MQTT protocol requested by the client.
      2 0x02 Connection Refused: identifier rejected - the client identifier is correct UTF-8 but not allowed in the server.
      3 0x03 Connection Refused: server unavailable - the TCP connection has been made but the MQTT service is unavailable.
      4 0x04 Connection Refused: bad user name or password - the data in the user name or password is malformed.
      5 0x05 Connection Refused: not authorized - the client is not authorized to connect.

      line 754 add "If none of these return codes are deemed applicable, then the server MUST disconnect the TCP Connection without flowing a connack."

      Show
      No new return code will be added, for clarity the following sentences will be added After line 751 WD11 add "If a correctly formed CONNECT packet is received by the server, but the server is unable to process it (for some reason), then the server SHOULD attempt to flow one of the following connack return codes before disconnecting the TCP Connection." In the table from 753, elaborate as follows: 1 0x01 Connection Refused: unacceptable protocol version - The server does not support the level of the MQTT protocol requested by the client. 2 0x02 Connection Refused: identifier rejected - the client identifier is correct UTF-8 but not allowed in the server. 3 0x03 Connection Refused: server unavailable - the TCP connection has been made but the MQTT service is unavailable. 4 0x04 Connection Refused: bad user name or password - the data in the user name or password is malformed. 5 0x05 Connection Refused: not authorized - the client is not authorized to connect. line 754 add "If none of these return codes are deemed applicable, then the server MUST disconnect the TCP Connection without flowing a connack."

      Description

      The server should flow a new CONNACK with a new return code before disconnecting the TCP session if it receives a CONNECT message which is malformed.
      Malformed means that the protocol name and version are correct but something else is incorrect, for example a User Name flag is set to indicate there is a User Name in the payload but the payload is empty.

        Attachments

          Activity

            People

            • Assignee:
              ragupta2 Rahul Gupta (Inactive)
              Reporter:
              andrew_banks Andrew Banks (Inactive)
            • Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: