mirror of
https://github.com/emanuele-f/PCAPdroid.git
synced 2026-07-03 21:21:12 +08:00
Fix possible SecurityException in Android 11
This commit is contained in:
parent
0054d29b25
commit
03865a0c4d
@ -599,10 +599,19 @@ public class CaptureService extends VpnService implements Runnable {
|
||||
}
|
||||
};
|
||||
|
||||
cm.registerNetworkCallback(
|
||||
new NetworkRequest.Builder()
|
||||
.addCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET).build(),
|
||||
mNetworkCallback);
|
||||
try {
|
||||
cm.registerNetworkCallback(
|
||||
new NetworkRequest.Builder()
|
||||
.addCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET).build(),
|
||||
mNetworkCallback);
|
||||
} catch (SecurityException e) {
|
||||
// this is a bug in Android 11 - https://issuetracker.google.com/issues/175055271?pli=1
|
||||
e.printStackTrace();
|
||||
|
||||
Log.w(TAG, "registerNetworkCallback failed, DNS server detection disabled");
|
||||
dns_server = FALLBACK_DNS_SERVER;
|
||||
mNetworkCallback = null;
|
||||
}
|
||||
}
|
||||
|
||||
private void unregisterNetworkCallbacks() {
|
||||
|
||||
@ -490,15 +490,20 @@ public class Utils {
|
||||
public static boolean hasVPNRunning(Context context) {
|
||||
ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
|
||||
if(cm != null) {
|
||||
Network[] networks = cm.getAllNetworks();
|
||||
try {
|
||||
Network[] networks = cm.getAllNetworks();
|
||||
|
||||
for(Network net : networks) {
|
||||
NetworkCapabilities cap = cm.getNetworkCapabilities(net);
|
||||
for(Network net : networks) {
|
||||
NetworkCapabilities cap = cm.getNetworkCapabilities(net);
|
||||
|
||||
if ((cap != null) && cap.hasTransport(NetworkCapabilities.TRANSPORT_VPN)) {
|
||||
Log.d("hasVPNRunning", "detected VPN connection: " + net.toString());
|
||||
return true;
|
||||
if ((cap != null) && cap.hasTransport(NetworkCapabilities.TRANSPORT_VPN)) {
|
||||
Log.d("hasVPNRunning", "detected VPN connection: " + net.toString());
|
||||
return true;
|
||||
}
|
||||
}
|
||||
} catch (SecurityException e) {
|
||||
// this is a bug in Android 11 - https://issuetracker.google.com/issues/175055271?pli=1
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user