Commit Graph
237 Commits
Author SHA1 Message Date
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
David Cermak e3b013e2db Extended error structure to be used in mqtt library and include mqtt
specific errors.
Corrected typos in comments and log messages
2019-10-09 11:22:02 +02:00
João Cabral 67042a1315 ADD: Get the response code from a failing connection.
This commit adds an event information "connect_return_code" that is written
when the client state is MQTT_STATE_INIT, and the connection fails.

This event info can then be written by the user app to find out the reason
of the fail connection.

Merges https://github.com/espressif/esp-mqtt/pull/100
2019-10-09 09:23:53 +02:00
David Čermák 430676cadb Merge branch 'bugfix/early_retransmit' into 'master'
Fix early retransmit

See merge request espressif/esp-mqtt!44
2019-10-03 20:21:56 +08:00
Marius Vikhammer 52cdfa9087 Fix early retransmit
The time for retransmitting a message was set before transfer was done. This ment that if the transfer speed is slow or the message is big then it would be possible to trigger a retransmit too early.

Closes https://github.com/espressif/esp-mqtt/issues/131
2019-10-03 14:03:32 +02:00
David Čermák 40302a3d43 Merge branch 'bugfix/pulished_events_not_posted' into 'master'
MQTT: fix MQTT_PUBLISHED_EVENT not always being posted

See merge request espressif/esp-mqtt!43
2019-10-03 19:58:36 +08:00
Marius Vikhammer 3e35fc8323 MQTT: fix MQTT_PUBLISHED_EVENT not always being posted
- Some PUBLISHED events would not be posted due to outbox messages being deleted before receiving PUBCOMP.
 - Current pending_message is no longer used to check for acknowledgements, as it doesn't work with multiple or out of order messages.

Closes https://github.com/espressif/esp-mqtt/issues/132
2019-10-03 13:28:51 +02:00
David Čermák 78e2a7050e Merge branch 'bugfix/mqtt_docs_fix' into 'master'
docs: Updated publish message return code to make it clear that message_id is always 0 for QoS 0

See merge request espressif/esp-mqtt!42
2019-10-03 19:25:47 +08:00
David Čermák d01c77f70b Merge branch 'feature/error_check_for_null_msgs' into 'master'
Error checks for sending null messages

See merge request espressif/esp-mqtt!39
2019-10-03 19:14:36 +08:00
David Čermák 59b228e0ad Merge branch 'bugfix/err_report_on_publish' into 'master'
Fix not dispatching MQTT_EVENT_ERROR

See merge request espressif/esp-mqtt!40
2019-10-03 17:58:15 +08:00
David Cermak 9fbd7d9244 docs: Updated publish message return code to make it clear that message_id is always 0 for QoS 0
Closes https://github.com/espressif/esp-mqtt/issues/127
2019-09-30 08:05:51 +02:00
Laurent Louf 2e0e93a2d3 Add a check when publishing data to be able to publish a message without data without crashing.
Signed-off-by: Marius Vikhammer <marius.vikhammer@espressif.com>

Merges https://github.com/espressif/esp-mqtt/pull/117
2019-09-24 18:25:55 +08:00
Laurent Louf 2b04d177c7 Add a check when publishing data to verify that if some data length is set, data pointer cannot be NULL, in which case an error is returned.
Signed-off-by: Marius Vikhammer <marius.vikhammer@espressif.com>
2019-09-24 18:24:52 +08:00
Matias 176be08f75 Fix not dispatching MQTT_EVENT_ERROR
If a publish failure ocurred, MQTT_EVENT_ERROR was not delivered to handler set with esp_mqtt_client_register_event
2019-09-14 21:16:31 -03:00
David Čermák 04253b2b07 Merge branch 'featrue/enable_global_ca_store' into 'master'
client: added config option to enable global ca strore

See merge request espressif/esp-mqtt!38
2019-08-30 22:40:14 +08:00
David Cermak 0234f6e538 client: added config option to enable global ca strore
closes https://github.com/espressif/esp-mqtt/issues/125
2019-08-23 14:33:35 +02:00
David Čermák 1134cb234c Merge branch 'feature/support_der_certs' into 'master'
Feature/support der certs

