1
0
mirror of https://github.com/vlang/v.git synced 2023-08-10 21:13:21 +03:00

net.websocket: fix server not listening for IPv4 (#12717)

This commit is contained in:
Toby Webb
2021-12-06 10:10:25 +01:00
committed by GitHub
parent d85111e3dd
commit 09955b7ce8
4 changed files with 34 additions and 26 deletions

View File

@@ -164,8 +164,15 @@ pub fn resolve_ipaddrs(addr string, family AddrFamily, typ SocketType) ?[]Addr {
address, port := split_address(addr) ?
if addr[0] == `:` {
// Use in6addr_any
return [new_ip6(port, net.addr_ip6_any)]
match family {
.ip6 {
return [new_ip6(port, net.addr_ip6_any)]
}
.ip, .unspec {
return [new_ip(port, net.addr_ip_any)]
}
else {}
}
}
mut hints := C.addrinfo{
@@ -200,7 +207,18 @@ pub fn resolve_ipaddrs(addr string, family AddrFamily, typ SocketType) ?[]Addr {
for result := results; !isnil(result); result = result.ai_next {
match AddrFamily(result.ai_family) {
.ip, .ip6 {
.ip {
new_addr := Addr{
addr: AddrData{
Ip: Ip{}
}
}
unsafe {
C.memcpy(&new_addr, result.ai_addr, result.ai_addrlen)
}
addresses << new_addr
}
.ip6 {
new_addr := Addr{
addr: AddrData{
Ip6: Ip6{}