Commit Graph

1547 Commits (master)

Author SHA1 Message Date
Eric Blankenhorn 42c837f05a
Merge pull request #618 from aidangarske/fenrir-fixes-13223-13224-13237-13238
Fix MQTT 5 property validation and QoS 2 state handling in broker and client
2026-09-17 16:54:42 -04:00
Aidan Garske 375d19af5b Make broker retained store best-effort and tighten property validation 2026-09-17 10:19:13 -07:00
Aidan Garske 2fc5d43dd7 F-13238 - Reject inbound MQTT 5 Topic Alias the client cannot resolve 2026-09-16 14:51:53 -07:00
Aidan Garske 6d008d1c4d F-13237 - Reject invalid MQTT 5 Boolean property values when encoding 2026-09-16 14:51:53 -07:00
Aidan Garske ddf39538ca F-13224 - Free decoded CONNECT properties before building the CONNACK 2026-09-16 14:51:53 -07:00
Aidan Garske 13a45bf3b5 F-13223 - Release the QoS 2 packet id when a retained store is rejected 2026-09-16 14:51:53 -07:00
Eric Blankenhorn eafb9c1d52
Merge pull request #579 from aidangarske/fenrir-fixes-12443-12444-12445-12478-12479
Harden QoS delivery, persistent sessions, reauthentication, and MQTT SN sends
2026-09-16 13:29:43 -04:00
Aidan Garske 276d86368a Fix MQTT-SN short writes and QoS 2 delivery errors 2026-09-14 14:59:06 -07:00
Aidan Garske 6b2564f7d7 Keep MQTT 3.1.1 connected when the QoS 2 dedup table is full 2026-09-14 14:44:34 -07:00
Aidan Garske 8cd9066c73 Report a short MQTT-SN write as a network error not success 2026-09-14 14:44:34 -07:00
Aidan Garske 06accd38f1 Fix test build errors from a duplicate counter and an SN test guard 2026-09-14 14:44:34 -07:00
Aidan Garske 50dd463980 Shorten inline comments to three lines or fewer 2026-09-14 14:44:34 -07:00
Aidan Garske ad73c4d80f F-12443 - Retain MQTT-SN write ownership across partial writes 2026-09-14 14:44:33 -07:00
Aidan Garske ad0fbd0c9b F-12479 - Require QoS 2 before advancing a PUBLISH on PUBREC 2026-09-14 14:44:33 -07:00
Aidan Garske aa66d42661 F-12478 - Require re-authentication to reuse the CONNECT auth method 2026-09-14 14:44:33 -07:00
Aidan Garske 91d99079d0 F-12445 - Keep durable outbound queue on orphan session reclaim 2026-09-14 14:42:58 -07:00
Aidan Garske 6083bfe488 F-12444 - Refuse untrackable QoS 2 PUBLISH when dedup table full 2026-09-14 14:42:58 -07:00
Aidan Garske 397124402a
Merge pull request #615 from embhorn/gh_issues
Gh issues
2026-09-11 09:09:39 -07:00
Eric Blankenhorn 803c37b438 Fix from review 2026-09-10 15:07:06 -05:00
Eric Blankenhorn 36e9dcbd64
Merge pull request #583 from kareem-wolfssl/gh580_2
Reject AUTH, server-sent DISCONNECT and payload bytes in UNSUBACK below v5.  Publish Will on write failure.
2026-09-09 16:36:28 -05:00
Eric Blankenhorn 114c6e8399 Fix from review 2026-09-09 16:35:08 -05:00
Eric Blankenhorn 5230f9dcbd Fixes from review 2026-09-09 11:57:11 -05:00
Eric Blankenhorn 2b9e905a4c Fix 597, 598 and 602 2026-09-09 08:29:12 -05:00
Eric Blankenhorn a82c4146af Replay unacknowledged QoS messages on session reconnect (#597, #598, #602) 2026-09-08 16:41:17 -05:00
Eric Blankenhorn c4c6b627ab Stage QoS acknowledgements per wait object (#608) 2026-09-08 16:14:06 -05:00
Eric Blankenhorn 6ec061779d Fixes from review 2026-09-08 13:58:34 -05:00
Eric Blankenhorn 1301252ff6 Add ChangeLog entries for the broker, ClientId and password fixes 2026-09-08 11:58:09 -05:00
Eric Blankenhorn 7f60b98949 Add MqttConnect.password_len for binary passwords (#588) 2026-09-08 11:57:08 -05:00
Eric Blankenhorn ed40e5b8c7 Bind client QoS 2 dedup state to the ClientId (#595) 2026-09-08 11:53:05 -05:00
Eric Blankenhorn 23eb8ed801 Track static broker outbound Packet IDs in flight (#614) 2026-09-08 11:49:50 -05:00
Eric Blankenhorn 055b8a4186 Fix use-after-free and non-v5 identifier reset found in review 2026-09-08 11:00:20 -05:00
Eric Blankenhorn 6e444f78db Read the handshake flag directly to fix the default -Werror build 2026-09-08 10:26:59 -05:00
Eric Blankenhorn df1901a915 Add ChangeLog entries for the MQTT compliance fixes 2026-09-08 10:20:04 -05:00
Eric Blankenhorn 3ea3c09898 Track outbound Packet IDs in flight in every build (#589, #599, #601, #605, #611, #612, #613) 2026-09-08 10:20:04 -05:00
Eric Blankenhorn 5af9dafa2e Fix broker CONNACK, keepalive, DUP and QoS 0 replay (#592, #594, #596, #604, #610) 2026-09-08 10:03:46 -05:00
Eric Blankenhorn d537d61432 Send CONNECT first and only once per connection (#585, #590, #591) 2026-09-08 09:51:37 -05:00
Eric Blankenhorn f7fc470dec Reject CONNACK payload and zero publish-response Packet IDs (#603, #607) 2026-09-08 09:34:36 -05:00
Kareem f0b683c437 Code review feedback 2026-09-04 14:29:59 -07:00
Kareem 2363cb6ffe Fix write failures not publishing Wills.
Fixes #582.
2026-09-04 12:06:39 -07:00
Kareem d18df31539 Forbid payload bytes in UNSUBACK for MQTT versions below v5.
Fixes #581.
2026-09-04 12:05:34 -07:00
Kareem d4a37bff73 Reject AUTH and server-sent DISCONNECT packets in MQTT versions below v5.
Fixes #580.
2026-09-04 12:01:44 -07:00
Eric Blankenhorn 81a6a08511
Merge pull request #578 from kareem-wolfssl/zd22360
Ensure expired messages have their records removed.
2026-08-26 12:34:25 -05:00
Kareem e5025da16f Add notes and debug logging about directory requirements. 2026-08-25 17:16:50 -07:00
Kareem 0fb1c64c7d Add regression tests to ensure expired messages are properly purged. 2026-08-25 17:13:25 -07:00
Kareem f1badf72ff Code review feedback 2026-08-25 16:30:02 -07:00
Kareem 969e9ac67e Ensure expired messages have their records removed.
Thanks to Maksim Hayder for the report.
2026-08-25 16:30:02 -07:00
Eric Blankenhorn 2a7fbb6581
Merge pull request #577 from aidangarske/fenrir-fixes-8600-8602-8603-10332-10333-10337-10339-8618-8619-8624-8628-8629-10360-10361
Harden MQTT protocol validation and lifecycle handling
2026-08-25 16:08:32 -05:00
Aidan Garske c85b4878a4 F-10352 - Report unknown PUBREC packet identifiers 2026-08-25 09:06:04 -07:00
Aidan Garske d8f0d57f25 F-7648 - Bound CONNACK properties by Remaining Length 2026-08-25 09:04:18 -07:00
Aidan Garske ef66e265b9 F-10353 - Resume MQTT-SN automatic replies after partial writes 2026-08-25 09:04:18 -07:00