[tor-commits] [orbot/master] fix for binary version upgrade support

n8fr8 at torproject.org n8fr8 at torproject.org
Tue Apr 8 03:38:00 UTC 2014


commit fc0554f9ff9f4f4f1d7940ab5dfc2e8fe4148841
Author: Nathan Freitas <nathan at freitas.net>
Date:   Mon Apr 7 23:35:58 2014 -0400

    fix for binary version upgrade support
---
 src/org/torproject/android/service/TorService.java |   27 +++++++++++++++-----
 .../android/service/TorServiceConstants.java       |    2 +-
 2 files changed, 22 insertions(+), 7 deletions(-)

diff --git a/src/org/torproject/android/service/TorService.java b/src/org/torproject/android/service/TorService.java
index 1cede61..23c0a4c 100644
--- a/src/org/torproject/android/service/TorService.java
+++ b/src/org/torproject/android/service/TorService.java
@@ -525,10 +525,26 @@ public class TorService extends Service implements TorServiceConstants, TorConst
 		
 		fileXtables = new File(appBinHome, IPTABLES_ASSET_KEY);
 		
-		if (!fileTorRc.exists())
+		SharedPreferences prefs = getSharedPrefs(getApplicationContext());
+		String version = prefs.getString(PREF_BINARY_TOR_VERSION_INSTALLED,null);
+		
+		if (version == null || (!version.equals(BINARY_TOR_VERSION)))
+		{
+			stopTor();
+			
+			TorResourceInstaller installer = new TorResourceInstaller(this, appBinHome); 
+			boolean success = installer.installResources();
+			
+			prefs.edit().putString(PREF_BINARY_TOR_VERSION_INSTALLED,BINARY_TOR_VERSION).commit();
+		}
+		else if (!fileTorRc.exists())
 		{
+			stopTor();
+			
 			TorResourceInstaller installer = new TorResourceInstaller(this, appBinHome); 
 			boolean success = installer.installResources();
+
+			prefs.edit().putString(PREF_BINARY_TOR_VERSION_INSTALLED,BINARY_TOR_VERSION).commit();
 				
 		}
 		
@@ -608,8 +624,9 @@ public class TorService extends Service implements TorServiceConstants, TorConst
     	
  		if (mTransProxy == null)
  		{
- 			mTransProxy = new TorTransProxy(this);
- 			mTransProxy.setXTables(fileXtables);
+ 			mTransProxy = new TorTransProxy(this, fileXtables);
+ 			
+ 			
  		}
 	 		
      	logMessage ("Transparent Proxying: enabling...");
@@ -668,7 +685,7 @@ public class TorService extends Service implements TorServiceConstants, TorConst
      	logMessage ("Transparent Proxying: disabling...");
 
  		if (mTransProxy == null)
- 			mTransProxy = new TorTransProxy(this);
+ 			mTransProxy = new TorTransProxy(this, fileXtables);
  		
  		mTransProxy.clearTransparentProxyingAll(this);
 	    
@@ -1156,10 +1173,8 @@ public class TorService extends Service implements TorServiceConstants, TorConst
 	
     public IBinder onBind(Intent intent) {
         
-    	
     	_torInstance = this;
     	
-    	
     	Thread thread = new Thread ()
     	{
     		
diff --git a/src/org/torproject/android/service/TorServiceConstants.java b/src/org/torproject/android/service/TorServiceConstants.java
index bd1c64c..db73e70 100644
--- a/src/org/torproject/android/service/TorServiceConstants.java
+++ b/src/org/torproject/android/service/TorServiceConstants.java
@@ -80,7 +80,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.4.21";
+    public static final String BINARY_TOR_VERSION = "0.2.4.21-openssl1.0.1g";
     public static final String BINARY_PRIVOXY_VERSION = "3.0.12";
     public static final String PREF_BINARY_TOR_VERSION_INSTALLED = "BINARY_TOR_VERSION_INTALLED";
     public static final String PREF_BINARY_PRIVOXY_VERSION_INSTALLED = "BINARY_PRIVOXY_VERSION_INTALLED";





More information about the tor-commits mailing list