more fixes for hidden service configuration
now multiple ports are properly configured and notification will display correctly
This commit is contained in:
parent
051cce472c
commit
bedeb71cf2
|
@ -1018,7 +1018,6 @@ public class Orbot extends ActionBarActivity implements TorConstants, OnLongClic
|
||||||
mService.setProfile(TorServiceConstants.PROFILE_OFF);
|
mService.setProfile(TorServiceConstants.PROFILE_OFF);
|
||||||
Message msg = mHandler.obtainMessage(TorServiceConstants.DISABLE_TOR_MSG);
|
Message msg = mHandler.obtainMessage(TorServiceConstants.DISABLE_TOR_MSG);
|
||||||
mHandler.sendMessage(msg);
|
mHandler.sendMessage(msg);
|
||||||
//trafficRow.setVisibility(RelativeLayout.GONE);
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -1037,11 +1036,9 @@ public class Orbot extends ActionBarActivity implements TorConstants, OnLongClic
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
|
||||||
if (mService != null && mService.getStatus() == TorServiceConstants.STATUS_OFF)
|
if (torStatus == TorServiceConstants.STATUS_OFF)
|
||||||
{
|
{
|
||||||
|
|
||||||
// createProgressDialog(getString(R.string.status_starting_up));
|
|
||||||
|
|
||||||
startTor();
|
startTor();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|
|
@ -76,7 +76,7 @@ public class TorService extends Service implements TorServiceConstants, TorConst
|
||||||
private static final int NOTIFY_ID = 1;
|
private static final int NOTIFY_ID = 1;
|
||||||
private static final int TRANSPROXY_NOTIFY_ID = 2;
|
private static final int TRANSPROXY_NOTIFY_ID = 2;
|
||||||
private static final int ERROR_NOTIFY_ID = 3;
|
private static final int ERROR_NOTIFY_ID = 3;
|
||||||
private static final int HS_NOTIFY_ID = 3;
|
private static final int HS_NOTIFY_ID = 4;
|
||||||
|
|
||||||
private boolean prefPersistNotifications = true;
|
private boolean prefPersistNotifications = true;
|
||||||
|
|
||||||
|
@ -409,33 +409,61 @@ public class TorService extends Service implements TorServiceConstants, TorConst
|
||||||
|
|
||||||
boolean enableHiddenServices = prefs.getBoolean("pref_hs_enable", false);
|
boolean enableHiddenServices = prefs.getBoolean("pref_hs_enable", false);
|
||||||
|
|
||||||
|
StringBuffer result = new StringBuffer();
|
||||||
|
|
||||||
if (enableHiddenServices)
|
if (enableHiddenServices)
|
||||||
{
|
{
|
||||||
File file = new File(appCacheHome, "hostname");
|
String hsPorts = prefs.getString("pref_hs_ports","");
|
||||||
|
|
||||||
if (file.exists())
|
StringTokenizer st = new StringTokenizer (hsPorts,",");
|
||||||
{
|
String hsPortConfig = null;
|
||||||
try {
|
|
||||||
String onionHostname = Utils.readString(new FileInputStream(file)).trim();
|
|
||||||
showToolbarNotification(getString(R.string.hidden_service_on) + ' ' + onionHostname, HS_NOTIFY_ID, R.drawable.ic_stat_tor, true);
|
|
||||||
Editor pEdit = prefs.edit();
|
|
||||||
pEdit.putString("pref_hs_hostname",onionHostname);
|
|
||||||
pEdit.commit();
|
|
||||||
|
|
||||||
return onionHostname;
|
while (st.hasMoreTokens())
|
||||||
|
{
|
||||||
|
|
||||||
} catch (FileNotFoundException e) {
|
int hsPort = Integer.parseInt(st.nextToken().split(" ")[0]);;
|
||||||
logException("unable to read onion hostname file",e);
|
|
||||||
showToolbarNotification(getString(R.string.unable_to_read_hidden_service_name), ERROR_NOTIFY_ID, R.drawable.ic_stat_notifyerr, false);
|
File fileDir = new File(appCacheHome, "hs" + hsPort);
|
||||||
|
File file = new File(fileDir, "hostname");
|
||||||
|
|
||||||
|
|
||||||
|
if (file.exists())
|
||||||
|
{
|
||||||
|
try {
|
||||||
|
String onionHostname = Utils.readString(new FileInputStream(file)).trim();
|
||||||
|
|
||||||
|
if (result.length() > 0)
|
||||||
|
result.append(",");
|
||||||
|
|
||||||
|
result.append(onionHostname);
|
||||||
|
|
||||||
|
|
||||||
|
} catch (FileNotFoundException e) {
|
||||||
|
logException("unable to read onion hostname file",e);
|
||||||
|
showToolbarNotification(getString(R.string.unable_to_read_hidden_service_name), HS_NOTIFY_ID, R.drawable.ic_stat_notifyerr, false);
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
showToolbarNotification(getString(R.string.unable_to_read_hidden_service_name), HS_NOTIFY_ID, R.drawable.ic_stat_notifyerr, false);
|
||||||
return null;
|
return null;
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
showToolbarNotification(getString(R.string.unable_to_read_hidden_service_name), HS_NOTIFY_ID, R.drawable.ic_stat_notifyerr, false);
|
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (result.length() > 0)
|
||||||
|
{
|
||||||
|
String onionHostname = result.toString();
|
||||||
|
|
||||||
|
showToolbarNotification(getString(R.string.hidden_service_on) + ' ' + onionHostname, HS_NOTIFY_ID, R.drawable.ic_stat_tor, false);
|
||||||
|
Editor pEdit = prefs.edit();
|
||||||
|
pEdit.putString("pref_hs_hostname",onionHostname);
|
||||||
|
pEdit.commit();
|
||||||
|
|
||||||
|
return onionHostname;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return null;
|
return null;
|
||||||
|
@ -623,6 +651,8 @@ public class TorService extends Service implements TorServiceConstants, TorConst
|
||||||
if (mHasRoot && mEnableTransparentProxy)
|
if (mHasRoot && mEnableTransparentProxy)
|
||||||
enableTransparentProxy(mTransProxyAll, mTransProxyTethering);
|
enableTransparentProxy(mTransProxyAll, mTransProxyTethering);
|
||||||
|
|
||||||
|
getHiddenServiceHostname ();
|
||||||
|
|
||||||
//checkAddressAndCountry();
|
//checkAddressAndCountry();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1876,7 +1906,6 @@ public class TorService extends Service implements TorServiceConstants, TorConst
|
||||||
{
|
{
|
||||||
logNotice("hidden services are enabled");
|
logNotice("hidden services are enabled");
|
||||||
|
|
||||||
|
|
||||||
//mBinder.updateConfiguration("RendPostPeriod", "600 seconds", false); //possible feature to investigate
|
//mBinder.updateConfiguration("RendPostPeriod", "600 seconds", false); //possible feature to investigate
|
||||||
|
|
||||||
String hsPorts = prefs.getString("pref_hs_ports","");
|
String hsPorts = prefs.getString("pref_hs_ports","");
|
||||||
|
@ -1896,15 +1925,16 @@ public class TorService extends Service implements TorServiceConstants, TorConst
|
||||||
hsPortConfig = hsPortConfig + " 127.0.0.1:" + hsPortConfig;
|
hsPortConfig = hsPortConfig + " 127.0.0.1:" + hsPortConfig;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
hsPort = Integer.parseInt(hsPortConfig.split(" ")[0]);
|
||||||
|
|
||||||
|
String hsDirPath = new File(appCacheHome,"hs" + hsPort).getAbsolutePath();
|
||||||
|
|
||||||
logMessage("Adding hidden service on port: " + hsPortConfig);
|
logMessage("Adding hidden service on port: " + hsPortConfig);
|
||||||
|
|
||||||
//String hsDirPath = new File(appCacheHome,"hs" + hsPortConfig).getAbsolutePath();
|
|
||||||
String hsDirPath = appCacheHome.getAbsolutePath();
|
|
||||||
|
|
||||||
mBinder.updateConfiguration("HiddenServiceDir",hsDirPath, false);
|
mBinder.updateConfiguration("HiddenServiceDir",hsDirPath, false);
|
||||||
mBinder.updateConfiguration("HiddenServicePort",hsPortConfig, false);
|
mBinder.updateConfiguration("HiddenServicePort",hsPortConfig, false);
|
||||||
|
|
||||||
hsPort = Integer.parseInt(hsPortConfig.split(" ")[0]);
|
|
||||||
|
|
||||||
} catch (NumberFormatException e) {
|
} catch (NumberFormatException e) {
|
||||||
Log.e(this.TAG,"error parsing hsport",e);
|
Log.e(this.TAG,"error parsing hsport",e);
|
||||||
|
|
Loading…
Reference in New Issue