Commit Graph

1196 Commits

Author SHA1 Message Date
Simone Basso
76bb083ec4 Update to probe-engine@v0.11.0
This also updates all the dependencies that needed it.
2020-05-14 16:53:22 +02:00
Simone Basso
4da7860cbf linux: use the latest version of measurement-kit 2020-05-14 16:13:58 +02:00
Simone Basso
a5dcbb18d3
Merge pull request #128 from ooni/feature/v3.0.0
Bless v3.0.0
2020-05-05 16:37:30 +02:00
Simone Basso
09da562b56 Bless v3.0.0 2020-05-05 16:16:42 +02:00
Simone Basso
e244633ffc
Merge pull request #126 from ooni/update/probe-engine
Pin to ooni/probe-engine@v0.10.0
2020-05-04 15:51:29 +02:00
Simone Basso
46e01eab98 Pin to ooni/probe-engine@v0.10.0
Part of https://github.com/ooni/probe-engine/issues/504
2020-04-22 17:16:51 +02:00
Simone Basso
1b045da3ea
Merge pull request #124 from ooni/rc/14
Bless v3.0.0-rc.14
2020-04-08 14:36:00 +02:00
Simone Basso
ec10e54b5c Bless v3.0.0-rc.14 2020-04-08 13:05:00 +02:00
Simone Basso
acbe133ad6 go.mod go.sum: pin to ooni/probe-engine@7ac6a37960
This includes fixes in the data format emitted by ndt7.
2020-04-08 13:04:25 +02:00
Simone Basso
d1ae5facc3
Merge pull request #123 from ooni/release/13
Pin to latest probe-engine and bless v3.0.0-rc.13
2020-04-06 13:34:43 +02:00
Simone Basso
4a563ebe13 Pin to latest probe-engine and bless v3.0.0-rc.13
I'm pinning to ooni/probe-engine@72c12b0b81
because it generates more correct data and I think we're going to have
most likely this probe-cli version in the stable desktop release.
2020-04-06 13:22:10 +02:00
Simone Basso
c0a18dac1b
Merge pull request #122 from ooni/issue/125
Release v3.0.0-rc.12
2020-04-06 00:14:06 +02:00
Simone Basso
e39ca4c6bf version/version.go: bless v3.0.0-rc.12 2020-04-05 23:47:31 +02:00
Simone Basso
9f4ae7c78b Update direct and indirect dependencies 2020-04-05 23:38:39 +02:00
Simone Basso
967e9f0924 nettests/nettests.go: use experiment getters to get data usage 2020-04-05 23:38:18 +02:00
Simone Basso
07e4367f6d
nettests: Just use "ndt", which is now "ndt7" in probe-engine (#121)
Part of https://github.com/ooni/backend/issues/369
2020-03-18 15:50:55 +01:00
Simone Basso
1d3e7e11ae
ooni.go: use 32 bit counter to signal interruption (#120)
Using a 64 bit counter has pitfalls. See Go documentation.

I don't want a refactoring or whatever to let these pitfalls
emerge in the future.

We just need one bit to signal we're done.

So use 32 bit, which shall be safe everywhere.

See https://golang.org/pkg/sync/atomic/#pkg-note-BUG.

Proactively triggered by https://github.com/ooni/probe-engine/issues/399.
2020-03-18 12:32:53 +01:00
Simone Basso
fe0b4a02be
nettests/ndt.go: use ndt7 rather than ndt5 (#119)
Part of https://github.com/ooni/probe/issues/969
2020-03-12 19:36:32 +01:00
Simone Basso
38e86ce3c7 version/version.go: bless v3.0.0-rc.11 2020-03-10 21:36:46 +01:00
Simone Basso
1d5c913019
Update deps and pin to ooni/probe-engine@v0.8.0 (#118)
Part of https://github.com/ooni/probe/issues/1030
2020-03-10 12:02:30 +01:00
Simone Basso
fd6fe262ec version/version.go: bless v3.0.0-rc.10 2020-02-27 14:53:26 +01:00
Arturo Filastò
9eaa25656c
Merge pull request #113 from ooni/bug-ooni/probe#1013
Interrupt the nettestGroup loop early on termination
2020-02-27 14:47:52 +01:00
Simone Basso
6b9353ebe1 Pin to ooni/probe-engine@8ba2a70c5f
This allows us to pull this fix https://github.com/ooni/probe-engine/pull/375.

It's part of the QA for probe-cli https://github.com/ooni/probe/issues/1028.
2020-02-27 14:34:13 +01:00
Simone Basso
f3b21f90c6
deps: latest upper.io/db and pin probe-engine (#116)
We're specifically pinning a commit of probe-engine that is using
MK v0.10.11, so that we address the following issues:

1. we use db-ip.com for the country database as opposed to using
the increasingly stale MaxMind database (see https://github.com/ooni/probe-engine/issues/334)

2. we're using an implementation of WhatsApp that does not suffer
from the super-old CIDR bug (see https://github.com/ooni/probe-engine/issues/341)

3. we're not linking to libcurl anymore on Windows and Linux, thanks to
this new version of MK where we can optionally disable libcurl; we are
still linking to libcurl on macOS, but that has no impact on the binary
size since on macOS libcurl is part of the system

This should be enough, from my side to bless a new release of the
probe-cli (see https://github.com/ooni/probe/issues/1028).
2020-02-26 22:34:23 +01:00
Simone Basso
b25d106cf8
utils/strcase: remove vendored package (#115)
Closes https://github.com/ooni/probe/issues/1016.
2020-02-24 12:31:42 +01:00
Simone Basso
051aee1aac
Update all deps, pin to probe-engine@v0.7.0 (#114) 2020-02-22 15:23:20 +01:00
Arturo Filastò
35016a183e Interrupt the nettestGroup loop early on termination
Fixes ooni/probe#1013
2020-02-20 12:24:24 +01:00
Simone Basso
c38c01f974
build.sh: pass -tags ooni to build (#112)
See https://github.com/ooni/probe-engine/pull/333

Closes https://github.com/ooni/probe-engine/issues/267
2020-02-18 09:53:38 +01:00
Simone Basso
4a9034d907
Readme.md: mention that MK must be up-to-date
Until we depend on MK, we need to ensure it's up-to-date using brew.

This was not specified earlier and led to https://github.com/ooni/probe-engine/issues/315
2020-02-17 11:38:59 +01:00
Simone Basso
040bee0ee6
Optionally treat EOF on stdin just like SIGTERM (#111)
* Optionally treat EOF on stdin just like SIGTERM

On Unix, Node.js allows us to gracefully kill a process. On Windows
this is more compex. You certainly cannot rely on the default `kill()`
function, which calls `TerminateProcess`.

There is a bunch of C/C++ extensions that in principle allow you to
attempt to gracefully shutdown a Windows process.

But, hey, here's a reality check. Node.js controls our stdin. Node.js
does IPC easy. Controlling uv_spawn flags and using the right not well maintained
C/C++ Node.js extension to kill a process is fragile.

So, treat EOF and any other error on stdin as equivalent to SIGTERM.

However, systemd.

The sane thing to do with systemd is `StandardInput=null`. With such
configuration, stdin immediately returns EOF.

Then, introduce the `OONI_STDIN_EOF_IMPLIES_SIGTERM` environment
variable. When it is `true`, this behaviour is enabled, e.g.:

```bash
export OONI_STDIN_EOF_IMPLIES_SIGTERM=true  # behaviour enabled
ooniprobe run
```

I want the default to be disabled because:

1. in the future we may find a better way to solve this problem and I
don't want the _default behaviour_ to change in such case

2. we know we need this knob for ooniprobe-desktop, and we will not
fail to provide it, so it won't suprise/damage us

3. a person trying to write a systemd unit for ooniprobe would be very
surprised to find out they need to disable this behaviour, if it was
enabled by default by this PR

Hence, I believe this design is consistent with designing for the
future and for trying to minimize surprises.

Also, why an environment variable and not a command line flag? Because:

1. we don't want such hypothetical flag to be available where it does not
make sense, e.g., for all subcommands but `run`

2. we don't want the ooni/probe-desktop app to write conditional
code because it needs to check the command we're using and then decide
whether to add such hypothetical flag

Also, why not enabling this only on Windows? Because again we don't
want the ooni/probe-desktop app to write conditional code.

To summarize: we want ooni/probe-desktop app to see the same behaviour
everywhere and we want others to be the least surprised.

Related to https://github.com/ooni/probe/issues/1005

* Update ooni.go
2020-02-13 14:53:06 +01:00
Arturo Filastò
ac893c9095
Merge pull request #108 from ooni/issue/316
nettests.go: don't stop when measurement is failed
2020-02-13 14:22:59 +01:00
Arturo Filastò
7a992761a4
Merge pull request #110 from ooni/no-help
Remove help link from the default config
2020-02-13 14:21:37 +01:00
Arturo Filastò
5d45fb8028
Merge pull request #109 from ooni/config/category-codes
Config/category codes
2020-02-13 14:21:19 +01:00
Arturo Filastò
090cd44735 Remove help link from the default config
This fixes: https://github.com/ooni/probe/issues/946
2020-02-12 15:09:59 +01:00
Arturo Filastò
f47391e24c Make log line be debug level 2020-02-12 15:08:36 +01:00
Arturo Filastò
1f94b20be5 Add support for parsing the enabled websites category codes
This implements: https://github.com/ooni/probe/issues/1012
2020-02-12 15:07:40 +01:00
Simone Basso
d44102bb7c nettests.go: don't stop when measurement is failed
Closes https://github.com/ooni/probe-engine/issues/316

Rationale: a measurement may fail for a bunch of reasons including
buts in the code. The original determination was that we won't
return an error from the measurement in case of anomaly. But doing
that is error prone, and indeed the Psiphon experiment was not
following this pattern. I claim that this pattern was wrong, and
it's much more in our interest to submit and store on disk anything
that we get from a measurement. This data can be useful to look
into bugs, as well as to discover novel anomalies we didnt' anticipate.
2020-02-11 15:28:35 +01:00
Simone Basso
028ff6ed63
go.mod go.sum: update all dependencies (#107)
Closes https://github.com/ooni/probe/issues/1010
2020-02-11 09:21:56 +01:00
Arturo Filastò
f8a49c972d
Merge pull request #106 from ooni/signal-windows
Explicitly handle SIGINT
2020-02-10 17:38:17 +01:00
Arturo Filastò
9fcfd73234 Add build artifacts to .gitignore 2020-02-10 10:43:13 +01:00
Arturo Filastò
20fb419126 Explicitly handle SIGINT 2020-02-07 15:33:37 +01:00
Arturo Filastò
e9f7c48262 Bump version number 2020-02-05 18:38:23 +01:00
Arturo Filastò
cf21fd1fd8 Improve error handling 2020-02-05 18:28:10 +01:00
Arturo Filastò
b22f224ad3 Fix bug in measurement_file_path collision
We were writing to the same measurement_file_path for a given test
group, because we were using a different filename only in the case of a
many input test, but not in the case of many test_names inside of a
given test group.
2020-02-05 18:26:26 +01:00
Arturo Filastò
2f5486dbd6 Bump tag 2020-01-31 10:49:16 +01:00
Arturo Filastò
95405b8b9f
Merge pull request #103 from ooni/launchd
Add example launchd service for running OONI Probe automatically ever…
2020-01-31 10:48:08 +01:00
Arturo Filastò
a2637be74d
Merge pull request #102 from ooni/independent-file
One measurement, One file
2020-01-31 10:47:49 +01:00
Simone Basso
85e8b611da go.mod go.sum: pin to latest probe-engine with summary for tor
At this stage is fine to just pin to the latest master. I am planning on
blessing periodic releases and it's fine to pin sometimes.

I'm pinning this specific version because it currently supports the
summary for experiment/tor, which @sarathms would benefit from.
2020-01-30 18:12:53 +01:00
Arturo Filastò
2a7579bf25 bash on bash 2020-01-30 11:38:30 +01:00
Arturo Filastò
52332c0977 Changes based on feedback from @bassosimone 2020-01-29 18:48:12 +01:00