[tor-commits] [orbot/master] updates for reading preference settings
n8fr8 at torproject.org
n8fr8 at torproject.org
Thu Jul 18 02:44:32 UTC 2013
commit 3ea016ba20f84089a56dfb14cf6fa227c62826ad
Author: n8fr8 <nathan at freitas.net>
Date: Wed Apr 3 15:46:03 2013 -0400
updates for reading preference settings
---
src/org/torproject/android/service/TorService.java | 70 +++++++++++++-------
.../torproject/android/service/TorTransProxy.java | 60 +----------------
2 files changed, 46 insertions(+), 84 deletions(-)
diff --git a/src/org/torproject/android/service/TorService.java b/src/org/torproject/android/service/TorService.java
index 4325650..3520ec1 100644
--- a/src/org/torproject/android/service/TorService.java
+++ b/src/org/torproject/android/service/TorService.java
@@ -135,7 +135,7 @@ public class TorService extends Service implements TorServiceConstants, TorConst
initControlConnection();
- updateTorConfiguration();
+ processSettingsImpl();
currentStatus = STATUS_ON;
@@ -233,6 +233,7 @@ public class TorService extends Service implements TorServiceConstants, TorConst
initTorPaths();
+ sendCallbackLogMessage("Welcome back, Carter!");
}
@@ -275,7 +276,7 @@ public class TorService extends Service implements TorServiceConstants, TorConst
if (intent != null && intent.getAction()!=null && intent.getAction().equals("onboot"))
{
- SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
+ SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
boolean startOnBoot = prefs.getBoolean("pref_start_boot",false);
@@ -346,7 +347,7 @@ public class TorService extends Service implements TorServiceConstants, TorConst
{
currentStatus = STATUS_OFF;
- SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
+ SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
boolean hasRoot = prefs.getBoolean(PREF_HAS_ROOT,false);
@@ -406,7 +407,7 @@ public class TorService extends Service implements TorServiceConstants, TorConst
private String getHiddenServiceHostname ()
{
- SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
+ SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
boolean enableHiddenServices = prefs.getBoolean("pref_hs_enable", false);
@@ -445,8 +446,6 @@ public class TorService extends Service implements TorServiceConstants, TorConst
private void killTorProcess () throws Exception
{
- //android.os.Debug.waitForDebugger();
-
StringBuilder log = new StringBuilder();
int procId = -1;
@@ -535,7 +534,7 @@ public class TorService extends Service implements TorServiceConstants, TorConst
initTorPaths();
- SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
+ SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
String currTorBinary = prefs.getString(TorServiceConstants.PREF_BINARY_TOR_VERSION_INSTALLED, null);
String currPrivoxyBinary = prefs.getString(TorServiceConstants.PREF_BINARY_PRIVOXY_VERSION_INSTALLED, null);
@@ -628,7 +627,7 @@ public class TorService extends Service implements TorServiceConstants, TorConst
public void initTor () throws Exception
{
- SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
+ SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
ENABLE_DEBUG_LOG = prefs.getBoolean("pref_enable_logging",false);
Log.i(TAG,"debug logging:" + ENABLE_DEBUG_LOG);
@@ -752,7 +751,7 @@ public class TorService extends Service implements TorServiceConstants, TorConst
String torrcPath = new File(appBinHome, TORRC_ASSET_KEY).getAbsolutePath();
- SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
+ SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
boolean transProxyTethering = prefs.getBoolean("pref_transparent_tethering", false);
if (transProxyTethering)
@@ -815,7 +814,7 @@ public class TorService extends Service implements TorServiceConstants, TorConst
initControlConnection ();
- updateTorConfiguration();
+ processSettingsImpl();
}
}
@@ -1144,8 +1143,8 @@ public class TorService extends Service implements TorServiceConstants, TorConst
if (mConnectivity && prefPersistNotifications)
startNotification(sb.toString());
- mTotalTrafficWritten += read;
- mTotalTrafficRead += written;
+ mTotalTrafficWritten += written;
+ mTotalTrafficRead += read;
/*
try
{
@@ -1249,8 +1248,6 @@ public class TorService extends Service implements TorServiceConstants, TorConst
_torInstance = this;
initTorPaths();
- //android.os.Debug.waitForDebugger();
-
//if Tor was deleted for some reason, do this again!
if (!fileTor.exists())
{
@@ -1272,7 +1269,7 @@ public class TorService extends Service implements TorServiceConstants, TorConst
}
- SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
+ SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
ENABLE_DEBUG_LOG = prefs.getBoolean("pref_enable_logging",false);
Log.i(TAG,"debug logging:" + ENABLE_DEBUG_LOG);
@@ -1334,7 +1331,7 @@ public class TorService extends Service implements TorServiceConstants, TorConst
try {
- updateTorConfiguration();
+ processSettingsImpl ();
} catch (RemoteException e) {
@@ -1607,10 +1604,10 @@ public class TorService extends Service implements TorServiceConstants, TorConst
}
};
- private boolean updateTorConfiguration () throws RemoteException
+ private boolean processSettingsImpl () throws RemoteException
{
- SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
+ SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
prefPersistNotifications = prefs.getBoolean(TorConstants.PREF_PERSIST_NOTIFICATIONS, true);
@@ -1635,10 +1632,29 @@ public class TorService extends Service implements TorServiceConstants, TorConst
{
String proxyHost = prefs.getString("pref_proxy_host", null);
String proxyPort = prefs.getString("pref_proxy_port", null);
+ String proxyUser = prefs.getString("pref_proxy_username", null);
+ String proxyPass = prefs.getString("pref_proxy_password", null);
if (proxyHost != null && proxyPort != null)
{
mBinder.updateConfiguration(proxyType + "Proxy", proxyHost + ':' + proxyPort, false);
+
+ if (proxyUser != null && proxyPass != null)
+ {
+ if (proxyType.equalsIgnoreCase("socks5"))
+ {
+ mBinder.updateConfiguration("Socks5ProxyUsername", proxyUser, false);
+ mBinder.updateConfiguration("Socks5ProxyPassword", proxyPass, false);
+ }
+ else
+ mBinder.updateConfiguration(proxyType + "ProxyAuthenticator", proxyUser + ':' + proxyPort, false);
+
+ }
+ else if (proxyPass != null)
+ mBinder.updateConfiguration(proxyType + "ProxyAuthenticator", proxyUser + ':' + proxyPort, false);
+
+
+
}
}
@@ -1779,6 +1795,7 @@ public class TorService extends Service implements TorServiceConstants, TorConst
if (enableHiddenServices)
{
mBinder.updateConfiguration("HiddenServiceDir",appCacheHome.getAbsolutePath(), false);
+ //mBinder.updateConfiguration("RendPostPeriod", "600 seconds", false); //possible feature to investigate
String hsPorts = prefs.getString("pref_hs_ports","");
@@ -1794,23 +1811,26 @@ public class TorService extends Service implements TorServiceConstants, TorConst
if (hsPortConfig.indexOf(":")==-1) //setup the port to localhost if not specifed
{
- hsPortConfig = hsPortConfig + " 127.0.0.1:" + hsPortConfig;
+ hsPortConfig = hsPortConfig + " 0.0.0.0:" + hsPortConfig;
}
mBinder.updateConfiguration("HiddenServicePort",hsPortConfig, false);
hsPort = Integer.parseInt(hsPortConfig.split(" ")[0]);
-
+
//start this for the first port specified
if (mShareServe == null)
{
- //we load this here from the file directory based on data
- //written by Tor binary
- mShareServeHost = getHiddenServiceHostname ();
- mShareServePort = hsPort;
+
mShareServe = new ShareService(10, this);
- mShareServe.startService(hsPort);
}
+
+ //we load this here from the file directory based on data
+ //written by Tor binary
+ mShareServeHost = getHiddenServiceHostname ();
+ mShareServePort = hsPort;
+ mShareServe.startService(hsPort);
+
} catch (NumberFormatException e) {
Log.e(this.TAG,"error parsing hsport",e);
diff --git a/src/org/torproject/android/service/TorTransProxy.java b/src/org/torproject/android/service/TorTransProxy.java
index 9be6cc2..76741b1 100644
--- a/src/org/torproject/android/service/TorTransProxy.java
+++ b/src/org/torproject/android/service/TorTransProxy.java
@@ -32,7 +32,7 @@ public class TorTransProxy implements TorServiceConstants {
String ipTablesPath = null;
- SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
+ SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context.getApplicationContext());
useSystemIpTables = prefs.getBoolean(TorConstants.PREF_USE_SYSTEM_IPTABLES, false);
if (useSystemIpTables || mBundledFailed)
@@ -407,65 +407,7 @@ public class TorTransProxy implements TorServiceConstants {
return code;
}
- /*
- // this is a bad idea so removing
- public int setTransparentProxyingByPort(Context context, int port) throws Exception
- {
-
- //android.os.Debug.waitForDebugger();
-
- //redirectDNSResolvConf(); //not working yet
-
- //String baseDir = context.getDir("bin",0).getAbsolutePath() + '/';
- String ipTablesPath = getIpTablesPath(context);
- StringBuilder script = new StringBuilder();
-
- StringBuilder res = new StringBuilder();
- int code = -1;
- //flushIptables(context);
-
- //TCP
- //iptables -t nat -A PREROUTING -i eth0 -p tcp --dport $srcPortNumber -j REDIRECT --to-port $dstPortNumbe
-
- script.append(ipTablesPath);
- script.append(" -t nat");
- script.append(" -A OUTPUT -p tcp");
- script.append(" --dport ");
- script.append(port);
- //script.append(" -m tcp --syn");
- script.append(" -j REDIRECT --to-ports ");
- script.append(TOR_TRANSPROXY_PORT);
- script.append(" || exit\n");
-
- script.append(ipTablesPath);
- script.append(" -t nat");
- script.append(" -A OUTPUT -p udp");
- script.append(" --dport ");
- script.append(port);
- script.append(" -j REDIRECT --to-ports ");
- script.append(TOR_TRANSPROXY_PORT);
- script.append(" || exit\n");
-
- //DNS
- script.append(ipTablesPath);
- script.append(" -t nat");
- script.append(" -A OUTPUT -p udp ");
- script.append(" -m udp --dport ");
- script.append(STANDARD_DNS_PORT);
- script.append(" -j REDIRECT --to-ports ");
- script.append(TOR_DNS_PORT);
- script.append(" || exit\n");
-
-
- String[] cmdAdd = {script.toString()};
- code = TorServiceUtils.doShellCommand(cmdAdd, res, true, true);
- String msg = res.toString();
- TorService.logMessage(cmdAdd[0] + ";errCode=" + code + ";resp=" + msg);
-
- return code;
- }
- */
public int enableTetheringRules (Context context) throws Exception
{
More information about the tor-commits
mailing list