mirror of
https://github.com/esphome/esphome.git
synced 2025-11-20 00:35:44 +00:00
WPA2 Enterprise Attempt 2 (#1158)
This commit is contained in:
@@ -57,6 +57,18 @@ struct ManualIP {
|
||||
IPAddress dns2; ///< The second DNS server. 0.0.0.0 for default.
|
||||
};
|
||||
|
||||
#ifdef ESPHOME_WIFI_WPA2_EAP
|
||||
struct EAPAuth {
|
||||
std::string identity; // required for all auth types
|
||||
std::string username;
|
||||
std::string password;
|
||||
const char *ca_cert; // optionally verify authentication server
|
||||
// used for EAP-TLS
|
||||
const char *client_cert;
|
||||
const char *client_key;
|
||||
};
|
||||
#endif // ESPHOME_WIFI_WPA2_EAP
|
||||
|
||||
using bssid_t = std::array<uint8_t, 6>;
|
||||
|
||||
class WiFiAP {
|
||||
@@ -65,6 +77,9 @@ class WiFiAP {
|
||||
void set_bssid(bssid_t bssid);
|
||||
void set_bssid(optional<bssid_t> bssid);
|
||||
void set_password(const std::string &password);
|
||||
#ifdef ESPHOME_WIFI_WPA2_EAP
|
||||
void set_eap(optional<EAPAuth> eap_auth);
|
||||
#endif // ESPHOME_WIFI_WPA2_EAP
|
||||
void set_channel(optional<uint8_t> channel);
|
||||
void set_priority(float priority) { priority_ = priority; }
|
||||
void set_manual_ip(optional<ManualIP> manual_ip);
|
||||
@@ -72,6 +87,9 @@ class WiFiAP {
|
||||
const std::string &get_ssid() const;
|
||||
const optional<bssid_t> &get_bssid() const;
|
||||
const std::string &get_password() const;
|
||||
#ifdef ESPHOME_WIFI_WPA2_EAP
|
||||
const optional<EAPAuth> &get_eap() const;
|
||||
#endif // ESPHOME_WIFI_WPA2_EAP
|
||||
const optional<uint8_t> &get_channel() const;
|
||||
float get_priority() const { return priority_; }
|
||||
const optional<ManualIP> &get_manual_ip() const;
|
||||
@@ -81,6 +99,9 @@ class WiFiAP {
|
||||
std::string ssid_;
|
||||
optional<bssid_t> bssid_;
|
||||
std::string password_;
|
||||
#ifdef ESPHOME_WIFI_WPA2_EAP
|
||||
optional<EAPAuth> eap_;
|
||||
#endif // ESPHOME_WIFI_WPA2_EAP
|
||||
optional<uint8_t> channel_;
|
||||
float priority_{0};
|
||||
optional<ManualIP> manual_ip_;
|
||||
|
||||
Reference in New Issue
Block a user