Skip to content

Commit 00f06d5

Browse files
committed
Fix build with esp core greater than 3.0.4
1 parent 5ed0df5 commit 00f06d5

File tree

2 files changed

+21
-0
lines changed

2 files changed

+21
-0
lines changed

src/Arduino_ESP32_OTA.cpp

+15
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ Arduino_ESP32_OTA::Arduino_ESP32_OTA()
3434
, _http_client(nullptr)
3535
,_ca_cert{amazon_root_ca}
3636
,_ca_cert_bundle{nullptr}
37+
,_ca_cert_budle_size(0)
3738
,_magic(0)
3839
{
3940

@@ -76,12 +77,22 @@ void Arduino_ESP32_OTA::setCACert (const char *rootCA)
7677
}
7778
}
7879

80+
#if (ESP_ARDUINO_VERSION < ESP_ARDUINO_VERSION_VAL(3, 0, 4))
7981
void Arduino_ESP32_OTA::setCACertBundle (const uint8_t * bundle)
8082
{
8183
if(bundle != nullptr) {
8284
_ca_cert_bundle = bundle;
8385
}
8486
}
87+
#else
88+
void Arduino_ESP32_OTA::setCACertBundle (const uint8_t * bundle, size_t size)
89+
{
90+
if(bundle != nullptr && size != 0) {
91+
_ca_cert_bundle = bundle;
92+
_ca_cert_budle_size = size;
93+
}
94+
}
95+
#endif
8596

8697
void Arduino_ESP32_OTA::setMagic(uint32_t magic)
8798
{
@@ -115,7 +126,11 @@ int Arduino_ESP32_OTA::startDownload(const char * ota_url)
115126
if (_ca_cert != nullptr) {
116127
static_cast<WiFiClientSecure*>(_client)->setCACert(_ca_cert);
117128
} else if (_ca_cert_bundle != nullptr) {
129+
#if (ESP_ARDUINO_VERSION < ESP_ARDUINO_VERSION_VAL(3, 0, 4))
118130
static_cast<WiFiClientSecure*>(_client)->setCACertBundle(_ca_cert_bundle);
131+
#else
132+
static_cast<WiFiClientSecure*>(_client)->setCACertBundle(_ca_cert_bundle, _ca_cert_budle_size);
133+
#endif
119134
} else {
120135
DEBUG_VERBOSE("%s: CA not configured for download client");
121136
}

src/Arduino_ESP32_OTA.h

+6
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424

2525
#include <Arduino_DebugUtils.h>
2626
#include <WiFiClientSecure.h>
27+
#include <WiFi.h>
2728
#include "decompress/utility.h"
2829
#include "decompress/lzss.h"
2930
#include <ArduinoHttpClient.h>
@@ -87,7 +88,11 @@ class Arduino_ESP32_OTA
8788
Arduino_ESP32_OTA::Error begin(uint32_t magic = ARDUINO_ESP32_OTA_MAGIC);
8889
void setMagic(uint32_t magic);
8990
void setCACert(const char *rootCA);
91+
#if (ESP_ARDUINO_VERSION < ESP_ARDUINO_VERSION_VAL(3, 0, 4))
9092
void setCACertBundle(const uint8_t * bundle);
93+
#else
94+
void setCACertBundle (const uint8_t * bundle, size_t size);
95+
#endif
9196

9297
// blocking version for the download
9398
// returns the size of the downloaded binary
@@ -151,6 +156,7 @@ class Arduino_ESP32_OTA
151156
HttpClient* _http_client;
152157
const char * _ca_cert;
153158
const uint8_t * _ca_cert_bundle;
159+
size_t _ca_cert_budle_size;
154160
uint32_t _magic;
155161

156162
void clean();

0 commit comments

Comments
 (0)