Play Services Network Requests on Android O Builds #768

Closed
securesearch opened this Issue Oct 14, 2017 · 6 comments

Comments

Projects
None yet
3 participants
@securesearch

Noticed that alongside the Google connectivity check that was also present in builds based on Android N, Android O builds also attempt to connect to play.googleapis.com every time a network interface is enabled. Haven't narrowed down the process making the requests, but just seems unnecessary when CopperheadOS does not use or need Play services.

@xbtc-im

This comment has been minimized.

Show comment Hide comment
@xbtc-im

xbtc-im Oct 14, 2017

that's in frameworks/base/services/core/java/com/android/server/connectivity/NetworkMonitor.java
private static final String DEFAULT_OTHER_FALLBACK_URLS =
"http://play.googleapis.com/generate_204";

all connectivitycheck servers are there ... they can be changed from source or maybe an user configurable option could be added at some point ...

xbtc-im commented Oct 14, 2017

that's in frameworks/base/services/core/java/com/android/server/connectivity/NetworkMonitor.java
private static final String DEFAULT_OTHER_FALLBACK_URLS =
"http://play.googleapis.com/generate_204";

all connectivitycheck servers are there ... they can be changed from source or maybe an user configurable option could be added at some point ...

@thestinger thestinger closed this Oct 14, 2017

@thestinger

This comment has been minimized.

Show comment Hide comment
@thestinger

thestinger Oct 14, 2017

Contributor

@xbtc-im They are user configurable via adb shell but I doubt you want to point them at something else, it wouldn't improve privacy. It would only make the device behave uniquely instead of fetching the same URLs as billions of other devices. They are empty GET requests.

Contributor

thestinger commented Oct 14, 2017

@xbtc-im They are user configurable via adb shell but I doubt you want to point them at something else, it wouldn't improve privacy. It would only make the device behave uniquely instead of fetching the same URLs as billions of other devices. They are empty GET requests.

@thestinger

This comment has been minimized.

Show comment Hide comment
@thestinger

thestinger Oct 14, 2017

Contributor

They also need to return a 204 status, not something else. It detects captive portals from the captive portal sending a 200 request, etc. instead.

Contributor

thestinger commented Oct 14, 2017

They also need to return a 204 status, not something else. It detects captive portals from the captive portal sending a 200 request, etc. instead.

@xbtc-im

This comment has been minimized.

Show comment Hide comment
@xbtc-im

xbtc-im Oct 14, 2017

Yes, it expects a 204 No Content. As far as i know captive portal detection can even be disabled via adb shell, but it can prove useful for captive portals, splash pages, spent data plans, etc. It works as intended.

xbtc-im commented Oct 14, 2017

Yes, it expects a 204 No Content. As far as i know captive portal detection can even be disabled via adb shell, but it can prove useful for captive portals, splash pages, spent data plans, etc. It works as intended.

@thestinger

This comment has been minimized.

Show comment Hide comment
@thestinger

thestinger Oct 14, 2017

Contributor

The internet connectivity checking is also used to fall back to other networks when one isn't providing working internet access.

Contributor

thestinger commented Oct 14, 2017

The internet connectivity checking is also used to fall back to other networks when one isn't providing working internet access.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment