[tor-commits] [orbot/master] allow managed backups field

n8fr8 at torproject.org n8fr8 at torproject.org
Thu Mar 2 04:10:20 UTC 2017


commit 4fea84cc5fc3a5f026e0265e0e66281fc713e8d5
Author: Juan Ezquerro LLanes <juan at paynopain.com>
Date:   Thu Nov 17 16:21:28 2016 +0100

    allow managed backups field
---
 .../java/org/torproject/android/OrbotMainActivity.java    | 15 ++++++++++++---
 .../org/torproject/android/ui/hs/database/HSDatabase.java |  1 +
 app/src/main/res/layout/dialog_hs_data.xml                |  8 ++++++++
 app/src/main/res/values/strings.xml                       |  1 +
 4 files changed, 22 insertions(+), 3 deletions(-)

diff --git a/app/src/main/java/org/torproject/android/OrbotMainActivity.java b/app/src/main/java/org/torproject/android/OrbotMainActivity.java
index 2e17f39..f5f6227 100644
--- a/app/src/main/java/org/torproject/android/OrbotMainActivity.java
+++ b/app/src/main/java/org/torproject/android/OrbotMainActivity.java
@@ -572,7 +572,7 @@ public class OrbotMainActivity extends AppCompatActivity
             stopVpnService();
     }
 	
-	private void enableHiddenServicePort (String hsName, int hsPort, int hsRemotePort, boolean getGey) throws RemoteException, InterruptedException
+	private void enableHiddenServicePort (String hsName, int hsPort, int hsRemotePort, boolean allowBackups) throws RemoteException, InterruptedException
 	{
 		String onionHostname = null;
 
@@ -593,6 +593,15 @@ public class OrbotMainActivity extends AppCompatActivity
 		Cursor row = cr.query(HSContentProvider.CONTENT_URI, mProjection, "port=" + mHsPort, null, null);
 
 		if(row == null) {
+			/*
+			 * For security reasons:
+			 *
+			 * Allow managed backups option can only be set to a arbitrary true or false value when a service is created
+			 * Subsequently an application can only change this value to false via Intent service
+			 * Modifying this value to true again can only be performed by the user through the Orbot interface
+			 *
+			 */
+			fields.put("allow_managed_backups", allowBackups);
 			cr.insert(HSContentProvider.CONTENT_URI, fields);
 		} else {
 			onionHostname = row.getString(row.getColumnIndex(HSContentProvider.HiddenService.DOMAIN));
@@ -665,7 +674,7 @@ public class OrbotMainActivity extends AppCompatActivity
         	final int hiddenServicePort = getIntent().getIntExtra("hs_port", -1);
         	final int hiddenServiceRemotePort = getIntent().getIntExtra("hs_onion_port", -1);
         	final String  hiddenServiceName = getIntent().getStringExtra("hs_name");
-        	final boolean getHiddenServiceKey = getIntent().getBooleanExtra("hs_get_key",false);
+        	final boolean hiddenServiceAllowBackups = getIntent().getBooleanExtra("hs_allow_namaged_backup",false);
 
 			DialogInterface.OnClickListener dialogClickListener = new DialogInterface.OnClickListener() {
 			    
@@ -676,7 +685,7 @@ public class OrbotMainActivity extends AppCompatActivity
 						try {
 							enableHiddenServicePort (
 									hiddenServiceName, hiddenServicePort,
-									hiddenServiceRemotePort, getHiddenServiceKey
+									hiddenServiceRemotePort, hiddenServiceAllowBackups
 							);
 						} catch (RemoteException e) {
 							// TODO Auto-generated catch block
diff --git a/app/src/main/java/org/torproject/android/ui/hs/database/HSDatabase.java b/app/src/main/java/org/torproject/android/ui/hs/database/HSDatabase.java
index cafa7ed..07e5c1b 100644
--- a/app/src/main/java/org/torproject/android/ui/hs/database/HSDatabase.java
+++ b/app/src/main/java/org/torproject/android/ui/hs/database/HSDatabase.java
@@ -16,6 +16,7 @@ public class HSDatabase extends SQLiteOpenHelper {
                     "name TEXT, " +
                     "domain TEXT, " +
                     "onion_port INTEGER, " +
+                    "allow_managed_backups INTEGER DEFAULT 0, " +
                     "port INTEGER);";
 
     public HSDatabase(Context context) {
diff --git a/app/src/main/res/layout/dialog_hs_data.xml b/app/src/main/res/layout/dialog_hs_data.xml
index 05d52fe..dd83148 100644
--- a/app/src/main/res/layout/dialog_hs_data.xml
+++ b/app/src/main/res/layout/dialog_hs_data.xml
@@ -53,6 +53,13 @@
         android:id="@+id/hsOnionPort"
         android:inputType="number" />
 
+    <CheckBox
+        android:text="@string/allow_managed_backup"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:id="@+id/allow_managed_backup"
+        android:layout_weight="1" />
+
     <LinearLayout
         android:orientation="horizontal"
         android:layout_width="match_parent"
@@ -73,6 +80,7 @@
             android:id="@+id/HSDialogSave"
             android:layout_weight="1"
             style="@style/Widget.AppCompat.Button.Borderless.Colored" />
+
     </LinearLayout>
 
 </LinearLayout>
\ No newline at end of file
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index ea01787..7f534fe 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -339,4 +339,5 @@
     <string name="onion_port">Onion Port</string>
     <string name="name">Name</string>
     <string name="invalid_port">Invalid Port</string>
+    <string name="allow_managed_backup">Allow managed backups</string>
 </resources>





More information about the tor-commits mailing list