[tbb-commits] [tor-browser/tor-browser-60.1.0esr-8.0-1] Bug 25741 - TBA: Conditionally require WIFI and NETWORK permissions

gk at torproject.org gk at torproject.org
Fri Jul 27 08:37:27 UTC 2018


commit 2f95c5a75f74fb9f34c60940a5e1285162f696d5
Author: Matthew Finkel <Matthew.Finkel at gmail.com>
Date:   Wed Apr 11 17:52:59 2018 +0000

    Bug 25741 - TBA: Conditionally require WIFI and NETWORK permissions
    
    Only require the {ACCESS,CHANGE}_WIFI_STATE and ACCESS_NETWORK_STATE
    permissions if MOZ_ANDROID_NETWORK_STATE is defined in the preprocessor.
---
 mobile/android/base/FennecManifest_permissions.xml.in                 | 3 +++
 mobile/android/geckoview/src/main/AndroidManifest.xml                 | 2 ++
 mobile/android/moz.configure                                          | 4 ++++
 .../services/manifests/FxAccountAndroidManifest_permissions.xml.in    | 2 ++
 mobile/android/torbrowser.configure                                   | 2 ++
 5 files changed, 13 insertions(+)

diff --git a/mobile/android/base/FennecManifest_permissions.xml.in b/mobile/android/base/FennecManifest_permissions.xml.in
index 94bd1b39e0e0..747f1e988147 100644
--- a/mobile/android/base/FennecManifest_permissions.xml.in
+++ b/mobile/android/base/FennecManifest_permissions.xml.in
@@ -8,8 +8,11 @@
      (potentially) of the push feature. -->
 #include GcmAndroidManifest_permissions.xml.in
 
+#ifdef MOZ_ANDROID_NETWORK_STATE
+    <!-- Android WIFI state -->
     <uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>
     <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
+#endif
     <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
     <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
     <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
diff --git a/mobile/android/geckoview/src/main/AndroidManifest.xml b/mobile/android/geckoview/src/main/AndroidManifest.xml
index c99c76efdd57..2a84ae4611ad 100644
--- a/mobile/android/geckoview/src/main/AndroidManifest.xml
+++ b/mobile/android/geckoview/src/main/AndroidManifest.xml
@@ -1,11 +1,13 @@
 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
     package="org.mozilla.geckoview">
 
+#ifdef MOZ_ANDROID_NETWORK_STATE
     <uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>
     <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
     <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
     <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
     <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
+#endif
     <uses-permission android:name="android.permission.INTERNET"/>
     <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
     <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
diff --git a/mobile/android/moz.configure b/mobile/android/moz.configure
index df9eb2038075..468ec4723632 100644
--- a/mobile/android/moz.configure
+++ b/mobile/android/moz.configure
@@ -185,3 +185,7 @@ def check_android_gcm(android_gcm,
         if not google_play_services:
             die('You must specify --with-google-play-services when'
                 ' building with MOZ_ANDROID_GCM=1')
+
+project_flag('MOZ_ANDROID_NETWORK_STATE',
+             help='Include permission for accessing WiFi/network state on Android',
+             default=False)
diff --git a/mobile/android/services/manifests/FxAccountAndroidManifest_permissions.xml.in b/mobile/android/services/manifests/FxAccountAndroidManifest_permissions.xml.in
index d5c7e3e5c7dc..8498b8015855 100644
--- a/mobile/android/services/manifests/FxAccountAndroidManifest_permissions.xml.in
+++ b/mobile/android/services/manifests/FxAccountAndroidManifest_permissions.xml.in
@@ -1,5 +1,7 @@
     <uses-permission android:name="android.permission.GET_ACCOUNTS" />
+#ifdef MOZ_ANDROID_NETWORK_STATE
     <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
+#endif
     <uses-permission android:name="android.permission.MANAGE_ACCOUNTS" />
     <uses-permission android:name="android.permission.USE_CREDENTIALS" />
     <uses-permission android:name="android.permission.AUTHENTICATE_ACCOUNTS" />
diff --git a/mobile/android/torbrowser.configure b/mobile/android/torbrowser.configure
index 5e3ab67dca6a..3e84355774d5 100644
--- a/mobile/android/torbrowser.configure
+++ b/mobile/android/torbrowser.configure
@@ -41,3 +41,5 @@ imply_option('MOZ_SERVICES_HEALTHREPORT', False)
 # them here, as well.
 #imply_option('MOZ_TELEMETRY_REPORTING', False)
 #imply_option('MOZ_DATA_REPORTING', False)
+
+imply_option('MOZ_ANDROID_NETWORK_STATE', False);





More information about the tbb-commits mailing list