I’m implementing an MQTT client for SwiftNIO
based on the MQTT 5.0 spec
and I’m not understanding a specific detail about the Authentication Exchange packet.
It’s unclear to me if the "Authentication Method” property must always be included. I see two potentially conflicting statements.
126.96.36.199 Authenticate Reason Code
The Reason Code and Property Length can be omitted if the Reason Code is 0x00 (Success) and there are no Properties. In this case the AUTH has a Remaining Length of 0.
188.8.131.52.2 Authentication Method
It is a Protocol Error to omit the Authentication Method or to include it more than once
Does anyone know if the auth method property is always required or if it can actually be omitted if the Reason Code is 0x00 (Success) and there are no Properties.