Commit Graph

694 Commits

Author SHA1 Message Date
Rocha Euripedes
bdda020a1a Merge branch 'feature/parse_disconnect_mqtt5' into 'master'
feat(mqtt5): Add parsing of DISCONNECT packet to mqtt5 client

Closes IDFGH-14489

See merge request espressif/esp-mqtt!229
2025-02-21 19:43:53 +08:00
Rocha Euripedes
24d7f8b5ba Merge branch 'feature/reduce_mqtt5_ack_verbosity' into 'master'
feat(mqtt5): Reduce log verbosity for MQTT ACK

Closes IDFGH-14616

See merge request espressif/esp-mqtt!230
2025-02-19 23:02:40 +08:00
Flavia Caforio
470cb93049 mqtt_client: Manage disconnect packet
In the mqtt5 protocol the broker can disconnect the client with
a disconnect packet. This packet contains a reason value that can be
useful for certain applications in which it is important to know
the reason of disconnection.
While the client is connected is possible that a disconnect packet
is reaceived by the broker to force a disconnection. Before this
patch this approach causes a generic error on transport in case of
disconnection from the broker. If the packet is managed before getting
an error it is possible to save the reason code in the
disconnect_return_code variable in the error_handle, and dispatch
the disconnect event that can be managed by the application event
loop, that now can know the reason of disconnection from the broker.
Reset the variable in case of error.

Signed-off-by: Flavia Caforio <flavia.caforio@amarulasolutions.com>
2025-02-18 16:24:13 +01:00
Rocha Euripedes
7e5e4821fa Merge branch 'fix/update_actions_v4' into 'master'
PR: workflows: fix update actions to v4

Closes IDFGH-14621

See merge request espressif/esp-mqtt!228
2025-02-18 17:27:21 +08:00
Flavia Caforio
06b89233b8 workflows: fix update actions to v4
Starting January 30th, 2025, GitHub Actions customers will no
longer be able to use v3. It is necessary to update to v4 to make
the workflows work.
As a consequence duplicated jobs are removed.

Signed-off-by: Flavia Caforio <flavia.caforio@amarulasolutions.com>
2025-02-12 17:39:41 +01:00
Nebojsa Cvetkovic
6b7b9c32ed Reduce log verbosity for MQTT v5 ACKs 2025-02-11 02:22:33 +00:00
Rocha Euripedes
cea7e959ee Merge branch 'fix/deleted_msg_event' into 'master'
When MQTT_REPORT_DELETED_MESSAGES, delete QOS messages with id 0

Closes IDFGH-14022 and IDFGH-14021

See merge request espressif/esp-mqtt!225
2024-11-18 17:49:39 +08:00
Euripedes Rocha
ea036a5819 doc: Clarify deleted message event to cover QoS=0 case
Minor improvement on documentation for the event.

Merges github.com/espressif/esp-mqtt/pull/290
Closes github.com/espressif/esp-mqtt/issues/289
2024-11-15 10:38:10 +01:00
Totrasmek
b82c8f6c87 When MQTT_REPORT_DELETED_MESSAGES, delete QOS messages with id 0 2024-11-07 10:08:56 +11:00
Rocha Euripedes
942fd027f2 Merge branch 'fix_client_destroy' into 'master'
fix: Race condition when using destroy

See merge request espressif/esp-mqtt!223
2024-10-23 20:28:34 +08:00
Euripedes Rocha
44292cc2c4 fix: Race condition when using destroy
In a case were destroy is being called by a higher priority task set the
STOPPED_BIT before seting the state would lead to a crash.
2024-10-14 12:57:05 +02:00
Rocha Euripedes
9de024ca53 Merge branch 'feature/tcp_keepalive' into 'master'
feat: Add TCP keepalive configuration

Closes IDF-8049

See merge request espressif/esp-mqtt!220
2024-09-25 17:20:52 +08:00
Rocha Euripedes
e89f239358 Merge branch 'feature/message_topic_in_multichunk_msg' into 'master'
feat: Include message topic in all chunks

Closes IDFGH-11179

See merge request espressif/esp-mqtt!219
2024-08-22 18:57:03 +08:00
Bogdan Kolendovskyy
82017e9bcc feat: Include message topic in all data events for big messages.
When message is larger than the buffer, and must produce several events include topic where it came from in each of those events
2024-08-22 12:48:43 +02:00
Bogdan Kolendovskyy
7c3227a24d feat: Add TCP keepalive configuration 2024-08-22 11:18:43 +02:00
Rocha Euripedes
b5b80336b7 Merge branch 'fix/clean_transport' into 'master'
fix: set TCP transport every time when setting the config

See merge request espressif/esp-mqtt!218
2024-07-10 22:07:55 +08:00
Rocha Euripedes
1420c01c88 Merge branch 'feat/get_transport' into 'master'
feat: Allow users to get the transport in use

See merge request espressif/esp-mqtt!216
2024-07-10 15:17:41 +08:00
Rocha Euripedes
97dc85a080 feat: Allow users to get the transport in use 2024-07-10 15:17:41 +08:00
Rocha Euripedes
72d7bc7f55 Merge branch 'clean_expired' into 'master'
clean: Remove expired deletion from publish

See merge request espressif/esp-mqtt!217
2024-07-09 16:36:06 +08:00
Jackson Ming Hu
c3c4cb9a2a fix: set TCP transport every time when setting the config 2024-07-01 16:54:47 +10:00
Euripedes Rocha
2285726229 clean: Remove expired deletion from publish
Since expired messages deletion are now handled in all states this call
is unnecessary.
2024-06-17 15:23:17 +02:00
Rocha Euripedes
cac1552e62 Merge branch 'fix/analyzer-unknown-pragma-warning' into 'master'
fix: clang analyzer unknown pragma warning

See merge request espressif/esp-mqtt!215
2024-06-10 21:38:11 +08:00
Alexey Lapshin
6bb5a5bab0 fix: clang analyzer unknown pragma warning 2024-06-10 20:08:47 +07:00
Rocha Euripedes
e6c5596f3f Merge branch 'fix/analyzer-unknown-pragma-warning' into 'master'
fix: gcc analyzer unknown pragma warning

See merge request espressif/esp-mqtt!214
2024-06-10 20:41:41 +08:00
Alexey Lapshin
b5272039fe fix: gcc analyzer unknown pragma warning 2024-06-10 19:34:48 +07:00
Rocha Euripedes
a0f4ce85de Merge branch 'Improve-handling-of-expired-messages' into 'master'
feat: Moves deletion of expired messages to run at all states

Closes IDFGH-12831

See merge request espressif/esp-mqtt!213
2024-06-03 20:48:47 +08:00
Rocha Euripedes
60c76d5f17 Merge branch 'fix/enqued_qos0_handling' into 'master'
fix: Handling of state in the outbox for enqueued QoS 0 messages

Closes IDFGH-12829

See merge request espressif/esp-mqtt!212
2024-06-03 20:48:18 +08:00
Euripedes Rocha
32dada47ff feat: Moves deletion of expired messages to run at all states
Process expiration of messages in all states removing messages from the
outbox even in disconnected scenarios.

Closes https://github.com/espressif/esp-mqtt/issues/278
2024-05-27 10:56:40 +02:00
Euripedes Rocha
739cb2dd32 fix: Handling of state in the outbox for enqueued QoS 0 messages
If a QoS 0 was handled by the enqueued messages transmission, it could
lead to set incorrectly another QoS 0 as transmitted.

Closes https://github.com/espressif/esp-mqtt/issues/276
2024-05-27 16:36:14 +08:00
Rocha Euripedes
bed1207999 Merge branch 'fix_gcovr_install' into 'master'
fix: Instalation of gcovr in host tests was broken

See merge request espressif/esp-mqtt!211
2024-05-24 15:18:14 +08:00
Euripedes Rocha
6643c49cb6 fix: Instalation of gcovr in host tests was broken
Fix instalation by allowing pip to avoid system packages.
2024-05-23 08:54:55 +02:00
Rocha Euripedes
72feca44d6 Merge branch 'fix_mqtt5_topic_alias' into 'master'
Allow to publish using only topic alias on MQTT5

Closes IDFGH-12735

See merge request espressif/esp-mqtt!207
2024-05-23 14:37:03 +08:00
Euripedes Rocha
0071aca61d Fix: Allow to publish using only topic alias on MQTT5
Previously if message had a NULL topic filter the client would reject
and not build the messages. This fix it allowing the usage of topic
alias.
2024-05-23 13:56:34 +08:00
Rocha Euripedes
e694d80b05 Merge branch 'refactor/mqtt_remove_heap_mock' into 'master'
refactor: replaced heap mock with Linux-compatible heap component

See merge request espressif/esp-mqtt!208
2024-05-23 13:56:10 +08:00
Rocha Euripedes
833870068d Merge branch 'fix/gcc-fanalyzer-warnings' into 'master'
fix: gcc -fanalyzer warnings

See merge request espressif/esp-mqtt!209
2024-05-23 13:55:21 +08:00
Jakob Hasse
8b0b43efa8 refactor: replaced heap mock with Linux-compatible heap component 2024-05-22 22:16:27 +08:00
Alexey Lapshin
8bc3bff757 fix: gcc -fanalyzer warnings 2024-05-22 22:15:48 +08:00
Rocha Euripedes
d27bd520b2 Merge branch 'fix_host_test' into 'master'
fix: Use catch from component manager

See merge request espressif/esp-mqtt!210
2024-05-22 22:15:21 +08:00
Euripedes Rocha
53e0cc75ee fix: Use catch from component manager
The version present on idf repo was failing to compile.
Simple fix is to update to latest supported provided by component manager.
2024-05-22 14:58:58 +02:00
Rocha Euripedes
ef12b615e1 Merge branch 'fix_host_test_github' into 'master'
fix: Fix host test for github ci.

Closes IDF-8883

See merge request espressif/esp-mqtt!206
2024-04-24 21:52:37 +08:00
Euripedes Rocha
b43d93c82d fix: Fix host test for github ci. 2024-04-17 14:35:34 +02:00
Rocha Euripedes
aa6f889fb4 Merge branch 'fix/error_codes' into 'master'
fix: regard reason codes greater than 0x80 as failures.

See merge request espressif/esp-mqtt!205
2024-04-05 17:09:50 +08:00
Rocha Euripedes
1edd167dcb Merge branch 'fix/calloc_failure' into 'master'
PR: Return on allocation failure

See merge request espressif/esp-mqtt!204
2024-04-03 15:29:51 +08:00
Ss Wang
c06f1540fe set last_retransmit to now when first connected
when published before connected, the msg will be always retransmitted immediately even it is  send right now
2024-04-02 10:48:45 +02:00
Ss Wang
37478a9c00 add return to faile_message, avoid segment fault
should not use response_topic when calloc failed
2024-04-02 10:48:45 +02:00
Rocha Euripedes
fd21b27a83 Merge branch 'fix/unused_variable_warning' into 'master'
Minor warning of unused variable

See merge request espressif/esp-mqtt!203
2024-04-02 14:41:47 +08:00
zhouzb
e7b9aa5e6a fix: regard reason codes greater than 0x80 as failures. 2024-04-01 10:37:42 +08:00
Euripedes Rocha
726e5f2fce fix: Minor warning of unused variable
In case of hardcoded id mac array was unused.
2024-03-28 14:16:34 +01:00
Rocha Euripedes
14f5fa079f Merge branch 'fix/cliend_id' into 'master'
Cover the case for SOC without MAC address

See merge request espressif/esp-mqtt!202
2024-03-28 20:37:54 +08:00
Euripedes Rocha
5e3abd4b8c fix: Cover the case for SOC without MAC address
We need to cover for the case where the available MAC isn't defined in
soc caps. E.g. A new target is being introduced but the support isn't
complete yet.
2024-03-28 12:40:07 +01:00