Commit Graph

104 Commits

Author SHA1 Message Date
Chen Wu
7f1ab6d8d1 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
2022-01-12 16:17:20 +08:00
yuanjm
cbfffc7269 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-11-01 17:21:21 +08:00
Vikram Dattu
70db0406fc 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-20 17:10:44 +05:30
Jon Maloney
57042ab56c 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-09-19 21:12:35 +08:00
David Cermak
7f8d47203e ci/test: Fix esp_http_client const char* correction 2021-08-18 15:28:08 +02:00
Alex Henrie
afd3fc6d16 Fix memory leak on error path in http_header_set_format 2021-07-25 07:42:14 +05:30
Alex Henrie
e634a00ef8 Fix memory leak on error path in md5_printf 2021-07-25 07:42:13 +05:30
yuanjm
b7791c171d esp_http_client: Optimize code structure 2021-07-15 16:17:51 +08:00
Clickau
d25b354cfc esp_http_client: fix truncated headers
Signed-off-by: yuanjm <yuanjianmin@espressif.com>

Merges https://github.com/espressif/esp-idf/pull/6370
2021-07-15 16:17:36 +08:00
Shubham Kulkarni
01f05da3ae esp_https_ota: Add check for HTTP error codes and corresponding error logs
Closes: https://github.com/espressif/esp-idf/issues/7058
2021-06-30 15:59:10 +05:30
Shubham Kulkarni
e4ebaca693 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-28 05:00:58 +00: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