commit 6f8fe6f7fa9197b2465bcbe3374722803f6a24d0 Author: Arturo Filastò arturo@filasto.net Date: Wed Jun 29 16:38:09 2016 +0200
Implementing bridge failover in ooniprobe (#540)
* Implementing bridge failover in ooniprobe
We support failing over to obfs4 and meek when vanilla tor does not work.
* This implements #538
* Reset the DataDirectory when we the data_dir is not set
Otherwise txtorcon will delete the datadirectory after it shutsdown and not re-create it. --- ooni/utils/onion.py | 13 +++++++++++++ 1 file changed, 13 insertions(+)
diff --git a/ooni/utils/onion.py b/ooni/utils/onion.py index cd13640..cc2f2ff 100644 --- a/ooni/utils/onion.py +++ b/ooni/utils/onion.py @@ -239,6 +239,19 @@ class TorLauncherWithRetries(object): self.tor_config = new_tor_config self.timeout = timeout
+ def _reset_tor_config(self): + """ + This is used to reset the Tor configuration to before launch_tor + modified it. This is in particular used to force the regeneration of the + DataDirectory. + """ + new_tor_config = TorConfig() + for key in self.tor_config: + if config.tor.data_dir is None and key == "DataDirectory": + continue + setattr(new_tor_config, key, getattr(self.tor_config, key)) + self.tor_config = new_tor_config + def _progress_updates(self, prog, tag, summary): log.msg("%d%%: %s" % (prog, summary))