From 14bc506b511266bdb0221ad24cccc7a38328ee94 Mon Sep 17 00:00:00 2001 From: Nils Andreas Svee Date: Tue, 28 Apr 2026 16:42:05 +0700 Subject: [PATCH] feat(client): Normalize IPv6 addresses without port in brackets --- crates/irtt-client/src/socket.rs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/crates/irtt-client/src/socket.rs b/crates/irtt-client/src/socket.rs index acf23f7..34fcda5 100644 --- a/crates/irtt-client/src/socket.rs +++ b/crates/irtt-client/src/socket.rs @@ -39,6 +39,9 @@ pub(crate) fn normalize_server_addr(addr: &str) -> String { if addr.parse::().is_ok() { return addr.to_owned(); } + if addr.starts_with('[') && addr.ends_with(']') { + return format!("{addr}:{DEFAULT_PORT}"); + } if addr.starts_with('[') { return addr.to_owned(); } @@ -98,6 +101,7 @@ mod tests { assert_eq!(normalize_server_addr("localhost"), "localhost:2112"); assert_eq!(normalize_server_addr("localhost:1234"), "localhost:1234"); assert_eq!(normalize_server_addr("::1"), "[::1]:2112"); + assert_eq!(normalize_server_addr("[::1]"), "[::1]:2112"); assert_eq!(normalize_server_addr("[::1]:1234"), "[::1]:1234"); } }