Commit Graph
654 Commits
Author SHA1 Message Date
Angus Gratton b342444746 riscv: Add new arch-level component
Changes come from internal branch commit a6723fc
2022-12-16 08:38:48 +01:00
Axel Lin 5facf78673 MQTT: Restore default MQTT_OUTBOX_EXPIRED_TIMEOUT_MS to 30 sec
The OUTBOX_EXPIRED_TIMEOUT_MS was 30*1000 in original esp-mqtt code.
Don't change the default OUTBOX_EXPIRED_TIMEOUT_MS without good reason,
which may has impact on memory usage for existing applications.

Fixes: e931168ed695 ("MQTT: add configurable msg expired timeout")
Signed-off-by: Axel Lin <axel.lin@gmail.com>
2022-12-16 08:38:48 +01:00
Angus Gratton 6c55757f70 Whitespace: Automated whitespace fixes (large commit)
Apply the pre-commit hook whitespace fixes to all files in the repo.

(Line endings, blank lines at end of file, trailing whitespace)
2022-12-16 08:38:48 +01:00
Jakob Hasse 87d698cbc7 cmock: added cmock as component
* changing dependencies from unity->cmock
* added component.mk and Makefile.projbuild
* ignore test dir in gen_esp_err_to_name.py
* added some brief introduction of CMock in IDF
2022-12-16 08:38:48 +01:00
Marius Vikhammer 25b661c8ea MQTT: add configurable msg expired timeout 2022-12-16 08:38:48 +01:00
Marius Vikhammer 8b3d3db10b MQTT: Update submodule reference
SSL: add config option for skipping common name check
esp-mqtt commit: https://github.com/espressif/esp-mqtt/commit/5e8950e681e5419d85e0ffc0d72a78cdeb894fd7)
Closes https://github.com/espressif/esp-mqtt/issues/158

SSL: add support for tls with secure element (ATECC608A)
esp-mqtt commit: https://github.com/espressif/esp-mqtt/commit/a7ff9afa3f82a10433bd0dfab8225e315b6f7213)
Closes https://github.com/espressif/esp-mqtt/issues/156

Websocket: Allow the query part of the uri to be a part of the path
esp-mqtt commit: https://github.com/espressif/esp-mqtt/commit/40b06deb10d27219c66ddb2e1a628caf0fc2547f)
Closes https://github.com/espressif/esp-mqtt/issues/161

Config: Add check for consistency between config settings
esp-mqtt commit: https://github.com/espressif/esp-mqtt/commit/8a412c147de5cce4b2c2a612915755cf551a1675)

Add IDF version check for secure element feature
esp-mqtt commit: https://github.com/espressif/esp-mqtt/commit/db4bce01ab6d8e4ad81e59995def48b5728d9b36)

Fix esp_mqtt_client_stop deadlock
esp-mqtt commit: https://github.com/espressif/esp-mqtt/commit/5e17dcaeb257f847386478119935ecd360f47377)
Closes https://github.com/espressif/esp-mqtt/issues/163

Add dispatch error event for read errors
esp-mqtt commit: https://github.com/espressif/esp-mqtt/commit/d4aaec08ff13b5a599f114cba8ada684901c7e54
Closes https://github.com/espressif/esp-idf/issues/5704

Cleanup expired messages when offline
esp-mqtt commit: https://github.com/espressif/esp-mqtt/commit/bdadd77c6e24382234c1960600ac2bdf4a6ace9d
Closes https://github.com/espressif/esp-idf/issues/5668

esp_mqtt_client_publish now returns msg id for QoS > 0 when offline
esp-mqtt commit: https://github.com/espressif/esp-mqtt/commit/f7325bfa10c7cacabb76e58fcd2e1622a9e1b589

Add support for Digital Signature through ESP-TLS
esp-mqtt commit: https://github.com/espressif/esp-mqtt/commit/7d8e59de0062ff9312c5e97b4a409d43271f5f81
2022-12-16 08:38:48 +01:00
David Cermak 691e7bca88 mqtt: clenaup logs and docs
esp_mqtt: Change an error print to use ESP_LOGE instead of ESP_LOGI
Move Sending MQTT connect message log from Info to Debug level
docs: Makes clear that publish API could block
Change the message printed after MQTT connection failure

