diff --git a/esphome/components/api/api_connection.cpp b/esphome/components/api/api_connection.cpp index 465cddfe24..4fb229aa9b 100644 --- a/esphome/components/api/api_connection.cpp +++ b/esphome/components/api/api_connection.cpp @@ -1578,10 +1578,12 @@ bool APIConnection::send_buffer(ProtoWriteBuffer buffer, uint8_t message_type) { // Do not set last_traffic_ on send return true; } +#ifdef USE_API_PASSWORD void APIConnection::on_unauthenticated_access() { this->on_fatal_error(); ESP_LOGD(TAG, "%s access without authentication", this->get_client_combined_info().c_str()); } +#endif void APIConnection::on_no_setup_connection() { this->on_fatal_error(); ESP_LOGD(TAG, "%s access without full connection", this->get_client_combined_info().c_str()); diff --git a/esphome/components/api/api_connection.h b/esphome/components/api/api_connection.h index eed9f78b2f..cee0b091ae 100644 --- a/esphome/components/api/api_connection.h +++ b/esphome/components/api/api_connection.h @@ -232,7 +232,9 @@ class APIConnection : public APIServerConnection { } uint8_t get_log_subscription_level() const { return this->flags_.log_subscription; } void on_fatal_error() override; +#ifdef USE_API_PASSWORD void on_unauthenticated_access() override; +#endif void on_no_setup_connection() override; ProtoWriteBuffer create_buffer(uint32_t reserve_size) override { // FIXME: ensure no recursive writes can happen diff --git a/esphome/components/api/proto.h b/esphome/components/api/proto.h index b3cdce8158..8b6394e18e 100644 --- a/esphome/components/api/proto.h +++ b/esphome/components/api/proto.h @@ -859,7 +859,9 @@ class ProtoService { virtual bool is_authenticated() = 0; virtual bool is_connection_setup() = 0; virtual void on_fatal_error() = 0; +#ifdef USE_API_PASSWORD virtual void on_unauthenticated_access() = 0; +#endif virtual void on_no_setup_connection() = 0; /** * Create a buffer with a reserved size. @@ -900,10 +902,12 @@ class ProtoService { if (!this->check_connection_setup_()) { return false; } +#ifdef USE_API_PASSWORD if (!this->is_authenticated()) { this->on_unauthenticated_access(); return false; } +#endif return true; } };