[tor-commits] [ooni-probe/master] Probe Report should not leak the full PATH.
art at torproject.org
art at torproject.org
Thu Aug 14 11:34:05 UTC 2014
commit c6eb5c44ac817ed1704b77ab416b2df833e3daa6
Author: Arturo Filastò <art at fuffa.org>
Date: Thu Aug 7 17:47:34 2014 +0200
Probe Report should not leak the full PATH.
This fixes: https://trac.torproject.org/projects/tor/ticket/12706
---
ooni/nettest.py | 8 ++++----
ooni/utils/__init__.py | 11 +++++++++++
2 files changed, 15 insertions(+), 4 deletions(-)
diff --git a/ooni/nettest.py b/ooni/nettest.py
index 4cc453d..54a7d28 100644
--- a/ooni/nettest.py
+++ b/ooni/nettest.py
@@ -9,7 +9,7 @@ from twisted.trial.runner import filenameToModule
from twisted.python import usage, reflect
from ooni.tasks import Measurement
-from ooni.utils import log, checkForRoot
+from ooni.utils import log, checkForRoot, sanitize_options
from ooni.settings import config
from ooni import geoip
@@ -219,6 +219,7 @@ class NetTestLoader(object):
for input_file in self.inputFiles:
input_file_hashes.append(input_file['hash'])
+ options = sanitize_options(self.options)
test_details = {'start_time': time.time(),
'probe_asn': config.probe_ip.geodata['asn'],
'probe_cc': config.probe_ip.geodata['countrycode'],
@@ -228,9 +229,8 @@ class NetTestLoader(object):
'test_version': self.testVersion,
'software_name': 'ooniprobe',
'software_version': software_version,
- 'options': self.options,
- 'input_hashes': input_file_hashes,
- 'geoip_database_version': geoip.database_version()
+ 'options': options,
+ 'input_hashes': input_file_hashes
}
return test_details
diff --git a/ooni/utils/__init__.py b/ooni/utils/__init__.py
index e879d7b..ec1b1ce 100644
--- a/ooni/utils/__init__.py
+++ b/ooni/utils/__init__.py
@@ -131,3 +131,14 @@ def generate_filename(testDetails, prefix=None, extension=None, filename=None):
return final_filename
+def sanitize_options(options):
+ """
+ Strips all possible user identifying information from the ooniprobe test
+ options.
+ Currently only strips leading directories from filepaths.
+ """
+ sanitized_options = []
+ for option in options:
+ option = os.path.basename(option)
+ sanitized_options.append(option)
+ return sanitized_options
More information about the tor-commits
mailing list