- Apr 22, 2020
-
-
Simone Basso authored
Release v0.10.0 Part of https://github.com/ooni/probe-engine/issues/504
-
Simone Basso authored
Part of https://github.com/ooni/probe-engine/issues/504
-
Simone Basso authored
Part of https://github.com/ooni/probe-engine/issues/504
-
Simone Basso authored
Bugfix developed as part of https://github.com/ooni/probe-engine/issues/509 While there, implement a unit test
-
Simone Basso authored
These are useful bits of information when filling a measurement because they allow us to understand what transport is used. Part of https://github.com/ooni/probe-engine/issues/509
-
Simone Basso authored
There is no cache aging. If a resolution is successful, then we do cache the result. This is meant as a mechanism to make measurements faster and with less data points. For this reason it's disabled by default. Consider for example the case where `http://www.example.com` redirects you to `https://www.example.com`. You really don't want to perform the name resolution again in this case. As a side note, depending on the resolver we're using, we may not need the caching mechanism. Nonetheless, using the cache always when measuring also reduces the number of duplicate entries we produce where only the first entry has actually been resolved. This was developed as part of https://github.com/ooni/probe-engine/issues/509
-
Simone Basso authored
This is non standard. We don't need to add it to the spec. It is just useful when you are vetting measurements manually. Cherry-picked from work related to https://github.com/ooni/probe-engine/issues/509
-
- Apr 19, 2020
-
-
Simone Basso authored
The design is that we have a tunnel managed by the session. We may ask the session to possibly start a tunnel, provided that one is configured. If no tunnel is configured, nothing actually happens. Otherwise, we get a proxy (similar to when `--proxy` is used) that we use. The psiphon experiment now needs refactoring to use this tunnel. Part of https://github.com/ooni/probe-engine/issues/506.
-
Simone Basso authored
The rationale of this change is the following: 1. honouring `HTTP_PROX`Y is increasingly weird when we have HTTP and non-HTTP pieces of code 2. so, let's instead introduce a concept of explicit proxy at SOCKS5 level 3. if we have a concept of explicit proxy, then use it for everything, to honour the user wishes 4. then we don't need a transport without proxy anymore Part of https://github.com/ooni/probe-engine/issues/506
-
- Apr 18, 2020
-
-
Simone Basso authored
Part of https://github.com/ooni/probe-engine/issues/501
-
- Apr 17, 2020
-
-
Simone Basso authored
The implementation has changed significantly. Part of https://github.com/ooni/probe-engine/issues/501
-
Simone Basso authored
We don't have anymore a boundary between the external neubot/dash client and probe-engine code, so rearrange the implementation to be more easy to understand and test. Part of https://github.com/ooni/probe-engine/issues/501
-
Simone Basso authored
This is similar to ndt7. Treat this kind of errors more liberally and do not fail the whole experiment. Zap code to obtain the server measurements since we aren't currently using them. Part of https://github.com/ooni/probe-engine/issues/501
-
Simone Basso authored
Part of https://github.com/ooni/probe-engine/issues/501
-
Simone Basso authored
As part of merging the existing codebase with the neubot/dash client, let's also dispose of the code that does not matter much. For example, remove server-side code only that slipped through when we merged neubot/dash client into this codebase. Also, there was code whose only purpose was printing serialized JSONs in debug mode, which we actually don't need. Part of https://github.com/ooni/probe-engine/issues/501
-
Simone Basso authored
Part of https://github.com/ooni/probe-engine/issues/501
-
- Apr 16, 2020
-
-
Simone Basso authored
This seems to be a better pattern for saving events that involves doing much less magic with the context. Part of https://github.com/ooni/probe-engine/issues/509
-
Simone Basso authored
Part of https://github.com/ooni/probe-engine/issues/501
-
- Apr 15, 2020
-
-
Simone Basso authored
Part of https://github.com/ooni/probe-engine/issues/501 It should be noted that this solution is such that byte counting does not work when using HTTP for Go < 1.14.
-
Simone Basso authored
Part of https://github.com/ooni/probe-engine/issues/501
-
Simone Basso authored
Part of https://github.com/ooni/probe-engine/issues/501
-
Simone Basso authored
Part of https://github.com/ooni/probe-engine/issues/501 We still need to use our vendored mlab-ns and to perform some additional adaptations to the code base. This diff copied the original sources and adapted it such that we were not exposing additional public symbols.
-
Simone Basso authored
Part of https://github.com/ooni/probe-engine/issues/501
-
Simone Basso authored
Part of https://github.com/ooni/probe-engine/issues/268
-
- Apr 14, 2020
-
-
Simone Basso authored
Closes https://github.com/ooni/probe-engine/issues/453
-
Simone Basso authored
This is wrong because there may be persistent connection that we may be missing. For this reason, we count at HTTP level. Closes https://github.com/ooni/probe-engine/issues/484
-
Simone Basso authored
-
Simone Basso authored
-
- Apr 10, 2020
-
-
Simone Basso authored
-
- Apr 09, 2020
-
-
Simone Basso authored
This PR implements a drop-in API-and-ABI-compatible replacement for MK that can be used by FFI clients. The only FFI client I know is the soon-to-be-deprecated MK binary. I am not going to invest much time in automatically shipping the library we can create from this code. I am happy enough that we run tests and we have nearly full coverage. The only code bit without coverage is ~10 lines of obvious C code that just adds/removes the `const` qualifier. With this functionality in, I am going to call https://github.com/measurement-kit/measurement-kit/issues/1913 done. Of course, we still need to rewrite everything in Go, but all the use cases covered by MK are nonetheless now fully covered. This is a precondition for https://github.com/measurement-kit/measurement-kit/issues/1921: if people need a C library, we can do the extra mile and build it for them.
-
Simone Basso authored
This seems more consistent. Making mkcgo conditional on CGO is a relic of when one needed to disable CGO to disable MK. Spotted when working on something else.
-
- Apr 08, 2020
-
-
Simone Basso authored
Spotted while working on something else.
-
Simone Basso authored
* ndt7: add explicit protocol version Simplifies data analysis wrt to future versions. To take apart ndt5 and ndt7, duck typing should be enough. I figured I wanted to be future proof, though. See https://github.com/ooni/probe-engine/issues/259. * ndt7: don't warn on generic_timeout_error Most tests terminate with that error because we set a very early timeout to keep their duration strictly bounded. So emitting this kind of error is not good for UX. * ndt7: add information on the selected server
-
- Apr 06, 2020
-
-
Simone Basso authored
* model: let Input be `null` if empty Part of https://github.com/ooni/probe-engine/issues/423 * Add standard annotations to the measurement Part of https://github.com/ooni/probe-engine/issues/423 * model/model.go: sort variables by JSON serialization name Part of https://github.com/ooni/probe-engine/issues/423 * Declare measurement extensions and version See https://github.com/ooni/probe-engine/issues/423 * repair tests * More robust implementation
-
- Apr 05, 2020
-
-
Simone Basso authored
Release v0.9.0
-
Simone Basso authored
-
Simone Basso authored
-
Simone Basso authored
Finalizing https://github.com/ooni/probe-engine/issues/125
-
Simone Basso authored
* oonimkall: use bytes measured by the experiment Part of the work to finally call https://github.com/ooni/probe-engine/issues/125 done * remove unneeded log statement
-
Simone Basso authored
* engine: use the new httptransport This allows us to count bytes (https://github.com/ooni/probe-engine/issues/125) and is in line with netx simplification (https://github.com/ooni/probe-engine/issues/359). * Remember to properly set the proxy
-