Commit Graph

56 Commits

Author SHA1 Message Date
Harshit Malpani
1ac2ebbeb9
fix: Add config option to set timeout for posting events
Event posting to the event loop should not hinder the working of
HTTP Client or HTTP Server. This commit add a config option to set
the timeout for posting the events to the loop.

Closes https://github.com/espressif/esp-idf/issues/13641
2024-05-08 11:41:05 +05:30
Harshit Malpani
8f8528a10c
feat(esp_https_ota): Add config to configure memory capability for OTA buffer
Add `Tuning OTA Performance` section in OTA documentation
2024-03-28 11:11:07 +05:30
nilesh.kale
3da0aa2d82 fix(esp_https_ota): fix incorrectly reference of API esp_https_ota_get_img_desc()
esp_https_ota_get_img_desc() is incorrectly referred to as esp_https_ota_read_img_desc()
in some error messages.So, this MR updates related references

Closes https://github.com/espressif/esp-idf/issues/13065
2024-02-05 13:55:42 +05:30
Harshit Malpani
85e4220250
fix(esp_https_ota): fix return code of esp_https_ota_finish API
Closes https://github.com/espressif/esp-idf/issues/12635
2023-11-21 14:49:21 +05:30
nilesh.kale
44cbb8bb24 fix: fix preencrypted ota failed with pytest server and partial http enabled 2023-10-11 15:22:24 +05:30
nilesh.kale
37a098e739 fix(component-esp_https_ota): Fix wrong debug print for ota upgrade size 2023-08-18 11:35:54 +05:30
harshal.patil
2d7ec1d239 esp_https_ota: Set user configurable ota authorization retries 2023-03-29 17:29:31 +05:30
Mahavir Jain
035c2e5799
esp_http(s)_server: remove "Wno-format" cflag and fix formatting errors 2022-12-21 14:14:04 +05:30
Harshit Malpani
a80dfe85bc
esp_https_ota: Send data to event handler 2022-11-11 11:44:17 +05:30
Harshit Malpani
784089bf09
esp_https_ota: Added support for esp_events 2022-11-09 12:30:50 +05:30
Harshit Malpani
1c92feae38
esp_https_ota: fix bug where http_client_init_cb is called after esp_http_client_perform() instead of before.
Closes https://github.com/espressif/esp-idf/issues/9581
2022-09-01 12:04:40 +05:30
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
Harshit Malpani
cca208f71a Check FW version at start of ota for encrypted binary 2022-03-23 11:09:48 +05:30
Shubham Kulkarni
d5a8a57686 esp_https_ota: Add check for 303 and 308 status code
Closes https://github.com/espressif/esp-idf/issues/8581
2022-03-21 04:27:43 +00:00
Harshit Malpani
de2f915092 esp_https_ota: Update esp_https_ota() to support OTA updates with encrypted images 2022-03-11 16:52:08 +05:30
MacDue
e47419374c esp_https_ota: add user_ctx to decrypt_cb
This makes the decryption layer easier to use in C++ wrappers,
or whenever you want to avoid a global
2022-03-10 12:02:42 +00:00
Mahavir Jain
fbc9c729b2 esp_https_ota: rename config option for more clarity 2022-02-17 10:54:06 +05:30
Mahavir Jain
7fd2d5ea03 esp_https_ota: add support for decryption callback
- Decryption callback is additional feature, default disabled
- This callback can help to plug in external components managing
additional encapsulation layers on firmware image format
2022-02-17 10:54:04 +05:30
Mahavir Jain
4ae6cce2a5 esp_https_ota: add check for image descriptor magic in relevant API 2022-02-17 10:49:15 +05:30
Mahavir Jain
0b3a8881e0 esp_https_ota: Increase default ota buffer size and few other cleanups
- Increased OTA buffer size to 1K, this can easily cover image headers
- Reduced OTA redirection buffer size, this buffer is used to only consume
redirection headers
- Added static assert to check on OTA buffer size
2022-02-17 10:49:15 +05:30
Harshit Malpani
c0b796532b esp_https_ota: fix for checking chip id at start of OTA 2022-01-13 15:20:26 +05:30
yuanjm
467a8726c4 esp_https_ota: Fix esp_https_ota_begin may return ESP_OK when http status code is not 200 and may exist memory leak
Closes https://github.com/espressif/esp-idf/issues/8195
2022-01-11 22:01:17 +08:00
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
hiproz
69eb190310 esp_https_ota: change logs
1. add paired log for line393; 2. change log level to debug

Closes https://github.com/espressif/esp-idf/pull/7375

Signed-off-by: Shubham Kulkarni <shubham.kulkarni@espressif.com>
2021-08-20 09:35:40 +05:30
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
0xFEEDC0DE64
c73a17cc27 esp_https_ota: Added esp_https_ota_get_image_size() to retrieve total size of OTA update
Signed-off-by: Shubham Kulkarni <shubham.kulkarni@espressif.com>

