net: fix resolving of ::1:48872 (pass the *should_listen_on_both_ipv4_and_ipv6_by_default_test.v tests) (#22715)

This commit is contained in:
Delyan Angelov 2024-10-31 18:22:25 +02:00 committed by GitHub
parent 97941b97f8
commit a189d7f8e8
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
5 changed files with 9 additions and 9 deletions

View File

@ -22,11 +22,11 @@ pub fn split_address(addr string) !(string, u16) {
p := validate_port(port)!
return address, p
} else if _ := addr.index('::') {
// ipv6 host only ::1
if addr.all_before_last('::') == '' {
if addr.count(':') == 2 && addr.all_before_last('::') == '' {
// ipv6 host only `::1`
return addr, 0
} else {
// addr:port
// addr:port, or `::addr:port`
address := addr.all_before_last(':')
port := addr.all_after_last(':').int()
p := validate_port(port)!

View File

@ -23,3 +23,9 @@ fn test_resolve() {
assert x[0].str() == '[::1]:10093'
assert x[0].port()! == 10093
}
fn test_resolve_port_without_brackets() {
x := net.resolve_addrs_fuzzy('::1:48872', .udp)!
assert x.len > 0
assert x[0].port()! == 48872
}

View File

@ -1,5 +1,3 @@
// vtest flaky: true
// vtest retry: 3
import os
import log
import time

View File

@ -1,5 +1,3 @@
// vtest flaky: true
// vtest retry: 3
import os
import log
import time

View File

@ -1,5 +1,3 @@
// vtest flaky: true
// vtest retry: 3
import os
import log
import time