chore: upgrade deps and attempt to enable using go1.19 (#869)

* upgrade to our go.mod enabled of psiphon-tunnel-core such that
we're now using v2.0.24 of the tunnel-core;

* upgrade to the latest lucas-clemente/quic-go release;

* upgrade to the latest ooni/oohttp release (which is based on go1.19
but the diff seems good enough to continue using go1.18.x as well);

* upgrade to the latest ooni/oocrypto release (for which we can make the
same remarks regarding using go1.18.x);

* deal with changes in lucas-clemente/quic-go API as well as changes
in what a go1.19 *tls.Conn compatible type should look like.

Unfortunately, we cannot switch to go1.19 because psiphon forks quic-go
and their fork's still not building using such a version of go.

Part of ooni/probe#2211.
This commit is contained in:
Simone Basso 2022-08-19 11:26:50 +02:00 committed by GitHub
commit 9ffa124511
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
28 changed files with 291 additions and 244 deletions

View file

@ -13,6 +13,7 @@ import (
"net"
"time"
ootls "github.com/ooni/oocrypto/tls"
oohttp "github.com/ooni/oohttp"
"github.com/ooni/probe-cli/v3/internal/model"
"github.com/ooni/probe-cli/v3/internal/runtimex"
@ -238,14 +239,7 @@ func (h *tlsHandshakerConfigurable) newConn(conn net.Conn, config *tls.Config) (
if h.NewConn != nil {
return h.NewConn(conn, config)
}
// This used to be the place where we created a TLSConn using
// github.com/ooni/oocrypto's TLS. However, it seems this strategy
// does not correctly pick up the CPU capabilities. So, we have
// now disabled oocrypto until we investigate, to avoid making the
// development branch worse than it could in terms of TLS fingerprint.
//
// TODO(https://github.com/ooni/probe/issues/2122)
return tls.Client(conn, config), nil
return ootls.NewClientConnStdlib(conn, config)
}
// tlsHandshakerLogger is a TLSHandshaker with logging.