From 2ba3f8e0d88fac07ca06966ced3c6fbe6a5c714b Mon Sep 17 00:00:00 2001 From: M66B Date: Fri, 12 Feb 2016 21:13:09 +0100 Subject: [PATCH] Fixed allowing numeric addresses --- app/src/main/java/eu/faircode/netguard/DatabaseHelper.java | 2 +- app/src/main/java/eu/faircode/netguard/SinkholeService.java | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/eu/faircode/netguard/DatabaseHelper.java b/app/src/main/java/eu/faircode/netguard/DatabaseHelper.java index 75ddd7e8..1e7774c8 100644 --- a/app/src/main/java/eu/faircode/netguard/DatabaseHelper.java +++ b/app/src/main/java/eu/faircode/netguard/DatabaseHelper.java @@ -612,7 +612,7 @@ public class DatabaseHelper extends SQLiteOpenHelper { String query = "SELECT a.uid, a.version, a.protocol, a.daddr, d.resource, a.dport, a.block"; query += " FROM access AS a"; - query += " JOIN dns AS d"; + query += " LEFT JOIN dns AS d"; query += " ON d.qname = a.daddr"; query += " WHERE a.block >= 0"; diff --git a/app/src/main/java/eu/faircode/netguard/SinkholeService.java b/app/src/main/java/eu/faircode/netguard/SinkholeService.java index 5e0c94bd..67d75a87 100644 --- a/app/src/main/java/eu/faircode/netguard/SinkholeService.java +++ b/app/src/main/java/eu/faircode/netguard/SinkholeService.java @@ -1013,8 +1013,12 @@ public class SinkholeService extends VpnService implements SharedPreferences.OnS map.put(key, new HashMap()); try { - map.get(key).put(InetAddress.getByName(dresource), block); Log.i(TAG, "Set filter uid=" + uid + " " + daddr + " " + dresource + "/" + dport + "=" + block); + if (dresource == null) { + if (Util.isNumericAddress(daddr)) + map.get(key).put(InetAddress.getByName(daddr), block); + } else + map.get(key).put(InetAddress.getByName(dresource), block); } catch (UnknownHostException ex) { Log.e(TAG, ex.toString() + "\n" + Log.getStackTraceString(ex)); }