Closes: https://github.com/espressif/esp-idf/pull/6880
2021-05-11 10:13:02 +05:30
Aditya Patwardhan
31445c1566 esp_https_ota: Warn users when CONFIG_OTA_ALLOW_HTTP is set 2021-04-20 20:06:41 +05:30
Axel Lin
39792bd7cc esp_https_ota: Fix build warning when CONFIG_OTA_ALLOW_HTTP is set
Fix below build warning when CONFIG_OTA_ALLOW_HTTP is set:
esp_https_ota.c:165:13: warning: 'is_server_verification_enabled' defined but not used [-Wunused-function]

While at it, also simplify the is_server_verification_enabled logic.

Fixes: 48987ad9df ("esp_https_ota: Enable option of using global_ca_store and x509_crt_bundle")
Signed-off-by: Axel Lin <axel.lin@gmail.com>

Closes https://github.com/espressif/esp-idf/pull/6882

Signed-off-by: Aditya Patwardhan <aditya.patwardhan@espressif.com>
2021-04-20 14:48:44 +05:30
Mahavir Jain
81c8fcaf8f Merge branch 'bugfix/ota_and_http_client' into 'master'
Fix counters for POST request in OTA and compare auth string in case insensitive fashion

Closes IDFGH-5059, IDFGH-5055, and IDFGH-5056

See merge request espressif/esp-idf!13069
2021-04-09 07:40:59 +00:00
Shubham Kulkarni
b8b104a8f0 esp_https_ota: Fix counters for sending POST body
Closes: https://github.com/espressif/esp-idf/issues/6844
2021-04-09 06:03:02 +00:00
Aditya Patwardhan
48987ad9df esp_https_ota: Enable option of using global_ca_store and x509_crt_bundle
Closes https://github.com/espressif/esp-idf/issues/5504
2021-04-09 04:33:37 +00:00
Itay Perl
807bf9688c ESP HTTPS OTA: send POST request body if set
Signed-off-by: Shubham Kulkarni <shubham.kulkarni@espressif.com>

Closes: https://github.com/espressif/esp-idf/issues/6390
Merges: https://github.com/espressif/esp-idf/pull/6391
2021-03-01 14:00:27 +00:00
Shubham Kulkarni
7f8541ff47 esp_https_ota: Add support for partial image download
Fix issue where binary_file_length field is greater than original image length
2021-03-01 14:00:27 +00:00
morris
753a929525 global: fix sign-compare warnings 2021-01-12 14:05:08 +08:00
Shubham Kulkarni
bc78b8f2da esp_https_ota: Add definition for esp_https_ota_abort
Update esp_https_ota API to use esp_https_ota_abort in case of error
2020-12-03 14:49:55 +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
Ivan Grokhotkov
85f919a428 esp_https_ota: fix error code formatting 2020-10-12 13:46:15 +02:00
Mahavir Jain
33d0024034 esp_https_ota: change erase to incremental during flash write 2020-09-04 12:05:06 +05:30
Shubham Kulkarni
c4d16e9f79 esp_https_ota: Add a feature to set custom headers to esp_https_ota request
Closes: https://github.com/espressif/esp-idf/issues/3097
2020-08-29 09:05:52 +00: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
21c2019973 esp_https_ota.c: Add fix to return failure if (-1) is returned from esp_http_client_read
Closes https://github.com/espressif/esp-idf/issues/4960
2020-04-27 05:17:04 +00:00
Shubham Kulkarni
63cd95d236 esp_https_ota.c: Add errno check for WiFi disconnection while performing OTA 2020-02-24 16:53:40 +05:30
Shubham Kulkarni
4d40f94168 OTA: Add fix in case of URL redirection and a test case of URL redirection
Closes https://github.com/espressif/esp-idf/issues/4780
2020-02-24 16:53:27 +05:30
Shubham Kulkarni
ba31458347 OTA: Fixed OTA with chunked servers and added example_test with chunked server 2020-02-05 11:56:37 +05:30
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
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
Mahavir Jain
ca4a8a61c4 Merge branch 'bugfix/CMake_esp_https_ota_dependencies' into 'master'
components/esp_https_ota: Changes in public requirement list for CMake

Closes IDFGH-2066

See merge request espressif/esp-idf!6558
2019-11-12 19:43:26 +08:00
Mahavir Jain
917a406c0a Logging improvements in OTA example and component 2019-11-04 12:15:19 +05:30
Shubham Kulkarni
0dafdd2984 Merge branch 'bugfix/CMake_esp_https_ota_dependencies' into master
components/esp_https_ota: Changes in public requirement list for CMake and esp_ota_ops.h is included in esp_https_ota.c

bootloader_support is added in public requirements of CMake

bootloader_common.h is included in esp_https_ota.h

Closes https://github.com/espressif/esp-idf/issues/4198

Closes IDFGH-2066
2019-11-01 12:50:17 +05:30
Hrudaynath Dhabe
53e7beb95b esp_https_ota: Added error checking functionalities.
Current implimentation of esp_http_ota does not perform any error-checking in the data writing phase calls `esp_ota_get_next_update_partition()` irrespetive of the received state of the image. A few additional error checking mechanism have now been added inside the esp_https_ota which returns the control in case an invalid header is received and a wrapper to the function `esp_http_client_is_complete_data_received()` of `esp_http_client` has been added.
2019-08-15 21:10:00 +08:00