Loading privacymoduletrackers/build.gradle +1 −1 Original line number Diff line number Diff line Loading @@ -10,7 +10,7 @@ android { targetSdkVersion 30 versionCode 1 versionName "0.5.0" versionName "0.5.1" } buildTypes { Loading privacymoduletrackers/src/main/java/foundation/e/privacymodules/trackers/DNSBlockerRunnable.java +24 −7 Original line number Diff line number Diff line Loading @@ -25,6 +25,9 @@ import android.content.Context; import android.content.pm.PackageManager; import android.net.LocalServerSocket; import android.net.LocalSocket; import android.system.ErrnoException; import android.system.Os; import android.system.OsConstants; import android.util.Log; import java.io.BufferedReader; Loading Loading @@ -60,8 +63,28 @@ public class DNSBlockerRunnable implements Runnable { public synchronized void stop() { stopped = true; closeSocket(); } private void closeSocket() { // Known bug and workaround that LocalServerSocket::close is not working well // https://issuetracker.google.com/issues/36945762 if (resolverReceiver != null) { try { Os.shutdown(resolverReceiver.getFileDescriptor(), OsConstants.SHUT_RDWR); resolverReceiver.close(); resolverReceiver = null; } catch (ErrnoException e) { if (e.errno != OsConstants.EBADF) { Log.w(TAG, "Socket already closed"); } else { Log.e(TAG, "Exception: cannot close DNS port on stop" + SOCKET_NAME + "!" + e.getMessage()); } } catch (Exception e) { Log.e(TAG, "Exception: cannot close DNS port on stop" + SOCKET_NAME + "!" + e.getMessage()); } } } @Override public void run() { Loading Loading @@ -107,15 +130,9 @@ public class DNSBlockerRunnable implements Runnable { socket.close(); // Printing bufferedreader data } catch (IOException e) { Log.w(TAG, "exception " + e.getMessage()); Log.w(TAG, "Exception while listening DNS resolver" + e.getMessage()); } } try { resolverReceiver.close(); } catch (IOException e) { e.printStackTrace(); } } private void initEBrowserDoTFix(Context context) { Loading Loading
privacymoduletrackers/build.gradle +1 −1 Original line number Diff line number Diff line Loading @@ -10,7 +10,7 @@ android { targetSdkVersion 30 versionCode 1 versionName "0.5.0" versionName "0.5.1" } buildTypes { Loading
privacymoduletrackers/src/main/java/foundation/e/privacymodules/trackers/DNSBlockerRunnable.java +24 −7 Original line number Diff line number Diff line Loading @@ -25,6 +25,9 @@ import android.content.Context; import android.content.pm.PackageManager; import android.net.LocalServerSocket; import android.net.LocalSocket; import android.system.ErrnoException; import android.system.Os; import android.system.OsConstants; import android.util.Log; import java.io.BufferedReader; Loading Loading @@ -60,8 +63,28 @@ public class DNSBlockerRunnable implements Runnable { public synchronized void stop() { stopped = true; closeSocket(); } private void closeSocket() { // Known bug and workaround that LocalServerSocket::close is not working well // https://issuetracker.google.com/issues/36945762 if (resolverReceiver != null) { try { Os.shutdown(resolverReceiver.getFileDescriptor(), OsConstants.SHUT_RDWR); resolverReceiver.close(); resolverReceiver = null; } catch (ErrnoException e) { if (e.errno != OsConstants.EBADF) { Log.w(TAG, "Socket already closed"); } else { Log.e(TAG, "Exception: cannot close DNS port on stop" + SOCKET_NAME + "!" + e.getMessage()); } } catch (Exception e) { Log.e(TAG, "Exception: cannot close DNS port on stop" + SOCKET_NAME + "!" + e.getMessage()); } } } @Override public void run() { Loading Loading @@ -107,15 +130,9 @@ public class DNSBlockerRunnable implements Runnable { socket.close(); // Printing bufferedreader data } catch (IOException e) { Log.w(TAG, "exception " + e.getMessage()); Log.w(TAG, "Exception while listening DNS resolver" + e.getMessage()); } } try { resolverReceiver.close(); } catch (IOException e) { e.printStackTrace(); } } private void initEBrowserDoTFix(Context context) { Loading