Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [mosquitto-dev] Testing mosquitto 1.3 against MQTT 3.1.1 specs (protocol level 4):

Hi Christoph,

Thanks for doing this testing.
 
1. UNSUBSCRIBE accepts empty topic name and returns UNSUBACK

All Topic Names and Topic Filters MUST be at least one character long [MQTT-4.7.3-1]

Agreed and fixed.
 
2. SUBSCRIBE accepts multi-level wildcard character in the middle of topic filter and returns  positive SUBACK

The multi-level wildcard character MUST be specified either on its own or following a topic level separator. In either case it MUST be the last character specified in the Topic Filter[MQTT-4.7.1-2].

 

3. SUBSCRIBE accepts single-level wildcard character not occupying an entire level of the topic filter  and returns  positive SUBACK

The single-level wildcard can be used at any level in the Topic Filter, including first and last levels. Where it is used it MUST occupy an entire level of the filter [MQTT-4.7.1-3].


Both agreed - the same will be true of unsub. Needs fixing.


4. PUBLISH accepts QoS = 3 and treats it as QoS = 0
   
   Though not explicitly stated, the expected behaviour is closing the connection.

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 packet [MQTT-4.8.0-1].

I agree that it accepts QoS = 3, but disagree that it treats it as QoS = 0. Fixed.
 


5. CONNECT accepts will QoS = 3 and treats it as QoS = 0

If the Will Flag is set to 1, the value of Will QoS can be 0 (0x00), 1 (0x01), or 2 (0x02). It MUST NOT be 3 (0x03). [MQTT-3.1.2-12].


I disagree, this check is already in place. I wonder if your QoS = 3 tests aren't quite right.

Cheers,

Roger

Back to the top