From 4559d61f8adbb958a35bcf1175c606a3262dc335 Mon Sep 17 00:00:00 2001 From: Nathan Freitas Date: Fri, 14 Nov 2014 11:25:18 -0500 Subject: [PATCH 1/7] manifest for non-PIE build --- AndroidManifest.xml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/AndroidManifest.xml b/AndroidManifest.xml index f8cd7ba0..bbfdd6a1 100644 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -1,12 +1,12 @@ - + From ba2619804c017d4a530bb814e34642c8345c8868 Mon Sep 17 00:00:00 2001 From: Nathan Freitas Date: Mon, 17 Nov 2014 11:59:16 -0500 Subject: [PATCH 2/7] putting torrc back in --- res/raw/torrc | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 res/raw/torrc diff --git a/res/raw/torrc b/res/raw/torrc new file mode 100644 index 00000000..e5a4c499 --- /dev/null +++ b/res/raw/torrc @@ -0,0 +1,7 @@ +RunAsDaemon 1 +AvoidDiskWrites 1 +ControlPort auto +SOCKSPort 0 +DNSPort 0 +TransPort 0 +CookieAuthentication 1 \ No newline at end of file From dbd4efe86ba57a385e2bc75c7b2761968a1f2350 Mon Sep 17 00:00:00 2001 From: Nathan Freitas Date: Mon, 17 Nov 2014 11:59:49 -0500 Subject: [PATCH 3/7] set values for nonPIE build --- src/org/torproject/android/service/TorServiceConstants.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/org/torproject/android/service/TorServiceConstants.java b/src/org/torproject/android/service/TorServiceConstants.java index c6c7031b..01764ec6 100644 --- a/src/org/torproject/android/service/TorServiceConstants.java +++ b/src/org/torproject/android/service/TorServiceConstants.java @@ -76,7 +76,7 @@ public interface TorServiceConstants { public static final int DISABLE_TOR_MSG = 3; public static final int LOG_MSG = 4; - public static final String BINARY_TOR_VERSION = "0.2.5.10-openssl1.0.1i"; + public static final String BINARY_TOR_VERSION = "0.2.5.10-openssl1.0.1i-nonPIE"; public static final String PREF_BINARY_TOR_VERSION_INSTALLED = "BINARY_TOR_VERSION_INSTALLED"; //obfsproxy From f180f13d80e3d2f4903d4222a29f70e898c32b35 Mon Sep 17 00:00:00 2001 From: Nathan Freitas Date: Mon, 17 Nov 2014 14:10:12 -0500 Subject: [PATCH 4/7] add support for other onboot events, including external storage mount also version up to ensure install for PIE fix --- .../torproject/android/OnBootReceiver.java | 49 +++++++++---------- 1 file changed, 24 insertions(+), 25 deletions(-) diff --git a/src/org/torproject/android/OnBootReceiver.java b/src/org/torproject/android/OnBootReceiver.java index 652e5c9a..2876a261 100644 --- a/src/org/torproject/android/OnBootReceiver.java +++ b/src/org/torproject/android/OnBootReceiver.java @@ -7,40 +7,39 @@ import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.content.SharedPreferences; -import android.util.Log; +import android.content.pm.ApplicationInfo; +import android.content.pm.PackageInfo; +import android.content.pm.PackageManager; +import android.content.pm.PackageManager.NameNotFoundException; +import android.os.Build.VERSION; public class OnBootReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { - - //Log.i(TorService.TAG,"got boot receiver event"); - if (intent.getAction() != null - && Intent.ACTION_BOOT_COMPLETED.equals(intent.getAction())) + SharedPreferences prefs = TorServiceUtils.getSharedPrefs(context.getApplicationContext()); + + boolean startOnBoot = prefs.getBoolean("pref_start_boot",true); + + if (startOnBoot) { - - //Log.i(TorService.TAG,"boot is completed"); - - SharedPreferences prefs = TorServiceUtils.getSharedPrefs(context.getApplicationContext()); - - boolean startOnBoot = prefs.getBoolean("pref_start_boot",true); - - // Log.i(TorService.TAG,"start on boot: " + startOnBoot); - - - if (startOnBoot) - { - Intent torService = new Intent(context.getApplicationContext(), TorService.class); - torService.setAction(Intent.ACTION_BOOT_COMPLETED); - context.getApplicationContext().startService(torService); - - } + startService("init",context); + startService("start",context); } - - - } + } + + + private void startService (String action, Context context) + { + + Intent torService = new Intent(context, TorService.class); + torService.setAction(action); + context.startService(torService); + + + } } From a7f458758f9809f342f0beb80ef47da31316f89e Mon Sep 17 00:00:00 2001 From: Nathan Freitas Date: Mon, 17 Nov 2014 14:10:33 -0500 Subject: [PATCH 5/7] version build to ensure nonPIE binaries are installed --- src/org/torproject/android/service/TorServiceConstants.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/org/torproject/android/service/TorServiceConstants.java b/src/org/torproject/android/service/TorServiceConstants.java index 01764ec6..0b648567 100644 --- a/src/org/torproject/android/service/TorServiceConstants.java +++ b/src/org/torproject/android/service/TorServiceConstants.java @@ -76,7 +76,7 @@ public interface TorServiceConstants { public static final int DISABLE_TOR_MSG = 3; public static final int LOG_MSG = 4; - public static final String BINARY_TOR_VERSION = "0.2.5.10-openssl1.0.1i-nonPIE"; + public static final String BINARY_TOR_VERSION = "0.2.5.10-openssl1.0.1i-nonPIE-polipofix"; public static final String PREF_BINARY_TOR_VERSION_INSTALLED = "BINARY_TOR_VERSION_INSTALLED"; //obfsproxy From 4df45864761edec6826371bc3cce655bf853f94a Mon Sep 17 00:00:00 2001 From: Nathan Freitas Date: Mon, 17 Nov 2014 14:10:55 -0500 Subject: [PATCH 6/7] update to 14.1.1 - also add new support onboot events --- AndroidManifest.xml | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/AndroidManifest.xml b/AndroidManifest.xml index bbfdd6a1..4d909b1c 100644 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -1,12 +1,12 @@ - + @@ -92,10 +92,11 @@ - + + From 16d87310a3a0f8a07a3bd1fd8f5f680c52c06a15 Mon Sep 17 00:00:00 2001 From: Nathan Freitas Date: Mon, 17 Nov 2014 14:11:17 -0500 Subject: [PATCH 7/7] make sure polipo is really cleaned; add only PIE flags for polipo --- external/Makefile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/external/Makefile b/external/Makefile index 4af10163..999c24d1 100644 --- a/external/Makefile +++ b/external/Makefile @@ -281,7 +281,7 @@ obfsclient-clean: # polipo polipo-build-stamp: - CC="$(CC)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" $(MAKE) -C polipo + CC="$(CC)" CFLAGS="$(PIEFLAGS)" LDFLAGS="$(PIEFLAGS)" $(MAKE) -C polipo touch polipo-build-stamp polipo: polipo-build-stamp @@ -289,6 +289,7 @@ polipo: polipo-build-stamp cp polipo/polipo bin polipo-clean: + -rm -f polipo/polipo -rm -f bin/polipo -rm -f polipo-build-stamp