Commit Graph

48 Commits

Author SHA1 Message Date
Harshit Malpani
03f8d8a0e2 esp_https_ota: Send data to event handler 2022-11-21 03:31:06 +00:00
Harshit Malpani
4934d01795 esp_https_ota: Added support for esp_events 2022-11-21 03:31:06 +00:00
Harshit Malpani
30d81f76b4
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-02 16:15:38 +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
Gregory Eslinger
7fbedb1ba3 esp_https_ota: Removed unnecessary free()
Closes https://github.com/espressif/esp-idf/issues/3504

Merges https://github.com/espressif/esp-idf/pull/3513

Signed-off-by: Jitin George <jitin@espressif.com>
2019-06-25 23:41:33 +00:00
Jitin George
f49e91f744 esp_https_ota: Add support for URL redirection, basic auth and more control with new APIs
Bugfixes:
- Fix http url redirection issue
- Fix basic/digest auth issue with http url

Features:
- Add support for adding custom http header
- Add support for reading firmware image header
- Add support for monitoring upgrade status
  - This requires breaking down esp_https_ota API such that it allows finer application level control
  - For simpler use-cases previous API is still supported

Closes https://github.com/espressif/esp-idf/issues/3218
Closes https://github.com/espressif/esp-idf/issues/2921
2019-04-29 18:58:07 +05:30
Mahavir Jain
27e00cf7aa esp_http_client: add support for using certs from global ca store
Closes https://github.com/espressif/esp-idf/issues/3062
2019-02-27 14:19:06 +05:30
Mahavir Jain
b912d0fa9d esp_https_ota: add support for configurable ota buffer size
Closes https://github.com/espressif/esp-idf/issues/2998
2019-01-30 18:11:09 +05:30
Mahavir Jain
d894e133ad esp_https_ota: add config option to (optionally) allow http 2019-01-30 18:11:05 +05:30
Jitin George
1fecdc3891 esp_https_ota: Add support for HTTPS based ota feature 2018-08-03 16:47:07 +05:30