[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: [OASIS Issue Tracker] (MQTT-216) Explore the downgrade of MUST level requirements to check UTF-8 encodings
[ https://issues.oasis-open.org/browse/MQTT-216?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=59248#comment-59248 ] Ken Borgendale commented on MQTT-216: ------------------------------------- If you only wish to use ASCII-7 characters in your targeted application, then you can simply fail for any character >0x7E or <0x20. This will ensure that the string is valid UTF-8 and that it does not contain C0 characters. The fast path for checking UTF-8 does just this, and then goes into special case code for non-ASCII-7 characters. Your are not required to support any particular code set, only to have the code set you support be encoded in UTF-8. The only exception is clientID which you must support lower and upper latin characters and ascii digits. > Explore the downgrade of MUST level requirements to check UTF-8 encodings > ------------------------------------------------------------------------- > > Key: MQTT-216 > URL: https://issues.oasis-open.org/browse/MQTT-216 > Project: OASIS Message Queuing Telemetry Transport (MQTT) TC > Issue Type: Improvement > Components: futures > Affects Versions: 3.1.1 > Reporter: Richard Coppen > > 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. -- This message was sent by Atlassian JIRA (v6.2.2#6258)
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]