OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

mqtt message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: [OASIS Issue Tracker] (MQTT-412) Consolidated error handling.


    [ https://issues.oasis-open.org/browse/MQTT-412?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=65015#comment-65015 ] 

Ken Borgendale commented on MQTT-412:
-------------------------------------

It is a major step to change the MUST close the network connection to a SHOULD.  It seems better to leave the MUST and to leave the specific exemption for clients that they do not need to validate data they do not use.  I would support extending this to things like reserved bits for such clients but making this a general exemption and specifically allowing servers to not do such checking seems like a major step backwards.

If all servers and some clients do full validation the result is pretty clean protocol usage.

I do not think it is possible to enumerate all possible errors.  We also have a number of errors in the MAY validate category. 

> Consolidated error handling.
> ----------------------------
>
>                 Key: MQTT-412
>                 URL: https://issues.oasis-open.org/browse/MQTT-412
>             Project: OASIS Message Queuing Telemetry Transport (MQTT) TC
>          Issue Type: Bug
>          Components: core
>    Affects Versions: 5
>            Reporter: Andrew Banks
>            Assignee: Andrew Banks
>             Fix For: wd11
>
>
> The V5 specification defines Malformed Packet and 
> Protocol Error in the terminology section.
> Malformed packets are mentioned explicitly about 15 times
> and protocol errors about 50 times throughout the specification.
> Sometimes Section 4.13 is referred to and sometimes the handling of the error
> is described in line. There are more occasions where the server is required
> to check and handle a malformed packet or protocol error than when the client is.
> In some places eg. 3.4.1 Fixed Header (PUBACK) there is no explicit
> mention of any error checking.
> Some types of protocol error have their own return code eg.
> 147	0x93	Receive Maximum exceeded	DISCONNECT
> 149	0x95	Packet too large	CONNACK, DISCONNECT
> Others use the generic return codes 
> eg: 3.3.5 Actions (PUBLISH)
> a)	If the packet has a zero length Topic Name field it is a 
> Protocol Error and the receiver SHOULD send a DISCONNECT packet 
> with a Return Code of 0x82 (Protocol Error)
> and then MUST close the Network Connection.
> Section 4.13 Handling errors describes how Malformed Packet, 
> Protocol Error and other errors are handled. 
> - It is desirable to have all error situations described individually
>   and have the handling of these error described in each case. This removes
>   ambiguity.
> - If any error is not described explicitly then there is an implication 
>   that it must not be handled.
>   
> - If a lightweight implementation wants to avoid doing rigorous error 
>   checking and omits to do it, then it does not comply with the specification. 
> - It is desirable to permit implementations to handle errors not explicitly
>   called out in the specification.
> - It is desirable to permit implementations to disregard protocol errors
>   and malformed packets that cause them no problem.



--
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]