Skip to content
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

match new PR for python library. https://github.com/eclipse/paho.mqtt… #763

Merged
merged 2 commits into from
Oct 10, 2023

Conversation

petersilva
Copy link
Contributor

Fix manual_ack support in sr3/moth/mqtt to reflect new PR (code used to support the previous paho PR, but it was never merged. I have closed that other PR now, hopefully this new one gets merged.)

Match the PR below: eclipse/paho.mqtt.python#753
The current python library acknowledges receipt of messages (in QoS=1 or 2) before calling the on_message(..) callback, and so leaves a vulnerability where messages may be acknowledged before they are properly received by the application.

The Java implementation behaves the same way by default, but has a manualAck mode boolean flag available to allow the application to take over responsibility should it choose to do so. There was a lot of discussion around the original PR, so created
this second one to be easier to accept ;-) it literally just brings the functionality existing in the Java implementation as-is to the python one.

I think a lot of people want this feature, it would be great to have it reviewed.

Two years ago, I submitted eclipse/paho.mqtt.python#554 to address the issue from 2018: eclipse/paho.mqtt.python#348 There was a lot of discussion,
but it never got merged.

@petersilva petersilva merged commit 633c181 into v03_wip Oct 10, 2023
4 checks passed
@petersilva petersilva deleted the v03_wip_mqtt_manual_acks branch October 22, 2023 14:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant