Commit Graph

170 Commits

Author SHA1 Message Date
David Čermák 94d4b6c44b Merge branch 'bugfix/ws_head_buf_size' into 'master'
fix(tcp_transport): Fix websocket header read to handle overflow

See merge request espressif/esp-idf!35139
2024-12-05 16:22:56 +08:00
Mahavir Jain fcd706066a Merge branch 'bugfix/http_client_select_read_error' into 'master'
fix(tcp_tranport): Fix handling of select() return value

Closes IDFGH-13821

See merge request espressif/esp-idf!33985
2024-12-04 18:21:34 +08:00
Bogdan Kolendovskyy 872ae5211f feat: Expose the function to get socket descriptor from the transport
Closes https://github.com/espressif/esp-protocols/issues/636
Closes https://github.com/espressif/esp-mqtt/issues/282
2024-11-29 12:43:47 +01:00
nilesh.kale 5db0c49b8c fix(tcp_tranport): Fix handling of select() return value
When both readset/writeset and errset are set for a single socket,
the HTTP client incorrectly handled the condition, causing premature termination.
Added a check to ensure readset/writeset is prioritized before errset.

Closes https://github.com/espressif/esp-idf/issues/14673
2024-11-27 13:19:13 +05:30
David Cermak 0957626e26 fix(tcp_transport): Fix websocket header read to handle overflow 2024-11-22 14:14:53 +01:00
David Cermak d8949fe50f fix(ws_transport): Unit test on reading WS data byte by byte
Closes https://github.com/espressif/esp-idf/issues/14704
Closes https://github.com/espressif/esp-protocols/issues/679
2024-11-12 17:07:15 +01:00
Richard Allen 7f54410256 fix(ws_transport): Fix reading WS header bytes
Correct split header bytes

When the underlying transport returns header,
length, or mask bytes early, again call the
underlying transport.

This solves the WS parser getting offset when
the server sends a burst of frames where the
last WS header is split across packet boundaries,
so fewer than the needed bytes may be available.

Merges https://github.com/espressif/esp-idf/pull/14706
2024-11-12 17:06:31 +01:00
David Čermák 4f467d02c7 Merge branch 'fix/ws_transport_mem_corrupt' into 'master'
fix(transport): Fix websocket mem-corruption while reading headers

Closes IDFGH-13585

See merge request espressif/esp-idf!33593
2024-09-26 18:53:00 +08:00
David Cermak 53e63eb125 fix(transport): Fix websocket mem-corruption while reading headers
Closes https://github.com/espressif/esp-idf/issues/14473
2024-09-17 18:15:17 +02:00
David Cermak a4a1e7b7f2 feat(transport): Add more testcases for ws-connect to fail
Test case "ws connect fails (big response)" should fail on this commit
due to an off-by-one issue in ws_connect() read when chunk reading
http header(s).

Related to https://github.com/espressif/esp-idf/issues/14473
2024-09-17 18:09:21 +02:00
Sean DuBois 58775cce6e fix(ws_transport): Fix crash when reading
When parsing WS framing protocol integer promotion would cause
invalid values to be read. Acting upon these values would eventually
cause a crash

Fixes esp-protocols#645
2024-09-09 12:32:37 -04:00
igor.udot 8691672f03 ci: replace pytest function 2024-07-23 14:07:31 +08:00
wanlei 3cf069c7d8 feat(esp32c61): disable unsupported build test 2024-07-16 16:06:19 +08:00
Suren Gabrielyan d5ae47e524 feat(ws_transport): Added host test for websocket transport 2024-07-08 19:00:03 +04:00
Suren Gabrielyan 09c8b1f618 fix(ws_transport): decouple WebSocket transport from foundation initialization 2024-07-08 14:59:15 +04:00
Alexey Lapshin ed6e497c6f feat(build): add COMPILER_STATIC_ANALYZER option 2024-06-18 14:25:37 +08:00
Suren Gabrielyan 8384b2c76f fix(ws_transport): utility functions minor improvments 2024-05-20 16:26:40 +04:00
Richard Allen 10a2c2ccc9 fix(ws_transport): fixed server-key corruption
When first fragment is sent over HTTP during websocket
connection, defer buffering of fragment until after the
websocket server-key is validated.

This order is required because the first fragment buffering
overwrites the memory holding the server-key headers.

Fixes 2267d4b
Fixes https://github.com/espressif/esp-protocols/issues/396
PR https://github.com/espressif/esp-idf/pull/13724
2024-05-20 16:25:53 +04:00
Suren Gabrielyan 8d594e353e Merge branch 'fix/websocket_first_packet_2' into 'master'
[ws_transport]: fix of first fragment loosing during HTTP handshake

