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
Shubham Kulkarni
436249de4f
esp_http_client: Disable HTTP digest auth by default
2021-10-29 18:14:22 +08:00
yuanjm
9f875b8db5
esp_http_client: Fix HEAD request will affect the all next HTTP requests unless we close the HTTP request
...
Closes https://github.com/espressif/esp-idf/issues/7777
2021-10-28 19:53:12 +08:00
Harshit Malpani
2085e4eb92
esp_http_client: apply generic error check macros
2021-10-20 14:40:32 +05:30
Derossi Carneiro Neto
341d3e107c
esp_http_client_cleanup, if client->transport_list was null, it generated an exception when calling esp_transport_list_destroy
...
https://github.com/espressif/esp-idf/pull/7695
Signed-off-by: Harshit Malpani <harshit.malpani@espressif.com>
2021-10-18 10:50:45 +05:30
Vikram Dattu
1c57dbcb3c
esp_http_client: Fixed handling of EAGAIN return
...
For https connection `ESP_TLS_ERR_SSL_WANT_READ` of esp_transport_read was getting treated as error.
Treated this as a timeout to fix connection abort issue!
Also handled http connection EAGAIN with `errno == EAGAIN` check.
Signed-off-by: Vikram Dattu <vikram.dattu@espressif.com>
2021-09-07 14:33:49 +05:30
Jon Maloney
c8b7f7a5d3
esp_http_client: Support client key password for HTTPS connections.
...
Closes https://github.com/espressif/esp-idf/pull/7420
Closes https://github.com/espressif/esp-idf/issues/7418
Signed-off-by: Aditya Patwardhan <aditya.patwardhan@espressif.com>
2021-08-25 18:27:31 +05:30
yuanjm
fc8668a739
esp_http_client: Fix disable CONFIG_ESP_HTTP_CLIENT_ENABLE_HTTPS will build error
...
Closes https://github.com/espressif/esp-idf/issues/7361
2021-08-17 19:53:47 +08:00
yuanjm
981287900e
esp_http_client: Support HTTP_EVENT_ERROR event
...
Closes https://github.com/espressif/esp-idf/issues/7280
2021-08-02 14:33:50 +08:00
Alex Henrie
5242e048d4
Fix memory leak on error path in http_header_set_format
2021-07-23 17:48:45 +05:30
Alex Henrie
b07ad7a08d
Fix memory leak on error path in md5_printf
2021-07-23 17:48:45 +05:30
yuanjm
02367b44ef
esp_http_client: Fix when receive FIN, close the connection in internal.
...
Closes https://github.com/espressif/esp-idf/issues/7036
2021-07-23 12:16:17 +08:00
Shubham Kulkarni
3064487c20
esp_https_ota: Add check for HTTP error codes and corresponding error logs
...
Closes: https://github.com/espressif/esp-idf/issues/7058
2021-06-02 11:19:30 +00:00
Jan Brudny
967e057906
esp-tls, esp_http_client and esp_http_server: update copyright notice
2021-05-31 20:06:09 +08:00
0xFEEDC0DE64
0f3ad80a99
const corrections for esp_http_client_set_password()
...
Signed-off-by: Shubham Kulkarni <shubham.kulkarni@espressif.com>
Closes: https://github.com/espressif/esp-idf/pull/6941
2021-05-10 13:03:09 +05:30
yuanjm
754ec7b278
esp_http_client: Add API to set http client timeout value
...
Closes https://github.com/espressif/esp-idf/issues/6984
2021-05-06 13:55:12 +08:00
Shubham Kulkarni
b148433fbd
esp_http_client_read: Add check for esp_http_client_is_complete_data_received before returning ESP_FAIL
...
Closes: https://github.com/espressif/esp-idf/issues/6772
2021-04-21 17:28:54 +05:30
Jörg Henne
19024671ea
esp_http_client: Make http_utils_get_string_between and http_utils_str_starts_with case insensitive
...
Closes: https://github.com/espressif/esp-idf/pull/6841
Closes: https://github.com/espressif/esp-idf/issues/6840
Signed-off-by: Shubham Kulkarni <shubham.kulkarni@espressif.com>
2021-04-09 06:03:02 +00:00
Aditya Patwardhan
f66bdf1233
esp_http_client: Enable support of crt_bundle in esp_http_client
2021-04-07 05:31:21 +00:00
Shubham Kulkarni
1bacc13628
esp_http_client: Do not overwrite HTTP method in case of chunk request
...
Closes https://github.com/espressif/esp-idf/issues/6234
2021-03-31 10:53:36 +00:00
Shubham Kulkarni
4f6e0c1d27
esp_http_client: Add config option for HTTP Digest auth
2021-03-23 11:58:35 +05:30
0xFEEDC0DE64
a9c6fbe8d3
Added cert and key length options
...
Closes https://github.com/espressif/esp-idf/pull/6556
Signed-off-by: Shubham Kulkarni <shubham.kulkarni@espressif.com>
2021-03-23 11:58:35 +05:30
yuanjm
c79a907e4f
components: Remove repeated keep alive function by ssl layer function
...
In esp_http_client and esp_websocket_client components, esp_transport_tcp_set_keep_alive has been called and keep-alive config has been saved in ssl->cfg.keep_alive_cfg,
So no need to call esp_transport_ssl_set_keep_alive again.
2021-03-10 02:19:29 +00:00
yuanjm
bead3599ab
components: Support bind socket to specified interface in esp_http_client and esp_websocket_client component
2021-03-10 02:19:29 +00:00
yuanjm
e309a0ea6f
esp_http_client: Optimize code structure
2021-02-23 14:09:40 +08:00
Clickau
308c31e2f1
esp_http_client: fix truncated headers
...
Signed-off-by: yuanjm <yuanjianmin@espressif.com>
Merges https://github.com/espressif/esp-idf/pull/6370
2021-02-23 09:59:23 +08:00
David Cermak
1921ae8973
tcp_transport: Reduce lwip dependecy for tcp_transport/http_client
2021-02-16 09:01:35 +01:00
aditi_lonkar
89bf9404a5
esp_http_client: Fix some memory leak issues by coverity static analyzer.
2021-01-25 03:37:47 +00:00
Shubham Kulkarni
b53e46a68e
Add options for esp_http_client and esp_websocket_client to support keepalive
2021-01-22 06:56:28 +00:00
morris
753a929525
global: fix sign-compare warnings
2021-01-12 14:05:08 +08:00
David Čermák
e1d9abafa8
Merge branch 'bugfix/http_client_test_memcorupt' into 'master'
...
ci/test: Fix esp_http_client test not to use pointer after free
Closes IDFCI-350
See merge request espressif/esp-idf!11829
2021-01-05 15:15:32 +08:00
Shubham Kulkarni
6337ce9c3c
esp_http_client.c: Clear raw_len for response buffer after dispatching HTTP_EVENT_ON_FINISH event
...
Closes: https://github.com/espressif/esp-idf/issues/6146
2021-01-04 15:39:39 +05:30
David Cermak
2c50ec2cf9
ci/test: Fix esp_http_client test not to use pointer after free
2020-12-30 05:33:51 +01:00
Scott Shell
8c09fbf6f1
Make the UserAgent string in esp-http-client configurable
...
Signed-off-by: Shubham Kulkarni <shubham.kulkarni@espressif.com>
Merges https://github.com/espressif/esp-idf/pull/6044
2020-11-19 14:43:14 +05:30
Shubham Kulkarni
aceb38c326
http_auth.c: Fix crash when opaque field is not present in challenge string
...
Closes: https://github.com/espressif/esp-idf/issues/5888
2020-11-19 14:43:14 +05:30
Shubham Kulkarni
83f4ebf852
esp_http_client: Skip check for redirection counter if status code is success.
...
Set disable_auto_redirect in esp_http_client example to validate this condition in CI
2020-11-19 14:43:14 +05:30
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
Shubham Kulkarni
b06035443f
esp_http_client: Include port in host field
...
Closes: https://github.com/espressif/esp-idf/issues/3628
2020-09-30 15:39:42 +05:30
Shubham Kulkarni
661c18c578
esp_http_client.h: Fix return type in declaration of esp_http_client_flush_response.
...
Closes: https://github.com/espressif/esp-idf/pull/5845
2020-09-30 11:25:07 +05:30
boarchuz
bf942a60f3
esp_http_client: add flush response
...
Signed-off-by: Shubham Kulkarni <shubham.kulkarni@espressif.com>
Merges: https://github.com/espressif/esp-idf/pull/5845
Closes: https://github.com/espressif/esp-idf/issues/5814
2020-09-11 15:25:24 +05:30
Shubham Kulkarni
bb8981903e
esp_http_client: Fix issue when response headers have empty value
...
Closes: https://github.com/espressif/esp-idf/issues/5553
2020-09-11 11:48:36 +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
Shubham Kulkarni
58b386bca3
Fix issue when algotithm header is not present
2020-09-03 04:32:45 +00: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
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
morris
ab0537c079
esp_rom: extract common MD5 hash apis into esp_rom_md5.h
2020-07-21 17:01:28 +08:00
Shubham Kulkarni
3c7991813d
esp_http_client.h: Add error codes in HttpStatus_Code
...
esp_https_ota.c: Add checks for HTTP error codes
Closes: https://github.com/espressif/esp-idf/issues/5537
2020-07-08 04:03:26 +00:00
Shubham Kulkarni
1bbafb817d
esp_http_client: Set user configurable authorization retries
...
Closes: https://github.com/espressif/esp-idf/issues/5407
2020-06-16 20:48:28 +05:30
Shubham Kulkarni
bcfd2f07ab
esp_http_client: Add methods in esp_http_client_method_t required for WebDAV
...
Closes: https://github.com/espressif/esp-idf/issues/5402
2020-06-16 20:43:06 +05:30
Shubham Kulkarni
de5ee9cc80
esp_http_client: Add API to get chunk length in case of chunked responses
...
Closes: https://github.com/espressif/esp-idf/issues/5302
2020-06-05 09:57:32 +05:30
David Cermak
917192725a
http-client: fix memory allocation issues found by static analyser
2020-05-13 07:16:45 +02:00
Shubham Kulkarni
890f541edf
esp_http_client: Add API to get URL from client
...
Closes: https://github.com/espressif/esp-idf/issues/5115
2020-05-07 14:20:28 +05:30
Shubham Kulkarni
4c166085fb
esp_http_client.c: In esp_http_client_read, add fix to return (-1) if esp_transport_read fails
2020-04-27 05:17:04 +00:00
Shubham Kulkarni
471b40b0f0
http_header.c: Add error print in http_header_generate_string if buffer size is less than required size
...
Closes: https://github.com/espressif/esp-idf/issues/5028
2020-04-06 13:22:08 +05:30
Angus Gratton
62426a6c90
Merge branch 'refactor/use_new_component_registration_functions' into 'master'
...
CMake: Use new component registration function
See merge request espressif/esp-idf!8068
2020-03-25 08:02:42 +08:00
Shubham Kulkarni
4858184e19
esp_http_client: Add helper API to read larger data chunks from HTTP Stream
2020-03-23 10:45:39 +05:30
Renz Bagaporo
3d0967a58a
test: declare requirements and include dirs private
2020-03-23 10:58:50 +08:00
Shubham Kulkarni
032a041395
Bugfix for failing OTA example
...
example_test.py is added to test advanced_https_ota_example and native ota_example.
Closes https://github.com/espressif/esp-idf/issues/4394
2019-12-31 14:18:16 +05:30
Axel Lin
489c815eb8
esp_http_client: add esp_http_client_set_authtype function
...
Since currently there are APIs to set url/username/password, it would be
good to also allow setting authtype.
Link: https://github.com/espressif/esp-idf/issues/4444
Closes https://github.com/espressif/esp-idf/pull/4454
Signed-off-by: Axel Lin <axel.lin@gmail.com>
2019-12-09 13:33:44 +05:30
Axel Lin
6fdc8d7f92
esp_http_client: fix memory leak in esp_http_client_set_username/password
...
Fix memory in case username/password was set before calling
esp_http_client_set_username/password.
Closes https://github.com/espressif/esp-idf/issues/4444
Fixes: 9fd16c6a5f
("fixes : set_url discards username and password")
Signed-off-by: Axel Lin <axel.lin@gmail.com>
2019-12-09 13:33:44 +05:30
Aidan Cyr
5f6fd238b6
fix: esp_http_client and esp_https_ota can follow 307 Redirects
...
Closes https://github.com/espressif/esp-idf/pull/4431
2019-12-09 13:33:44 +05:30
David Cermak
b834c99148
examples: modify other examples and tests to use esp_netif instead of tcpip_adapter
2019-11-13 12:36:25 +01:00
David Cermak
1d904fdd81
http_client: added comments to http header generation function
2019-11-05 09:53:29 +01:00
David Cermak
9c0844da3f
http_client: possible buffer overflow fixed when determining last header item to be written
...
closes IDF-694
2019-11-05 09:44:06 +01:00
Mahavir Jain
4dcffdb0a9
esp_http_client: fix issue where http parser was not invoking message_complete
callback
...
https://github.com/espressif/esp-idf/issues/2625
https://github.com/espressif/esp-idf/issues/4209
2019-11-04 12:15:19 +05:30
ganeshlandge
9fd16c6a5f
fixes : set_url discards username and password
2019-10-04 10:42:43 +05:30
Angus Gratton
b23718995a
Merge branch 'bugfix/strict_prototypes' into 'master'
...
Enable strict prototypes checks
Closes IDFGH-757
See merge request espressif/esp-idf!4546
2019-08-05 09:38:39 +08:00
Hrudaynath Dhabe
d4091f7cda
esp_http_client: Add support to check the binary length of the recieved stream and compare it with the size mentioned in the header.
...
While downloading OTA firmware, if their is a Origin Respnse Timeout or the binary is only partially downloaded, OTA failure is observed. Checking binary size can also be helpful for simple http client applications.
Closes https://github.com/espressif/esp-idf/issues/3004
2019-08-02 19:18:44 +08:00
Anton Maklakov
afbaf74007
tools: Mass fixing of empty prototypes (for -Wstrict-prototypes)
2019-08-01 16:28:56 +07:00
Angus Gratton
c25fe765a9
Merge branch 'feature/esp_http_client_tx_buf_size' into 'master'
...
esp_http_client: separate buffer_size config option for transmit
See merge request espressif/esp-idf!5337
2019-07-08 15:15:14 +08:00
Oleg Antonyan
bd4591b053
esp_http_client: separate buffer_size config option for transmit
...
Merges https://github.com/espressif/esp-idf/pull/3528
Signed-off-by: Jitin George <jitin@espressif.com>
2019-07-05 13:04:35 +00:00
David Cermak
a001eb39bf
http_client: disconnect event to read last occurred error in esp-tls
2019-07-04 20:55:10 +02: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
Jitin George
ab6dd36243
esp_http_client: Add support to disable validation of certificate's CN field
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
Angus Gratton
b6a24bbd25
Merge branch 'feature/esp-https-ota-basic-auth' into 'master'
...
esp_https_ota: component refactoring, bugfixes and feature additions
See merge request idf/esp-idf!4245
2019-05-10 12:39:14 +08:00
Jitin George
4e6d39f009
esp-http-client: Fix incorrect event name HTTP_EVENT_HEADER_SENT
...
Closes https://github.com/espressif/esp-idf/issues/3095
2019-05-02 16:15:59 +05:30
Jitin George
86e1fc564e
esp_http_client: Add API for adding authorization info
...
There was existing support for adding authorization info in esp_http_client
but it was functional only while using `esp_http_client_perform` API. This commit just moves
existing authorization addition logic into publicly exposed API.
2019-04-29 11:44:37 +05:30
Vikram Dattu
e0d796bf33
Add a esp_http_client_set_redirection
function When using direct operations instead of esp_http_client_perform
, we need a way to set redirection URL when we get 30x response codes. Added the function for the same. User can now check status code and call esp_http_client_set_redirection
function to enable redirection. Related change in adf: https://gitlab.espressif.cn:6688/adf/esp-adf-internal/merge_requests/187
...
Signed-off-by: Vikram Dattu <vikram.dattu@espressif.com>
2019-04-23 19:29:49 +05:30
Roland Dobai
74dd9b4f5f
esp_http_client: fix CI issues & return value
2019-04-16 09:03:14 +02:00
Nguyễn Hồng Quân
4a6c5032f4
Fix: Lost username when setting new URL with a path.
...
Closes https://github.com/espressif/esp-idf/pull/3250
2019-04-16 08:58:36 +02:00
Vikram Dattu
a875505546
Fix url redirection issue.
...
Operation:
In `esp_http_client_set_url`, we check for if old_host is same as new_host.
Delete and open new connection if host is different.
Issue:
We just pointed `client->connection_info.host` to `old_host` and reassigned it.
This made old_host and new_host always point to same location and hence, using old_host with new request.
Fix:
Made a separate copy for old_host using strdup.
Closes https://github.com/espressif/esp-idf/issues/2631
Signed-off-by: Vikram Dattu <vikram.dattu@espressif.com>
2019-04-10 05:40:16 +00: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