77 Commits

Author SHA1 Message Date
nilesh.kale
714ebfc0d1 feat(esp_https_ota): added check for revision check while performing OTA
This commit added check to verify revision while performing OTA process.
OTA with version greater than chip revision will be prohibited.
2025-02-28 17:00:47 +05:30
Mahavir Jain
89a96905c4
fix(esp_https_ota): handle invalid range condition for OTA resumption case 2025-01-23 17:13:43 +05:30
nilesh.kale
5c5df89950
feat(esp_https_ota): added ota resumption feature
This commit enabled configurable OTA resumption feature in advanced ota example.
This resumes downloading OTA image from where it left off in case of
an error or reboot.

Closes https://github.com/espressif/esp-idf/issues/13127
2025-01-23 17:13:15 +05:30
nilesh.kale
a0bcffcce9 fix(esp_http_client): updated defination for macro mem_check
This commit replace macro MEM_CHECK with return on failure and
updated usage of reespctive APIs' in IDF.
This also update th prototype of API esp_http_client_add_auth().

Closes https://github.com/espressif/esp-idf/issues/14463
2024-12-10 15:41:36 +05:30
Mahavir Jain
2c74d625a8 Merge branch 'bug/overflowed_constant_in_app_update' into 'master'
fix(esp_https_ota): Changed the type of erase size

Closes IDF-11745

See merge request espressif/esp-idf!35336
2024-12-06 15:52:23 +08:00
hrushikesh.bhosale
8d651e5e99 fix(esp_https_ota): Changed the type of erase size
Changed the type of erase size(esp_https_ota.c) from int to uint_32 type,
so that it do not overflow.
2024-12-03 13:27:45 +05:30
nilesh.kale
0733de565f feat(esp_htttps_ota): handle case if server retured 304 not_modified during ota
This commit handles case for response code 304 (NOT_MODIFIED) during ota.

Closes https://github.com/espressif/esp-idf/issues/14839
2024-12-02 17:23:30 +08:00
Konstantin Kondrashov
97d150d69a feat(app_update): OTA update bootloader, partition_table and other partitions
Passive app partition can be used as the staging partition where a new image is loaded.
Then copy it to the final partition.

Closes: https://github.com/espressif/esp-idf/issues/14195
Closes: https://github.com/espressif/esp-idf/issues/13824
2024-11-07 13:48:51 +02:00
Konstantin Kondrashov
d11b958209 refactor(examples): Refactoring and clean up OTA tests 2024-09-25 09:45:08 +03:00
nilesh.kale
70d4414eeb feat(esp_https_ota): added API to get last status code logged from http resonse
Closes https://github.com/espressif/esp-idf/issues/14302
2024-09-06 15:09:42 +05:30
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
Mahavir Jain
f2a03f27cf
docs: add more details about pre-encrypted OTA scheme 2024-04-23 14:35:09 +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
Jakob Hasse
548022fbe6 refactor(linux): excluded all non-Linux components from build
* All components which won't build (yet) on Linux are excluded.
  This enables switching to Linux in an application without
  explicitly setting COMPONENTS to main in the main
  CMakeLists.txt.
* ESP Timer provides headers for Linux now
* automatically disabling LWIP in Kconfig if it is not available

doc(linux): brought section
  "Component Linux/Mock Support Overview" up to date
2023-10-16 17:06:54 +08:00
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
45bcf572c2
docs: Update esp_https_ota docs to have information about OTA events 2022-12-16 10:26:15 +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
0071ea498f
esp_app_format: Fixed build errors and resolved dependencies 2022-08-17 10:59:31 +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
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
3eb8f3b54e esp_https_ota: add some return values to API documentation 2022-02-17 10:49:15 +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
Roland Dobai
766aa57084 Build & config: Remove leftover files from the unsupported "make" build system 2021-11-11 15:32:36 +01: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: 48987ad9df35 ("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