Explore the downgrade of MUST level requirements to check UTF-8 encodings

    • Type: Improvement
    • Resolution: Fixed
    • Priority: Minor
    • 5, wd13
    • Affects Version/s: 5
    • Component/s: edits
    • None
    • Hide

      Change the wording around UTF-8 encoded strings to match the general error handling. A packet containing an invalid UTF-8 codepoint is a Malformed Packet, and the handling is consistent with the handling of such an error (the server must check, the client should check).

      Show
      Change the wording around UTF-8 encoded strings to match the general error handling. A packet containing an invalid UTF-8 codepoint is a Malformed Packet, and the handling is consistent with the handling of such an error (the server must check, the client should check).

      Following on from David Kemper's mqtt-comment on CSPRD02 the TC agreed to open this Jira to explore the relaxing of the MUST level requirements surround UTF-8 checking

      Servers are required to scan the UTF-8 content of all strings in all packets. Since the strings themselves are bounded by a length prefix, is it possible that the following MUST level clauses could downgraded to SHOULD / SHOULD NOT to promote lower-latency solutions?

      [MQTT-1.5.3-1] The character data in a UTF-8 encoded string MUST be well-formed UTF-8 as defined by the Unicode specification [Unicode] and restated in RFC 3629[RFC3629]. In particular this data MUST NOT include encodings of code points between U+D800 and U+DFFF. If a Server or Client receives a Control Packet containing ill-formed UTF-8 it MUST close the Network Connection.

      [MQTT-1.5.3-2] A UTF-8 encoded string MUST NOT include an encoding of the null character U+0000. If a receiver (Server or Client) receives a Control Packet containing U+0000 it MUST close the Network Connection.

            Assignee:
            Ken Borgendale (Inactive)
            Reporter:
            Richard Coppen (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: