android: Request QUERY_ALL_PACKAGES permission

This is required when targeting Android 11 (API 30) in order to see all
packages, which we use to allow selecting apps ex-/included from VPN
profiles and for the EAP-TNC use case.
This commit is contained in:
Tobias Brunner
2021-07-14 09:59:02 +02:00
parent 3eadd0fc3a
commit a14337bcde
3 changed files with 21 additions and 4 deletions
@@ -24,6 +24,9 @@
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" /> <uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS" /> <uses-permission android:name="android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS" />
<!-- necessary to allow users to select ex-/included apps and EAP-TNC -->
<uses-permission android:name="android.permission.QUERY_ALL_PACKAGES"
tools:ignore="QueryAllPackagesPermission" />
<application <application
android:name=".logic.StrongSwanApplication" android:name=".logic.StrongSwanApplication"
@@ -15,11 +15,18 @@ Dies ist die offizielle Android-Portierung der populären strongSwan VPN-Lösung
<li>Per-App VPN erlaubt die VPN-Verbindung nur bestimmten Apps zur Verfügung zu stellen bzw. ausgewählte Apps von der Nutzung des VPN auszuschliessen</li> <li>Per-App VPN erlaubt die VPN-Verbindung nur bestimmten Apps zur Verfügung zu stellen bzw. ausgewählte Apps von der Nutzung des VPN auszuschliessen</li>
<li>Die IPsec-Implementierung unterstützt derzeit die AES-CBC, AES-GCM, ChaCha20/Poly1305 und SHA1/SHA2-Algorithmen</li> <li>Die IPsec-Implementierung unterstützt derzeit die AES-CBC, AES-GCM, ChaCha20/Poly1305 und SHA1/SHA2-Algorithmen</li>
<li>Passwörter werden zurzeit als Klartext in der Datenbank gespeichert (nur wenn diese mit einem Profil gespeichert werden)</li> <li>Passwörter werden zurzeit als Klartext in der Datenbank gespeichert (nur wenn diese mit einem Profil gespeichert werden)</li>
<li>VPN Profile können von Dateien importiert werden (dies ist der einzige Grund weshalb die App android.permission.READ_EXTERNAL_STORAGE verlangt)</li> <li>VPN Profile können von Dateien importiert werden</li>
</ul> </ul>
Details und ein Changelog sind auf unserem Wiki zu finden: https://wiki.strongswan.org/projects/strongswan/wiki/AndroidVPNClient Details und ein Changelog sind auf unserem Wiki zu finden: https://wiki.strongswan.org/projects/strongswan/wiki/AndroidVPNClient
# PERMISSIONS #
<ul>
<li>READ_EXTERNAL_STORAGE: Erlaubt den Import von VPN Profilen und CA Zertifikaten von externen Speichern unter bestimmten Android-Versionen</li>
<li>QUERY_ALL_PACKAGES: Benötigt unter Android 11+ für die Auswahl von Apps in VPN Profilen und den optionalen EAP-TNC Anwendungsfall</li>
</ul>
# BEISPIEL-SERVERKONFIGURATION # # BEISPIEL-SERVERKONFIGURATION #
Sie finden in unserem Wiki Beispiel-Serverkonfigurationen: https://wiki.strongswan.org/projects/strongswan/wiki/AndroidVPNClient#Server-Configuration Sie finden in unserem Wiki Beispiel-Serverkonfigurationen: https://wiki.strongswan.org/projects/strongswan/wiki/AndroidVPNClient#Server-Configuration
@@ -15,11 +15,18 @@ Official Android port of the popular strongSwan VPN solution.
<li>Per-app VPN allows limiting the VPN connection to specific apps, or exclude them from using it</li> <li>Per-app VPN allows limiting the VPN connection to specific apps, or exclude them from using it</li>
<li>The IPsec implementation currently supports the AES-CBC, AES-GCM, ChaCha20/Poly1305 and SHA1/SHA2 algorithms</li> <li>The IPsec implementation currently supports the AES-CBC, AES-GCM, ChaCha20/Poly1305 and SHA1/SHA2 algorithms</li>
<li>Passwords are currently stored as cleartext in the database (only if stored with a profile)</li> <li>Passwords are currently stored as cleartext in the database (only if stored with a profile)</li>
<li>VPN profiles may be imported from files (this is the only reason why the app requests android.permission.READ_EXTERNAL_STORAGE)</li> <li>VPN profiles may be imported from files</li>
</ul> </ul>
Details and a changelog can be found on our wiki: https://wiki.strongswan.org/projects/strongswan/wiki/AndroidVPNClient Details and a changelog can be found on our wiki: https://wiki.strongswan.org/projects/strongswan/wiki/AndroidVPNClient
# PERMISSIONS #
<ul>
<li>READ_EXTERNAL_STORAGE: Allows importing VPN profiles and CA certificates from external storage on some Android versions</li>
<li>QUERY_ALL_PACKAGES: Required on Android 11+ to select apps to ex-/include in VPN profiles and the optional EAP-TNC use case</li>
</ul>
# EXAMPLE SERVER CONFIGURATION # # EXAMPLE SERVER CONFIGURATION #
Example server configurations may be found on our wiki: https://wiki.strongswan.org/projects/strongswan/wiki/AndroidVPNClient#Server-Configuration Example server configurations may be found on our wiki: https://wiki.strongswan.org/projects/strongswan/wiki/AndroidVPNClient#Server-Configuration