-
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:
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.
Section 4.8 should describe general error handling. Currently title does not match content.
Many conformance statement state - in line - what to do if a specific condition is not met, often this results in 'close the connection'
It would be clearer to build simple normative statements around error handling in within Section 4.8 (consuming statement [2.0.0.1]). We can then link to the described behavior without duplicating the detail of the correct action in each statement. The format would be 'if this happens, then the result is a protocol violation' etc.
See issue
MQTT-193- Currently inconsistent on how we describe 'disconnect behavior' some control packets are lacking a description, some spell it out and some link to 4.8 which doesn't always say what the right thing to do is. There are a number of missing conformance statements.