See merge request espressif/esp-mqtt!37
2019-08-23 02:30:58 +08:00
Henning Fleddermann 9a56cc7e14 add der-format support for tls-certificates/keys 2019-08-22 15:11:49 +02:00
David Čermák 54c0161481 Merge branch 'feature/mqtt_use_new_event' into 'master'
MQTT uses new event

See merge request espressif/esp-mqtt!34
2019-08-21 17:20:26 +08:00
liu zhifu fb3d2107cd MQTT examples use new event 2019-08-16 16:15:54 +08:00
David Čermák 92aa01deb8 Merge branch 'bugfix/deadlock_when_close' into 'master'
Bugfix/deadlock when close

See merge request espressif/esp-mqtt!36
2019-08-08 18:12:17 +08:00
Thomas Bernard cbae6343e9 fix deadlock between xEventGroupWaitBits and API lock semaphore
Merges https://github.com/espressif/esp-mqtt/pull/124
Closes https://github.com/espressif/esp-mqtt/issues/122
2019-08-08 11:54:42 +02:00
David Čermák 2fef1a07c5 Merge branch 'feature/psk_auth' into 'master'
psk ssl could be used to authenticate with mqtt broker as an alternative to cerificate verification

See merge request espressif/esp-mqtt!35
2019-07-29 22:38:14 +08:00
David Cermak 117eef2dad psk ssl could be used to authenticate with mqtt broker as an alternative to cerificate verification
Closes https://github.com/espressif/esp-mqtt/issues/95
2019-07-22 14:26:47 +02:00
David Čermák dc37d3a065 Merge branch 'feature/transport_pass_error_codes' into 'master'
transport pass error codes to user code

See merge request espressif/esp-mqtt!33
2019-07-18 02:33:44 +08:00
David Cermak 0cc4077bd3 modified error type to be a generic handle to capture different types of errors 2019-07-04 09:12:40 +02:00
David Cermak 65bf2255d7 adding error event with error code 2019-07-03 08:49:54 +02:00
David Čermák e85430def7 Merge branch 'bugfix/mqtt_fix_close_if_never_connected_crash' into 'master'
MQTT Client: Check for connection before sending disconnect message

See merge request idf/esp-mqtt!32
2019-07-03 14:15:47 +08:00
David Cermak d9faeb47a3 fix resending subscribe messages
subscribe and unsubscribe messages were pushed to queue, but TRANSMIT flag wasn't set, so they were automatically retransmitted
2019-06-27 16:39:42 +02:00
David Cermak 82fa03a508 fixed possible race conditions in public API of mqtt_client
- Modified most of the public API to lock even if checking for connection state
- Updated `esp_mqtt_set_config` locks to be used also from callbacks (in mqtt-task context)
- Moved initialization of event_loop out of esp_mqtt_set_config
2019-06-27 16:36:12 +02:00
Gregory Eslinger 7223302deb MQTT Client: Check for connection before sending disconnect message
Closes https://github.com/espressif/esp-idf/issues/3619
Closes https://github.com/espressif/esp-mqtt/issues/120
Merges https://github.com/espressif/esp-mqtt/pull/118

Signed-off-by: David Cermak <cermak@espressif.com>
2019-06-27 16:33:58 +02:00
David Cermak 11f884623b Merge branch 'idf' to 'master'
Integration of ESP-MQTT to IDF

See merge request idf/esp-mqttmake
2019-06-10 14:51:27 +02:00
David Čermák 9b003d3504 Merge branch 'bugfix/ci_update' into 'idf'
mqtt ci update (both Gitlab and GitHub)

See merge request idf/esp-mqtt!31
2019-06-07 13:37:28 +08:00
David Cermak 971bf47e14 outbox: suppress clang-tidy warning of using ptr after free (no possible for STAILQ structure), removed unnecessary print 2019-06-06 17:00:03 +02:00
David Cermak a4d1ef8d79 ci: employ new static analysis utilities 2019-06-06 17:00:03 +02:00