-
Notifications
You must be signed in to change notification settings - Fork 2.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
update to 2.0.12 breaks simple micropython mqtt 3.1.1 clients #2361
Comments
update: I don't see why the check includes the keepalive=0 case as an error? |
update : I tried setting |
duplicate of #2309 (we are waiting for a new version) |
ok thanks, didn't manage to relate my 'identifier rejected' issue to the keepalive issue until after logging the initial issue. |
If it's a dup would be good to close this. And, to read the spec to see if keepalive 0 is legit or not. If not, seems best to fix the client. |
The client asking for keepalive=0 is legit, the issue is that the server doesn't let you configure max_keepalive=0 for 3.1.1 client so that it can deal with it. |
My embedded devices using the umqtt micropython MQTT v3.1.1 client (from PyCom and in the micropython respositry) stopped being able to connect to my 2.0.12 mosquitto server : they get a CONNACK with a response code of 2 (ie bad)
After digging thru the mosquitto code, it seems to me that this is due to the update
"Apply max_keepalive to MQTT v3.1.1 and v3.1 clients." commit on the 21 Aug 2021, which checks the max keepalive config for 3.1.1 clients (where before this only applied to v5 clients).
The umqtt.py code (which is pretty simplistic) always passes 'keepalive' as 0 in the CONNECT attempt, and in the mosquitto default config this now breaks.
Is this correct protocol behaviour (and if so, is there a server side config to avoid it...)?
thanks
The text was updated successfully, but these errors were encountered: