commit ee2fa7b4093117bd618af03382809ade4e9832a0
Author: Arturo Filastò <arturo(a)filasto.net>
Date: Fri Mar 11 17:57:10 2016 +0100
Add support for stripping potential inclusion of probe IPs in reports
---
ooni/templates/httpt.py | 3 +++
ooni/templates/process.py | 9 ++++++++-
2 files changed, 11 insertions(+), 1 deletion(-)
diff --git a/ooni/templates/httpt.py b/ooni/templates/httpt.py
index 3702e86..d0822f2 100644
--- a/ooni/templates/httpt.py
+++ b/ooni/templates/httpt.py
@@ -134,6 +134,9 @@ class HTTPTest(NetTestCase):
}
}
if response:
+ # Attempt to redact the IP address of the probe from the responses
+ if config.privacy.includeip is False:
+ response_body = response_body.replace(config.probe_ip.address, "[REDACTED]")
request_response['response'] = {
'headers': list(response.headers.getAllRawHeaders()),
'body': response_body if self.localOptions.get('withoutbody', 0) == 0 else '',
diff --git a/ooni/templates/process.py b/ooni/templates/process.py
index 82457dc..42a4256 100644
--- a/ooni/templates/process.py
+++ b/ooni/templates/process.py
@@ -1,5 +1,6 @@
from twisted.internet import protocol, defer, reactor
+from ooni.settings import config
from ooni.nettest import NetTestCase
from ooni.utils import log
@@ -66,7 +67,7 @@ class ProcessDirector(protocol.ProcessProtocol):
self.stderr += data
if self.shouldClose():
self.close("condition_met")
- self.handlRead(None, data)
+ self.handleRead(None, data)
def inConnectionLost(self):
@@ -105,6 +106,12 @@ class ProcessTest(NetTestCase):
log.debug("Finished %s: %s" % (command, result))
if not isinstance(self.report.get('commands'), list):
self.report['commands'] = []
+
+ # Attempt to redact the IP address of the probe from the standard output
+ if config.privacy.includeip is False:
+ result['stdout'] = result['stdout'].replace(config.probe_ip.address, "[REDACTED]")
+ result['stderr'] = result['stderr'].replace(config.probe_ip.address, "[REDACTED]")
+
self.report['commands'].append({
'command_name': ' '.join(command),
'command_stdout': result['stdout'],