From 7d9ce4c9737e7aa31177c24be4c3a81c1acd4cb6 Mon Sep 17 00:00:00 2001 From: akwizgran <akwizgran@users.sourceforge.net> Date: Wed, 2 Jul 2014 22:59:13 +0100 Subject: [PATCH] Don't assume Tor has bootstrapped if it's already running. --- .../src/org/briarproject/plugins/tor/TorPlugin.java | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/briar-android/src/org/briarproject/plugins/tor/TorPlugin.java b/briar-android/src/org/briarproject/plugins/tor/TorPlugin.java index 1916d08aff..7ac2f53946 100644 --- a/briar-android/src/org/briarproject/plugins/tor/TorPlugin.java +++ b/briar-android/src/org/briarproject/plugins/tor/TorPlugin.java @@ -138,8 +138,6 @@ class TorPlugin implements DuplexPlugin, EventHandler { controlSocket.close(); killZombieProcess(); startProcess = true; - } else { - bootstrapped = true; } } catch(IOException e) { LOG.info("Tor is not running"); @@ -220,6 +218,14 @@ class TorPlugin implements DuplexPlugin, EventHandler { // Register to receive events from the Tor process controlConnection.setEventHandler(this); controlConnection.setEvents(Arrays.asList(EVENTS)); + // If Tor was already running, find out whether it's bootstrapped + if(!startProcess) { + String phase = controlConnection.getInfo("status/bootstrap-phase"); + if(phase != null && phase.contains("PROGRESS=100")) { + LOG.info("Tor has already bootstrapped"); + bootstrapped = true; + } + } // Register to receive network status events networkStateReceiver = new NetworkStateReceiver(); IntentFilter filter = new IntentFilter(CONNECTIVITY_ACTION); -- GitLab