Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 4fe47152 authored by Abhishek Aggarwal's avatar Abhishek Aggarwal
Browse files

Merge branch '4593_unix_socket' into 'main'

privacymoduletrackerfilter: Switch to LocalServerSocket

See merge request e/privacy-central/privacymoduletrackerfilter!6
parents f27f6376 99e1badd
Loading
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -10,7 +10,7 @@ android {
        targetSdkVersion 30

        versionCode 1
        versionName "0.4.0"
        versionName "0.5.0"
    }

    buildTypes {
+13 −16
Original line number Diff line number Diff line
@@ -23,6 +23,8 @@ package foundation.e.privacymodules.trackers;

import android.content.Context;
import android.content.pm.PackageManager;
import android.net.LocalServerSocket;
import android.net.LocalSocket;
import android.util.Log;

import java.io.BufferedReader;
@@ -30,9 +32,6 @@ import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.List;

import foundation.e.privacymodules.trackers.data.TrackersRepository;
import foundation.e.privacymodules.trackers.data.WhitelistRepository;
@@ -40,20 +39,19 @@ import foundation.e.privacymodules.trackers.data.WhitelistRepository;

public class DNSBlockerRunnable implements Runnable {

	private static List<Integer> sSystemApps;
	ServerSocket resolverReceiver;
	LocalServerSocket resolverReceiver;
	boolean stopped = false;
	int port = 8888;
	private TrackersLogger trackersLogger;
	private TrackersRepository trackersRepository;
	private WhitelistRepository whitelistRepository;
	private final TrackersLogger trackersLogger;
	private final TrackersRepository trackersRepository;
	private final WhitelistRepository whitelistRepository;

	private int eBrowserAppUid = -1;

	private final String TAG = DNSBlockerRunnable.class.getName();
	private static final String SOCKET_NAME = "foundation.e.privacy";

	public DNSBlockerRunnable(Context ct, int port, TrackersLogger trackersLogger, TrackersRepository trackersRepository, WhitelistRepository whitelistRepository) {
		this.port = port;

	public DNSBlockerRunnable(Context ct, TrackersLogger trackersLogger, TrackersRepository trackersRepository, WhitelistRepository whitelistRepository) {
		this.trackersLogger = trackersLogger;
		this.trackersRepository = trackersRepository;
		this.whitelistRepository = whitelistRepository;
@@ -68,17 +66,16 @@ public class DNSBlockerRunnable implements Runnable {
	@Override
	public void run() {
		try {
			resolverReceiver = new ServerSocket(8888);
			//		ExecutionEnvironment.getEnvironment().protectSocket(resolverReceiver, 1);
			resolverReceiver = new LocalServerSocket(SOCKET_NAME);
		} catch (IOException eio) {
			Log.e(TAG, "Exception:Cannot open DNS port " + port + "!" + eio.getMessage());
			Log.e(TAG, "Exception:Cannot open DNS port " + SOCKET_NAME + "!" + eio.getMessage());
			return;
		}
		Log.d(TAG, "DNSFilterProxy running on port " + port + "!");
		Log.d(TAG, "DNSFilterProxy running on port " + SOCKET_NAME + "!");

		while (!stopped) {
			try {
				Socket socket = resolverReceiver.accept();
				LocalSocket socket = resolverReceiver.accept();

				BufferedReader reader = new BufferedReader(new InputStreamReader(socket.getInputStream()));
				String line = reader.readLine();
+1 −1
Original line number Diff line number Diff line
@@ -63,7 +63,7 @@ public class DNSBlockerService extends Service {
    private void start() {
        try {
            trackersLogger = new TrackersLogger(this);
            sDNSBlocker = new DNSBlockerRunnable(this, 8888, trackersLogger,
            sDNSBlocker = new DNSBlockerRunnable(this, trackersLogger,
                    TrackersRepository.getInstance(), WhitelistRepository.getInstance(this));

            new Thread(sDNSBlocker).start();