Commit Graph

271 Commits

Author SHA1 Message Date
Piyush Shah
dc1a635a97 esp_mqtt_abort_connection: Fixed an issue which could result in a race condition and subsequent crash 2020-03-30 19:59:27 +05:30
David Čermák
0fc904c5d8 Merge branch 'feature/config_mqtt_task_prio' into 'master'
config: option to configure mqtt task priority

See merge request espressif/esp-mqtt!61
2020-03-20 14:50:07 +08:00
Simon Brélivet
d8e2081332 config: option to configure mqtt task priority 2020-03-17 13:34:27 +01:00
David Čermák
9b750651fc Merge branch 'bugfix/add_out_buff_size' into 'master'
config: option to configure output buffer size

See merge request espressif/esp-mqtt!60
2020-03-12 04:31:35 +08:00
David Cermak
61a8f4b63c ci: fix build issue (stale CMake cache) between 4.1 and 4.2 2020-03-10 16:19:51 +01:00
David Cermak
f243225521 config: option to configure output buffer size
Both input and output buffers had the same size, but it is desirable in embedded environment to use asymetric buffers. Added configuration option to defined output buffer size, if not defined output buffer defaults to the same size as the input buffer.

Closes https://github.com/espressif/esp-mqtt/issues/152
2020-03-10 15:26:49 +01:00
David Čermák
8a1e1a5a9f Merge branch 'bugfix/mqtt_cpp_build' into 'master'
Minor fixes: C++ invalid event, Resend for QoS > 0

See merge request espressif/esp-mqtt!59
2020-02-21 16:15:23 +08:00
David Cermak
62d1509961 Resend queued: Set duplicate flag for both qos1 and qos2
Closes https://github.com/espressif/esp-mqtt/issues/151
2020-02-20 16:00:15 +01:00
David Cermak
e2aa29d2ea Client: Fix C++ build failing on incorrect event enum conversion
Closes https://github.com/espressif/esp-idf/issues/4787
2020-02-20 14:44:38 +01:00
David Čermák
d801f03f46 Merge branch 'bugfix/missed_mutex_unlock' into 'master'
Fixed missing mutex unlock if subscribe message fails to be created

See merge request espressif/esp-mqtt!58
2020-02-10 15:43:27 +08:00
David Cermak
a9036b82a4 CI: make the qemu tests use IDF release branch
Building the mqtt against idf release/v4.1 for the qemu tests to avoid potential issues on IDF master with running qemu
2020-02-10 08:01:10 +01:00
David Cermak
3e4f91ae50 Client: unlock if unsubscribe message fails to be created
In a similar way as for the subscribe message
2020-02-10 08:01:10 +01:00
Umer Ilyas
7983357489 Client: unlock if subscribe message fails to be created
Closes https://github.com/espressif/esp-mqtt/issues/150
2020-02-10 08:00:45 +01:00
David Čermák
d5e915296e Merge branch 'bugfix/failed_to_compile_on4.0' into 'master'
fix compilation issue on v-4.0

See merge request espressif/esp-mqtt!57
2020-02-03 23:53:03 +08:00
David Cermak
9e20c7ae3d CI: Add checks to build against different IDF releases 2020-02-03 10:55:42 +01:00
David Cermak
38eab46f14 Fix compilation issue with IDF version 4.0 and lower
Closes https://github.com/espressif/esp-mqtt/issues/149
2020-01-31 21:42:45 +01:00
David Čermák
b963a5cd86 Merge branch 'bugfix/outbox_tick_type' into 'master'
Various fixes in mqtt library

See merge request espressif/esp-mqtt!55
2020-01-31 21:11:27 +08:00
David Cermak
2994c3f273 receive longer (websocket) data with standard tcp_transport reads
closes IDF-1084
2020-01-30 08:32:24 +01:00
David Cermak
420441b677 set separate ssl connection properties before transport connect 2020-01-30 08:31:59 +01:00
David Cermak
bbcf078a2b fix possible double free of client config if init fails 2020-01-29 08:25:05 +01:00
David Cermak
ed90a64551 client: queued oversized messaged even if not connected 2020-01-29 08:25:05 +01:00
David Cermak
f7941e29be mqtt_outbox: fixed outbox_destroy() to correctly delete all queued messages
Closes https://github.com/espressif/esp-idf/issues/4643
Closes IDFGH-2558
Closes https://github.com/espressif/esp-mqtt/issues/148
Closes IDFGH-2599
Closes https://github.com/espressif/esp-mqtt/issues/147
Closes IDFGH-2598
2020-01-29 08:22:52 +01:00
David Cermak
3a47e3abae client locking: used recursive mutex instead to avoid getting the code too complex 2020-01-27 12:26:10 +01:00
David Cermak
9eca3f6db9 mqtt_client: set_config to update ssl-transport configuration
closes https://github.com/espressif/esp-mqtt/issues/146
closes IDFGH-2534
2020-01-25 22:24:00 +01:00
David Cermak
7087193093 mqtt_msg: address const correctness 2020-01-25 21:57:02 +01:00
David Cermak
89a0c1fc95 removed examples from the submodule
Valid and tested examples are always in esp-idf. these examples were for reference and might and have coused some confussion
2020-01-25 21:57:02 +01:00
David Cermak
6e08f6a04f mqtt_outbox: fix to store timestamps in long-long format
closes https://github.com/espressif/esp-mqtt/issues/144
closes IDFGH-2491
2020-01-25 21:57:02 +01:00
David Čermák
8ab095b5bb Merge branch 'feature/protocol_ver_rt_cfg' into 'master'
MQTT: Add runtime selection of mqtt protocol version

See merge request espressif/esp-mqtt!54
2020-01-20 16:41:55 +08:00
David Čermák
616fa257fb Merge branch 'feature/large_buffers' into 'master'
Support larger buffers and messages

See merge request espressif/esp-mqtt!56
2020-01-17 17:15:10 +08:00
Marius Vikhammer
7ac0a42831 MQTT: Add runtime selection of mqtt protocol version
Add config option for selecting protocol version at runtime.

This also fixed MQTT protocol version 3.1 which wasnt working with the original implementation

Closes https://github.com/espressif/esp-idf/issues/4448
Closes IDFGH-2311
Closes IDF-1320
2020-01-09 14:49:33 +08:00
Rohan Singh
ab1e8d7969 Support larger buffers and messages
Use `uint32_t` instead of `uint16_t` for message and buffer lengths.
This is necessary for receiving messages that are larger than 65K.
2020-01-08 15:00:10 -05:00
David Čermák
86fc8b7584 Merge branch 'feature/support_clientkey_password' into 'master'
add support for password protected client-key

See merge request espressif/esp-mqtt!53
2020-01-09 02:57:30 +08:00
David Cermak
2684ed413d add support for password protected client-key 2020-01-08 09:05:18 +01:00
David Čermák
f74fe3d887 Merge branch 'bugfix/jira_workflow' into 'master'
fix sync issues and pull requests to jira

See merge request espressif/esp-mqtt!52
2020-01-06 14:59:05 +08:00
David Cermak
acc91bacf3 fix sync issues and pull requests to jira 2020-01-03 08:11:00 +01:00
David Čermák
057f140228 Merge branch 'bugfix/fix_connect_timeout' into 'master'
waiting for entire connack message with configured network timeout

See merge request espressif/esp-mqtt!50
2019-12-23 15:57:16 +08:00
David Cermak
97f91eda5c wait for the entire connack message with the configured timeout
Configured network timeout was used to receive separate characters
in the message. This change waits for the configured timeout if reading
the mqtt packet was left in progress (mqtt_message_receive() returns 0)

Closes FCS-254
2019-12-23 07:54:59 +01:00
David Čermák
716b8625ba Merge branch 'feature/qemu_tests' into 'master'
ci: added job with publish tests on qemu

See merge request espressif/esp-mqtt!51
2019-12-23 14:52:47 +08:00
David Cermak
b25077a338 ci: add pushlish weekend tests to all pipelines (running on qemu) 2019-12-19 10:58:58 +01:00
David Čermák
99586c2768 Merge branch 'bugfix/event_handler_mem_leak' into 'master'
Fixed bug where the event loop wouldn't get cleaned up during destroy.

See merge request espressif/esp-mqtt!49
2019-12-04 18:50:43 +08:00
Marius Vikhammer
17e2f68e43 Fixed bug where the event loop wouldn't get cleaned up during destroy.
The event loop would never get deleted due to the event loop handle being
cleared to 0 before checking if it exists.

Closes https://github.com/espressif/esp-idf/issues/4433
Closes IDFGH-2293
2019-12-04 11:12:17 +08:00
David Čermák
9a5187771a Merge branch 'bugfix/publish_before_connect' into 'master'
Fixed crash due to publishing before successful transport connect.

See merge request espressif/esp-mqtt!48
2019-11-23 03:39:59 +08:00
David Cermak
e8bb0bcf6f ci: fixed ci build with latest idf using up to date compiler 2019-11-22 20:29:13 +01:00
Marius Vikhammer
9ca997d2d4 Fix potential memory leak if failing to create mutex
Closes https://github.com/espressif/esp-idf/issues/4384
Closes IDFGH-2235
2019-11-22 20:28:45 +01:00
Marius Vikhammer
9655845fdc Fixed crash due to publishing before successful transport connect.
Initialization of the outgoing message buffer is now done during mqtt_init,
which means messages can be queued before the first connection is made.

The client now checks for fail_message after creating a message, and cancels
the current operation if this happens. Updated error handling in client_publish
to be more inline with API documentation.

Closes https://github.com/espressif/esp-idf/issues/4349
Closes https://github.com/espressif/esp-mqtt/issues/140
2019-11-22 20:28:45 +01:00
David Čermák
1cd0885611 Merge branch 'feature/alpn_support' into 'master'
Add support for ALPN

See merge request espressif/esp-mqtt!46
2019-11-20 21:06:48 +08:00
Marius Vikhammer
e1ab64f0d8 Add support for ALPN
Closes IDF-1162

Closes https://github.com/espressif/esp-mqtt/issues/137
2019-11-20 17:30:58 +08:00
David Čermák
c1766c0f56 Merge branch 'feature/configurable_recon_time' into 'master'
Add reconnect time as a configurable parameter.

See merge request espressif/esp-mqtt!47
2019-11-20 17:12:45 +08:00
Marius Vikhammer
3da472fd37 Add reconnect time as a configurable parameter.
Closes IDF-1126
2019-11-18 14:43:44 +08:00
David Čermák
566b034984 Merge branch 'bugfix/err_event_mqtt_related' into 'master'
ADD: Get the response code from a failing connection.

See merge request espressif/esp-mqtt!41
2019-10-17 19:00:21 +08:00