David Čermák
a461f8f115
Merge branch 'bugfix/ws_transport_ping' into 'master'
...
ws_transport: Add option to propagate control packets to the app
Closes IDFGH-4478
See merge request espressif/esp-idf!11957
2021-01-22 19:21:43 +08:00
David Cermak
acc7bd2ca4
ws_transport: Add option to propagate control packets to the app
...
Client could choose if they want to receive control packets and handle
them.
* If disabled (default) the transport itself tries to handle PING
and CLOSE frames automatically during read operation. If handled
correctly, read outputs 0 indicating no (actual app) data received.
* if enabled, all control frames are passed to the application to be
processed there.
Closes https://github.com/espressif/esp-idf/issues/6307
2021-01-22 07:22:41 +00:00
yuanjm
044c3e3e74
Modify esp-tls and tcp_transport to support keep alive for tcp and ssl connection
...
Closes IDFGH-4543
2021-01-22 06:56:28 +00:00
David Cermak
ce519ee783
tcp_transport: Extend transport error storage for socket error
...
Everytime we report error and log errno, we also capture the actual
errno to an internal storage so that user application can retrieve
its value.
2020-11-12 12:46:22 +00:00
Angus Gratton
66fb5a29bb
Whitespace: Automated whitespace fixes (large commit)
...
Apply the pre-commit hook whitespace fixes to all files in the repo.
(Line endings, blank lines at end of file, trailing whitespace)
2020-11-11 07:36:35 +00:00
Aditya Patwardhan
fa42beac97
esp32/esp-tls: remove dependancy of esp_https_client and tcp_transport on mbedtls
2020-10-23 05:16:06 +00:00
Aditya Patwardhan
91b88acaec
tcp_transport: Added required API to support Digital Signature for SSL
2020-09-22 18:31:31 +05:30
Ivan Grokhotkov
b6467257b9
Merge branch 'feature/cmock_component' into 'master'
...
cmock as component replacing unity
See merge request espressif/esp-idf!9859
2020-09-10 16:06:20 +08:00
Jakob Hasse
20c068ef3b
cmock: added cmock as component
...
* changing dependencies from unity->cmock
* added component.mk and Makefile.projbuild
* ignore test dir in gen_esp_err_to_name.py
* added some brief introduction of CMock in IDF
2020-09-02 16:38:37 +08:00
xutao
bd2daccb22
transport: fix transport ssl blocking
...
In SSL mode, if `esp_transport_poll_read` function is used, the cache data in mebdtls will be blocked
2020-09-02 07:01:01 +00:00
David Cermak
5e9f8b52e7
tcp_transport: Added internal API for underlying socket, used for custom select on connection end for WS
...
Internal tcp_transport functions could now use custom socket operations.
This is used for WebSocket transport, when we typically wait for clean
connection closure, i.e. selecting for read/error with expected errno or
recv size=0 while socket readable (=connection terminated by FIN flag)
2020-08-18 06:42:22 +00:00
Chen Yi Qun
caaf62bdad
driver, http_client, web_socket, tcp_transport: remove __FILE__ from log messages
...
__FILE__ macro in the error messages adds full paths to the production binarys, remove __FILE__ from the ESP_LOGE.
Closes https://github.com/espressif/esp-idf/issues/5637
Merges https://github.com/espressif/esp-idf/pull/5638
2020-08-03 15:21:36 +08:00
Marius Vikhammer
a392e4e57b
websocket: add configurable ws_transport buffer size
...
Closes IDFGH-3566
Closes https://github.com/espressif/esp-idf/issues/5513
2020-07-20 10:02:31 +00:00
Aditya Patwardhan
423e600d46
secure_element: atecc608_ecdsa example
...
* Replaced crypotoauthlib with esp-cryptoauthlib
* Added menuconfig option for esp-tls about using HSM
* Added error codes for HSM in esp-tls,
* Added support to select different type of ATECC608A chips
* Added README, updated docs
* tcp_transport: Added option to enable secure_element for ssl
Closes https://github.com/espressif/esp-idf/issues/4432
2020-05-21 13:08:30 +05:30
David Cermak
a8e370eced
tcp_transport: unit test for tcp connection timeout
2020-05-05 15:53:09 +02:00
David Cermak
6182e6f303
tcp_transport: close to return error only for socket error or invalid args
...
Closes https://github.com/espressif/esp-idf/issues/4872
2020-05-05 15:53:09 +02:00
boarchuz
0c7204e934
tcp_transport: Implement connect timeout
...
Merges https://github.com/espressif/esp-idf/pull/3791
Closes https://github.com/espressif/esp-idf/issues/5004
2020-05-05 15:53:09 +02:00
Jiang Jiang Jian
80e5eb896c
Merge branch 'optimization/DNS_get_function' into 'master'
...
lw-ip:optimization DNS get function
Closes WIFI-1566
See merge request espressif/esp-idf!8244
2020-04-20 16:52:22 +08:00
Mahavir Jain
49ce8d3fe5
transport_ssl: reset state on connection closure
...
For url redirection cases (HTTP status 301/302), internal
transport ssl connection state must be reinitialized for
successful (new) connection on updated url.
Closes https://github.com/espressif/esp-idf/issues/4598
2020-04-15 15:22:32 +05:30
xueyunfei
8b036a8405
optimization DNS get function
2020-04-15 03:06:28 +00:00
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