|
27 | 27 | import android.Manifest;
|
28 | 28 | import android.annotation.SuppressLint;
|
29 | 29 | import android.annotation.TargetApi;
|
30 |
| -import android.app.ActivityManager; |
31 | 30 | import android.app.Notification;
|
32 | 31 | import android.app.NotificationManager;
|
33 | 32 | import android.app.PendingIntent;
|
|
81 | 80 | import java.io.InputStream;
|
82 | 81 | import java.io.InputStreamReader;
|
83 | 82 | import java.io.OutputStreamWriter;
|
84 |
| -import java.lang.reflect.Field; |
85 | 83 | import java.lang.reflect.Method;
|
86 | 84 | import java.math.BigInteger;
|
87 | 85 | import java.security.MessageDigest;
|
|
124 | 122 | import eu.chainfire.libsuperuser.Shell.SU;
|
125 | 123 |
|
126 | 124 | import static dev.ukanth.ufirewall.util.G.ctx;
|
| 125 | +import static dev.ukanth.ufirewall.util.G.ipv4Fwd; |
| 126 | +import static dev.ukanth.ufirewall.util.G.ipv4Input; |
| 127 | +import static dev.ukanth.ufirewall.util.G.ipv6Fwd; |
| 128 | +import static dev.ukanth.ufirewall.util.G.ipv6Input; |
127 | 129 |
|
128 | 130 | /**
|
129 | 131 | * Contains shared programming interfaces.
|
@@ -682,8 +684,14 @@ private static boolean applyIptablesRulesImpl(final Context ctx, RuleDataSet rul
|
682 | 684 |
|
683 | 685 | List<String> cmds = new ArrayList<String>();
|
684 | 686 |
|
685 |
| - cmds.add("-P INPUT ACCEPT"); |
686 |
| - cmds.add("-P FORWARD ACCEPT"); |
| 687 | + //check before make them ACCEPT state |
| 688 | + if(ipv4Input() || (ipv6 && ipv6Input())) { |
| 689 | + cmds.add("-P INPUT ACCEPT"); |
| 690 | + } |
| 691 | + |
| 692 | + if(ipv4Fwd() || (ipv6 && ipv6Fwd())) { |
| 693 | + cmds.add("-P FORWARD ACCEPT"); |
| 694 | + } |
687 | 695 |
|
688 | 696 | try {
|
689 | 697 | // prevent data leaks due to incomplete rules
|
|
0 commit comments