Skip to content

MQTTv5 Implementation #316

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

Open
wants to merge 281 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
281 commits
Select commit Hold shift + click to select a range
f139ce7
MQTTV5 Connect and Connack
Jun 25, 2024
696a73a
Uncrustify: triggered by comment.
actions-user Jun 25, 2024
f206708
Delete lib directory
Pooja-Toshniwal Jun 25, 2024
1a90139
Delete unit-test directory
Pooja-Toshniwal Jun 25, 2024
7ddc747
MQTTV5 connect and connack
Jun 25, 2024
631a7d7
MQTTV5 connect and connack
Jun 25, 2024
ce62d8c
MQTTV5 connect and connack
Jun 25, 2024
803c873
MQTTV5 connect and connack
Jun 25, 2024
9a8fc0f
Delete cmake_install.cmake
Pooja-Toshniwal Jun 25, 2024
422fa5b
Delete Makefile
Pooja-Toshniwal Jun 25, 2024
ef11467
Delete DartConfiguration.tcl
Pooja-Toshniwal Jun 25, 2024
e2e534f
Delete CMakeCache.txt
Pooja-Toshniwal Jun 25, 2024
fd71017
Uncrustify: triggered by comment.
actions-user Jun 25, 2024
808cf2c
MQTTV5 connect and connack
Jun 25, 2024
9d317a7
MQTTV5 connect and connack
Jun 25, 2024
4b8d616
MQTTV5 connect and connack
Jun 25, 2024
0681b4d
MQTTV5 connect and connack
Pooja-Toshniwal Jun 25, 2024
1cf3ff2
MQTTV5 connect and connack
Jun 26, 2024
5087b3a
MQTTV5 connect and connack
Jun 26, 2024
4a194f3
Uncrustify: triggered by comment.
actions-user Jun 26, 2024
86cbfab
MQTTV5 connect and connack
Jun 26, 2024
5b3a53e
MQTTV5 connect and connack
Pooja-Toshniwal Jun 26, 2024
5d71643
MQTTV5 CONNECT AND CONNACK
Jun 30, 2024
fcda31f
Uncrustify: triggered by comment.
actions-user Jun 30, 2024
fa33b48
MQTTV5 CONNECT AND CONNACK
Jun 30, 2024
29d9bac
MQTTV5 COnenct and connack
Jul 3, 2024
e43dc29
Uncrustify: triggered by comment.
actions-user Jul 3, 2024
8b60997
Merge branch 'main' into MQTTV5_CONNECT
moninom1 Jul 3, 2024
a14676b
Mqttv5 connect and connack
Pooja-Toshniwal Jul 3, 2024
e81e068
Uncrustify: triggered by comment.
actions-user Jul 3, 2024
84c2054
MQTTV5 publish
Pooja-Toshniwal Jul 3, 2024
059ed3f
mqttv5 publish
Pooja-Toshniwal Jul 3, 2024
8f39e64
MQTTV5 Publish
Pooja-Toshniwal Jul 4, 2024
454cd69
MQTTV5 publish
Pooja-Toshniwal Jul 4, 2024
d65806c
Mqttv5 publish
Pooja-Toshniwal Jul 8, 2024
d11ac0f
MQTTV5 Outgoing Publish
Pooja-Toshniwal Jul 9, 2024
675869a
Disconnect
Pooja-Toshniwal Jul 9, 2024
8ad471c
MQTTV5 disconnect
Pooja-Toshniwal Jul 10, 2024
76697b4
Disconnect
Pooja-Toshniwal Jul 10, 2024
1ffcad0
MQTTV5
Pooja-Toshniwal Jul 11, 2024
76e7372
MQTTV5
Pooja-Toshniwal Jul 11, 2024
34a219f
MQTTV5
Pooja-Toshniwal Jul 15, 2024
8b1e761
MQTTV5
Pooja-Toshniwal Jul 16, 2024
ccaa607
Uncrustify: triggered by comment.
Pooja-Toshniwal Jul 16, 2024
c5bf168
MQTTV5
Pooja-Toshniwal Jul 16, 2024
5dbf93b
MQTTv5
Pooja-Toshniwal Jul 17, 2024
889d4ba
MQTTv5
Pooja-Toshniwal Jul 17, 2024
ce2b83e
Merge branch 'MQTTV5_Outgoing_Publish' of github.com:Pooja-Toshniwal/…
Pooja-Toshniwal Jul 18, 2024
8832e42
Merge branch 'Pooja-Toshniwal-MQTTV5_Outgoing_Publish' into main
Pooja-Toshniwal Jul 18, 2024
d39a120
MQTTv5
Pooja-Toshniwal Jul 18, 2024
5d0ac4b
Uncrustify: triggered by comment.
actions-user Jul 18, 2024
e2de0bd
MQTTv5
Pooja-Toshniwal Jul 18, 2024
b2e91fa
Uncrustify: triggered by comment.
Pooja-Toshniwal Jul 18, 2024
a0dc920
MQTTv5
Pooja-Toshniwal Jul 19, 2024
ce42e81
Add trial code
adituc Jan 30, 2025
dcdca07
Test-1 for subscribe
adituc Feb 3, 2025
d20ad76
Subscribe for MQTTV5
adituc Feb 6, 2025
b5db519
Deleting test-1
adituc Feb 10, 2025
5fe9718
Modifiying code
adituc Feb 10, 2025
2327746
Changes after test
adituc Feb 14, 2025
7cf5d7d
Complete tests for subscribe
adituc Feb 17, 2025
fc5e82e
Suback Code
adituc Feb 20, 2025
7f51754
Add Unsubscribe
adituc Feb 21, 2025
a9cca86
Add Unsubscribe-1
adituc Feb 21, 2025
97e3528
Add Unsubscribe and Unsuback
adituc Feb 23, 2025
be48bf6
Unsubscribe unit tests
adituc Feb 23, 2025
ba72e91
Adding tests for unsubscribe, unsuback and suback
adituc Feb 24, 2025
8f30b3a
Add Incoming Publish
adituc Feb 25, 2025
f10cf2a
Add Incoming Publish and tests
adituc Feb 27, 2025
86dc433
Unit testing
adituc Mar 11, 2025
c0f7a92
Change Subscribe API
adituc Mar 13, 2025
537bf8d
API Change for Subscribe
adituc Mar 13, 2025
4790327
Modifying API Subscribe, Unsubscribe
adituc Mar 14, 2025
1fe571e
Modifying Connect API
adituc Mar 14, 2025
39e1a7c
Connect API final
adituc Mar 16, 2025
260a7c6
Connack API final
adituc Mar 17, 2025
f4830d5
API change for publish, connect , unsubscribe, subscribe
adituc Mar 17, 2025
ab21dac
Removing cov files
adituc Mar 18, 2025
b8fe994
Deleting test.sh
adituc Mar 18, 2025
44f02a8
restoring deleted files
adituc Mar 18, 2025
8ebb89a
API changes
adituc Mar 18, 2025
6e0996d
API changes
adituc Mar 18, 2025
a1bc79e
API changes
adituc Mar 18, 2025
82b7b15
Changing Ack Properties structure
adituc Mar 18, 2025
5c5c1e2
Placeholder changes to ackInfo
adituc Mar 18, 2025
2c8bee8
API change for incoming Publish ACKs
adituc Mar 20, 2025
efd1218
Ack changes
adituc Mar 20, 2025
da49893
Final Ack Changes
adituc Mar 21, 2025
30ed932
API changes
adituc Mar 21, 2025
a9b38a2
Handling ack user properties
adituc Mar 24, 2025
681d7b3
Modifiying disconnect API
adituc Mar 24, 2025
d843640
disconnect api changes
adituc Mar 24, 2025
7f4e41b
adding comments
adituc Mar 25, 2025
c110e31
removing v3 flags
adituc Mar 25, 2025
6897ce4
removing v3 code
adituc Mar 25, 2025
4781f96
adding comments
adituc Mar 25, 2025
9a3c4df
removing rc
adituc Mar 26, 2025
682caac
Add optional will props builder in Connect
adituc Mar 26, 2025
31472df
Remove v3 code
adituc Mar 26, 2025
af9a933
Add minor updates to code
DakshitBabbar Mar 26, 2025
c1f5b84
Move MQTTV5_GetAckPacketSize to serializer.c
adituc Mar 27, 2025
8c1833e
Delete v3 code, modify sendConnectWithoutCopy
adituc Mar 27, 2025
1fc680a
Modifying sendPublishWithoutCopy
adituc Mar 27, 2025
0c5ca3f
Modify Disconnect to allow for NULL props
adituc Mar 27, 2025
da1173b
Change sendSubscribeWithoutCopy
adituc Mar 27, 2025
cd938c0
Change MQTTV5_GetAckPacketSize
adituc Mar 30, 2025
4fa21fa
Change MQTTV5_GetAckPacketSize
adituc Mar 30, 2025
d2480cf
Change reason code
adituc Mar 31, 2025
76577b1
Shift API calls to serializer.c
adituc Apr 1, 2025
af99d3a
Add minor updates to code
DakshitBabbar Apr 1, 2025
e79401c
Add checks for optional properties API
adituc Apr 1, 2025
b9d41b2
Merge branch 'mqtt-v5' of https://github.com/blipbloping/coreMQTT int…
adituc Apr 1, 2025
522c738
Set connectProps as an object in the MQTTContext
adituc Apr 2, 2025
e56e8f2
Move MQTTV5_InitConnect to coremqtt.c
adituc Apr 2, 2025
e9ce358
Removing remainingLengthEncodedSize from coremqtt.c
adituc Apr 2, 2025
7979d7e
Put sendMessageVector() for each topic filter
adituc Apr 2, 2025
a2089bc
inlcuding core_mqtt.h in core_mqtt_serializer.c
adituc Apr 2, 2025
dd7f51e
Add minor updates to the code.
DakshitBabbar Apr 2, 2025
2bf0587
Reverting shifting API to serializer
adituc Apr 2, 2025
23f4008
Merge branch 'mqtt-v5' of https://github.com/blipbloping/coreMQTT int…
adituc Apr 2, 2025
28b1228
Setting util properties in serializer.h
adituc Apr 2, 2025
c583293
Revert changes
adituc Apr 2, 2025
6ac9082
Remove serialize properties code
adituc Apr 3, 2025
8e9ce20
Allow users to set ackPropsBuffer to NULL in MQTT_Init
adituc Apr 3, 2025
0c7f347
Remove authInfoSize() from serializer
adituc Apr 3, 2025
22f408e
add util functions to serializer.h
adituc Apr 3, 2025
e70c0d4
Removing v3 from function names
adituc Apr 4, 2025
0a8e2a4
Add checks in subscribe
adituc Apr 4, 2025
7d76b43
add checks for publish
adituc Apr 4, 2025
b70cfa6
Change function name
adituc Apr 4, 2025
270501b
Change function names
adituc Apr 6, 2025
d437b6a
Minor updates
adituc Apr 6, 2025
84ad685
Test for outgoing acks
adituc Mar 30, 2025
13863a2
Add tests in utest and serializer_utest
adituc Apr 1, 2025
51b3d07
test for GetNextProp APIs
adituc Apr 2, 2025
a1a38f8
Modify tests for new init
adituc Apr 2, 2025
908adbb
Add tests
adituc Apr 2, 2025
253000a
Test for GetNextProp APIs
adituc Apr 2, 2025
7311e6b
final tests for optional properties
adituc Apr 2, 2025
e795f66
Revert test files to serializer_utest
adituc Apr 2, 2025
9e587de
Revert changes
adituc Apr 2, 2025
577ae88
Add unit test
adituc Apr 3, 2025
7a592e7
Add unit tests
adituc Apr 3, 2025
27bf642
Add unit tests
adituc Apr 3, 2025
0664d17
add unit tests
adituc Apr 3, 2025
b2200ec
Add tests
adituc Apr 4, 2025
7b01723
Add unit tests
adituc Apr 4, 2025
1bce250
Add tests
adituc Apr 6, 2025
f12bc36
Add tests
adituc Apr 6, 2025
fe6de29
Add tests
adituc Apr 6, 2025
8c55079
add utils file
adituc Apr 6, 2025
05d6b77
Minor updates to the code
DakshitBabbar Apr 7, 2025
55dfff0
Add reason code changes for publish acks
adituc Apr 7, 2025
55fa9d7
Merge branch 'mqtt-v5' of https://github.com/blipbloping/coreMQTT int…
adituc Apr 7, 2025
c84aab8
Minor changes
adituc Apr 7, 2025
a1fcc3d
minor fix
adituc Apr 8, 2025
8a1de56
minor fix
adituc Apr 8, 2025
6143c17
Minor fix
adituc Apr 9, 2025
c926f4b
Minor change
adituc Apr 9, 2025
c9e56e5
add checks to the APIs
adituc Apr 9, 2025
ebf74b8
incoming ack change
adituc Apr 10, 2025
ec5dee0
Add minor updates to code
DakshitBabbar Apr 11, 2025
b081bab
minor fix
adituc Apr 11, 2025
c9e7025
Merge branch 'mqtt-v5' of https://github.com/blipbloping/coreMQTT int…
adituc Apr 11, 2025
818e473
fix disconnect
adituc Apr 13, 2025
46425ab
Add checks to the getProps API
adituc Apr 14, 2025
ace68d8
Minor fix
adituc Apr 15, 2025
ef9b5c6
add tests
adituc Apr 9, 2025
f2eccc0
add unit tests
adituc Apr 13, 2025
cf7300c
Add u-test
adituc Apr 14, 2025
e7fa3f0
Add u-tests
adituc Apr 15, 2025
4605138
Add unit tests
adituc Apr 16, 2025
e44eed0
Resolve PR comments
adituc Apr 16, 2025
0c14625
Merge branch 'mqtt-v5' of https://github.com/blipbloping/coreMQTT int…
adituc Apr 16, 2025
a2269ae
Address PR comments
adituc Apr 16, 2025
e7ec509
Address PR comments
adituc Apr 17, 2025
369a3b9
resolve PR comments
adituc Apr 18, 2025
cdb1ca9
Resolve PR comments
adituc Apr 18, 2025
259032b
Refactor code
adituc Apr 18, 2025
565cc64
Resolve PR comments
adituc Apr 18, 2025
d6aea0c
merge upstream mainline
adituc Apr 18, 2025
8f4144a
Minor fix
adituc Apr 18, 2025
fadb982
Minor fix
adituc Apr 18, 2025
547f6e0
Minor fix
adituc Apr 23, 2025
0f978f2
Update the ubuntu version for uncrustify formating CI checks
DakshitBabbar Apr 23, 2025
e8fed9c
refactor code for coverity
adituc Apr 23, 2025
fb5738d
Merge branch 'mqtt-v5' of https://github.com/blipbloping/coreMQTT int…
adituc Apr 23, 2025
186c09c
tests
adituc Apr 23, 2025
d52bddf
minor fix
adituc Apr 23, 2025
59fa9d2
reason code change
adituc Apr 23, 2025
f52e146
reduce complexity
adituc Apr 23, 2025
b702c47
minor fix
adituc Apr 23, 2025
c53c176
add decodeAndDiscard_utf8
adituc Apr 24, 2025
5a8f58c
Minor change to run formatting CI
DakshitBabbar Apr 25, 2025
e05daf8
Add unit tests + formatting changes
adituc Apr 28, 2025
a010e8e
Adding tests
adituc Apr 28, 2025
59f447a
Add documentation
adituc Apr 29, 2025
d7bfe3a
Add documentation
adituc Apr 29, 2025
005bfcf
Fix warning
adituc Apr 30, 2025
bfca9af
Change test file name
adituc May 1, 2025
db6274f
add documentation
adituc May 2, 2025
fb59991
Merge branch 'main' into mqtt-v5
adituc May 2, 2025
a04b8f2
Memory stats changes
adituc May 2, 2025
8daf2f5
fix spell-check errors
adituc May 2, 2025
b810c35
fix complexity errors
adituc May 2, 2025
8de1cb9
Reduce complexity
adituc May 2, 2025
b2aede0
fix memory stats
adituc May 2, 2025
bf56497
minor fix
adituc May 2, 2025
c96f782
change complexity threshold to 17
adituc May 2, 2025
623edb1
Add extra APIs
adituc May 9, 2025
414485c
Trigger CI Checks
DakshitBabbar Apr 30, 2025
a14de1d
Fix Formatting and Memory stats
DakshitBabbar May 12, 2025
248c9ca
Fix memory stats
DakshitBabbar May 12, 2025
c67833a
Merge branch 'main' into mqtt-v5
DakshitBabbar May 12, 2025
148535e
Fix minor coverity violations
DakshitBabbar May 12, 2025
6d79968
Add MQTT_Serialize_* APIs
adituc May 14, 2025
db3d0d4
Merge branch 'mqtt-v5' of https://github.com/blipbloping/coreMQTT int…
adituc May 14, 2025
1eab9fe
modify property validation
adituc May 15, 2025
58ade31
add input checking to user facing functions
adituc May 17, 2025
4b4e47b
add checks for connack
adituc May 17, 2025
8a8b411
add validation for packets
adituc May 19, 2025
720ae16
Cleanup the code for unused macros
DakshitBabbar May 19, 2025
a2de1ff
Code cleanup and minor fix
adituc May 19, 2025
d5f9f74
Merge branch 'mqtt-v5' of https://github.com/blipbloping/coreMQTT int…
adituc May 19, 2025
cc8f2aa
fix warnings
adituc May 20, 2025
3440939
Move core_mqtt_utils.c from MQTT_SOURCES to MQTT_SERIALIZER_SOURCES
adituc May 20, 2025
4897703
Add UnsubscribeWithoutCopy and resolve PR comments
adituc May 21, 2025
5377a02
Merge branch 'mqtt-v5' of https://github.com/blipbloping/coreMQTT int…
adituc May 21, 2025
e9242b7
Combine all incoming acks under 1 function, MQTT_DeserializeAck
adituc May 25, 2025
786d9df
Add validation to Outgoing Publish Ack Properties
adituc May 26, 2025
6b9793d
Fix Formatting via uncrustify
adituc May 26, 2025
2d9c951
Update Migration Guide for coreMQTT v3.0.0 and address PR comments
adituc May 28, 2025
69be6fb
Fix coverity warnings
adituc May 28, 2025
4e37f56
Modify subscription options in MQTT_SerializeSubscribe
adituc May 28, 2025
994d11f
Minor fix
adituc May 28, 2025
36c98b9
Fix coverity warnings
adituc May 28, 2025
51a9658
Revert MQTT_SerializeSubscribe change
adituc May 28, 2025
71893b9
Merge branch 'mqtt-v5' of https://github.com/adituc/coreMQTT into mqt…
adituc May 28, 2025
baaec2b
Merge branch into mqtt-v5
adituc May 28, 2025
43b1f64
Fix memory stats, update Migration guide and fix spell check
adituc May 28, 2025
ced9b45
Increase branch coverage
adituc May 29, 2025
3ff2048
Increase branch coverage
adituc May 29, 2025
733ab44
Remove redundant test and add MISRA.md
adituc May 29, 2025
b6b5acb
Remove unused fields from the context and MQTTPublishInfo
adituc May 29, 2025
89119fb
Move MQTT_PropertyBuilder_Init to serializer
adituc May 29, 2025
80e9af0
Add invalid reason code and adjust tests
adituc May 30, 2025
ca7427a
Fix memory stats and doxygen error
adituc Jun 3, 2025
6949faa
Fix formatting via uncrustify
adituc Jun 3, 2025
b9f3a12
Fix minor unit test warning
adituc Jun 3, 2025
78084b6
Fix formatting workflow failure
adituc Jun 3, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions .github/.cSpellWords.txt
Original file line number Diff line number Diff line change
Expand Up @@ -52,3 +52,10 @@ Werror
Wextra
Wsign
Wunused
mqttpropadd
mqttpropget
pubsubscriptionid
mqttpropertybuilder
MQTTV
subscribeid

2 changes: 1 addition & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ jobs:
uses: FreeRTOS/CI-CD-Github-Actions/complexity@main
with:
path: ./
horrid_threshold: 12
horrid_threshold: 17

doxygen:
runs-on: ubuntu-latest
Expand Down
7 changes: 7 additions & 0 deletions CTestTestfile.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# CMake generated Testfile for
# Source directory: /home/ubuntu/coreMQTT/test
# Build directory: /home/ubuntu/coreMQTT
#
# This file includes the relevant testing commands required for
# testing this directory and lists subdirectories to be tested as well.
subdirs("unit-test")
5 changes: 5 additions & 0 deletions MISRA.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,3 +37,8 @@ _Ref 18.2.1_
to be subtracted from the index. It is manually verified that the index will always be
within bounds of the array. However, Coverity is flagging this as a deviation. Thus, we
are suppressing it.

#### Rule 10.5

_Ref 10.5.1_
- MISRA C-2012 Rule 10.5 states that the value of an expression should not be cast to an inappropriate essential type. In this library, reason codes are input as bytes and processed accordingly. A byte representing the reason code is cast to an enumerated type that is also based on uint8_t. It is verified that the values will always fall within the valid range of the enumeration, and the underlying type of the enumeration is compatible. Thus, this cast is considered safe.
Loading
Loading