From 41c6f93aa82ca751cdea68df48463187b02edda2 Mon Sep 17 00:00:00 2001 From: rmg-x Date: Sun, 16 Feb 2025 16:18:39 -0600 Subject: [PATCH] RequestServer: Remove IPV6 bracket notation on host before resolving Previously, we were passing in the serialized value which included square brackets but that isn't a valid IPV6 address. --- Services/RequestServer/ConnectionFromClient.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/Services/RequestServer/ConnectionFromClient.cpp b/Services/RequestServer/ConnectionFromClient.cpp index 7ed6dd906f..136b31e1d0 100644 --- a/Services/RequestServer/ConnectionFromClient.cpp +++ b/Services/RequestServer/ConnectionFromClient.cpp @@ -353,6 +353,11 @@ void ConnectionFromClient::start_request(i32 request_id, ByteString const& metho } auto host = url.serialized_host().to_byte_string(); + + // Check if host has the bracket notation for IPV6 addresses and remove them + if (host.starts_with("["sv) && host.ends_with("]"sv)) + host = host.substring(1, host.length() - 2); + m_resolver->dns.lookup(host, DNS::Messages::Class::IN, { DNS::Messages::ResourceType::A, DNS::Messages::ResourceType::AAAA }) ->when_rejected([this, request_id](auto const& error) { dbgln("StartRequest: DNS lookup failed: {}", error);