XMLWordPrintable

    Details

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

      Normative

    • Proposal:
      Hide

      Remove lines 430-431 in Chapter 2 , which deal with protocol violations.

      Add terminology definitions;

      Protocol Violation: A Control Packet that is not constructed or flowed in a way which conforms to this specification.

      Transient Error: A transient error is an error which may not re occur if the action that caused it is repeated.
      Non Normative comment.
      For example, an authorization failure of a PUBLISH Packet might not re occur the next time a similar PUBLISH Packet
      is received, if the administrator has authorized the client to make the publication in the mean time.

      Rewrite Section 4.8 line 1557 on as follows:

      4.8 Handling errors.

      Unless stated otherwise, if either the Server or Client encounters a Protocol Violation, it MUST close the Network Connection on which it received that Control Packet which caused the Protocol Violation. [MQTT-4.8.0-1].

      If the Client or Server encounters a Transient Error while processing an inbound Control Packet it MUST close the Network Connection on which it received that Control Packet [MQTT-4.8.0-2]. If a Server detects a transient error it SHOULD NOT disconnect or have any other affect on its interactions with any other Client.

      Show
      Remove lines 430-431 in Chapter 2 , which deal with protocol violations. Add terminology definitions; Protocol Violation: A Control Packet that is not constructed or flowed in a way which conforms to this specification. Transient Error: A transient error is an error which may not re occur if the action that caused it is repeated. Non Normative comment. For example, an authorization failure of a PUBLISH Packet might not re occur the next time a similar PUBLISH Packet is received, if the administrator has authorized the client to make the publication in the mean time. Rewrite Section 4.8 line 1557 on as follows: 4.8 Handling errors. Unless stated otherwise, if either the Server or Client encounters a Protocol Violation, it MUST close the Network Connection on which it received that Control Packet which caused the Protocol Violation. [MQTT-4.8.0-1] . If the Client or Server encounters a Transient Error while processing an inbound Control Packet it MUST close the Network Connection on which it received that Control Packet [MQTT-4.8.0-2] . If a Server detects a transient error it SHOULD NOT disconnect or have any other affect on its interactions with any other Client.

      Description

      A few comments ago I mused about whether 4.8 Handling protocol violations listed all the protocol violations in the draft.

      Turns out it doesn't.

      Looking under 3.10.1, a value can be malformed and the server MUST close the network connection. That sounds like a protocol violation to me.

      On looking further, similar "malformed" statement occur at: 3.8.3 Payload, 3.8.1 Fixed Header, 3.6.1 Fixed header.

      If those are protocol violations and as normative statements I can't see them being anything else, then they should be reported under 4.8.

        Attachments

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              patrick Patrick Durusau
            • Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: