1
0
mirror of https://github.com/esphome/esphome.git synced 2025-10-30 06:33:51 +00:00

Add IPv6 support for ESP-IDF framework (#2953)

Co-authored-by: Oxan van Leeuwen <oxan@oxanvanleeuwen.nl>
This commit is contained in:
Jimmy Hedman
2022-01-25 09:55:33 +01:00
committed by GitHub
parent 7a0827e3d0
commit d92f297bc0
7 changed files with 102 additions and 19 deletions

View File

@@ -36,7 +36,7 @@ std::unique_ptr<OTABackend> make_ota_backend() {
}
void OTAComponent::setup() {
server_ = socket::socket(AF_INET, SOCK_STREAM, 0);
server_ = socket::socket_ip(SOCK_STREAM, 0);
if (server_ == nullptr) {
ESP_LOGW(TAG, "Could not create socket.");
this->mark_failed();
@@ -55,11 +55,14 @@ void OTAComponent::setup() {
return;
}
struct sockaddr_in server;
memset(&server, 0, sizeof(server));
server.sin_family = AF_INET;
server.sin_addr.s_addr = ESPHOME_INADDR_ANY;
server.sin_port = htons(this->port_);
struct sockaddr_storage server;
socklen_t sl = socket::set_sockaddr_any((struct sockaddr *) &server, sizeof(server), htons(this->port_));
if (sl == 0) {
ESP_LOGW(TAG, "Socket unable to set sockaddr: errno %d", errno);
this->mark_failed();
return;
}
err = server_->bind((struct sockaddr *) &server, sizeof(server));
if (err != 0) {