Commit Graph

169 Commits

Author SHA1 Message Date
Harshit Malpani
07f2cbeb0c
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.
2024-05-02 16:57:50 +05:30
Harshit Malpani
ce225dfc1a
Revert "fix(esp_http_client): Call event_handler after header value is received"
This reverts commit 04ac8e43db.

Fixes https://github.com/espressif/esp-idf/issues/13497
Fixes https://github.com/espressif/esp-idf/issues/13097
2024-04-01 13:19:57 +05:30
jim
2060f3a645 esp_http_client: Fix reset errno to 0 before call esp_transport_read
Closes https://github.com/espressif/esp-idf/issues/9020
2024-02-29 12:00:58 +08:00
Harshit Malpani
3cfbbbd978
fix(esp_http_client): Fix http digest auth without qop
Closes https://github.com/espressif/esp-idf/issues/12962
2024-01-29 11:11:02 +05:30
Harshit Malpani
19355c0fef fix(esp_http_client): Fix esp_http_client async mode
Closes https://github.com/espressif/esp-idf/issues/12358
2023-12-07 06:47:37 +00:00
Harshit Malpani
37836b3c62
feat: ECDSA peripheral while performing http connection with mutual auth 2023-11-17 16:24:10 +05:30
Harshit Malpani
9525da0908
fix(esp_http_client): Call event_handler after header value is received 2023-10-05 10:23:27 +05:30
Mahavir Jain
0122d6cead Merge branch 'feature/add_support_for_ds_peripheral_on_ota_v5.1' into 'release/v5.1'
feat(esp_http_client): Added support for OTA using ds peripheral for TLS (v5.1)

See merge request espressif/esp-idf!26091
2023-09-28 03:23:12 +08:00
David Cermak
1363566b73 fix(http_client): Set common tcp config to both TCP and SSL transport
Foundation transport contained TCP properties for both TCP and SSL
transport, so it was enough to set the TCP connection properties
(keepalive, interface binding) to one transport only. After merging
5778a7c7 we have separate TCP properties for these transports and need
to set the same for both.
This commit also fixes unnecessary allocation of 1 more byte for if_name

Closes https://github.com/espressif/esp-protocols/issues/322
2023-09-25 14:56:55 +02:00
Aditya Patwardhan
5fffeddf79 feat(esp_http_client): Added support for OTA using ds peripheral for TLS 2023-09-21 10:21:02 +05:30
Mahavir Jain
bdf8f1c382 Merge branch 'contrib/github_pr_10715' into 'master'
Add user_data accessor and mutator to esp_http_client (GitHub PR)

Closes IDFGH-9337 and IDFGH-9221

See merge request espressif/esp-idf!22751
2023-03-21 14:07:31 +08:00
Andrew Clink
82cdcc5de5
Add user_data accessor and mutator to esp_http_client
Closes: https://github.com/espressif/esp-idf/pull/10715
2023-03-16 12:36:16 +05:30
Harshit Malpani
0cc243a8cc
esp_http_client: remove dependency of esp_stubs from esp_http_client. Add esp_event stubs in linux component 2023-03-15 11:48:11 +05:30
Harshit Malpani
674fd8feb8
esp_http_client: Add support for esp_events 2023-03-15 11:48:11 +05:30
Marius Vikhammer
0be8e03907 ci: update test apps to use run_all_single_board_cases 2023-03-10 14:27:09 +08:00
harshal.patil
32e78b71f3 http_client: fixed looping caused when disable_auto_redirect enabled
Closes https://github.com/espressif/esp-idf/issues/10629
2023-02-23 14:11:58 +05:30
Omar Chebib
5e5343d429 TWDT: Use the new TWDT Kconfig options in the examples and tests 2023-02-17 11:22:25 +08:00
Cao Sen Miao
94120b82c2 esp32h2: add build test 2023-01-17 10:29:04 +08:00
Harshit Malpani
a1e9a87e69 Merge branch 'bugfix/fix_ESP_LOG_to_debug' into 'master'
esp_http_client: fix debug log from LOGI to LOGD

Closes IDFGH-8892

