summaryrefslogtreecommitdiff
path: root/app/src/main/java/se/leap/bitmaskclient/firewall
diff options
context:
space:
mode:
authorcyBerta <cyberta@riseup.net>2020-03-08 12:39:45 +0100
committercyBerta <cyberta@riseup.net>2020-03-08 12:39:45 +0100
commit432a9885451dafb47e0feafb6070b415d93aac03 (patch)
treec8772adf74a4c44ccaf0a3d95b84df247e433693 /app/src/main/java/se/leap/bitmaskclient/firewall
parent394d4eadf0c28653c6b0fef55551c12571c9740d (diff)
Show error toast and reset root feature settings if app could not obtain root permissions
Diffstat (limited to 'app/src/main/java/se/leap/bitmaskclient/firewall')
-rw-r--r--app/src/main/java/se/leap/bitmaskclient/firewall/FirewallManager.java15
1 files changed, 14 insertions, 1 deletions
diff --git a/app/src/main/java/se/leap/bitmaskclient/firewall/FirewallManager.java b/app/src/main/java/se/leap/bitmaskclient/firewall/FirewallManager.java
index c148497b..ace8a298 100644
--- a/app/src/main/java/se/leap/bitmaskclient/firewall/FirewallManager.java
+++ b/app/src/main/java/se/leap/bitmaskclient/firewall/FirewallManager.java
@@ -17,11 +17,15 @@ package se.leap.bitmaskclient.firewall;
*/
import android.content.Context;
+import android.os.Handler;
+import android.os.Looper;
+import android.widget.Toast;
import java.util.Observable;
import java.util.Observer;
import de.blinkt.openvpn.core.VpnStatus;
+import se.leap.bitmaskclient.R;
import se.leap.bitmaskclient.tethering.TetheringObservable;
import se.leap.bitmaskclient.tethering.TetheringState;
import se.leap.bitmaskclient.utils.PreferenceHelper;
@@ -80,9 +84,18 @@ public class FirewallManager implements FirewallCallback, Observer {
@Override
public void onSuRequested(boolean success) {
- PreferenceHelper.setSuPermission(context, success);
if (!success) {
VpnStatus.logError("[FIREWALL] Root permission needed to execute custom firewall rules.");
+ new Handler(Looper.getMainLooper()).post(() -> {
+ Toast.makeText(context.getApplicationContext(), context.getString(R.string.root_permission_error, context.getString(R.string.app_name)), Toast.LENGTH_LONG).show();
+ });
+ TetheringObservable.allowVpnWifiTethering(false);
+ TetheringObservable.allowVpnUsbTethering(false);
+ TetheringObservable.allowVpnBluetoothTethering(false);
+ PreferenceHelper.allowWifiTethering(context, false);
+ PreferenceHelper.allowUsbTethering(context, false);
+ PreferenceHelper.allowBluetoothTethering(context, false);
+ PreferenceHelper.setUseIPv6Firewall(context, false);
}
}