David Cermak
14992e62c5
ws_client: fix fragmented send setting proper opcodes
...
Previous implementation violated the RFC by having both the actual opcode and WS_FIN flag set for all fragments of a message.
Fixed by setting the opcode only for the first fragment and WS_FIN for the last one
Closes IDFGH-2938
Closes https://github.com/espressif/esp-idf/issues/4974
2020-04-14 16:11:32 +02:00
Renz Bagaporo
3d0967a58a
test: declare requirements and include dirs private
2020-03-23 10:58:50 +08:00
Renz Bagaporo
4d9c573fb6
test, examples: use new component registration function
2020-03-23 10:58:48 +08:00
David Cermak
aa3b1da384
esp_tls: added connection timeout to esp_tls_conn_new_sync()
2020-01-16 07:32:19 +00:00
Angus Gratton
4ece6eedae
Merge branch 'bugfix/ws_rcv_exceed_buf' into 'master'
...
tcp_transport/ws_client: websockets now correctly handle messages longer than buffer
Closes IDF-1084 and IDF-1083
See merge request espressif/esp-idf!6740
2020-01-09 13:18:31 +08:00
David Cermak
b69ac4448e
tcp_transport: added API for client-key password
2020-01-06 21:16:24 +00:00
Marius Vikhammer
ffeda3003c
tcp_transport/ws_client: websockets now correctly handle messages longer than buffer
...
transport_ws can now be read multiple times in a row to read frames larger than the buffer.
Added reporting of total payload length and offset to the user in websocket_client.
Added local example test for long messages.
Closes IDF-1083
2020-01-06 17:18:13 +08:00
David N. Junod
9200250f51
Add User-Agent and additional headers to esp_websocket_client
...
Merges https://github.com/espressif/esp-idf/pull/4345
2019-11-21 21:14:29 +01:00
Angus Gratton
412b202741
Merge branch 'bugfix/ws_client_fix_wait_forever_timeout' into 'master'
...
ws_client: fix handling timeouts by websocket client.
Closes IDFGH-2161
See merge request espressif/esp-idf!6683
2019-11-20 07:44:25 +08:00
David Cermak
e1f982921a
ws_client: fix handling timeouts by websocket client.
...
tcp-transport component did not support wait forever. this update uses value of -1 to request this state.
websocket client uses timeouts in RTOS ticks. fixed recalculation to ms (including special value of -1) to use correctly tcp-transport component
Closes https://github.com/espressif/esp-idf/issues/4316
2019-11-18 10:59:41 +00:00
Marius Vikhammer
ed85046138
tcp_transport: added functionality for using ALPN with SSL
...
Closes IDF-1160
2019-11-13 11:33:13 +08:00
Angus Gratton
b7fd8166d5
Merge branch 'bugfix/ws_opcodes_fix' into 'master'
...
ws_client: fix for not sending ping responses, updated to pass events also for...
See merge request espressif/esp-idf!6111
2019-10-17 12:36:08 +08:00
David Cermak
abf9345b85
ws_client: fix for not sending ping responses, updated to pass events also for PING and PONG messages, added interfaces to send both binary and text data
...
closes https://github.com/espressif/esp-idf/issues/3982
2019-10-14 11:05:27 +02:00
David Cermak
555cc11a25
tcp_transport: fix possible buffer overflow in ws transport connect
...
closes IDF-692
2019-10-14 06:50:22 +00:00
David Cermak
ea955e1efc
ws_client: fix ping-pong mechanism to use mask, support reception of zero-payload PONG and sending non-zero-payload PING
...
Closes https://github.com/espressif/esp-idf/issues/3890
Closes https://github.com/espressif/esp-idf/issues/4138
2019-10-03 07:32:17 +02:00
Liu Han
3ca07b3e70
fix(transport): Fix a bug of the connection whether be active or not by timeout option when the select function return a correct value.
2019-09-12 13:55:47 +08:00
Ivan Grokhotkov
61a1a468bb
tcp_transport: replace transport_strcasestr with strcasestr
...
esp32-2019r1 toolchain version includes 'strcasestr', so the version
provided in tcp_transport component is no longer needed.
2019-08-15 17:51:54 +02:00
Angus Gratton
e8bdfe07ae
Merge branch 'feature/tls_psk_authentication' into 'master'
...
esp_tls: add psk verification mode
Closes IDFGH-992
See merge request espressif/esp-idf!5095
2019-08-12 12:45:34 +08:00
Renz Christian Bagaporo
4dd2b9edb1
components: fix incorrect include dir args
2019-08-09 08:40:17 +08:00
David Cermak
f3d6a34e7d
esp_tls: enable psk verification mode, added mqtt example using psk authentication
2019-08-07 14:27:40 +10:00
Angus Gratton
7ef5fa8a0a
Merge branch 'feature/transport_support_der_certs' into 'master'
...
tcp transport ssl DER-support
See merge request espressif/esp-idf!5627
2019-08-05 09:52:08 +08:00
David Cermak
25dd5e39af
esp-tls: Naming variables refering to certificates and keys in a neutral way to suggest that both PEM and DER format could be used, added comments descibing important details about using these formats
2019-08-02 09:25:16 +02:00
Henning Fleddermann
546b625433
add _der variants for esp_transport_ssl_set_(client_cert|client_key|cert_data)
...
Signed-off-by: David Cermak <cermak@espressif.com>
Merges https://github.com/espressif/esp-idf/pull/3783
2019-08-02 09:25:16 +02:00
Anton Maklakov
afbaf74007
tools: Mass fixing of empty prototypes (for -Wstrict-prototypes)
2019-08-01 16:28:56 +07:00
David Cermak
8fc02e860a
tcp_tansport: websocket layer modifies in-buffer data (for masked transports). This fix reverts the data back to original rather then making a copy.
...
Closes https://github.com/espressif/esp-idf/issues/3774
2019-07-16 09:47:18 +02:00
Angus Gratton
d67b9403e8
Merge branch 'feature/tcp_transport_pass_errors_stage1' into 'master'
...
esp-tls: capturing specific errors to be available in tcp_transport and then in application code
See merge request espressif/esp-idf!4782
2019-07-08 08:51:29 +08: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
Max Holtzberg
edbcb5b295
esp_transport_destroy: Fix memory leak
...
if tcp_transport component was used separately (e.g. using tranpsort_ssl.h directly without building list of transport) then it leaks memory on unitialization
Merges https://github.com/espressif/esp-idf/pull/3541
Closes https://github.com/espressif/esp-idf/issues/3531
Signed-off-by: David Cermak <cermak@espressif.com>
2019-07-04 11:07:41 +02:00
David Cermak
412dc95168
tcp_transport: added basic unit tests for init/destroy transports in lists or when used separately
2019-07-04 11:07:41 +02:00
Jitin George
c536c8fa5f
tcp_transport: Add API to allow skipping of certificate CN validation
2019-06-25 23:41:33 +00: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
243e0b229f
tcp_transport: fix minor memory leak found by static analyzer
...
Closes https://github.com/espressif/esp-idf/issues/3602
2019-06-10 14:28:42 +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
d41d70b8ef
tcp_transport: reading http header in a chunked mode until header terminator received (or timeout) to correctly receive all header if fragmented
...
Closes https://github.com/espressif/esp-idf/issues/3461
2019-05-20 16:40:03 +02:00
Bas Verhoeven
16ee5663ad
transport_ws: Stop connecting when the parent's connect call has failed
...
Merges https://github.com/espressif/esp-idf/pull/3164
2019-04-04 16:14:42 +02:00
David Cermak
5141e0ec24
tcp_transport: ws fix on reception of longer data than receive buffer
2019-03-22 11:37:26 +01:00
morris
c159984264
separate rom from esp32 component to esp_rom
...
1. separate rom include files and linkscript to esp_rom
2. modefiy "include rom/xxx.h" to "include esp32/rom/xxx.h"
3. Forward compatible
4. update mqtt
2019-03-21 18:51:45 +08:00
Jitin George
d943c8de94
tcp_transport: Fix case sensitive header comparison
...
Closes https://github.com/espressif/esp-idf/issues/3106
2019-03-14 14:31:28 +05:30
Mahavir Jain
27e00cf7aa
esp_http_client: add support for using certs from global ca store
...
Closes https://github.com/espressif/esp-idf/issues/3062
2019-02-27 14:19:06 +05:30
rustyx
053219283d
Handle esp_tls_conn_read disconnection in ssl_read. Fixes #2805
...
Closes https://github.com/espressif/esp-idf/pull/2967
2019-01-23 16:47:23 +05:30
Ivan Grokhotkov
ad5d81df04
Merge branch 'feature/mqtt_before_connect_event' into 'master'
...
MQTT support for fragmented and packed messages
See merge request idf/esp-idf!3743
2019-01-11 15:38:23 +08:00
Jitin George
e2ae69f6fb
Minor Bugfixes in esp_http_client, tcp_transport and simple_ota_example
2019-01-07 16:33:41 +08:00
David Cermak
bed26be427
tcp_transport: modification of ws to read headers first in order to read the exact payload
...
closes https://github.com/espressif/esp-mqtt/issues/69
2019-01-03 09:22:40 +01:00
Ivan Grokhotkov
ee0dea3d0d
Merge branch 'bugfix/esp_http_client_async_crash' into 'master'
...
esp_http_client: Fix crash in async mode
See merge request idf/esp-idf!3551
2018-11-05 12:30:04 +08:00
Jitin George
3551b84c3a
esp_http_client: Fix crash in async mode
...
Closes https://github.com/espressif/esp-idf/issues/2624
2018-10-30 09:58:57 +00:00
David Cermak
0cdb33c9dd
mqtt: ssl mutual authentication example added per PR from github, corrected cmake build, updated per idf style
...
Merges https://github.com/espressif/esp-idf/pull/2490
2018-10-30 08:04:09 +01:00
Riccardo Binetti
9ce8e1e5a1
transport_ssl: add support for mutual SSL authentication
...
Signed-off-by: David Cermak <cermak@espressif.com>
2018-10-30 08:04:09 +01:00
David Cermak
0d4f5cc495
tcp_transport: transport set handle refactoring, web socket client name updated
2018-10-02 15:19:46 +02:00
David Cermak
e02225cc07
tcp_transport: renamed possibly generic function names to be esp_ prefixed and not to colide with user namespace
2018-10-02 14:16:48 +02:00
Anton Maklakov
2c5a25a42e
tcp_transport: Use getrandom() instead of rand() in the entire esp-mqtt
...
Signed-off-by: David Cermak <cermak@espressif.com>
2018-10-02 14:16:26 +02:00
Anton Maklakov
e3c6839802
tcp_transport: Fix warning, put in order the nearest code, replace sprintf with snprintf
...
Signed-off-by: David Cermak <cermak@espressif.com>
2018-10-02 14:15:27 +02:00
David Cermak
40c6cbb3ab
tcp_transport: renamed transport related header files to esp_ prefixed to avoid collisions
...
tcp_transport component used public header files such as 'transport.h', etc. which are too generic and might collide with user or user libraries headers
This change closes #2417
2018-10-02 14:15:00 +02:00
Jitin George
5309ca04d1
esp_http_client: Add support for non-blocking feature in esp_http_client_perform() API
...
Four internal APIs `esp_http_client_connect()`, `http_client_prepare_first_line()`, `esp_http_client_request_send()` and
`esp_http_client_send_post_data()` API have been added for perfoming connection establishment (sync as well as async),
preparing first line, sending request and sending post data respectively.
In `transport_ssl`, `ssl_connect_async()` API has been added for establishing asynchronous connection.
2018-09-24 05:42:28 +00:00
Renz Bagaporo
8f85fa1bfb
tcp_transport: list files manually in component cmake file
2018-09-19 16:48:31 +08:00
David Cermak
23345d2021
MQTT: Integrate esp-mqtt library into idf
...
added docs and tests for mqtt library, small fixes (removed warnings, option for custom outbox, websocket bug fixed for longer transports). refactored to use common tcp_transport component, support for CMake build system.
Closes #2108
2018-09-12 08:00:59 +02:00