Commit Graph
264 Commits
Author SHA1 Message Date
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
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