Hi,
On Thu, 31 Jul 2014 14:05:49 +0200 Arturo Filastò art@torproject.org wrote:
On 7/24/14, 2:52 PM, jony-port@bitmessage.ch wrote:
It seems that the single response of the http_requests requests test results in 'body_length_match' and 'headers_match' fields set to true.
Yes that is correct. Those values are initialized to none and if a response is received for both control and experiment they are set to either true or false.
But when there is only one request this should never be as true, since there is only one request, thus nothing to compare with or I miss anything?
From my understanding a single response request should raise an error set by the 'control_failure' or 'experiment_failure' field.
Yes that is correct, when a control or experiment request fails the relative key will be set with the error message.
For the list of error strings you should see:
https://gitweb.torproject.org/ooni/spec.git/blob/HEAD:/data-formats/df-000-b...
I can't find the error string when there is only a single request instead of two, as the http_requests test case implies.
On 8/11/14, 6:34 PM, jony-port@bitmessage.ch wrote:
Hi,
On Thu, 31 Jul 2014 14:05:49 +0200 Arturo Filastò art@torproject.org wrote:
On 7/24/14, 2:52 PM, jony-port@bitmessage.ch wrote:
It seems that the single response of the http_requests requests test results in 'body_length_match' and 'headers_match' fields set to true.
Yes that is correct. Those values are initialized to none and if a response is received for both control and experiment they are set to either true or false.
But when there is only one request this should never be as true, since there is only one request, thus nothing to compare with or I miss anything?
Wait, the http_requests test should be doing 2 requests. One is over your network connection, the other is over tor. Looking back at the report you sent it seems like you are only sending 1 request.
Did you make any changes to the http_requests test and which version of ooni-probe are you running?
Can you enable debug output and paste somewhere the output of it (you need to edit ~/.ooni/ooniprobe.conf to set advanced->debug: true)?
From my understanding a single response request should raise an error set by the 'control_failure' or 'experiment_failure' field.
Yes that is correct, when a control or experiment request fails the relative key will be set with the error message.
For the list of error strings you should see:
https://gitweb.torproject.org/ooni/spec.git/blob/HEAD:/data-formats/df-000-b...
I can't find the error string when there is only a single request instead of two, as the http_requests test case implies.
If a request fails, and the report you paste does not indicate any failure, you will see it in the response->failure key (see: https://gitweb.torproject.org/ooni/spec.git/blob/HEAD:/data-formats/df-001-h...).
~ Art.
On Mon, 11 Aug 2014 20:06:52 +0200 Arturo Filastò art@torproject.org wrote:
On 8/11/14, 6:34 PM, jony-port@bitmessage.ch wrote:
Hi,
On Thu, 31 Jul 2014 14:05:49 +0200 Arturo Filastò art@torproject.org wrote:
On 7/24/14, 2:52 PM, jony-port@bitmessage.ch wrote:
It seems that the single response of the http_requests requests test results in 'body_length_match' and 'headers_match' fields set to true.
Yes that is correct. Those values are initialized to none and if a response is received for both control and experiment they are set to either true or false.
But when there is only one request this should never be as true, since there is only one request, thus nothing to compare with or I miss anything?
Wait, the http_requests test should be doing 2 requests. One is over your network connection, the other is over tor. Looking back at the report you sent it seems like you are only sending 1 request.
Did you make any changes to the http_requests test and which version of ooni-probe are you running?
I have seen this issue in reports made from various probes most of them using the official debian package or the latest git release.
No changes were made to the http_requests test.
Can you enable debug output and paste somewhere the output of it (you need to edit ~/.ooni/ooniprobe.conf to set advanced->debug: true)
I cannot reproduce this on my system. These reports were gathered at some point from different systems, most of them are on the main reports archive (https://ooni.torproject.org/reports/0.1/).
In any case, I guess it would be better to check that the headers exist before calling getDiff (https://gitweb.torproject.org/ooni-probe.git/blob/HEAD:/ooni/nettests/blocki...)
On 8/12/14, 9:41 AM, jony-port@bitmessage.ch wrote:
Can you enable debug output and paste somewhere the output of it (you need to edit ~/.ooni/ooniprobe.conf to set advanced->debug: true)
I cannot reproduce this on my system. These reports were gathered at some point from different systems, most of them are on the main reports archive (https://ooni.torproject.org/reports/0.1/).
In any case, I guess it would be better to check that the headers exist before calling getDiff (https://gitweb.torproject.org/ooni-probe.git/blob/HEAD:/ooni/nettests/blocki...)
I deployed a fix that is now part of ooniprobe 1.1.0 in this commit: https://github.com/TheTorProject/ooni-probe/commit/dc7cc8fea556ed9391147defb...
This makes exception handling in the HTTP request template more robust.
Also here there are some improvements to the http_requests test that could also address the root of this issue:
https://github.com/TheTorProject/ooni-probe/commit/981329235f9b8e8629d993e63....
This is also part of 1.1.0.
I believe this should fix the problem.
What I suggest is that when you parse the reports if you only see one request/response pair you should consider the other one to have failed. If the test was on the experiment you should consider this a possible sign of censorship.
~ Art.