From 2d8f188cf1e611757dd1abea2b35cbe2b51658e2 Mon Sep 17 00:00:00 2001 From: M66B Date: Thu, 1 Jul 2021 07:15:39 +0200 Subject: [PATCH] Removed Spamhaus/DBL --- .../java/eu/faircode/email/DnsBlockList.java | 27 ++++++++++++------- .../email/FragmentOptionsSynchronize.java | 2 +- 2 files changed, 19 insertions(+), 10 deletions(-) diff --git a/app/src/main/java/eu/faircode/email/DnsBlockList.java b/app/src/main/java/eu/faircode/email/DnsBlockList.java index 875991d23e..52bf300095 100644 --- a/app/src/main/java/eu/faircode/email/DnsBlockList.java +++ b/app/src/main/java/eu/faircode/email/DnsBlockList.java @@ -41,7 +41,7 @@ import java.util.Map; import javax.mail.internet.MimeUtility; public class DnsBlockList { - static final List BLOCKLISTS = Collections.unmodifiableList(Arrays.asList( + static final List BLOCK_LISTS = Collections.unmodifiableList(Arrays.asList( // https://www.spamhaus.org/zen/ new BlockList(true, "Spamhaus/zen", "zen.spamhaus.org", true, new String[]{ // https://www.spamhaus.org/faq/section/DNSBL%20Usage#200 @@ -54,7 +54,7 @@ public class DnsBlockList { }), // https://www.spamhaus.org/dbl/ - new BlockList(false, "Spamhaus/DBL", "dbl.spamhaus.org", false, new String[]{ + new BlockList(null, "Spamhaus/DBL", "dbl.spamhaus.org", false, new String[]{ // https://www.spamhaus.org/faq/section/Spamhaus%20DBL#291 "127.0.1.2", // spam domain "127.0.1.4", // phish domain @@ -83,7 +83,7 @@ public class DnsBlockList { static void setEnabled(Context context, BlockList blocklist, boolean enabled) { SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context); - if (blocklist.enabled == enabled) + if (blocklist.enabled == null || blocklist.enabled == enabled) prefs.edit().remove("blocklist." + blocklist.name).apply(); else prefs.edit().putBoolean("blocklist." + blocklist.name, enabled).apply(); @@ -94,14 +94,15 @@ public class DnsBlockList { } static boolean isEnabled(Context context, BlockList blocklist) { + boolean def = (blocklist.enabled != null && blocklist.enabled); SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context); - return prefs.getBoolean("blocklist." + blocklist.name, blocklist.enabled); + return prefs.getBoolean("blocklist." + blocklist.name, def); } static void reset(Context context) { SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context); SharedPreferences.Editor editor = prefs.edit(); - for (BlockList blocklist : BLOCKLISTS) + for (BlockList blocklist : BLOCK_LISTS) editor.remove("blocklist." + blocklist.name); editor.apply(); @@ -110,9 +111,17 @@ public class DnsBlockList { } } + static List getLists() { + List result = new ArrayList<>(); + for (BlockList blockList : BLOCK_LISTS) + if (blockList.enabled != null) + result.add(blockList); + return result; + } + static List getNames(Context context) { List names = new ArrayList<>(); - for (BlockList blocklist : BLOCKLISTS) + for (BlockList blocklist : BLOCK_LISTS) if (isEnabled(context, blocklist)) names.add(blocklist.name); return names; @@ -128,7 +137,7 @@ public class DnsBlockList { if ("from".equalsIgnoreCase(words[i])) { String host = words[i + 1].toLowerCase(Locale.ROOT); if (!TextUtils.isEmpty(host)) - return isJunk(context, host, BLOCKLISTS); + return isJunk(context, host, BLOCK_LISTS); } return null; @@ -263,7 +272,7 @@ public class DnsBlockList { static class BlockList { int id; - boolean enabled; + Boolean enabled; String name; String address; boolean numeric; @@ -271,7 +280,7 @@ public class DnsBlockList { private static int nextid = 1; - BlockList(boolean enabled, String name, String address, boolean numeric, String[] responses) { + BlockList(Boolean enabled, String name, String address, boolean numeric, String[] responses) { this.id = nextid++; this.enabled = enabled; this.name = name; diff --git a/app/src/main/java/eu/faircode/email/FragmentOptionsSynchronize.java b/app/src/main/java/eu/faircode/email/FragmentOptionsSynchronize.java index d35431ea87..9c254ba832 100644 --- a/app/src/main/java/eu/faircode/email/FragmentOptionsSynchronize.java +++ b/app/src/main/java/eu/faircode/email/FragmentOptionsSynchronize.java @@ -356,7 +356,7 @@ public class FragmentOptionsSynchronize extends FragmentBase implements SharedPr rvBlocklist.setHasFixedSize(false); rvBlocklist.setLayoutManager(new LinearLayoutManager(getContext())); - AdapterBlocklist badapter = new AdapterBlocklist(getContext(), DnsBlockList.BLOCKLISTS); + AdapterBlocklist badapter = new AdapterBlocklist(getContext(), DnsBlockList.getLists()); rvBlocklist.setAdapter(badapter); swTuneKeepAlive.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {