Commit Graph

461 Commits

Author SHA1 Message Date
Simone Basso
9b10c4c81c
Merge pull request #140 from ooni/release/3.0.3
Release v3.0.3
2020-06-24 12:23:30 +02:00
Simone Basso
732e76c631 Crank patch version number 2020-06-24 12:00:08 +02:00
Simone Basso
9902d74f19 go get -v github.com/ooni/probe-engine@v0.13.2 && go mod tidy
Part of https://github.com/ooni/probe-engine/issues/728
2020-06-24 11:59:15 +02:00
Simone Basso
5dfd6a4bd5
Merge pull request #139 from ooni/release/3.0.2
Release v3.0.2
2020-06-19 14:24:29 +02:00
Simone Basso
c10d91fbca go mod tidy 2020-06-19 13:04:57 +02:00
Simone Basso
0fad59ae30 Bless v3.0.2 2020-06-19 13:00:47 +02:00
Simone Basso
596e3ae0f5 go.mod go.sum: pin to github.com/ooni/probe-engine@v0.13.1 2020-06-19 12:59:58 +02:00
Simone Basso
ef4b1aee76
Upgrade to probe-engine@v0.13.0 and fix Psiphon logic (#138)
* go.mod go.sum: pin to ooni/probe-engine@v0.13.0, update all other deps

Make sure dependencies of probe-engine are at the same exact version to
which is probe-engine, to avoid any possible issue.

* Readme.md: clarify the procedure for updating deps
2020-06-15 14:57:00 +02:00
Simone Basso
b4934b1619
Use ooni/probe-engine 0.12.0+patches (#133)
* nettests/groups.go: remove redundant struct names

* go.mod go.sum: update deps except probe-engine

* Update to ooni/probe-engine@e768161f91

The API has changed. Methods that used to change bits of the session have
been removed. Now the session is more immutable than before.

As such, we need to completely fill the config before using it.

* Set IncludeCountry to always true

Co-authored-by: Arturo Filastò <arturo@filasto.net>
2020-06-04 11:19:38 +02:00
Simone Basso
aebcaca082
Merge pull request #135 from ooni/release/v3.0.1
Bless v3.0.1
2020-06-03 16:08:58 +02:00
Simone Basso
3c1b5163ac Bless v3.0.1 2020-06-03 15:46:10 +02:00
Arturo Filastò
203b8fcda6
Merge pull request #134 from ooni/fix/1183
Always include the country code and drop include_probe_cc setting
2020-06-03 13:28:18 +02:00
Arturo Filastò
b095b41e19 Fix broken test 2020-06-03 13:13:15 +02:00
Arturo Filastò
f2e62b7ad7 Always include the country code and drop include_probe_cc setting
Fixes: https://github.com/ooni/probe/issues/1183
2020-06-02 19:16:09 +02:00
Simone Basso
0f38375c81
Merge pull request #129 from ooni/feature/updates
Update to probe-engine 0.11.0, MK 0.10.11 (recompiled for Linux)
2020-05-14 17:05:43 +02:00
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