refactor: use ooni/oocrypto instead of ooni/go (#751)

Rather than building for Android using ooni/go, we're now using
ooni/oocryto as the TLS dependency. Such a repository only forks
crypto/tls and some minor crypto packages and includes the
same set of patches that we have been using in ooni/go.

This new strategy should be better than the previous one in
terms of building for Android, because we can use the vanilla
go1.18.2 build. It also seems that it is easier to track and
merge from upstream with ooni/oocrypto than it is with ooni/go.

Should this assessment be wrong, we can revert back to the
previous scenario where we used ooni/go.

See https://github.com/ooni/probe/issues/2106 for extra context.
This commit is contained in:
Simone Basso 2022-05-22 19:53:37 +02:00 committed by GitHub
commit ebc00a95fe
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
9 changed files with 151 additions and 58 deletions

5
go.mod
View file

@ -20,13 +20,13 @@ require (
github.com/hexops/gotextdiff v1.0.3
github.com/iancoleman/strcase v0.2.0
github.com/lucas-clemente/quic-go v0.27.0
github.com/marten-seemann/qtls-go1-17 v0.1.1
github.com/marten-seemann/qtls-go1-18 v0.1.1
github.com/mattn/go-colorable v0.1.12
github.com/miekg/dns v1.1.49
github.com/mitchellh/go-wordwrap v1.0.1
github.com/montanaflynn/stats v0.6.6
github.com/ooni/go-libtor v1.1.5
github.com/ooni/oocrypto v0.0.0-20220522151937-5069b5e3bf80
github.com/ooni/oohttp v0.0.0-20220521113303-fb27ebcf5f1e
github.com/ooni/probe-assets v0.9.0
github.com/ooni/psiphon/tunnel-core v0.0.0-20220519122549-9c044eb6bd83
@ -41,7 +41,7 @@ require (
gitlab.com/yawning/utls.git v0.0.12-1
golang.org/x/crypto v0.0.0-20220518034528-6f7dac969898
golang.org/x/net v0.0.0-20220520000938-2e3eb7b945c2
golang.org/x/sys v0.0.0-20220519141025-dcacdad47464
golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a
)
require (
@ -72,6 +72,7 @@ require (
github.com/klauspost/reedsolomon v1.9.16 // indirect
github.com/marten-seemann/qpack v0.2.1 // indirect
github.com/marten-seemann/qtls-go1-16 v0.1.5 // indirect
github.com/marten-seemann/qtls-go1-17 v0.1.1 // indirect
github.com/mattn/go-isatty v0.0.14 // indirect
github.com/mattn/go-sqlite3 v1.14.13 // indirect
github.com/mgutz/ansi v0.0.0-20200706080929-d51e80ef957d // indirect