See merge request espressif/esp-idf!22011
2023-01-13 15:51:23 +08:00
Harshit Malpani
3152fba654
esp_http_client: fix coverity issue. free auth_str before going out of scope 2023-01-11 16:57:04 +05:30
Harshit Malpani
6e92edd848
esp_http_client: fix debug log from LOGI to LOGD
Closes https://github.com/espressif/esp-idf/issues/10313
2023-01-11 15:55:52 +05:30
Harshit Malpani
68ded2c350
esp_http_client: fix -Werror-format compile errors for linux target 2023-01-04 11:17:28 +05:30
Harshit Malpani
1c77e13d35
esp_http_client: Update to support build for linux 2023-01-04 11:17:28 +05:30
Mahavir Jain
bbc5914e63
esp_http_client: remove "Wno-format" cflag and fix formatting errors 2022-12-21 14:14:04 +05:30
Harshit Malpani
6de9e42122
esp_http_client: Add feature to cancel an HTTP request
Closes: https://github.com/espressif/esp-idf/issues/9892
2022-12-02 11:36:28 +05:30
Aditya Patwardhan
ba43063314 esp_http_client: Add option to use secure_element
Closes https://github.com/espressif/esp-idf/issues/10071
2022-11-17 14:43:35 +05:30
Mahavir Jain
960a84db47 Merge branch 'fix/esp_http_client_fix_behavior_disable_auto_redirect_enabled' into 'master'
fix: esp_http_client fix behaviour when disable_auto_redirect is enabled

Closes IDF-6136

See merge request espressif/esp-idf!20805
2022-11-04 20:38:24 +08:00
Song Ruo Jing
be0fdfa176 soc: Add a soc cap, SOC_CLK_RC_FAST_D256_SUPPORTED, for whether the target has the RC_FAST_D256 clock 2022-11-01 11:23:26 +08:00
harshal.patil
5feb4696be fix: esp_http_client fix behaviour when disable_auto_redirect is enabled 2022-10-27 14:04:54 +05:30
Mahavir Jain
67e080471f
esp_http_client: free cached data in case connection gets closed for redirection
In case of `esp_http_client_read` based workflow, we cache data that is received
during fetch header stage. In case, there is URL redirection and we have to close
the connection on URL, port change then we must discard earlier cached data.

Closes AUD-4158
2022-10-20 12:45:06 +05:30
Mahavir Jain
a7b42be1bd
esp_http_client: fix few coverity warnings 2022-10-10 15:22:23 +05:30
Aditya Patwardhan
4904d57fd9 esp_http_client: Added support to set server common name. 2022-09-13 05:31:43 +00:00
Harshit Malpani
791d17ac7f
ci: Migrate unit-test for esp_http_client to component-test-apps 2022-08-22 16:57:32 +05:30
Ivan Grokhotkov
401c10ecfb build system: re-add -Wno-format as private flag for some components 2022-08-03 16:42:47 +04:00
David Cermak
5c383d7b73 esp_netif/lwip: Fix deps cycles to "lwip -> esp_netif -> phy-drivers"
Fix dependency tree so that lwip doesn't depend on any specific network
interface component.
Network interface drivers shall depend on esp_netif.
esp_netif shall depend on lwip (but not on any specific interface
driver) -- it optionally depends on vfs and esp_eth (need ethernet
header for L2/bridge mode)
2022-07-20 14:59:07 +02:00
Laukik Hase
7115881a97
esp_http_client/esp_https_ota: Removed errno checks
- Returned -ESP_ERR_HTTP_EAGAIN for timeout errors from
  esp_http_client whenever tcp transport layer returns
  connection timeout
- Removed redundant conditional statements as required

Co-authored-by: Shubham Kulkarni <shubham.kulkarni@espressif.com>
2022-05-31 15:04:21 +05:30
Ivan Grokhotkov
47659be5b8
build system: remove lwip from common requirements
lwip was added to common requirements list to provide "sys/socket.h"
header to all components without additional requirements specified.

However, lwip pulls in a lot of dependencies on other components.
This commit removes lwip from common requirements to reduce the number
of components in G1-only apps.

To compensate for this removal, the following changes are made:
- newlib (which is a common requirement) has a public dependency on
  lwip if lwip is present in the build. This ensures that sys/socket.h
  is available as long as lwip component is included into the build.
