From 596b9ebfbb5394b5b6092a7c07cb7202f1fe511b Mon Sep 17 00:00:00 2001 From: xymopen_Official <8053733+xymopen@users.noreply.github.com> Date: Tue, 21 Oct 2025 20:31:41 +0800 Subject: [PATCH] fix: Certain single-label domain names can only be resolved by `InetAddress.getAllByName()` but not `Network.getAllByName()` (#1050) --- .../java/moe/matsuri/nb4a/net/LocalResolverImpl.kt | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/moe/matsuri/nb4a/net/LocalResolverImpl.kt b/app/src/main/java/moe/matsuri/nb4a/net/LocalResolverImpl.kt index 7de35b4..9b125ae 100644 --- a/app/src/main/java/moe/matsuri/nb4a/net/LocalResolverImpl.kt +++ b/app/src/main/java/moe/matsuri/nb4a/net/LocalResolverImpl.kt @@ -128,11 +128,11 @@ object LocalResolverImpl : LocalDNSTransport { // 老版本系统,继续用阻塞的 InetAddress try { val u = SagerNet.underlyingNetwork - val answer = if (u != null) { - u.getAllByName(domain) - } else { - InetAddress.getAllByName(domain) - } + val answer = try { + u?.getAllByName(domain) + } catch (e: UnknownHostException) { + null + } ?: InetAddress.getAllByName(domain) if (answer != null) { ctx.success(answer.mapNotNull { it.hostAddress }.joinToString("\n")) } else {