Skip to content
Closed
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Fix WiFiServer IPv4 in IPv6
  • Loading branch information
s-hadinger authored Nov 22, 2023
commit ac21e7d0c7c9970aaa4196328270b3d909c34f34
4 changes: 2 additions & 2 deletions libraries/WiFi/src/WiFiServer.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -82,16 +82,16 @@ void WiFiServer::begin(uint16_t port, int enable){
return;
setsockopt(sockfd, SOL_SOCKET, SO_REUSEADDR, &enable, sizeof(int));
server.sin6_family = AF_INET6;
memset(server.sin6_addr.s6_addr, 0x0, 16);
if (_addr.type() == IPv4) {
// log_e("---------------- IPv4");
memcpy(server.sin6_addr.s6_addr+11, (uint8_t*)&_addr[0], 4);
memcpy(server.sin6_addr.s6_addr+12, (uint8_t*)&_addr[0], 4);
server.sin6_addr.s6_addr[10] = 0xFF;
server.sin6_addr.s6_addr[11] = 0xFF;
} else {
// log_e("---------------- IPv6");
memcpy(server.sin6_addr.s6_addr, (uint8_t*)&_addr[0], 16);
}
memset(server.sin6_addr.s6_addr, 0x0, 16);
server.sin6_port = htons(_port);
if(bind(sockfd, (struct sockaddr *)&server, sizeof(server)) < 0)
return;
Expand Down