- lwip is now a public requirement of esp-tls since esp_tls.h includes
  sys/socket.h header.
- lwip is now a public requirement o esp_http_client because
  sys/socket.h is included from esp_http_client.h
- lwip is now a private requirement of esp_wifi for "smartconfig_ack"
- lwip is now a private requirement of mqtt for socket functions
- lwip is now a public requirement of tcp_transport because
  esp_transport_tcp.h includes sys/socket.h header.
- mbedtls checks if lwip component is present in the build. If yes,
  net_sockets.c is added to the build, along with the dependency on
  lwip. Previously lwip was a public requirement of mbedtls
  unconditionally.

system/g1_components test app is updated to reflect the changes

Default public dependencies of a component before and after this
change, except common requirements:

- esp_timer (public dependency of freertos)
- bootloader_support (public dependency of esp_hw_support)
- vfs (public dependency of lwip)
- esp_wifi (public dependency of lwip)
- esp_event (public dependency of esp_wifi)
- esp_netif (public dependency of esp_event)
- esp_eth (public dependency of esp_netif)
- esp_phy (public dependency of esp_wifi)

After:

- esp_timer (public dependency of freertos)
- bootloader_support (public dependency of esp_hw_support)

Altogether, the following components have been always added as
public requirements to all other components, and are not added now
([breaking-change]):

- lwip
- vfs
- esp_wifi
- esp_event
- esp_netif
- esp_eth
- esp_phy

Application components now need to explicitly declare dependencies on
these components.
2022-05-02 20:47:17 +02:00
Harshit Malpani
437d90c408 esp_http_client: Fix redirect by resetting auth_header before parsing 2022-04-25 05:16:49 +00:00
Shubham Kulkarni
b4456bff97 esp_http_client: Add comment for clearing location field in esp_http_client_prepare 2022-03-24 06:23:17 +00:00
Nicklas Frahm
660ca96e23 esp_http_client: fix redirect by resetting location before parsing
Closes #8563.

Signed-off-by: Nicklas Frahm <nicklas.frahm@gmail.com>
2022-03-24 06:23:17 +00:00
Shubham Kulkarni
ec6f222625 esp_http_client: Add new status code 303 and 308 2022-03-21 04:27:43 +00:00
Shubham Kulkarni
18fa343161 esp_http_client: Cache received data in http_on_body callback.
This change fixes issue with data loss when multiple body chunks are
received after calling esp_http_client_fetch_headers.
2022-03-01 15:41:36 +00:00
morris
ef00bd59dc esp_rom: extract int matrix route and cpu ticks getter 2022-02-09 13:52:20 +08:00
Laukik Hase
ca84d2d6c9 esp_http_client: Added event for HTTP redirect
- Allows users to manually intercept and process the HTTP redirection
 when disable_auto_redirect (from the esp_http_client handle) is set to true

Closes https://github.com/espressif/esp-idf/issues/8029
2022-01-12 11:40:32 +05:30
Mahavir Jain
8e94cf2bb1 Add http_parser (new component) dependency 2022-01-11 10:26:25 +05:30
Chen Wu
c10683f493 http: Fix parsing invalid url cause to crash
Reason:
For example, if an url is lack of leading 'http:' by mistake, it causes to http_parser_parse_url() cannot parse http host item,
and then pass the null host pointer to _get_host_header(), crash happens.

Fix:
http added null pointer check now.

Closes https://jira.espressif.com:8443/browse/ESPAT-953
2021-12-02 14:15:43 +08:00
xutao
10377ce2ff esp_http_client: add a get HTTP client session errno api for esp_http_client 2021-11-24 17:23:09 +08:00
Roland Dobai
766aa57084 Build & config: Remove leftover files from the unsupported "make" build system 2021-11-11 15:32:36 +01:00
Cao Sen Miao
599227a1b6 ESP8684: Add esp8684 target to other repo for passing build 2021-11-06 17:33:45 +08:00
Shubham Kulkarni
5bf49e1cd6 esp_http_client: Support handling larger content lengths
Closes https://github.com/espressif/esp-idf/issues/6580
2021-10-29 18:14:22 +08:00