David Cermak
0ab0ca5410
mqtt: Fix incorrect reads on error (idf_v4.x)
...
* Update submodule: git log --oneline 985078affa8a2d2b56b87c8e6455252850f895c6..27eb4726067465c5c67d4ecdca5ddccd26f02580
Detailed description of the changes:
* MQTT: Fix signature matching for integer values (Backport to idf_v4.x)
- See merge request espressif/esp-mqtt!133
- Closes https://github.com/espressif/esp-idf/issues/8482
- MQTT: Fix signature matching for integer values (espressif/esp-mqtt@f162002 )
* ci: Deploy idf_v4.x branch to GitHub (espressif/esp-mqtt@ee5ecad )
2022-07-15 06:16:40 +00:00
David Cermak
9e15d184d1
mqtt: Fix sending log data; dup flag after queue
...
* Fix sending mqtt message longer than Tx buffer size
* Fix enqueue API to send data with correct dup flag
* Update submodule: git log --oneline b86d42c130ac64a916ce6cf299d99f9756692394..985078affa8a2d2b56b87c8e6455252850f895c6
Detailed description of the changes:
* Isolate IDF env for v4.4 and v5.0(master)
- See merge request espressif/esp-mqtt!111
- ci: Isolate IDF env for v4.4 and v5.0(master) (espressif/esp-mqtt@4c5a65c )
* Client: Remove usage of legacy FreeRTOS types
- See merge request espressif/esp-mqtt!120
- ci: Fix build issues with IDF-4.4 against master (espressif/esp-mqtt@c28a56d )
- See commit https://github.com/espressif/esp-mqtt/commit/6ef98d6
* mqtt_client: Fix mqtt send long data error
- See merge request espressif/esp-mqtt!117
- Closes https://github.com/espressif/esp-mqtt/issues/214
- See commit https://github.com/espressif/esp-mqtt/commit/372b323
* Client: Fix use esp_mqtt_client_enqueue API to send data, data dup flag will be set 1
- See merge request espressif/esp-mqtt!116
- See commit https://github.com/espressif/esp-mqtt/commit/df8dc92
2022-03-08 09:49:50 +01:00
David Cermak
308b3e31a3
MQTT: Fix build if CONFIG_WS_TRANSPORT is not set and client cleanups
...
Updated MQTT submodule: git log --oneline f10321a53b53a146ee299cfecc320b89c0cf6611...89894bd0c611b1392967fe90bb49682eba858383
* Fix build issue if cert bundle disabled
* Fix build issue if ws transport disabled
* Add config to set retransmission interval
Detailed description of the changes (f10321a53b...89894bd0c6
):
* Added config option to configure custom retransmission interval
- See merge request espressif/esp-mqtt!110
- esp_mqtt commit 1b009c840b
- Related https://github.com/espressif/esp-mqtt/pull/199
* Configuration conflicts were verified, logged but not reported to the user.
- See merge request espressif/esp-mqtt!102
- esp_mqtt commit 88f4b8ed50
* Fixed build issue if cert bundle disabled
- See merge request espressif/esp-mqtt!109
- esp_mqtt commit 4a89bff610
- esp_mqtt commit 1b71980575
- esp_mqtt commit 5b3c81ee48
- Related https://github.com/espressif/esp-mqtt/pull/198
- Related https://github.com/espressif/esp-idf/issues/7535
* Removes unnecessary outbox_cleanup
- This function were used on old version to handle QoS 2 messages. It's no longer necessary in current implementation.
- See merge request espressif/esp-mqtt!108
- esp_mqtt commit ebef896b00
* Fixed return an error when fail to enqueue
- The functions that enqueue messages didn't had a return for the handler, with this the error was only logged instead of returned whichmay cause the user to have an ID for a message that was not published.
- See merge request espressif/esp-mqtt!103
- esp_mqtt commit 7471177fe7
* CI: Use qemu image based on esp-env:v4.4-1
- Replaced the temporary qemu image with the official qemu:v4.4-1-20210517 derived from the esp-env:v4.4-1 test environment
- See merge request espressif/esp-mqtt!107
- esp_mqtt commit 231b274962
Closes https://github.com/espressif/esp-idf/issues/7535
2022-01-07 15:07:27 +00:00
David Cermak
f7169ed063
mqtt: Moved weekend tests to test apps
2021-07-19 15:05:58 +02:00
David Cermak
9de41781d5
MQTT: Support for certificate bundle; Client clean-up
...
* Closes https://github.com/espressif/esp-idf/issues/7040
* Merges https://github.com/espressif/esp-idf/pull/7041
* Update submodule: git log --oneline 9fdf7b61385633075d5c3b84803f2dd0578d7869..f10321a53b53a146ee299cfecc320b89c0cf6611
Detailed description of the changes:
* Remove unnecessary parentheses
- esp-mqtt commit: db13533904
- esp-mqtt MR: espressif/esp-mqtt!101
* outbox: Cleanup all items when connection closes
- esp-mqtt commit: 1a94efe8b9
- esp-mqtt MR: espressif/esp-mqtt!104
* Outbox: Removes unnecessary calls to outbox_set_pending
- esp-mqtt commit: 36a3990404
- esp-mqtt MR: espressif/esp-mqtt!105
* MQTT: Makes abort connection function void.
- esp-mqtt commit: 67553aba45
- esp-mqtt MR: espressif/esp-mqtt!106
* Client: Removes unused defines
- esp-mqtt commit: eec6f0e17d
- esp-mqtt MR: espressif/esp-mqtt!100
- Closes https://github.com/espressif/esp-mqtt/issues/194
* Config: Added support for certificate bundle
- esp-mqtt commit: 06157be118
- esp-mqtt MR: espressif/esp-mqtt!98
- Closes https://github.com/espressif/esp-mqtt/issues/190
* Config: Adds missing field at config struct (path field)
- esp-mqtt commit: 5b27d1896e
- esp-mqtt MR: espressif/esp-mqtt!96
* Client: Add support for partial transport writes
- esp-mqtt commit: d8c9c7a9e7
- esp-mqtt MR: espressif/esp-mqtt!99
- Partially addresses https://github.com/espressif/esp-idf/issues/6940
* Client: Add support for Retain flag in messages posted by events
- esp-mqtt commit: a00a3134c6
- esp-mqtt MR: espressif/esp-mqtt!99
- Closes https://github.com/espressif/esp-mqtt/issues/193
* esp-mqtt: Added nullchecks for public APIs
- esp-mqtt commit: 2f57985c0b
- esp-mqtt MR: espressif/esp-mqtt!94
- Closes https://github.com/espressif/esp-mqtt/issues/185
* esp-mqtt: Reduce the includes used in all files
- esp-mqtt commit: 87fcce72c9
- esp-mqtt MR: espressif/esp-mqtt!93
* mqtt_outbox: Use STAILQ_FOREACH for outbox_delete_single_expired
- esp-mqtt commit: ff8e64839a
- esp-mqtt MR: espressif/esp-mqtt!97
- Merges https://github.com/espressif/esp-mqtt/pull/187
* Client: Add optimize for depend on ssl
- esp-mqtt commit: 8f3cac8c36
- esp-mqtt MR: espressif/esp-mqtt!95
2021-06-25 14:15:49 +02:00
liuhan
63e489255f
transport: Add CONFI_WS_TRANSPORT for optimize the code size
2021-06-23 11:26:56 +08:00
Fu Hanxi
0146f258d7
style: format python files with isort and double-quote-string-fixer
2021-01-26 10:49:01 +08:00
David Cermak
5472deec6e
ci: Add MQTT publish test to standard test apps
2021-01-05 12:04:36 +00:00
David Cermak
9740db5004
ci: Extend the MQTT weekend test to check mqtt-enqueue api
2021-01-05 12:04:36 +00:00
David Cermak
9185f8f42c
MQTT: Add new config modes (outbox related, incremental id)
2021-01-05 12:04:36 +00:00
David Cermak
4291ffa753
MQTT: Update submodule reference to support new config modes
...
* Queueing publish messages to outbox when the client is not connected (default=off -> messages are queued if disconnected)
* Use of incremental msg-id instead of random id (default=off -> msg-id uses platform_random())
* Posting a new event-id if a queued message gets deleted from the outbox (default=off -> events are not posted)
Detailed description of included `esp-mqtt` changes
(da850b0add1e71b3659bfac5d797cc834dc3e89b...9ea804e0ab5368d5ab53ae2301a5fec9d1f12f1a)
* mqtt: Remove unused mqtt_header_state_t
- esp-mqtt commit: b7158a4aea
- esp-mqtt MR: espressif/esp-mqtt!84
- Merges https://github.com/espressif/esp-mqtt/pull/180
* Cleanup public include dirs
- esp-mqtt commit: f65d5d05db
- esp-mqtt MR: espressif/esp-mqtt!85
* Config: Add a new option to use incremental message id
- esp-mqtt commit: 8bb4a26f46
- esp-mqtt MR: espressif/esp-mqtt!85
- Closes https://github.com/espressif/esp-mqtt/issues/176
* Publish: Add new API to enqueue qos>0 messages
- esp-mqtt commit: dc7fd5c0b1
- esp-mqtt MR: espressif/esp-mqtt!85
- Closes https://github.com/espressif/esp-mqtt/issues/155
* Config: Add a new option to disable publishing when disconnected
- esp-mqtt commit: f44dcb1c26
- esp-mqtt MR: espressif/esp-mqtt!85
- Related https://github.com/espressif/esp-mqtt/issues/177
* Events: Add new event to report deleted messages from outbox
- esp-mqtt commit: 2e35d4d4d5
- esp-mqtt MR: espressif/esp-mqtt!85
* Publish: Allow for qos=0 messages to be stored using esp_mqtt_client_enqueue()
- esp-mqtt commit: e2de0f3e3e
- esp-mqtt MR: espressif/esp-mqtt!85
2021-01-05 12:04:36 +00:00
David Cermak
467e4d997b
MQTT: Update submodule reference: config, error handle, minor fixes
...
Updates esp-mqtt reference to include fixes below related mainly to:
* configuration update (disable keepalive, network timeout)
* minor fixes (size_t for all sizes, unbalanced lock, api for
outbox-size)
* extended error handle to include socket's errno
Closes https://github.com/espressif/esp-idf/issues/5906
Config: Added config value to disable keepalive mechanism
esp-mqtt commit: 8562437c8a
Related https://github.com/espressif/esp-mqtt/issues/179
Added esp_mqtt_client_get_outbox_size API
esp-mqtt commit: 0a1d9d0300
Related https://github.com/espressif/esp-mqtt/pull/178
mqtt_outbox: Removed unused retry_count field from outbox_item_t
esp-mqtt commit: 673086e13a
config: Fixed typo for configuring OUTBOX_EXPIRED_TIMEOUT_MS
esp-mqtt commit: 259baaec96
Fixed missing MQTT_API_UNLOCK in esp_mqtt_client_stop error path
esp-mqtt commit: 845c2a3a1e
Related https://github.com/espressif/esp-mqtt/issues/173
Related https://github.com/espressif/esp-mqtt/pull/174
Extended mqtt error handle to capture transport's socket errno (IDF
v4.3+)
esp-mqtt commit: 23c8e1ecf5
Config: Added configuration value to set network timeout
esp-mqtt commit: a03228ac46
Related https://github.com/espressif/esp-mqtt/pull/166
Used size_t for all lengths to allow for other architectures
esp-mqtt commit: b9db8d9020
2020-11-19 17:17:40 +01:00
Angus Gratton
fccab8f4ef
riscv: Add new arch-level component
...
Changes come from internal branch commit a6723fc
2020-11-12 09:33:18 +11:00
David Čermák
807a9b111d
Merge branch 'bugfix/mqtt_outbox_timeout_default' into 'master'
...
MQTT: Restore default MQTT_OUTBOX_EXPIRED_TIMEOUT_MS to 30 sec
Closes IDFGH-4221
See merge request espressif/esp-idf!11181
2020-11-12 00:09:09 +08:00
Angus Gratton
66fb5a29bb
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)
2020-11-11 07:36:35 +00:00
Axel Lin
db276595cf
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: 0ea20bed43
("MQTT: add configurable msg expired timeout")
Signed-off-by: Axel Lin <axel.lin@gmail.com>
2020-11-06 20:42:38 +08:00
Ivan Grokhotkov
b6467257b9
Merge branch 'feature/cmock_component' into 'master'
...
cmock as component replacing unity
See merge request espressif/esp-idf!9859
2020-09-10 16:06:20 +08:00
Jakob Hasse
20c068ef3b
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
2020-09-02 16:38:37 +08:00
Marius Vikhammer
0ea20bed43
MQTT: add configurable msg expired timeout
2020-09-01 06:40:18 +00:00
Marius Vikhammer
2d67e37c6f
MQTT: Update submodule reference
...
SSL: add config option for skipping common name check
esp-mqtt commit: 5e8950e681
)
Closes https://github.com/espressif/esp-mqtt/issues/158
SSL: add support for tls with secure element (ATECC608A)
esp-mqtt commit: a7ff9afa3f
)
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: 40b06deb10
)
Closes https://github.com/espressif/esp-mqtt/issues/161
Config: Add check for consistency between config settings
esp-mqtt commit: 8a412c147d
)
Add IDF version check for secure element feature
esp-mqtt commit: db4bce01ab
)
Fix esp_mqtt_client_stop deadlock
esp-mqtt commit: 5e17dcaeb2
)
Closes https://github.com/espressif/esp-mqtt/issues/163
Add dispatch error event for read errors
esp-mqtt commit: d4aaec08ff
Closes https://github.com/espressif/esp-idf/issues/5704
Cleanup expired messages when offline
esp-mqtt commit: bdadd77c6e
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: f7325bfa10
Add support for Digital Signature through ESP-TLS
esp-mqtt commit: 7d8e59de00
2020-08-28 17:04:14 +08:00
David Cermak
78ea8a9ed5
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 615aeae0c2
)
2020-04-30 14:05:36 +00:00
Piyush Shah
6c09993e20
esp_mqtt_abort_connection: Fixed an issue which could result in a race condition and subsequent crash
2020-04-14 16:18:20 +02:00
David Cermak
6d07bcd611
mqtt-tests: rename tests to match the actual group
2020-04-08 14:41:05 +02:00
David Cermak
db677e6898
mqtt: reenable outbox unit tests for esp32s2
2020-04-01 07:06:13 +00:00
Simon Brélivet
456d4d4a20
esp_mqtt: add option to configure mqtt task priority.
...
Merges https://github.com/espressif/esp-idf/pull/4947
2020-03-23 12:28:29 +00:00
David Cermak
7bf1a1db35
MQTT: Reference latest mqtt addressing c++ build and qos1/2 resend
...
Closes https://github.com/espressif/esp-idf/issues/4787
2020-03-03 07:07:57 +00:00
michael
2529eda907
ci: disable failed cases for s2 temporarily
2020-02-15 18:28:25 +08:00
David Cermak
3ecb731c23
mqtt: example test to check connection with different ssl parameters
2020-02-07 10:35:40 +01:00
David Cermak
b8e47eb56f
mqtt: add basic set of unit tests
2020-02-07 10:35:40 +01:00
Marius Vikhammer
e8787fc49e
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
2020-01-09 11:35:49 +00:00
David Cermak
74d768fe6d
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
2019-12-17 14:06:40 +01:00
Angus Gratton
8675a818f9
Merge branch 'master' into feature/esp32s2beta_merge
2019-10-22 13:51:49 +11:00
Angus Gratton
05180dfb4c
Merge branch 'bugfix/mqtt_reference_latest_version' into 'master'
...
mqtt: updated to latest version to include latest fixes and features
See merge request espressif/esp-idf!6294
2019-10-17 18:01:58 +08:00
Marius Vikhammer
c6934d6175
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
2019-10-15 09:35:23 +00:00
Angus Gratton
496ede9bcd
Merge branch 'master' into feature/esp32s2beta_merge
2019-10-15 14:59:27 +11:00
David Cermak
640eac84fa
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
2019-10-14 06:26:14 +00:00
David Cermak
d735f1d58d
ci: fix weekend test confguration update per latest refactoring of
...
grouping tests
2019-09-30 09:51:41 +02:00
Angus Gratton
438d513a95
Merge branch 'master' into feature/esp32s2beta_merge
2019-09-16 16:18:48 +10:00
Michael (XIAO Xufeng)
63329b169b
ci: limit example test to ESP32s
2019-09-04 10:53:25 +10:00
liu zhifu
003a9872b7
esp_wifi: wifi support new event mechanism
...
1. WiFi support new event mechanism
2. Update examples to use new event mechanism
2019-08-20 09:39:51 +00:00
David Cermak
f3d6a34e7d
esp_tls: enable psk verification mode, added mqtt example using psk authentication
2019-08-07 14:27:40 +10:00
David Cermak
6289a26596
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 7223302deb
closes https://github.com/espressif/esp-idf/issues/3215 including mqtt commit caf5007b99
2019-07-18 10:34:10 +02:00
David Cermak
587739391c
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
2019-07-04 20:55:10 +02:00
David Cermak
2972f96982
esp-tls: capturing specific errors to be available in tcp_transport and then in application code
2019-07-04 20:55:10 +02:00
Renz Christian Bagaporo
9eccd7c082
components: use new component registration api
2019-06-21 19:53:29 +08:00
Tuan
2a2d932cfe
esp_websocket_client: Add websocket client component
...
Closes https://github.com/espressif/esp-idf/issues/2829
2019-06-20 15:37:40 +08:00
David Cermak
1ae0dfe7ef
mqtt: added support for esp event loop, updating examples to register and use event loop handler
2019-06-04 07:41:27 +02:00
David Cermak
7963ac65af
mqtt_tests: add weekend test for sending and receiving empty payload messages, update config options per new naming convetions
2019-05-27 21:57:18 +02:00
David Cermak
db121a56e1
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
2019-05-27 16:31:24 +02:00
David Cermak
1465f53f49
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 815623dfe5a0e41fa0e51ab4e336feb3eaa5ba15 from esp-mqtt
Closes https://github.com/espressif/esp-idf/issues/2975 by means of including commit 752953dc3be007cca4255b66a35d3087e61f6a54 from esp-mqtt
Closes https://github.com/espressif/esp-idf/issues/2850 by means of including commits df455d2a5fe562dd1b8351da99a1d6d82b66eff3 17fd713bced4f2d00df7ed664ed82a7d108ab317 from esp-mqtt
2019-03-22 11:37:26 +01:00