Commit Graph

90 Commits

Author SHA1 Message Date
Mahavir Jain 09935fda4d Merge branch 'fix/esp_https_ota_header_handling_for_custom_data_v5.5' into 'release/v5.5'
Issue with complete headers for custom partition OTA (v5.5)

See merge request espressif/esp-idf!45795
2026-02-25 12:26:09 +05:30
nilesh.kale b7ef04f701 fix(esp_https_ota): handle ota resumption if server dosent support range requests
This commit added check to see if server supports range requets,
and fallback to OTA without resumption accordingly.

Closes https://github.com/espressif/esp-idf/pull/17960
2026-02-17 11:20:07 +05:30
Raoul Rubien 60738ae658 fix esp_https_ota_begin(): implements handling of HttpStatus_PartialContent-code 206 2026-02-17 11:15:56 +05:30
hrushikesh.bhosale be7fad53ce feat(partition_ota): Modified pytest for storage data
- Modified test for storage data, reduced the size to 500 bytes,
less than IMAGE_HEADER_SIZE (1024), to check the workflow, if the
custom partition other than APP and BOOTLOADER less IMAGE_HEADER_SIZE
performed OTA
2026-02-10 14:00:34 +05:30
hrushikesh.bhosale 55d317ff8a feat(esp_https_ota): Skipped read_header and write for custom partition
- For custom partition less than IMAGE_HEADER_SIZE (1024 bytes), give
error - 'complete header not received'
- Skipped the read_header function for custom partition, and directly
jumped to IN_PROGRESS state
2026-02-10 14:00:34 +05:30
nilesh.kale 88fe9e436d fix(esp_https_ota): align OTA resumption offset to 16-byte boundary 2025-12-18 19:09:56 +08:00
nilesh.kale 943b853746 Revert "fix: add check to ensure OTA buffer size for 16-byte aligned"
This reverts commit 873fd18c5a.
2025-12-18 19:09:56 +08:00
Mahavir Jain cfba6ee0fd Merge branch 'bugfix/ota_resumption_saved_size_alignmnet_v5.5' into 'release/v5.5'
fix: Ensure OTA written size for 16-byte alignment (v5.5)

See merge request espressif/esp-idf!42683
2025-10-21 07:53:49 +05:30
nilesh.kale 4decd52e52 fix: add check to ensure OTA buffer size for 16-byte aligned
This commit added guide to, round off OTA written size to allowed
aignmnet when flash ecnryption enabled.
2025-10-17 10:48:58 +05:30
nilesh.kale 534b4be9cb feat(esp_https_ota): Support partial downloading of OTA over single connection
This commit added support to download OTA with partial download feature
over single HTTP connection if server supports persistent connection.
2025-10-17 10:38:52 +05:30
nilesh.kale a65a86cf54 fix(esp_https_ota): fixed missing return check during setting range header
This commit added return value check during setting the range header
for partial download procedure of esp_https_ota
2025-08-12 15:21:15 +05:30
nilesh.kale 34b7e7df63 fix(esp_https_ota): add component dependencies for esp_https_ota component
This commit added dependency of esp_bootloader_img and esp_partition
for component esp_https_ota.

Closes https://github.com/espressif/esp-idf/issues/15680
2025-04-08 15:14:23 +05:30
nilesh.kale 54eb749fd2 feat: updated check for chip revision and respective testcases
This commit have updated check for max chip revision along with min chip revision.
Also added qemu based pytest to verify chip revision while performing OTA.
2025-04-07 18:18:16 +08:00
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