Closes https://github.com/espressif/esp-idf/issues/5077
(by means of referencing commit https://github.com/espressif/esp-mqtt/commit/615aeae0c2fbf062269e19065054b8b3d087cd8e)
2022-12-16 08:38:48 +01:00
Piyush Shah 9b79fe3d00 esp_mqtt_abort_connection: Fixed an issue which could result in a race condition and subsequent crash 2022-12-16 08:38:48 +01:00
David Cermak cb782cae1e mqtt-tests: rename tests to match the actual group 2022-12-16 08:38:48 +01:00
David Cermak 9db10b5b7b mqtt: reenable outbox unit tests for esp32s2 2022-12-16 08:38:48 +01:00
Simon Brélivet 29ce3c5869 esp_mqtt: add option to configure mqtt task priority.
Merges https://github.com/espressif/esp-idf/pull/4947
2022-12-16 08:38:48 +01:00
David Cermak 605352c1c5 MQTT: Reference latest mqtt addressing c++ build and qos1/2 resend
Closes https://github.com/espressif/esp-idf/issues/4787
2022-12-16 08:38:48 +01:00
michael 5ba36d511f ci: disable failed cases for s2 temporarily 2022-12-16 08:38:48 +01:00
David Cermak 650328b021 mqtt: example test to check connection with different ssl parameters 2022-12-16 08:38:48 +01:00
David Cermak 5be3f7b5d4 mqtt: add basic set of unit tests 2022-12-16 08:38:48 +01:00
Marius Vikhammer 0178bafba8 mqtt: update submodule to point to latest commit.
Adds bugfixes for:
 - Too early publishing
 - Potential mutex memory leak
 - CI related issues.
 - Wait for entire connack message
 - Event loop not getting cleaned up

Adds support for ALPN, configurable reconnect time, QEMU CI tests and password
protected client key.

MQTT MR: https://gitlab.espressif.cn:6688/espressif/esp-mqtt/merge_requests/46
Closes IDF-1162
Closes https://github.com/espressif/esp-mqtt/issues/137

MQTT MR: https://gitlab.espressif.cn:6688/espressif/esp-mqtt/merge_requests/47
Closes IDF-1126

MQTT MR: https://gitlab.espressif.cn:6688/espressif/esp-mqtt/merge_requests/48
Closes IDFGH-2197
Closes https://github.com/espressif/esp-idf/issues/4349
Closes https://github.com/espressif/esp-mqtt/issues/140

MQTT MR: https://gitlab.espressif.cn:6688/espressif/esp-mqtt/merge_requests/48
Closes IDFGH-2235
Closes https://github.com/espressif/esp-idf/issues/4384

MQTT MR: https://gitlab.espressif.cn:6688/espressif/esp-mqtt/merge_requests/49
Closes https://github.com/espressif/esp-idf/issues/4433
Closes IDFGH-2293

MQTT MR: https://gitlab.espressif.cn:6688/espressif/esp-mqtt/merge_requests/50
Closes FCS-254

MQTT MR: https://gitlab.espressif.cn:6688/espressif/esp-mqtt/merge_requests/53
Closes FCS-267
2022-12-16 08:38:48 +01:00
David Cermak 8a24bebbc0 ci: updated mqtt weekend test for qemu support
Added default sdkconfig for qemu build for the mqtt publish example,
Added environment configuration for running the same test on target
or in qemu
Updated missing example tests per latest ttfw refactoring
2022-12-16 08:38:48 +01:00
David Cermak 62f3dc4705 mqtt: updated to latest version to include latest fixes, support for global CA store, extended error structure to receive mqtt specific errors. updated idf ssl example to use this error struct
https://github.com/espressif/esp-mqtt/issues/135
2022-12-16 08:38:48 +01:00
Marius Vikhammer 6cadfe519b MQTT: update default broker URL for examples
The MQTT broker URL used as default in the examples has ceased operation. All examples and documention have been updated to point to the new domain mqtt.eclipse.org.
This also required an update of the python example test scripts to use TLS 1.2
2022-12-16 08:38:48 +01:00
David Cermak 37e511bef1 ci: fix weekend test confguration update per latest refactoring of
grouping tests
2022-12-16 08:38:48 +01:00
liu zhifu b4ba09ce38 esp_wifi: wifi support new event mechanism
1. WiFi support new event mechanism
2. Update examples to use new event mechanism
2022-12-16 08:38:48 +01:00
Michael (XIAO Xufeng) 25f423d69b ci: limit example test to ESP32s 2022-12-16 08:38:48 +01:00
David Cermak 5a50fc0812 esp_tls: enable psk verification mode, added mqtt example using psk authentication 2022-12-16 08:38:48 +01:00
David Cermak bef4fce9c1 mqtt: referenced esp-mqtt master to close disconnection issues and fix static analysis warnings
closes https://github.com/espressif/esp-idf/issues/3619 including mqtt commit https://github.com/espressif/esp-mqtt/commit/7223302deb3ffefe60cc645c6d792fd5e4d6259c
closes https://github.com/espressif/esp-idf/issues/3215 including mqtt commit https://github.com/espressif/esp-mqtt/commit/caf5007b99df985b330683dfe2fa454c94633018
2022-12-16 08:38:48 +01:00
David Cermak 49296d851d esp-tls: extending error handle to contain error descriptors with last mbedtls failure and latest certificate verification result flags, reworked tcp_transport to use this error handle 2022-12-16 08:38:48 +01:00
David Cermak a903e5e3a9 esp-tls: capturing specific errors to be available in tcp_transport and then in application code 2022-12-16 08:38:48 +01:00
Renz Christian Bagaporo 63b3f29ffc components: use new component registration api 2022-12-16 08:38:48 +01:00
Tuan 332fadfea6 esp_websocket_client: Add websocket client component
Closes https://github.com/espressif/esp-idf/issues/2829
2022-12-16 08:38:48 +01:00
David Cermak 3a2e82ec0f mqtt: added support for esp event loop, updating examples to register and use event loop handler 2022-12-16 08:38:48 +01:00
David Cermak 7f77ad063d mqtt_tests: add weekend test for sending and receiving empty payload messages, update config options per new naming convetions 2022-12-16 08:38:48 +01:00
David Cermak 6809fcb2df tcp_transport: modified ws_read to read payload directly to the read buffer and separately from header bytes
Previous version read all data to the buffer including header which reduced maximum payload read. This version uses a local array to receive header and reads payload bytes to the buffer
2022-12-16 08:38:48 +01:00
David Cermak 6b70e14236 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
2022-12-16 08:38:48 +01:00
morris e19b9aa2df separate rom from esp32 component to esp_rom
1. separate rom include files and linkscript to esp_rom
2. modefiy "include rom/xxx.h" to "include esp32/rom/xxx.h"
3. Forward compatible
4. update mqtt
2022-12-16 08:38:48 +01:00
Roland Dobai 9726859fa3 Correct Kconfigs according to the coding style 2022-12-16 08:38:48 +01:00
David Cermak 7437dce403 mqtt: support for BEFORE_CONNECT event in idf
Updated examples to use new event id, idf to use mqtt with fixed retained, oversized messages
2022-12-16 08:38:48 +01:00
David Cermak 60e39865e6 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
2022-12-16 08:38:48 +01:00
Anton Maklakov 14e9df14ff tcp_transport: Remove the ignore warning because we had idf/esp-idf!3359 2022-12-16 08:38:48 +01:00
David Cermak a31ede754f tcp_transport: transport set handle refactoring, web socket client name updated 2022-12-16 08:38:48 +01:00
David Cermak 229167f48a tcp_transport: renamed possibly generic function names to be esp_ prefixed and not to colide with user namespace 2022-12-16 08:38:48 +01:00
David Cermak 71d6861d6a tcp_transport: renamed transport related header files to esp_ prefixed to avoid collisions
tcp_transport component used public header files such as 'transport.h', etc. which are too generic and might collide with user or user libraries headers
This change closes #2417
2022-12-16 08:38:48 +01:00
Angus Gratton 78233fe7de doc: Re-add summaries of what children each menu item has
Slightly different to the original version of this, but same goal.
2022-12-16 08:38:48 +01:00
Anton Maklakov 1d49ac3249 mqtt: silence a format warning 2022-12-16 08:38:48 +01:00
Renz Bagaporo 20dda12b88 mqtt: list files manually in component cmake file 2022-12-16 08:38:48 +01:00
David Cermak 24b656ca4b MQTT: Moved Kconfig from esp-mqtt submodule to esp-idf to support docs genration in RTD 2022-12-16 08:38:48 +01:00
David Cermak c5069977a4 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
2022-12-16 08:38:48 +01:00
Euripedes Rocha f80772b8d7 Bugfix: Remove Remove possible null pointer dereferences
- Removed a possible derefrence on data in case of MQTT5 SUBACK with
  MQTT5 disabled.
- Covered a case of NULL data on message with negative size.
- Use correct type on calloc for alpn_protos
- Changed strcasecmp to strncasecmp.
2022-12-15 13:02:46 +01:00
David Čermák d5a2c0a7c6 Merge branch 'bugfix/subscribe_error_detection' into 'master'
Fix error code verification on SUBSCRIBE error

See merge request espressif/esp-mqtt!155
2022-12-15 18:59:01 +08:00
Euripedes Rocha d1f6ad23b7 Fix error code verification on SUBSCRIBE error
- Return codes other than 0x1, 0x2, 0x3 and 0x80 are reserved and
  forbidden by the specification.
2022-12-05 15:22:48 +01:00
David Čermák fde00340f1 Merge branch 'bugfix/event_queue_disabled_deafult' into 'master'
Fix the default configuration for event queue

See merge request espressif/esp-mqtt!153
2022-11-23 22:17:25 +08:00
Rocha Euripedes fb42588a03 Fix the default configuration for event queue
- Event queue should be disabled, making it an opt-in feature.
2022-11-23 20:40:31 +08:00