Merge remote-tracking branch 'origin/ota_memory_str' into integration

This commit is contained in:
J. Nick Koston 2025-06-27 00:34:36 +02:00
commit b1c6e8168e
No known key found for this signature in database
2 changed files with 6 additions and 5 deletions

View File

@ -15,6 +15,7 @@
#include <cerrno>
#include <cstdio>
#include <cstring>
namespace esphome {
@ -76,7 +77,7 @@ void ESPHomeOTAComponent::dump_config() {
" Version: %d",
network::get_use_address().c_str(), this->port_, USE_OTA_VERSION);
#ifdef USE_OTA_PASSWORD
if (!this->password_.empty()) {
if (this->password_ != nullptr) {
ESP_LOGCONFIG(TAG, " Password configured");
}
#endif
@ -168,7 +169,7 @@ void ESPHomeOTAComponent::handle_() {
this->writeall_(buf, 1);
#ifdef USE_OTA_PASSWORD
if (!this->password_.empty()) {
if (this->password_ != nullptr) {
buf[0] = ota::OTA_RESPONSE_REQUEST_AUTH;
this->writeall_(buf, 1);
md5::MD5Digest md5{};
@ -187,7 +188,7 @@ void ESPHomeOTAComponent::handle_() {
// prepare challenge
md5.init();
md5.add(this->password_.c_str(), this->password_.length());
md5.add(this->password_, strlen(this->password_));
// add nonce
md5.add(sbuf, 32);

View File

@ -13,7 +13,7 @@ namespace esphome {
class ESPHomeOTAComponent : public ota::OTAComponent {
public:
#ifdef USE_OTA_PASSWORD
void set_auth_password(const std::string &password) { password_ = password; }
void set_auth_password(const char *password) { password_ = password; }
#endif // USE_OTA_PASSWORD
/// Manually set the port OTA should listen on
@ -32,7 +32,7 @@ class ESPHomeOTAComponent : public ota::OTAComponent {
bool writeall_(const uint8_t *buf, size_t len);
#ifdef USE_OTA_PASSWORD
std::string password_;
const char *password_{nullptr};
#endif // USE_OTA_PASSWORD
uint16_t port_;