Commit Graph

738 Commits

Author SHA1 Message Date
David Cermak
202acd4d6d mqtt tests: adding weekend test for mqtt library to exercise publishing/receiving different data and references esp-mqtt commits to pass these tests
testing conditions:
transports (tcp, ssl, ws..)
qos (0, 1, 2)
short repeated messages (packed packets)
oversized messages (fragmented packets)
publish from a different thread

Closes https://github.com/espressif/esp-idf/issues/2870 by means of including commit 815623dfe5 from esp-mqtt
Closes https://github.com/espressif/esp-idf/issues/2975 by means of including commit 752953dc3b from esp-mqtt
Closes https://github.com/espressif/esp-idf/issues/2850 by means of including commits df455d2a5f 17fd713bce from esp-mqtt
2025-09-19 18:51:40 +08:00
Roland Dobai
79e16da5c4 Correct Kconfigs according to the coding style 2025-09-19 18:51:40 +08:00
David Cermak
e38e60f77e mqtt tests: connect to local broker when running in CI to make the tests more reliable 2025-09-19 18:51:40 +08:00
David Cermak
6b3ba4d55a mqtt: support for BEFORE_CONNECT event in idf
Updated examples to use new event id, idf to use mqtt with fixed retained, oversized messages
2025-09-19 18:51:40 +08:00
Ivan Grokhotkov
4b49b806f8 ci, examples: use sdkconfig.ci as an extra defaults file, if present
- Allows placing CI-specific settings into sdkconfig.ci file
- Allows substituting environment variables in sdkconfig.ci
2025-09-19 18:51:40 +08:00
Noeël Moeskops
28aabd712b Typo fix in mqtt.rst.
changed 'defalut' to 'default'

Merges https://github.com/espressif/esp-idf/pull/2780
2025-09-19 18:51:40 +08:00
Roland Dobai
f7720ff277 examples: Fix Python coding style 2025-09-19 18:51:40 +08:00
David Cermak
1d008bf4ed mqtt: example tests refactored to provide descriptive failures, addapted to python23, removed workarround for launching without mqtt-paho package 2025-09-19 18:51:40 +08:00
David Cermak
bab63dcee9 mqtt: ssl mutual authentication example added per PR from github, corrected cmake build, updated per idf style
Merges https://github.com/espressif/esp-idf/pull/2490
2025-09-19 18:51:40 +08:00
Anton Maklakov
984e218317 tcp_transport: Remove the ignore warning because we had idf/esp-idf!3359 2025-09-19 18:51:40 +08:00
Angus Gratton
7bcafbc9f4 doc: Re-add summaries of what children each menu item has
Slightly different to the original version of this, but same goal.
2025-09-19 18:51:40 +08:00
Angus Gratton
08efd1fd08 doc: Replace :envvar: config links with :ref: 2025-09-19 18:51:40 +08:00
Anton Maklakov
7f2bf4ae2f mqtt: silence a format warning 2025-09-19 18:51:40 +08:00
David Cermak
e5e56341be MQTT: Moved Kconfig from esp-mqtt submodule to esp-idf to support docs genration in RTD 2025-09-19 18:51:40 +08:00
David Cermak
ab9698a3b4 MQTT: Integrate esp-mqtt library into idf
added docs and tests for mqtt library, small fixes (removed warnings, option for custom outbox, websocket bug fixed for longer transports). refactored to use common tcp_transport component, support for CMake build system.
Closes #2108
2025-09-19 18:51:40 +08:00
Rocha Euripedes
b391966fc1 Merge branch 'fix_destroy' into 'master'
fix: Allow mqtt client to gracefully disconnect when stop

See merge request espressif/esp-mqtt!249
2025-09-12 19:10:06 +08:00
Euripedes Rocha Filho
6bc96ca0b3 fix: Allow mqtt client to gracefully disconnect when stop
Previously the failure to create a disconnect message would lead the
client to an incorrect state if called in the process of destroy.
2025-09-12 18:51:38 +08:00
Rocha Euripedes
09fb84db9d Merge branch 'ci_detect_sync_fix' into 'master'
ci: Adds missing package on ci image

See merge request espressif/esp-mqtt!250
2025-09-12 18:37:30 +08:00
Euripedes Rocha Filho
723594838f ci: Changes image used for remotes sync check 2025-09-11 16:25:03 +02:00
Rocha Euripedes
71b300dfc4 Merge branch 'sub-unsub-msg-id-race-fix' into 'master'
fix: copy message ID before unlocking client

See merge request espressif/esp-mqtt!248
2025-09-09 15:22:04 +08:00
Junius Pun
057c1ebc9e fix: copy message ID before unlocking client 2025-09-09 00:17:39 +08:00
Rocha Euripedes
c6df7e38e7 Merge branch 'fix/actulize_newlib_kconfig_variables' into 'master'
fix: actualize newlib Kconfig options

See merge request espressif/esp-mqtt!245
2025-08-21 20:04:09 +08:00
Alexey Lapshin
07399ed72d fix: actualize newlib Kconfig options 2025-08-21 15:32:11 +08:00
Rocha Euripedes
804121b721 Merge branch 'fix_logging_remove_initiator' into 'master'
fix(log): Remove initiator function was picking the worg variable for logging

See merge request espressif/esp-mqtt!243
2025-08-20 21:28:59 +08:00
Euripedes Rocha Filho
f85e8a925d feat: Add logging to outbox message deletion. 2025-08-20 20:18:37 +08:00
Euripedes Rocha Filho
4711ed97ae fix(log): Remove initiator function was picking the worg variable for logging 2025-08-20 20:18:37 +08:00
Rocha Euripedes
31ac4fe981 Merge branch 'fix_tags' into 'master'
fix(ci): Add missing tags to ci jobs

See merge request espressif/esp-mqtt!246
2025-08-20 19:35:41 +08:00
Euripedes Rocha Filho
52dbf9a66e fix(ci): Add missing tags to ci jobs 2025-08-20 12:24:25 +02:00
Rocha Euripedes
6fa1f294db Merge branch 'contrib/github_pr_298' into 'master'
feat(mqtt): enable custom TLS cipher suites for MQTTs

Closes IDFGH-15198

See merge request espressif/esp-mqtt!241
2025-05-22 17:55:41 +08:00
glmfe
56799069af Enables cypher suite configurations on IDF => 5.5
Merges https://github.com/espressif/esp-mqtt/pull/298
2025-05-21 15:24:19 +02:00
dhb
00cc9dbd9a feat(mqtt): enable custom TLS cipher suites for MQTTs
- Add `ciphersuites_list` to `esp_mqtt_client_config_t` for specifying TLS cipher suites.
- Update SSL transport configuration to use the provided cipher suites.
- Users are responsible for managing the cipher suites list memory.
2025-05-21 10:05:00 +02:00
Rocha Euripedes
6af4446a48 Merge branch 'fix/multiple_data_event' into 'master'
Multiple event data

See merge request espressif/esp-mqtt!240
2025-05-20 17:54:08 +08:00
Euripedes Rocha
9c76b7054a fix: Multiple event data
Fix a regression introduced when adding the presence of topic in all
event data.
2025-05-20 10:33:37 +02:00
Rocha Euripedes
2d2060d041 Merge branch 'fix/update_idf_version_check_for_ecdsa_support' into 'master'
Updated the idf version check for ECDSA support

See merge request espressif/esp-mqtt!239
2025-05-16 19:25:34 +08:00
hrushikesh.bhosale
7d9a384a4a fix(mqtt): Updated the idf version check for ECDSA support
ECDSA support from the esp-idf veriosn 5.2.0, although we had
support ECDSA peripheral for H2 since 5.1, but we had put the support
of ECDSA in esp-tls from v5.2.0
2025-05-16 11:36:25 +05:30
Rocha Euripedes
7737085019 Merge branch 'feat/support_for_the_ecdsa_signing' into 'master'
Added the support for the ECDSA signing

See merge request espressif/esp-mqtt!238
2025-05-15 18:55:34 +08:00
hrushikesh.bhosale
b35a69121c feat(mqtt): Add support for ECDSA signing
Added support for ECDSA signing in MQTT.
2025-05-14 12:14:43 +05:30
Rocha Euripedes
706e09f6e0 Merge branch 'fix-resending-pubrel' into 'master'
fix: pubrel message resending when pubcomp not received

See merge request espressif/esp-mqtt!236
2025-05-07 14:38:27 +08:00
Euripedes Rocha
f38a5fcee1 fix: pubrel message resending when pubcomp not received
For the case when pubcomp wasn't received we should retry sending
pubrel.
2025-04-28 13:56:34 +02:00
Rocha Euripedes
198d44cfc8 Merge branch 'fix/gen_esp_err_to_name' into 'master'
Change error message to fix warning.

Closes IDF-5028

See merge request espressif/esp-mqtt!234
2025-04-09 15:28:58 +08:00
Euripedes Rocha
c395c2f0f3 fix: Change error message to fix warning.
This fixes an error on gen_esp_err_to_name.py. The message wasn't adding
information to the user so removal of ESP_OK text is the simpler fix.
2025-04-08 14:36:09 +02:00
Rocha Euripedes
03feb38e07 Merge branch 'fix/cleanup_ci_readme' into 'master'
Small cleanu

See merge request espressif/esp-mqtt!231
2025-03-01 14:30:03 +08:00
Euripedes Rocha
bb85b20af6 fix: Adds all IDF versions under support 2025-02-28 11:18:06 +01:00
Euripedes Rocha
263c1675c5 fix: Update badges url to reflect current status 2025-02-28 11:16:26 +01:00
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