Qos=3 requested Qos, and Zero byte retained message

    • Type: Improvement
    • Resolution: Fixed
    • Priority: Major
    • None
    • Affects Version/s: None
    • Component/s: edits
    • None
    • Hide

      3.8.3 Payload
      line 1164 change

      The Server MUST treat a SUBSCRIBE packet as malformed and close the Network Connection if any of Reserved bits in the payload are non-zero. [MQTT-3-8.3-2]
      to
      The Server MUST treat a SUBSCRIBE packet as malformed and close the Network Connection if any of Reserved bits in the payload are non-zero, or Qos is not 0, 1 or 2.. [MQTT-3-8.3-2]

      2.1.2.3 RETAIN
      line 538

      Add
      The zero byte retained message MUST never be stored as a retained message.

      Show
      3.8.3 Payload line 1164 change The Server MUST treat a SUBSCRIBE packet as malformed and close the Network Connection if any of Reserved bits in the payload are non-zero. [MQTT-3-8.3-2] to The Server MUST treat a SUBSCRIBE packet as malformed and close the Network Connection if any of Reserved bits in the payload are non-zero, or Qos is not 0, 1 or 2.. [MQTT-3-8.3-2] 2.1.2.3 RETAIN line 538 Add The zero byte retained message MUST never be stored as a retained message.
    • Hide

      The Server MUST treat a SUBSCRIBE packet as malformed and close the Network Connection if any of Reserved bits in the payload are non-zero, or QoS is not 0,1 or 2. [MQTT-3-8.3-2].

      A zero byte retained message MUST NOT be stored as a retained message on the Server [MQTT-2.1.2.12].

      Show
      The Server MUST treat a SUBSCRIBE packet as malformed and close the Network Connection if any of Reserved bits in the payload are non-zero, or QoS is not 0,1 or 2. [MQTT-3-8.3-2] . A zero byte retained message MUST NOT be stored as a retained message on the Server [MQTT-2.1.2.12] .

      Subject: Some Comments

      From: Ian Craggs <[email protected]>
      To: [email protected]
      Date: Tue, 14 Jan 2014 15:00:41 +0000

      1. If a requested QoS is 3 in subscribe, it is not clear whether this is a malformed packet which should cause the session to be terminated, or whether a suback should be returned with invalid request or lower granted QoS. (I think the first case is intended.)

      2. When receiving a publish with the retained flag set and a payload of 0 length, it is clear that any existing retained message should be removed. But what if there is no existing retained message? In that case it is not clear if we set a retained message of 0 length, or not. (I expect not).

      3. # wildcards used to be allowed at the beginning of topic filters as well as at the end. Is this a deliberate restriction?

      Ian

            Assignee:
            Rahul Gupta (Inactive)
            Reporter:
            Andrew Banks (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved: