From 0641870b5b86dc9d0ff611c584ef818af308f17e Mon Sep 17 00:00:00 2001 From: Neel Chauhan Date: Wed, 18 Mar 2026 11:14:54 -0400 Subject: [PATCH] platform_packages_modules_NetworkStack: Allow Apple's servers for captive portal check Part of GrapheneOS/os-issue-tracker#6728 --- res/values/config.xml | 2 ++ src/com/android/server/connectivity/NetworkMonitor.java | 6 ++++++ 2 files changed, 8 insertions(+) diff --git a/res/values/config.xml b/res/values/config.xml index 65767cc24..c558cb2ba 100644 --- a/res/values/config.xml +++ b/res/values/config.xml @@ -14,6 +14,7 @@ this resource. It will break if the enforcement of overlayable starts. --> http://connectivitycheck.grapheneos.network/generate_204 + http://captive.apple.com http://connectivitycheck.gstatic.com/generate_204 https://connectivitycheck.grapheneos.network/generate_204 + https://captive.apple.com https://www.google.com/generate_204 diff --git a/src/com/android/server/connectivity/NetworkMonitor.java b/src/com/android/server/connectivity/NetworkMonitor.java index 6900c0cff..f7219550e 100755 --- a/src/com/android/server/connectivity/NetworkMonitor.java +++ b/src/com/android/server/connectivity/NetworkMonitor.java @@ -2686,6 +2686,9 @@ private URL[] makeCaptivePortalHttpsUrls(@NonNull Context context) { case ConnChecksSetting.VAL_GRAPHENEOS: resId = R.string.default_captive_portal_https_url_grapheneos; break; + case ConnChecksSetting.VAL_APPLE: + resId = R.string.default_captive_portal_https_url_apple; + break; case ConnChecksSetting.VAL_STANDARD: resId = R.string.default_captive_portal_https_url; break; @@ -2701,6 +2704,9 @@ private URL[] makeCaptivePortalHttpUrls(@NonNull Context context) { case ConnChecksSetting.VAL_GRAPHENEOS: resId = R.string.default_captive_portal_http_url_grapheneos; break; + case ConnChecksSetting.VAL_APPLE: + resId = R.string.default_captive_portal_http_url_apple; + break; case ConnChecksSetting.VAL_STANDARD: resId = R.string.default_captive_portal_http_url; break;