Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Mme removal #7

Merged
merged 11 commits into from
Jan 26, 2021
Merged

Mme removal #7

merged 11 commits into from
Jan 26, 2021

Conversation

petr-pokorny-1
Copy link
Contributor

Changes for removing Mapbox Mobile Events and Telemetry

@petr-pokorny-1 petr-pokorny-1 merged commit 01609cb into master Jan 26, 2021
@petr-pokorny-1 petr-pokorny-1 deleted the mme-removal branch January 26, 2021 10:26
@roblabs
Copy link
Collaborator

roblabs commented Feb 17, 2021

Analysis of Telemetry and Mapbox Mobile Events using Wireshark to test network traffic on MapLibre.

Summary: Wireshark analysis shows that this Pull Request removes telemetry and eliminates network traffic back to servers such as docs.mapbox.com, events.mapbox.com, api-events-staging.tilestream.net.

Wireshark CLI examples
# Wireshark CLI
brew install wireshark
# Install Wireshark.app with Homebrew Cask:
brew install --cask wireshark
# print list of interfaces and exit
tshark -D
# Capturing on 'Ethernet: en0'
tshark -i en0
# write packets to a pcapng-format file named "outfile"
tshark -i en0 -w outfile.pcapng
# Capture for a duration of 3.5 seconds
tshark -i en0 -w outfile.pcapng -a duration:3.5

MapLibre for iOS

iOS MME After Removing MME on this Pull Request

After this iOS specific commit, 38763fe, there is an absence of network traffic for MME.

iOS MME Before (using v5.10.0)

Before 38763fe

TCP & TLS traffic

"2847","19:50:58.833997","oldSanJuan.local","docs.mapbox.com","TLSv1.3","583","Client Hello"
"2853","19:50:58.855864","docs.mapbox.com","oldSanJuan.local","TCP","66","https(443) → 62668 [ACK] Seq=1 Ack=518 Win=66816 Len=0 TSval=529189881 TSecr=979681111"
"3049","19:50:58.996638","oldSanJuan.local","events.mapbox.com","TCP","78","62675 → https(443) [SYN] Seq=0 Win=65535 Len=0 MSS=1460 WS=64 TSval=979681255 TSecr=0 SACK_PERM=1"

DNS Query Name for MapLibre 5.10.0, from a MapView instantiation, sorted by dns.qry.name contains mapbox

Network traffic for .mapbox.com for MapLibre 5.10.0, sorted by http.host. iOS


Developer Phone Home

Phone home response for MapLibre 5.10.0

2021-02-10 16:03:57.054329-0800 com.roblabs.GeographyClass[67675:1484534] Mapbox Maps SDK for iOS version 6.3.0 is now available: https://github.com/mapbox/mapbox-gl-native-ios/releases/tag/ios-v6.3.0

iOS UserDefaults

If an app that uses MapLibre makes use of UserDefaults, then in MapLibre 5.10.0, the following keys would store persistent data. In MapLibre, these keys would just be stale without any Telemetry home to phone back to.

MGLMapboxMetricsDebugLoggingEnabled = 0
MGLMapboxMetricsEnabled = 1
MGLMapboxAccountType = 0
MGLMapboxMetricsEnabled = 1
MGLMapboxMetricsDebugLoggingEnabled = 0
MGLMapboxAccountType = 0

Android

MapLibre for Android After Removing MME on this Pull Request

After Android commit e14070b

Using the Wireshark filter dns.qry.name contains mapbox || dns.qry.name contains tilestream. No trace of tilestream.net. Tiles are served from Mapbox so a reference to api.mapbox.com is normal.

3203	20:02:18.950410	DNS	94	Standard query 0xb0b1 AAAA api.mapbox.com
3204	20:02:18.969650	DNS	94	Standard query response 0xb0b1 AAAA api.mapbox.com
3205	20:02:18.974319	DNS	94	Standard query 0xfa52 A api.mapbox.com
3206	20:02:18.990624	DNS	110	Standard query response 0xfa52 A api.mapbox.com A 13.35.94.83
13660	20:03:39.419572	DNS	94	Standard query 0xe162 AAAA api.mapbox.com
13661	20:03:39.421364	DNS	94	Standard query response 0xe162 AAAA api.mapbox.com
13663	20:03:39.435791	DNS	94	Standard query 0x2435 A api.mapbox.com
13721	20:03:39.454500	DNS	110	Standard query response 0x2435 A api.mapbox.com A 13.35.94.83

MapLibre for Android MME Before (using v9.2.1)

Android libtelemetry connects with api-events-staging.tilestream.net. Before commit e14070b

6409	19:17:11.002892	DNS	113	Standard query 0x1c1e AAAA api-events-staging.tilestream.net
6416	19:17:11.056468	DNS	113	Standard query response 0x1c1e AAAA api-events-staging.tilestream.net
6417	19:17:11.058635	DNS	113	Standard query 0xe255 A api-events-staging.tilestream.net

Normal Mapbox Tile Server

Using Wireshark on the MapLibre Sample App MapboxGLAndroidSDKTestApp. This is typical DNS queries when fetching tiles from Mapbox, which uses api.mapbox.com as it's tile server.

11702	17:33:26.742920	DNS	94	Standard query 0xbd0f AAAA api.mapbox.com
11703	17:33:26.764199	DNS	94	Standard query response 0xbd0f AAAA api.mapbox.com
11704	17:33:26.765582	DNS	94	Standard query 0x73aa A api.mapbox.com
11705	17:33:26.805612	DNS	110	Standard query response 0x73aa A api.mapbox.com A 13.35.94.83

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants