From b746f7bd842d9337930a056f8be1cf93d955a09a Mon Sep 17 00:00:00 2001 From: Shallow Date: Wed, 24 Jun 2026 03:04:51 +0800 Subject: [PATCH 1/2] Handle denied system DNS lookup --- .../org/lsposed/manager/util/CloudflareDNS.java | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/org/lsposed/manager/util/CloudflareDNS.java b/app/src/main/java/org/lsposed/manager/util/CloudflareDNS.java index e0bf6214b..e07ad97f8 100644 --- a/app/src/main/java/org/lsposed/manager/util/CloudflareDNS.java +++ b/app/src/main/java/org/lsposed/manager/util/CloudflareDNS.java @@ -57,10 +57,16 @@ public CloudflareDNS() { @NonNull @Override public List lookup(@NonNull String hostname) throws UnknownHostException { - if (DoH && noProxy) { - return cloudflare.lookup(hostname); - } else { - return SYSTEM.lookup(hostname); + try { + if (DoH && noProxy) { + return cloudflare.lookup(hostname); + } else { + return SYSTEM.lookup(hostname); + } + } catch (SecurityException e) { + var unknownHost = new UnknownHostException(e.getMessage()); + unknownHost.initCause(e); + throw unknownHost; } } } From 097153cdfb6f0f848a921fbdfb81b094cbcece8e Mon Sep 17 00:00:00 2001 From: Shallow Date: Wed, 24 Jun 2026 10:32:03 +0800 Subject: [PATCH 2/2] Include hostname in denied DNS failures --- app/src/main/java/org/lsposed/manager/util/CloudflareDNS.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/org/lsposed/manager/util/CloudflareDNS.java b/app/src/main/java/org/lsposed/manager/util/CloudflareDNS.java index e07ad97f8..bb8ec674e 100644 --- a/app/src/main/java/org/lsposed/manager/util/CloudflareDNS.java +++ b/app/src/main/java/org/lsposed/manager/util/CloudflareDNS.java @@ -64,7 +64,9 @@ public List lookup(@NonNull String hostname) throws UnknownHostExce return SYSTEM.lookup(hostname); } } catch (SecurityException e) { - var unknownHost = new UnknownHostException(e.getMessage()); + var message = e.getMessage(); + var unknownHost = new UnknownHostException( + message == null ? hostname : hostname + ": " + message); unknownHost.initCause(e); throw unknownHost; }