Description
MQTT 3.1.1 spec defines that UNSUBSCRIBE packet needs to define AT_LEAST_ONCE (01) for fixed header QoS bits. But older clients might set those to some different value, like AT_MOST_ONCE. At the moment, the mqtt-client lib will try to have this case differently and we'll get
ProtocolException: Invalid message encoding
error.
The solution is to make mqtt client parse these other values regularly and introduce the necessary checks for 3.1.1 spec version in the broker.