Loading .gitlab-ci.yml +1 −1 Original line number Diff line number Diff line image: "registry.gitlab.e.foundation:5000/e/apps/docker-android-apps-cicd:latest" image: "registry.gitlab.e.foundation/e/os/docker-android-apps-cicd:latest" stages: - build 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 +25 −8 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,15 +63,35 @@ 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); } } catch (Exception e) { Log.e(TAG, "Exception: cannot close DNS port on stop" + SOCKET_NAME + "!", e); } } } @Override public void run() { try { resolverReceiver = new LocalServerSocket(SOCKET_NAME); } catch (IOException eio) { Log.e(TAG, "Exception:Cannot open DNS port " + SOCKET_NAME + "!" + eio.getMessage()); Log.e(TAG, "Exception:Cannot open DNS port " + SOCKET_NAME + "!", eio); return; } Log.d(TAG, "DNSFilterProxy running on port " + SOCKET_NAME + "!"); 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); } } try { resolverReceiver.close(); } catch (IOException e) { e.printStackTrace(); } } private void initEBrowserDoTFix(Context context) { Loading Loading
.gitlab-ci.yml +1 −1 Original line number Diff line number Diff line image: "registry.gitlab.e.foundation:5000/e/apps/docker-android-apps-cicd:latest" image: "registry.gitlab.e.foundation/e/os/docker-android-apps-cicd:latest" stages: - build 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 +25 −8 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,15 +63,35 @@ 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); } } catch (Exception e) { Log.e(TAG, "Exception: cannot close DNS port on stop" + SOCKET_NAME + "!", e); } } } @Override public void run() { try { resolverReceiver = new LocalServerSocket(SOCKET_NAME); } catch (IOException eio) { Log.e(TAG, "Exception:Cannot open DNS port " + SOCKET_NAME + "!" + eio.getMessage()); Log.e(TAG, "Exception:Cannot open DNS port " + SOCKET_NAME + "!", eio); return; } Log.d(TAG, "DNSFilterProxy running on port " + SOCKET_NAME + "!"); 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); } } try { resolverReceiver.close(); } catch (IOException e) { e.printStackTrace(); } } private void initEBrowserDoTFix(Context context) { Loading