Commit Graph
216 Commits
Author SHA1 Message Date
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
David Cermak edd67e1c8c used event loop only if defined in supported features (enabled by macros) for backward compatibily with older IDFs 2019-06-06 17:00:03 +02:00
David Cermak 5afe3e6b24 ci: internal ci step for building with legacy idf to avoid travis failures 2019-06-06 16:59:58 +02:00
David Čermák 94f87b98dd Merge branch 'bugfix/ws_subprotocol_mqtt' into 'idf'
Add mqtt sub protocol for websocket

See merge request idf/esp-mqtt!23
2019-06-04 18:53:06 +08:00
David Cermak 48cd04baf1 defined macros for supported features in esp-idf based on idf version 2019-05-29 14:05:49 +02:00
Tuan a6f8716fff Add mqtt sub protocol for websocket 2019-05-24 09:29:31 +02:00
David Čermák e205913b2c Merge branch 'bugfix/strict_prototypes' into 'idf'
fix warnings when compiling with `-Wstrict-prototypes`

See merge request idf/esp-mqtt!20
2019-05-17 20:49:38 +08:00
Ivan Grokhotkov 2ef78857e9 fix -Wstrict-prototypes issues 2019-05-17 14:36:44 +02:00
David Čermák b263e44777 Merge branch 'feature/new_event_loop' into 'idf'
support for esp event loop library while keeping backward compatible mode if callback configured

See merge request idf/esp-mqtt!28
2019-05-16 22:44:13 +08:00
David Cermak eeebd0215c support for esp event loop library while keeping backward compatible mode if callback configured 2019-05-16 16:29:33 +02:00
David Čermák 6f1fc3785a Merge branch 'feature/reliability_improvemnts' into 'idf'
MQTT reliability improvemnts

See merge request idf/esp-mqtt!30
2019-05-16 03:00:07 +08:00
David Cermak 18b6f2c582 Fixed formatting for all files to comply with idf style formats 2019-05-15 13:40:14 +02:00
David Cermak e442c19f4e Added API documentaton to public headers 2019-05-15 13:40:14 +02:00
David Cermak 1d294f7606 ci: github build esp-mqtt with more stable IDF (latest release version rather then master)
fixed also internal ci: use the same git command for buld and static analysis (reset --hard instead of checkout)
2019-05-15 13:40:14 +02:00
David Cermak 60cdb79a67 mqtt_msg: avoid uncasting const to mqtt topic and data pointers 2019-05-15 13:40:14 +02:00
João Cabral db71c753aa FIX: mqtt_get_id wrong logic on msg size checks.
This error was preventing the function from returning the right msg ID,
returning always 0.
2019-05-15 13:40:14 +02:00
David Cermak d159bf4575 support for publishing message with empty data 2019-05-15 13:40:08 +02:00
David Cermak 891646681e client_init: fix crashing client upon wrong parameters, init or deinit
Closes https://github.com/espressif/esp-idf/issues/3191
2019-05-15 13:37:51 +02:00
David Cermak 35fc42d2b9 mqtt_msg: added missing message type for unsubscribe msg type
Closes #109
2019-05-06 11:23:35 +02:00
David Cermak 7d22ab5fe6 pending_msg_count update on delete expired from outbox
Closes #111
2019-05-06 11:23:35 +02:00
David Cermak fd564b1f17 client receive: refactor receive to read only one message to fragment only payload for longer messages
Closes #113
2019-05-06 11:23:28 +02:00
David Čermák c4fdd7759c Merge branch 'bugfix/recv_empty_payload' into 'idf'
Added support for receiving empty payload

See merge request idf/esp-mqtt!27
2019-04-28 03:42:29 +08:00