See merge request espressif/esp-idf!28654
2024-04-08 17:50:03 +08:00
laokaiyao 65b1fd33d3 ci(esp32c5mp): disable the unsupported tests 2024-04-07 12:13:29 +08:00
Suren Gabrielyan 2267d4b6b5 fix(ws_transport): fix first fragment losting during websocket connection 2024-04-03 17:57:37 +04:00
harshal.patil 343a6f47ab fix(mbedtls/aes-gcm): Fix null pointer derefernce coverity reports
- Also fixed a tcp_transport and https_server report
2024-03-12 12:36:00 +05:30
Marius Vikhammer 1f7c666701 ci(test_apps): limit dependencies for misc test_apps
Only pull in direct dependencies for the test apps, reducing build time
as well making it possible for CI to determine if the test should run or not
when dependencies are changed.
2024-02-18 16:01:58 +08:00
Mahavir Jain 01f50ee7f5 refactor: migrate atecc608a_ecdsa example to crypto authlib repository
- ESP32-WROOM-32SE has been discontinued and marked as NRND
- This change removes all references to ESP32-WROOM-32SE from IDF
- The example has been migrated to esp-cryptoauthlib repository and it
  can be used through the component manager
  (https://components.espressif.com/components/espressif/esp-cryptoauthlib)
2023-12-22 09:11:41 +05:30
Ivan Grokhotkov 81385b3476 Merge branch 'feature/update_catch2' into 'master'
ci: upgrade host tests to use espressif/catch2 component, add missing build rules

Closes IDF-8775

See merge request espressif/esp-idf!27455
2023-12-01 21:25:25 +08:00
David Cermak 7e22a13afe feat(http_client): Add support for TLS session tickets 2023-11-29 20:48:35 +01:00
Ivan Grokhotkov b52182e14f ci(tcp_transport): upgrade to Catch2 as a component 2023-11-29 12:38:47 +01:00
Harshit Malpani 27681a5073 fix(esp-tls): Use TLS 1.2 and TLS 1.3 simultaneously
This commit fixes the issue with TLS 1.2 connection when TLS 1.3 is
enabled in config.
2023-10-23 16:23:10 +05:30
Chen Yudong 2e11919f70 fix(ci): change build-test-rules files folder 2023-09-20 19:17:06 +08:00
Harshit Malpani 692e1a9e61 feat: ECDSA peripheral while performing http connection with mutual auth 2023-09-08 12:22:41 +05:30
Armando 7dbd3f6909 feat(ci): Enable p4 example, test_apps and unit tests CI build 2023-08-24 12:51:19 +08:00
KonstantinKondrashov e72061695e all: Removes unnecessary newline character in logs
Closes https://github.com/espressif/esp-idf/issues/11465
2023-06-09 03:31:21 +08:00
David Cermak b2af4d9689 lwip/linux: Add lwip support for networking component under linux
linux/lwip: Wrap some IO posix functions
* to workaourd the FreeRTOS EINTR issue (when building without lwip)
* to correctly choose the sub-system based on fd (when building with
lwip) -- passing control to either linux/system or to lwip
This commit also addapts tapio-if to provide DHCP client by default and
configurable settings for static IP
2023-05-05 05:03:39 +00:00
Marius Vikhammer bca026455c ci: remove redundent ci configs for chip support and network components
CI would build psram config test apps even for target with no psram.
2023-04-26 09:54:29 +08:00
Euripedes Rocha 6007142628 ci: Migrate unit test for tcp_transport to unit test app 2023-04-11 08:36:24 +00:00
Euripedes Rocha d6db90a3cd [tcp_transport] - Adds Socks4 proxy transport
- Basic implementation of Socks4 protocol.
- Introduce basic host testing.
2023-03-27 14:46:40 +02:00
Steinbart Andreas (HAU-EDS) 9def9b6a03 [ws_transport] - Added esp_transport_ws_get_upgrade_request_status API 2023-02-16 12:19:40 +00:00
yuanjianmin fecf4768f0 tcp_transport: Add authorization header for websocket client 2023-02-02 17:35:44 +08:00
Harshit Malpani 0635dc36c1 tcp_transport: Update tcp_transport to support linux build 2023-01-04 11:17:29 +05:30
Euripedes Rocha 88844e1504 tcp_transport: Adjust test task priorities.
Raise the listener task priority to be higher than runner task priority.
2022-12-05 07:02:28 +00:00
David Cermak dc1f6b3aef tcp_transport: Fix error propagation on tcp_read() 2022-11-02 18:43:57 +01:00
Rocha Euripedes 8dff5bbf69 Merge branch 'bugfix/wrong_ws_mask_check' into 'master'
[tcp_transport] Bugfix: Remove unecessary mask_key check

See merge request espressif/esp-idf!20366
2022-10-05 21:47:42 +08:00
Euripedes Rocha 456d6a5d17 [tcp_transport] - Change log level on socket reading timeout
- Log level set to VERBOSE to reduce noise on debug.
2022-09-30 09:59:08 +02:00
Euripedes Rocha 56a54afae9 [tcp_transport] Bugfix: Remove unecessary mask_key check
- In the processing of WS payload the check for a valid mask_key was
  made by checking for a valid address. The address is always valid and
  the test is meaningless.
- Mask key is initialized in the process of header reading and set to 0
  in case of mask not set.
2022-09-27 11:00:37 +02:00
Euripedes Rocha 736424c366 [MQTT] Simplifies MQTT CMakeLists file
- Uses mocks from tools instead of creating them.
- Move host based definition to test code.
2022-09-19 09:11:15 +00:00
Aditya Patwardhan ce32183749 tcp_transport: Add support of setting the common name fot the TLS
context
2022-09-13 05:31:43 +00:00
David Čermák 1890501ac9 Merge branch 'unit_test_for_C2_tcp_transport' into 'master'
Re-enable unit test for C2 tcp_transport

Closes IDF-5144

See merge request espressif/esp-idf!19150
2022-08-18 13:50:17 +08:00
AndriiFilippov 5433abebfa Re-enable unit test for C2 tcp_transport 2022-08-16 08:45:20 +00:00
AndriiFilippov 0013ad5bb9 Replaced logging tags with lower case in tcp_transport component to unite all tags under common structure. 2022-08-16 08:38:57 +00:00
Ivan Grokhotkov 401c10ecfb build system: re-add -Wno-format as private flag for some components 2022-08-03 16:42:47 +04:00