From 0ad01987d9c2dff5f46ae2262e39516e986e13a6 Mon Sep 17 00:00:00 2001 From: Simone Basso Date: Thu, 21 Mar 2024 18:17:02 +0100 Subject: [PATCH 1/6] chore: upgrade C dependencies (#1524) See https://github.com/ooni/probe/issues/2690 --- NDKVERSION | 2 +- internal/cmd/buildtool/android_test.go | 16 ++++++++-------- internal/cmd/buildtool/cdepsopenssl.go | 10 +++++----- internal/cmd/buildtool/ios_test.go | 12 ++++++------ internal/cmd/buildtool/linuxcdeps_test.go | 4 ++-- 5 files changed, 22 insertions(+), 22 deletions(-) diff --git a/NDKVERSION b/NDKVERSION index fef6a6fdf9..9aad9ae5c5 100644 --- a/NDKVERSION +++ b/NDKVERSION @@ -1 +1 @@ -26.1.10909125 +26.2.11394342 diff --git a/internal/cmd/buildtool/android_test.go b/internal/cmd/buildtool/android_test.go index 8b4a921148..ccfd818997 100644 --- a/internal/cmd/buildtool/android_test.go +++ b/internal/cmd/buildtool/android_test.go @@ -702,12 +702,12 @@ func TestAndroidBuildCdepsOpenSSL(t *testing.T) { expect: []buildtooltest.ExecExpectations{{ Env: []string{}, Argv: []string{ - "curl", "-fsSLO", "https://www.openssl.org/source/openssl-3.2.0.tar.gz", + "curl", "-fsSLO", "https://www.openssl.org/source/openssl-3.2.1.tar.gz", }, }, { Env: []string{}, Argv: []string{ - "tar", "-xf", "openssl-3.2.0.tar.gz", + "tar", "-xf", "openssl-3.2.1.tar.gz", }, }, { Env: []string{}, @@ -757,12 +757,12 @@ func TestAndroidBuildCdepsOpenSSL(t *testing.T) { }, { Env: []string{}, Argv: []string{ - "curl", "-fsSLO", "https://www.openssl.org/source/openssl-3.2.0.tar.gz", + "curl", "-fsSLO", "https://www.openssl.org/source/openssl-3.2.1.tar.gz", }, }, { Env: []string{}, Argv: []string{ - "tar", "-xf", "openssl-3.2.0.tar.gz", + "tar", "-xf", "openssl-3.2.1.tar.gz", }, }, { Env: []string{}, @@ -812,12 +812,12 @@ func TestAndroidBuildCdepsOpenSSL(t *testing.T) { }, { Env: []string{}, Argv: []string{ - "curl", "-fsSLO", "https://www.openssl.org/source/openssl-3.2.0.tar.gz", + "curl", "-fsSLO", "https://www.openssl.org/source/openssl-3.2.1.tar.gz", }, }, { Env: []string{}, Argv: []string{ - "tar", "-xf", "openssl-3.2.0.tar.gz", + "tar", "-xf", "openssl-3.2.1.tar.gz", }, }, { Env: []string{}, @@ -867,12 +867,12 @@ func TestAndroidBuildCdepsOpenSSL(t *testing.T) { }, { Env: []string{}, Argv: []string{ - "curl", "-fsSLO", "https://www.openssl.org/source/openssl-3.2.0.tar.gz", + "curl", "-fsSLO", "https://www.openssl.org/source/openssl-3.2.1.tar.gz", }, }, { Env: []string{}, Argv: []string{ - "tar", "-xf", "openssl-3.2.0.tar.gz", + "tar", "-xf", "openssl-3.2.1.tar.gz", }, }, { Env: []string{}, diff --git a/internal/cmd/buildtool/cdepsopenssl.go b/internal/cmd/buildtool/cdepsopenssl.go index d873746c7a..11b8cb2b31 100644 --- a/internal/cmd/buildtool/cdepsopenssl.go +++ b/internal/cmd/buildtool/cdepsopenssl.go @@ -27,13 +27,13 @@ func cdepsOpenSSLBuildMain(globalEnv *cBuildEnv, deps buildtoolmodel.Dependencie defer restore() // See https://github.com/Homebrew/homebrew-core/blob/master/Formula/o/openssl@3.rb - cdepsMustFetch("https://www.openssl.org/source/openssl-3.2.0.tar.gz") + cdepsMustFetch("https://www.openssl.org/source/openssl-3.2.1.tar.gz") deps.VerifySHA256( // must be mockable - "14c826f07c7e433706fb5c69fa9e25dab95684844b4c962a2cf1bf183eb4690e", - "openssl-3.2.0.tar.gz", + "83c7329fe52c850677d75e5d0b0ca245309b97e8ecbcfdc1dfdc4ab9fac35b39", + "openssl-3.2.1.tar.gz", ) - must.Run(log.Log, "tar", "-xf", "openssl-3.2.0.tar.gz") - _ = deps.MustChdir("openssl-3.2.0") // must be mockable + must.Run(log.Log, "tar", "-xf", "openssl-3.2.1.tar.gz") + _ = deps.MustChdir("openssl-3.2.1") // must be mockable mydir := filepath.Join(topdir, "CDEPS", "openssl") for _, patch := range cdepsMustListPatches(mydir) { diff --git a/internal/cmd/buildtool/ios_test.go b/internal/cmd/buildtool/ios_test.go index 609983ad06..910badbd94 100644 --- a/internal/cmd/buildtool/ios_test.go +++ b/internal/cmd/buildtool/ios_test.go @@ -349,12 +349,12 @@ func TestIOSBuildCdepsOpenSSL(t *testing.T) { expect: []buildtooltest.ExecExpectations{{ Env: []string{}, Argv: []string{ - "curl", "-fsSLO", "https://www.openssl.org/source/openssl-3.2.0.tar.gz", + "curl", "-fsSLO", "https://www.openssl.org/source/openssl-3.2.1.tar.gz", }, }, { Env: []string{}, Argv: []string{ - "tar", "-xf", "openssl-3.2.0.tar.gz", + "tar", "-xf", "openssl-3.2.1.tar.gz", }, }, { Env: []string{}, @@ -399,12 +399,12 @@ func TestIOSBuildCdepsOpenSSL(t *testing.T) { }, { Env: []string{}, Argv: []string{ - "curl", "-fsSLO", "https://www.openssl.org/source/openssl-3.2.0.tar.gz", + "curl", "-fsSLO", "https://www.openssl.org/source/openssl-3.2.1.tar.gz", }, }, { Env: []string{}, Argv: []string{ - "tar", "-xf", "openssl-3.2.0.tar.gz", + "tar", "-xf", "openssl-3.2.1.tar.gz", }, }, { Env: []string{}, @@ -449,12 +449,12 @@ func TestIOSBuildCdepsOpenSSL(t *testing.T) { }, { Env: []string{}, Argv: []string{ - "curl", "-fsSLO", "https://www.openssl.org/source/openssl-3.2.0.tar.gz", + "curl", "-fsSLO", "https://www.openssl.org/source/openssl-3.2.1.tar.gz", }, }, { Env: []string{}, Argv: []string{ - "tar", "-xf", "openssl-3.2.0.tar.gz", + "tar", "-xf", "openssl-3.2.1.tar.gz", }, }, { Env: []string{}, diff --git a/internal/cmd/buildtool/linuxcdeps_test.go b/internal/cmd/buildtool/linuxcdeps_test.go index 785c93d713..2d349a36bc 100644 --- a/internal/cmd/buildtool/linuxcdeps_test.go +++ b/internal/cmd/buildtool/linuxcdeps_test.go @@ -92,12 +92,12 @@ func TestLinuxCdepsBuildMain(t *testing.T) { expect: []buildtooltest.ExecExpectations{{ Env: []string{}, Argv: []string{ - "curl", "-fsSLO", "https://www.openssl.org/source/openssl-3.2.0.tar.gz", + "curl", "-fsSLO", "https://www.openssl.org/source/openssl-3.2.1.tar.gz", }, }, { Env: []string{}, Argv: []string{ - "tar", "-xf", "openssl-3.2.0.tar.gz", + "tar", "-xf", "openssl-3.2.1.tar.gz", }, }, { Env: []string{}, From 3b60dc72f3250fbcafb1880a445c6d322616edd9 Mon Sep 17 00:00:00 2001 From: Simone Basso Date: Fri, 22 Mar 2024 07:23:00 +0100 Subject: [PATCH 2/6] fix(torsf): disable integration tests (#1525) See https://github.com/ooni/probe/issues/2692 --- internal/experiment/torsf/integration_test.go | 1 + 1 file changed, 1 insertion(+) diff --git a/internal/experiment/torsf/integration_test.go b/internal/experiment/torsf/integration_test.go index c52735a2b5..5de483f41a 100644 --- a/internal/experiment/torsf/integration_test.go +++ b/internal/experiment/torsf/integration_test.go @@ -13,6 +13,7 @@ import ( ) func TestRunWithExistingTor(t *testing.T) { + t.Skip("TODO(https://github.com/ooni/probe/issues/2692)") if testing.Short() { t.Skip("skip test in short mode") } From 3a2b38a2dc2f6bc2cf063b73de38edfee0f04dd4 Mon Sep 17 00:00:00 2001 From: Simone Basso Date: Fri, 22 Mar 2024 10:20:13 +0100 Subject: [PATCH 3/6] feat(oonimkall): add generic HTTP transaction support (#1526) This diff adds generic HTTP transaction support so that @aanorbel can manage OONI Run v2 URLs without a need to change the engine. By doing that, we reduce coupling between components. In the future, we may consider allowing the app to perform more HTTP-based operations, through this API. Closes https://github.com/ooni/probe/issues/2693 --- pkg/oonimkall/httpx.go | 82 ++++++++++++++ .../{xoonirun_test.go => httpx_test.go} | 104 +++++++++--------- pkg/oonimkall/xoonirun.go | 76 ------------- pkg/oonimkall/xoonirun_internal_test.go | 10 -- 4 files changed, 131 insertions(+), 141 deletions(-) create mode 100644 pkg/oonimkall/httpx.go rename pkg/oonimkall/{xoonirun_test.go => httpx_test.go} (53%) delete mode 100644 pkg/oonimkall/xoonirun.go delete mode 100644 pkg/oonimkall/xoonirun_internal_test.go diff --git a/pkg/oonimkall/httpx.go b/pkg/oonimkall/httpx.go new file mode 100644 index 0000000000..bc5d6f33c8 --- /dev/null +++ b/pkg/oonimkall/httpx.go @@ -0,0 +1,82 @@ +package oonimkall + +// +// HTTP eXtensions +// + +import ( + "errors" + "net/http" + + "github.com/ooni/probe-cli/v3/internal/netxlite" +) + +// Implementation note: I am keeping this API as simple as possible. Obviously, there +// is room for improvements and possible caveats. For example: +// +// 1. we may want to send a POST request with a body (not yet implemented); +// +// 2. we may want to disable failing if status code is not 200 (not yet implemented); +// +// 3. we may want to see the response status code (not yet implemented); +// +// 4. we may want to efficiently support binary bodies (not yet implemented). +// +// If needed, we will adapt the API and implement new features. + +// HTTPRequest is an HTTP request to send. +type HTTPRequest struct { + // Method is the MANDATORY request method. + Method string + + // URL is the MANDATORY request URL. + URL string +} + +// HTTPResponse is an HTTP response. +type HTTPResponse struct { + // Body is the response body. + Body string +} + +// HTTPDo performs an HTTP request and returns the response. +// +// This method uses the default HTTP client of the session, which is the same +// client that the OONI engine uses to communicate with the OONI backend. +// +// This method throws an exception if the HTTP request status code is not 200. +func (sess *Session) HTTPDo(ctx *Context, jreq *HTTPRequest) (*HTTPResponse, error) { + sess.mtx.Lock() + defer sess.mtx.Unlock() + return sess.httpDoLocked(ctx, jreq) +} + +func (sess *Session) httpDoLocked(ctx *Context, jreq *HTTPRequest) (*HTTPResponse, error) { + clnt := sess.sessp.DefaultHTTPClient() + + req, err := http.NewRequestWithContext(ctx.ctx, jreq.Method, jreq.URL, nil) + if err != nil { + return nil, err + } + + resp, err := clnt.Do(req) + if err != nil { + return nil, err + } + defer resp.Body.Close() + + if resp.StatusCode != 200 { + return nil, errors.New("httpx: HTTP request failed") + } + + rawResp, err := netxlite.ReadAllContext(ctx.ctx, resp.Body) + if err != nil { + return nil, err + } + + jResp := &HTTPResponse{ + Body: string(rawResp), + } + + return jResp, nil +} diff --git a/pkg/oonimkall/xoonirun_test.go b/pkg/oonimkall/httpx_test.go similarity index 53% rename from pkg/oonimkall/xoonirun_test.go rename to pkg/oonimkall/httpx_test.go index 7a88193049..98c0d7a4dc 100644 --- a/pkg/oonimkall/xoonirun_test.go +++ b/pkg/oonimkall/httpx_test.go @@ -1,7 +1,6 @@ package oonimkall_test import ( - "encoding/json" "net" "net/http" "net/http/httptest" @@ -12,12 +11,25 @@ import ( "github.com/google/go-cmp/cmp" "github.com/ooni/probe-cli/v3/internal/runtimex" "github.com/ooni/probe-cli/v3/internal/testingx" + "github.com/ooni/probe-cli/v3/pkg/oonimkall" ) -func TestOONIRunFetch(t *testing.T) { - t.Run("we can fetch a OONI Run link descriptor", func(t *testing.T) { - if testing.Short() { - t.Skip("skip test in short mode") +func TestSessionHTTPDo(t *testing.T) { + t.Run("on success", func(t *testing.T) { + // Implementation note: because we need to backport this patch to the release/3.18 + // branch, it would be quite verbose and burdensome use netem to implement this test, + // since release/3.18 is lagging behind from master in terms of netemx. + const expectedResponseBody = "Hello, World!\r\n" + + server := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + w.WriteHeader(http.StatusOK) + w.Write([]byte(expectedResponseBody)) + })) + defer server.Close() + + req := &oonimkall.HTTPRequest{ + Method: "GET", + URL: server.URL, } sess, err := NewSessionForTesting() @@ -25,44 +37,12 @@ func TestOONIRunFetch(t *testing.T) { t.Fatal(err) } - rawResp, err := sess.OONIRunFetch(sess.NewContext(), 9408643002) + resp, err := sess.HTTPDo(sess.NewContext(), req) if err != nil { t.Fatal(err) } - expect := map[string]any{ - "archived": false, - "descriptor_creation_time": "2023-07-18T15:38:21Z", - "descriptor": map[string]any{ - "author": "simone@openobservatory.org", - "description": "We use this OONI Run descriptor for writing integration tests for ooni/probe-cli/v3/pkg/oonimkall.", - "description_intl": map[string]any{}, - "icon": "", - "name": "OONIMkAll Integration Testing", - "name_intl": map[string]any{}, - "nettests": []any{ - map[string]any{ - "backend_options": map[string]any{}, - "inputs": []any{string("https://www.example.com/")}, - "is_background_run_enabled": false, - "is_manual_run_enabled": false, - "options": map[string]any{}, - "test_name": "web_connectivity", - }, - }, - "short_description": "Integration testing descriptor for ooni/probe-cli/v3/pkg/oonimkall.", - "short_description_intl": map[string]any{}, - }, - "mine": false, - "translation_creation_time": "2023-07-18T15:38:21Z", - "v": 1.0, - } - - var got map[string]any - runtimex.Try0(json.Unmarshal([]byte(rawResp), &got)) - t.Log(got) - - if diff := cmp.Diff(expect, got); diff != "" { + if diff := cmp.Diff(expectedResponseBody, resp.Body); diff != "" { t.Fatal(diff) } }) @@ -73,14 +53,17 @@ func TestOONIRunFetch(t *testing.T) { t.Fatal(err) } - URL := &url.URL{Host: "\t"} // this URL is invalid + req := &oonimkall.HTTPRequest{ + Method: "GET", + URL: "\t", // this URL is invalid + } - rawResp, err := sess.OONIRunFetchWithURL(sess.NewContext(), URL) - if !strings.HasSuffix(err.Error(), `invalid URL escape "%09"`) { + resp, err := sess.HTTPDo(sess.NewContext(), req) + if !strings.HasSuffix(err.Error(), `invalid control character in URL`) { t.Fatal("unexpected error", err) } - if rawResp != "" { - t.Fatal("expected empty raw response") + if resp != nil { + t.Fatal("expected nil response") } }) @@ -90,19 +73,22 @@ func TestOONIRunFetch(t *testing.T) { })) defer server.Close() - URL := runtimex.Try1(url.Parse(server.URL)) + req := &oonimkall.HTTPRequest{ + Method: "GET", + URL: server.URL, + } sess, err := NewSessionForTesting() if err != nil { t.Fatal(err) } - rawResp, err := sess.OONIRunFetchWithURL(sess.NewContext(), URL) + resp, err := sess.HTTPDo(sess.NewContext(), req) if !strings.HasSuffix(err.Error(), "HTTP request failed") { t.Fatal("unexpected error", err) } - if rawResp != "" { - t.Fatal("expected empty raw response") + if resp != nil { + t.Fatal("expected nil response") } }) @@ -119,17 +105,22 @@ func TestOONIRunFetch(t *testing.T) { Path: "/", } + req := &oonimkall.HTTPRequest{ + Method: "GET", + URL: URL.String(), + } + sess, err := NewSessionForTesting() if err != nil { t.Fatal(err) } - rawResp, err := sess.OONIRunFetchWithURL(sess.NewContext(), URL) + resp, err := sess.HTTPDo(sess.NewContext(), req) if !strings.HasSuffix(err.Error(), "connection_reset") { t.Fatal("unexpected error", err) } - if rawResp != "" { - t.Fatal("expected empty raw response") + if resp != nil { + t.Fatal("expected nil response") } }) @@ -149,19 +140,22 @@ func TestOONIRunFetch(t *testing.T) { })) defer server.Close() - URL := runtimex.Try1(url.Parse(server.URL)) + req := &oonimkall.HTTPRequest{ + Method: "GET", + URL: server.URL, + } sess, err := NewSessionForTesting() if err != nil { t.Fatal(err) } - rawResp, err := sess.OONIRunFetchWithURL(sess.NewContext(), URL) + resp, err := sess.HTTPDo(sess.NewContext(), req) if !strings.HasSuffix(err.Error(), "connection_reset") { t.Fatal("unexpected error", err) } - if rawResp != "" { - t.Fatal("expected empty raw response") + if resp != nil { + t.Fatal("expected nil response") } }) } diff --git a/pkg/oonimkall/xoonirun.go b/pkg/oonimkall/xoonirun.go deleted file mode 100644 index d39898ba7f..0000000000 --- a/pkg/oonimkall/xoonirun.go +++ /dev/null @@ -1,76 +0,0 @@ -package oonimkall - -// -// eXperimental OONI Run code. -// - -import ( - "errors" - "fmt" - "net/http" - "net/url" - - "github.com/ooni/probe-cli/v3/internal/netxlite" -) - -// OONIRunFetch fetches a given OONI run descriptor. -// -// The ID argument is the unique identifier of the OONI Run link. For example, in: -// -// https://api.ooni.io/api/_/ooni_run/fetch/297500125102 -// -// The OONI Run link ID is 297500125102. -// -// Warning: this API is currently experimental and we only expose it to facilitate -// developing OONI Run v2. Do not use this API in production. -func (sess *Session) OONIRunFetch(ctx *Context, ID int64) (string, error) { - sess.mtx.Lock() - defer sess.mtx.Unlock() - - // TODO(bassosimone): this code should be changed to use the probeservices.Client - // rather than using an hardcoded URL once we switch to production code. Until then, - // we are going to use the test backend server. - - // For example: https://ams-pg-test.ooni.org/api/_/ooni_run/fetch/297500125102 - URL := &url.URL{ - Scheme: "https", - Opaque: "", - User: nil, - Host: "ams-pg-test.ooni.org", - Path: fmt.Sprintf("/api/_/ooni_run/fetch/%d", ID), - RawPath: "", - OmitHost: false, - ForceQuery: false, - RawQuery: "", - Fragment: "", - RawFragment: "", - } - - return sess.ooniRunFetchWithURLLocked(ctx, URL) -} - -func (sess *Session) ooniRunFetchWithURLLocked(ctx *Context, URL *url.URL) (string, error) { - clnt := sess.sessp.DefaultHTTPClient() - - req, err := http.NewRequestWithContext(ctx.ctx, "GET", URL.String(), nil) - if err != nil { - return "", err - } - - resp, err := clnt.Do(req) - if err != nil { - return "", err - } - defer resp.Body.Close() - - if resp.StatusCode != 200 { - return "", errors.New("xoonirun: HTTP request failed") - } - - rawResp, err := netxlite.ReadAllContext(ctx.ctx, resp.Body) - if err != nil { - return "", err - } - - return string(rawResp), nil -} diff --git a/pkg/oonimkall/xoonirun_internal_test.go b/pkg/oonimkall/xoonirun_internal_test.go deleted file mode 100644 index 026d25e509..0000000000 --- a/pkg/oonimkall/xoonirun_internal_test.go +++ /dev/null @@ -1,10 +0,0 @@ -package oonimkall - -import "net/url" - -// OONIRunFetchWithURL is exposed to tests to exercise ooniRunFetchWithURLLocked -func (sess *Session) OONIRunFetchWithURL(ctx *Context, URL *url.URL) (string, error) { - sess.mtx.Lock() - defer sess.mtx.Unlock() - return sess.ooniRunFetchWithURLLocked(ctx, URL) -} From dc3a53a466c69a0cab73e276aa2e5592a18da003 Mon Sep 17 00:00:00 2001 From: Simone Basso Date: Fri, 22 Mar 2024 11:31:05 +0100 Subject: [PATCH 4/6] chore: update oohttp and oocrypto (#1527) See https://github.com/ooni/probe/issues/2690 --- go.mod | 12 ++++++------ go.sum | 24 ++++++++++++------------ 2 files changed, 18 insertions(+), 18 deletions(-) diff --git a/go.mod b/go.mod index 7dd6040001..60866daee9 100644 --- a/go.mod +++ b/go.mod @@ -25,8 +25,8 @@ require ( github.com/mitchellh/go-wordwrap v1.0.1 github.com/montanaflynn/stats v0.7.1 github.com/ooni/netem v0.0.0-20240208095707-608dcbcd82b8 - github.com/ooni/oocrypto v0.5.7 - github.com/ooni/oohttp v0.6.7 + github.com/ooni/oocrypto v0.5.8 + github.com/ooni/oohttp v0.6.8 github.com/ooni/probe-assets v0.21.0 github.com/pborman/getopt/v2 v2.1.0 github.com/pion/stun v0.6.1 @@ -40,9 +40,9 @@ require ( gitlab.com/yawning/utls.git v0.0.12-1 gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/goptlib v1.5.0 gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowflake/v2 v2.6.1 - golang.org/x/crypto v0.17.0 - golang.org/x/net v0.19.0 - golang.org/x/sys v0.15.0 + golang.org/x/crypto v0.21.0 + golang.org/x/net v0.22.0 + golang.org/x/sys v0.18.0 ) require ( @@ -153,7 +153,7 @@ require ( github.com/xtaci/smux v1.5.24 // indirect gitlab.com/yawning/bsaes.git v0.0.0-20190805113838-0a714cd429ec // indirect golang.org/x/mod v0.14.0 // indirect - golang.org/x/term v0.15.0 // indirect + golang.org/x/term v0.18.0 // indirect golang.org/x/text v0.14.0 // indirect golang.org/x/tools v0.16.1 // indirect google.golang.org/protobuf v1.33.0 // indirect diff --git a/go.sum b/go.sum index 9439af6625..5d0d1a84e0 100644 --- a/go.sum +++ b/go.sum @@ -358,10 +358,10 @@ github.com/onsi/gomega v1.17.0/go.mod h1:HnhC7FXeEQY45zxNK3PPoIUhzk/80Xly9PcubAl github.com/onsi/gomega v1.29.0 h1:KIA/t2t5UBzoirT4H9tsML45GEbo3ouUnBHsCfD2tVg= github.com/ooni/netem v0.0.0-20240208095707-608dcbcd82b8 h1:kJ2wn19lIP/y9ng85BbFRdWKHK6Er116Bbt5uhqHVD4= github.com/ooni/netem v0.0.0-20240208095707-608dcbcd82b8/go.mod h1:b/wAvTR5n92Vk2b0SBmuMU0xO4ZGVrsXtU7zjTby7vw= -github.com/ooni/oocrypto v0.5.7 h1:QEb1KTh5gZ9s1IQjk7rNF076YVwit+2sDKNbo39IEa8= -github.com/ooni/oocrypto v0.5.7/go.mod h1:HjEQ5pQBl6btcWgAsKKq1tFo8CfBrZu63C/vPAUGIDk= -github.com/ooni/oohttp v0.6.7 h1:wmCjx9+gzx7p1xc/kMAmgXSgXKu7G8CAmil4Zii3g10= -github.com/ooni/oohttp v0.6.7/go.mod h1:Vipww76rE6i/Lyd+M8gec/ixPrsyPti1J8xTyqzFIHA= +github.com/ooni/oocrypto v0.5.8 h1:eoixlF81pQFGAD6LR5IWz5aIwgnolyYnkPti7eQh5n8= +github.com/ooni/oocrypto v0.5.8/go.mod h1:3CMXIpx7vpoZp73fzUuLvuZApfFlKmdrkKJu3QC4hhs= +github.com/ooni/oohttp v0.6.8 h1:yqLXhYO0VXSo56impKOSlVVY+r7TbirJNiash3kkeeg= +github.com/ooni/oohttp v0.6.8/go.mod h1:2IGLODw3KeJozKrwhGLVHWC7Ocihi8l5+HbhqLmxt6I= github.com/ooni/probe-assets v0.21.0 h1:ggr/CpAHqBuNoYS5T6B27HV82P8poQ5ipEM3a8fXSGA= github.com/ooni/probe-assets v0.21.0/go.mod h1:m0k2FFzcLfFm7dhgyYkLCUR3R0CoRPr0jcjctDS2+gU= github.com/oschwald/geoip2-golang v1.9.0 h1:uvD3O6fXAXs+usU+UGExshpdP13GAqp4GBrzN7IgKZc= @@ -607,8 +607,8 @@ golang.org/x/crypto v0.10.0/go.mod h1:o4eNf7Ede1fv+hwOwZsTHl9EsPFO6q6ZvYR8vYfY45 golang.org/x/crypto v0.11.0/go.mod h1:xgJhtzW8F9jGdVFWZESrid1U1bjeNy4zgy5cRr/CIio= golang.org/x/crypto v0.12.0/go.mod h1:NF0Gs7EO5K4qLn+Ylc+fih8BSTeIjAP05siRnAh98yw= golang.org/x/crypto v0.13.0/go.mod h1:y6Z2r+Rw4iayiXXAIxJIDAJ1zMW4yaTpebo8fPOliYc= -golang.org/x/crypto v0.17.0 h1:r8bRNjWL3GshPW3gkd+RpvzWrZAwPS49OmTGZ/uhM4k= -golang.org/x/crypto v0.17.0/go.mod h1:gCAAfMLgwOJRpTjQ2zCCt2OcSfYMTeZVSRtQlPC7Nq4= +golang.org/x/crypto v0.21.0 h1:X31++rzVUdKhX5sWmSOFZxx8UW/ldWx55cbf08iNAMA= +golang.org/x/crypto v0.21.0/go.mod h1:0BP7YvVV9gBbVKyeTG0Gyn+gZm94bibOW5BjDEYAOMs= golang.org/x/exp v0.0.0-20181106170214-d68db9428509/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20231206192017-f3f8817b8deb h1:c0vyKkb6yr3KR7jEfJaOSv4lG7xPkbN6r52aJz1d8a8= @@ -654,8 +654,8 @@ golang.org/x/net v0.11.0/go.mod h1:2L/ixqYpgIVXmeoSA/4Lu7BzTG4KIyPIryS4IsOd1oQ= golang.org/x/net v0.13.0/go.mod h1:zEVYFnQC7m/vmpQFELhcD1EWkZlX69l4oqgmer6hfKA= golang.org/x/net v0.14.0/go.mod h1:PpSgVXXLK0OxS0F31C1/tv6XNguvCrnXIDrFMspZIUI= golang.org/x/net v0.15.0/go.mod h1:idbUs1IY1+zTqbi8yxTbhexhEEk5ur9LInksu6HrEpk= -golang.org/x/net v0.19.0 h1:zTwKpTd2XuCqf8huc7Fo2iSy+4RHPd10s4KzeTnVr1c= -golang.org/x/net v0.19.0/go.mod h1:CfAk/cbD4CthTvqiEl8NpboMuiuOYsAr/7NOjZJtv1U= +golang.org/x/net v0.22.0 h1:9sGLhx7iRIHEiX0oAJ3MRZMUCElJgy7Br1nO+AMN3Tc= +golang.org/x/net v0.22.0/go.mod h1:JKghWKKOSdJwpW2GEx0Ja7fmaKnMsbu+MWVZTokSYmg= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -708,8 +708,8 @@ golang.org/x/sys v0.10.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.11.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.14.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/sys v0.15.0 h1:h48lPFYpsTvQJZF4EKyI4aLHaev3CxivZmv7yZig9pc= -golang.org/x/sys v0.15.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.18.0 h1:DBdB3niSjOA/O0blCZBqDefyWNYveAYMNF1Wum0DYQ4= +golang.org/x/sys v0.18.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= @@ -722,8 +722,8 @@ golang.org/x/term v0.10.0/go.mod h1:lpqdcUyK/oCiQxvxVrppt5ggO2KCZ5QblwqPnfZ6d5o= golang.org/x/term v0.11.0/go.mod h1:zC9APTIj3jG3FdV/Ons+XE1riIZXG4aZ4GTHiPZJPIU= golang.org/x/term v0.12.0/go.mod h1:owVbMEjm3cBLCHdkQu9b1opXd4ETQWc3BhuQGKgXgvU= golang.org/x/term v0.14.0/go.mod h1:TySc+nGkYR6qt8km8wUhuFRTVSMIX3XPR58y2lC8vww= -golang.org/x/term v0.15.0 h1:y/Oo/a/q3IXu26lQgl04j/gjuBDOBlx7X6Om1j2CPW4= -golang.org/x/term v0.15.0/go.mod h1:BDl952bC7+uMoWR75FIrCDx79TPU9oHkTZ9yRbYOrX0= +golang.org/x/term v0.18.0 h1:FcHjZXDMxI8mM3nwhX9HlKop4C0YQvCVCdwYl2wOtE8= +golang.org/x/term v0.18.0/go.mod h1:ILwASektA3OnRv7amZ1xhE/KTR+u50pbXfZ03+6Nx58= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= From 08a87df190d9068bab835d26c4dbc97966f67682 Mon Sep 17 00:00:00 2001 From: Simone Basso Date: Fri, 22 Mar 2024 15:34:19 +0100 Subject: [PATCH 5/6] chore: prepare release 3.21.0 (#1528) * chore(MOBILE/android/ensure): update * chore: go generate ./... * chore: use go1.20.14 * chore: update the user agent * chore: use 2024-03 geoip database See https://github.com/ooni/probe/issues/2690 --- Dockerfile.oonith | 4 +- GOVERSION | 2 +- MOBILE/android/ensure | 2 +- Readme.md | 8 ++-- go.mod | 2 +- go.sum | 4 +- internal/model/http.go | 4 +- internal/netxlite/certifi.go | 53 +++++++++++++++++++++++-- internal/netxlite/errno.go | 2 +- internal/netxlite/errno_darwin.go | 2 +- internal/netxlite/errno_darwin_test.go | 2 +- internal/netxlite/errno_freebsd.go | 2 +- internal/netxlite/errno_freebsd_test.go | 2 +- internal/netxlite/errno_linux.go | 2 +- internal/netxlite/errno_linux_test.go | 2 +- internal/netxlite/errno_openbsd.go | 2 +- internal/netxlite/errno_openbsd_test.go | 2 +- internal/netxlite/errno_windows.go | 2 +- internal/netxlite/errno_windows_test.go | 2 +- 19 files changed, 74 insertions(+), 27 deletions(-) diff --git a/Dockerfile.oonith b/Dockerfile.oonith index 65d78dbef2..8bb98a7350 100644 --- a/Dockerfile.oonith +++ b/Dockerfile.oonith @@ -3,7 +3,7 @@ # # Note: The Dockerfile needs to reside in the root of the repo, so that we can # copy files into the docker build context. -FROM golang:1.20.12-bullseye as builder +FROM golang:1.20.14-bullseye as builder ARG BRANCH_NAME=master WORKDIR /build @@ -13,7 +13,7 @@ COPY . . RUN go run ./internal/cmd/buildtool oohelperd build ## Image running on the host -FROM golang:1.20.12-bullseye as runner +FROM golang:1.20.14-bullseye as runner WORKDIR /app diff --git a/GOVERSION b/GOVERSION index 3b9e4a0c18..0e80c92d45 100644 --- a/GOVERSION +++ b/GOVERSION @@ -1 +1 @@ -1.20.12 +1.20.14 diff --git a/MOBILE/android/ensure b/MOBILE/android/ensure index 99c8f35095..3ce7351438 100755 --- a/MOBILE/android/ensure +++ b/MOBILE/android/ensure @@ -2,7 +2,7 @@ set -euo pipefail -__install_extra="build-tools;34.0.0 platforms;android-33" +__install_extra="build-tools;34.0.0 platforms;android-34" __ndk_version=$(cat ./NDKVERSION) diff --git a/Readme.md b/Readme.md index 8509430932..a873aec016 100644 --- a/Readme.md +++ b/Readme.md @@ -72,7 +72,7 @@ builds use the latest commit of the `master` branch. To setup development for this repository you need Go >= 1.15. The `./script/go.bash` script will automatically download the expected version of Go mentioned in the [GOVERSION](GOVERSION) file (i.e., -go1.20.12) and use it for building. +go1.20.14) and use it for building. You can also bypass `./script/go.bash` and build ooniprobe manually using `go build ...` but, in such a case, note that: @@ -146,9 +146,9 @@ using the correct version of Go. Running this script as follows: Is equivalent to running these commands: ```bash -go install -v golang.org/dl/go1.20.12@latest -$HOME/go/bin/go1.20.12 download -$HOME/sdk/go1.20.12/bin/go build -v -ldflags '-s -w' ./internal/cmd/miniooni +go install -v golang.org/dl/go1.20.14@latest +$HOME/go/bin/go1.20.14 download +$HOME/sdk/go1.20.14/bin/go build -v -ldflags '-s -w' ./internal/cmd/miniooni ``` ### Common build targets diff --git a/go.mod b/go.mod index 60866daee9..7240212cd2 100644 --- a/go.mod +++ b/go.mod @@ -27,7 +27,7 @@ require ( github.com/ooni/netem v0.0.0-20240208095707-608dcbcd82b8 github.com/ooni/oocrypto v0.5.8 github.com/ooni/oohttp v0.6.8 - github.com/ooni/probe-assets v0.21.0 + github.com/ooni/probe-assets v0.22.0 github.com/pborman/getopt/v2 v2.1.0 github.com/pion/stun v0.6.1 github.com/pkg/errors v0.9.1 diff --git a/go.sum b/go.sum index 5d0d1a84e0..7b6117299a 100644 --- a/go.sum +++ b/go.sum @@ -362,8 +362,8 @@ github.com/ooni/oocrypto v0.5.8 h1:eoixlF81pQFGAD6LR5IWz5aIwgnolyYnkPti7eQh5n8= github.com/ooni/oocrypto v0.5.8/go.mod h1:3CMXIpx7vpoZp73fzUuLvuZApfFlKmdrkKJu3QC4hhs= github.com/ooni/oohttp v0.6.8 h1:yqLXhYO0VXSo56impKOSlVVY+r7TbirJNiash3kkeeg= github.com/ooni/oohttp v0.6.8/go.mod h1:2IGLODw3KeJozKrwhGLVHWC7Ocihi8l5+HbhqLmxt6I= -github.com/ooni/probe-assets v0.21.0 h1:ggr/CpAHqBuNoYS5T6B27HV82P8poQ5ipEM3a8fXSGA= -github.com/ooni/probe-assets v0.21.0/go.mod h1:m0k2FFzcLfFm7dhgyYkLCUR3R0CoRPr0jcjctDS2+gU= +github.com/ooni/probe-assets v0.22.0 h1:Nxl7X+HdTamGKKzA4g0OKZY7zOPTY8IcHe/G9A/zrcc= +github.com/ooni/probe-assets v0.22.0/go.mod h1:m0k2FFzcLfFm7dhgyYkLCUR3R0CoRPr0jcjctDS2+gU= github.com/oschwald/geoip2-golang v1.9.0 h1:uvD3O6fXAXs+usU+UGExshpdP13GAqp4GBrzN7IgKZc= github.com/oschwald/maxminddb-golang v1.12.0 h1:9FnTOD0YOhP7DGxGsq4glzpGy5+w7pq50AS6wALUMYs= github.com/oschwald/maxminddb-golang v1.12.0/go.mod h1:q0Nob5lTCqyQ8WT6FYgS1L7PXKVVbgiymefNwIjPzgY= diff --git a/internal/model/http.go b/internal/model/http.go index 1d501f13dd..f717274b87 100644 --- a/internal/model/http.go +++ b/internal/model/http.go @@ -13,9 +13,9 @@ const ( HTTPHeaderAcceptLanguage = "en-US,en;q=0.9" // HTTPHeaderUserAgent is the User-Agent header used for measuring. The current header - // is 17.34% of the browser population as of 2023-12-13 according to the + // is 28.39% of the browser population as of 2023-12-13 according to the // https://www.useragents.me/ webpage. - HTTPHeaderUserAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.3" + HTTPHeaderUserAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.3" ) // Additional strings used to report HTTP errors. They're currently only used by diff --git a/internal/netxlite/certifi.go b/internal/netxlite/certifi.go index 5223c61fd3..5685cb627b 100644 --- a/internal/netxlite/certifi.go +++ b/internal/netxlite/certifi.go @@ -1,5 +1,5 @@ // Code generated by go generate; DO NOT EDIT. -// 2024-01-31 15:46:15.787582 +0100 CET m=+0.763816418 +// 2024-03-22 14:00:05.981523 +0100 CET m=+1.360890834 // https://curl.haxx.se/ca/cacert.pem package netxlite @@ -10,7 +10,7 @@ const pemcerts string = ` ## ## Bundle of CA Root Certificates ## -## Certificate data from Mozilla as of: Tue Dec 12 04:12:04 2023 GMT +## Certificate data from Mozilla as of: Mon Mar 11 15:25:27 2024 GMT ## ## This is a bundle of X.509 certificates of public Certificate Authorities ## (CA). These were automatically extracted from Mozilla's root certificates @@ -23,7 +23,7 @@ const pemcerts string = ` ## Just configure this file as the SSLCACertificateFile. ## ## Conversion done with mk-ca-bundle.pl version 1.29. -## SHA256: 1970dd65858925d68498d2356aea6d03f764422523c5887deca8ce3ba9e1f845 +## SHA256: 4d96bd539f4719e9ace493757afbe4a23ee8579de1c97fbebc50bba3c12e8c1e ## @@ -3542,4 +3542,51 @@ iRM9HcEARwmWmjgb3bHPDcK0RPOWlc4yOo80nOAXx17Org3bhzjlP1v9mxnhMUF6cKojawHhRUzN lM47ni3niAIi9G7oyOzWPPO5std3eqx7 -----END CERTIFICATE----- +Telekom Security TLS ECC Root 2020 +================================== +-----BEGIN CERTIFICATE----- +MIICQjCCAcmgAwIBAgIQNjqWjMlcsljN0AFdxeVXADAKBggqhkjOPQQDAzBjMQswCQYDVQQGEwJE +RTEnMCUGA1UECgweRGV1dHNjaGUgVGVsZWtvbSBTZWN1cml0eSBHbWJIMSswKQYDVQQDDCJUZWxl +a29tIFNlY3VyaXR5IFRMUyBFQ0MgUm9vdCAyMDIwMB4XDTIwMDgyNTA3NDgyMFoXDTQ1MDgyNTIz +NTk1OVowYzELMAkGA1UEBhMCREUxJzAlBgNVBAoMHkRldXRzY2hlIFRlbGVrb20gU2VjdXJpdHkg +R21iSDErMCkGA1UEAwwiVGVsZWtvbSBTZWN1cml0eSBUTFMgRUNDIFJvb3QgMjAyMDB2MBAGByqG +SM49AgEGBSuBBAAiA2IABM6//leov9Wq9xCazbzREaK9Z0LMkOsVGJDZos0MKiXrPk/OtdKPD/M1 +2kOLAoC+b1EkHQ9rK8qfwm9QMuU3ILYg/4gND21Ju9sGpIeQkpT0CdDPf8iAC8GXs7s1J8nCG6NC +MEAwHQYDVR0OBBYEFONyzG6VmUex5rNhTNHLq+O6zd6fMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0P +AQH/BAQDAgEGMAoGCCqGSM49BAMDA2cAMGQCMHVSi7ekEE+uShCLsoRbQuHmKjYC2qBuGT8lv9pZ +Mo7k+5Dck2TOrbRBR2Diz6fLHgIwN0GMZt9Ba9aDAEH9L1r3ULRn0SyocddDypwnJJGDSA3PzfdU +ga/sf+Rn27iQ7t0l +-----END CERTIFICATE----- + +Telekom Security TLS RSA Root 2023 +================================== +-----BEGIN CERTIFICATE----- +MIIFszCCA5ugAwIBAgIQIZxULej27HF3+k7ow3BXlzANBgkqhkiG9w0BAQwFADBjMQswCQYDVQQG +EwJERTEnMCUGA1UECgweRGV1dHNjaGUgVGVsZWtvbSBTZWN1cml0eSBHbWJIMSswKQYDVQQDDCJU +ZWxla29tIFNlY3VyaXR5IFRMUyBSU0EgUm9vdCAyMDIzMB4XDTIzMDMyODEyMTY0NVoXDTQ4MDMy +NzIzNTk1OVowYzELMAkGA1UEBhMCREUxJzAlBgNVBAoMHkRldXRzY2hlIFRlbGVrb20gU2VjdXJp +dHkgR21iSDErMCkGA1UEAwwiVGVsZWtvbSBTZWN1cml0eSBUTFMgUlNBIFJvb3QgMjAyMzCCAiIw +DQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAO01oYGA88tKaVvC+1GDrib94W7zgRJ9cUD/h3VC +KSHtgVIs3xLBGYSJwb3FKNXVS2xE1kzbB5ZKVXrKNoIENqil/Cf2SfHVcp6R+SPWcHu79ZvB7JPP +GeplfohwoHP89v+1VmLhc2o0mD6CuKyVU/QBoCcHcqMAU6DksquDOFczJZSfvkgdmOGjup5czQRx +UX11eKvzWarE4GC+j4NSuHUaQTXtvPM6Y+mpFEXX5lLRbtLevOP1Czvm4MS9Q2QTps70mDdsipWo +l8hHD/BeEIvnHRz+sTugBTNoBUGCwQMrAcjnj02r6LX2zWtEtefdi+zqJbQAIldNsLGyMcEWzv/9 +FIS3R/qy8XDe24tsNlikfLMR0cN3f1+2JeANxdKz+bi4d9s3cXFH42AYTyS2dTd4uaNir73Jco4v +zLuu2+QVUhkHM/tqty1LkCiCc/4YizWN26cEar7qwU02OxY2kTLvtkCJkUPg8qKrBC7m8kwOFjQg +rIfBLX7JZkcXFBGk8/ehJImr2BrIoVyxo/eMbcgByU/J7MT8rFEz0ciD0cmfHdRHNCk+y7AO+oML +KFjlKdw/fKifybYKu6boRhYPluV75Gp6SG12mAWl3G0eQh5C2hrgUve1g8Aae3g1LDj1H/1Joy7S +WWO/gLCMk3PLNaaZlSJhZQNg+y+TS/qanIA7AgMBAAGjYzBhMA4GA1UdDwEB/wQEAwIBBjAdBgNV +HQ4EFgQUtqeXgj10hZv3PJ+TmpV5dVKMbUcwDwYDVR0TAQH/BAUwAwEB/zAfBgNVHSMEGDAWgBS2 +p5eCPXSFm/c8n5OalXl1UoxtRzANBgkqhkiG9w0BAQwFAAOCAgEAqMxhpr51nhVQpGv7qHBFfLp+ +sVr8WyP6Cnf4mHGCDG3gXkaqk/QeoMPhk9tLrbKmXauw1GLLXrtm9S3ul0A8Yute1hTWjOKWi0Fp +kzXmuZlrYrShF2Y0pmtjxrlO8iLpWA1WQdH6DErwM807u20hOq6OcrXDSvvpfeWxm4bu4uB9tPcy +/SKE8YXJN3nptT+/XOR0so8RYgDdGGah2XsjX/GO1WfoVNpbOms2b/mBsTNHM3dA+VKq3dSDz4V4 +mZqTuXNnQkYRIer+CqkbGmVps4+uFrb2S1ayLfmlyOw7YqPta9BO1UAJpB+Y1zqlklkg5LB9zVtz +aL1txKITDmcZuI1CfmwMmm6gJC3VRRvcxAIU/oVbZZfKTpBQCHpCNfnqwmbU+AGuHrS+w6jv/naa +oqYfRvaE7fzbzsQCzndILIyy7MMAo+wsVRjBfhnu4S/yrYObnqsZ38aKL4x35bcF7DvB7L6Gs4a8 +wPfc5+pbrrLMtTWGS9DiP7bY+A4A7l3j941Y/8+LN+ljX273CXE2whJdV/LItM3z7gLfEdxquVeE +HVlNjM7IDiPCtyaaEBRx/pOyiriA8A4QntOoUAw3gi/q4Iqd4Sw5/7W0cwDk90imc6y/st53BIe0 +o82bNSQ3+pCTE4FCxpgmdTdmQRCsu/WU48IxK63nI1bMNSWSs1A= +-----END CERTIFICATE----- + ` diff --git a/internal/netxlite/errno.go b/internal/netxlite/errno.go index a60628dddb..8b3a1504c1 100644 --- a/internal/netxlite/errno.go +++ b/internal/netxlite/errno.go @@ -1,5 +1,5 @@ // Code generated by go generate; DO NOT EDIT. -// Generated: 2024-01-31 15:46:16.522945 +0100 CET m=+0.352684335 +// Generated: 2024-03-22 14:00:06.725152 +0100 CET m=+0.418657251 package netxlite diff --git a/internal/netxlite/errno_darwin.go b/internal/netxlite/errno_darwin.go index 096010d9a5..c28b3ebfdf 100644 --- a/internal/netxlite/errno_darwin.go +++ b/internal/netxlite/errno_darwin.go @@ -1,5 +1,5 @@ // Code generated by go generate; DO NOT EDIT. -// Generated: 2024-01-31 15:46:16.171389 +0100 CET m=+0.001119668 +// Generated: 2024-03-22 14:00:06.307199 +0100 CET m=+0.000694251 package netxlite diff --git a/internal/netxlite/errno_darwin_test.go b/internal/netxlite/errno_darwin_test.go index 7083933a9f..b62370cf7f 100644 --- a/internal/netxlite/errno_darwin_test.go +++ b/internal/netxlite/errno_darwin_test.go @@ -1,5 +1,5 @@ // Code generated by go generate; DO NOT EDIT. -// Generated: 2024-01-31 15:46:16.328826 +0100 CET m=+0.158560293 +// Generated: 2024-03-22 14:00:06.515736 +0100 CET m=+0.209235918 package netxlite diff --git a/internal/netxlite/errno_freebsd.go b/internal/netxlite/errno_freebsd.go index 45ccadf197..0b2c1ddf7f 100644 --- a/internal/netxlite/errno_freebsd.go +++ b/internal/netxlite/errno_freebsd.go @@ -1,5 +1,5 @@ // Code generated by go generate; DO NOT EDIT. -// Generated: 2024-01-31 15:46:16.356098 +0100 CET m=+0.185832501 +// Generated: 2024-03-22 14:00:06.545439 +0100 CET m=+0.238939543 package netxlite diff --git a/internal/netxlite/errno_freebsd_test.go b/internal/netxlite/errno_freebsd_test.go index 7a0cd1386b..a81983005e 100644 --- a/internal/netxlite/errno_freebsd_test.go +++ b/internal/netxlite/errno_freebsd_test.go @@ -1,5 +1,5 @@ // Code generated by go generate; DO NOT EDIT. -// Generated: 2024-01-31 15:46:16.37974 +0100 CET m=+0.209475626 +// Generated: 2024-03-22 14:00:06.570521 +0100 CET m=+0.264022418 package netxlite diff --git a/internal/netxlite/errno_linux.go b/internal/netxlite/errno_linux.go index 7c4ea9a539..8190eae294 100644 --- a/internal/netxlite/errno_linux.go +++ b/internal/netxlite/errno_linux.go @@ -1,5 +1,5 @@ // Code generated by go generate; DO NOT EDIT. -// Generated: 2024-01-31 15:46:16.441396 +0100 CET m=+0.271133001 +// Generated: 2024-03-22 14:00:06.637061 +0100 CET m=+0.330564126 package netxlite diff --git a/internal/netxlite/errno_linux_test.go b/internal/netxlite/errno_linux_test.go index 971762d0d1..9c20533fc1 100644 --- a/internal/netxlite/errno_linux_test.go +++ b/internal/netxlite/errno_linux_test.go @@ -1,5 +1,5 @@ // Code generated by go generate; DO NOT EDIT. -// Generated: 2024-01-31 15:46:16.463028 +0100 CET m=+0.292766251 +// Generated: 2024-03-22 14:00:06.660915 +0100 CET m=+0.354418043 package netxlite diff --git a/internal/netxlite/errno_openbsd.go b/internal/netxlite/errno_openbsd.go index 32e5c0ad4b..84721ae339 100644 --- a/internal/netxlite/errno_openbsd.go +++ b/internal/netxlite/errno_openbsd.go @@ -1,5 +1,5 @@ // Code generated by go generate; DO NOT EDIT. -// Generated: 2024-01-31 15:46:16.400006 +0100 CET m=+0.229742210 +// Generated: 2024-03-22 14:00:06.591822 +0100 CET m=+0.285323709 package netxlite diff --git a/internal/netxlite/errno_openbsd_test.go b/internal/netxlite/errno_openbsd_test.go index 20ee32a630..66ec31ecc9 100644 --- a/internal/netxlite/errno_openbsd_test.go +++ b/internal/netxlite/errno_openbsd_test.go @@ -1,5 +1,5 @@ // Code generated by go generate; DO NOT EDIT. -// Generated: 2024-01-31 15:46:16.421881 +0100 CET m=+0.251617626 +// Generated: 2024-03-22 14:00:06.615325 +0100 CET m=+0.308827543 package netxlite diff --git a/internal/netxlite/errno_windows.go b/internal/netxlite/errno_windows.go index 96b5f8b10f..c36af2dc15 100644 --- a/internal/netxlite/errno_windows.go +++ b/internal/netxlite/errno_windows.go @@ -1,5 +1,5 @@ // Code generated by go generate; DO NOT EDIT. -// Generated: 2024-01-31 15:46:16.483827 +0100 CET m=+0.313565501 +// Generated: 2024-03-22 14:00:06.682241 +0100 CET m=+0.375744876 package netxlite diff --git a/internal/netxlite/errno_windows_test.go b/internal/netxlite/errno_windows_test.go index edf66fd83c..9e9485d4a3 100644 --- a/internal/netxlite/errno_windows_test.go +++ b/internal/netxlite/errno_windows_test.go @@ -1,5 +1,5 @@ // Code generated by go generate; DO NOT EDIT. -// Generated: 2024-01-31 15:46:16.503133 +0100 CET m=+0.332872085 +// Generated: 2024-03-22 14:00:06.703734 +0100 CET m=+0.397238084 package netxlite From 2f8ff17cafa2ed3f71322092dffb91aab587d16e Mon Sep 17 00:00:00 2001 From: Simone Basso Date: Mon, 25 Mar 2024 12:36:13 +0100 Subject: [PATCH 6/6] chore: upgrade dependencies (1/N) (#1530) This diff starts upgrading dependencies using gomajor. We still have other dependencies to upgrade, including, at least: - quic-go/quic-go; - snowflake. We already know that quic-go>=0.41.0 requires *at least* Go 1.21. We also know that snowflake most likely requires us to pull some tricks to make it live together with Psiphon. For this reason, I am not upgrading either of them now. Part of https://github.com/ooni/probe/issues/2690. --- go.mod | 14 +++++++------- go.sum | 34 +++++++++++++++++----------------- 2 files changed, 24 insertions(+), 24 deletions(-) diff --git a/go.mod b/go.mod index 7240212cd2..69f806199e 100644 --- a/go.mod +++ b/go.mod @@ -17,11 +17,11 @@ require ( github.com/google/go-cmp v0.6.0 github.com/google/gopacket v1.1.19 github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510 - github.com/google/uuid v1.5.0 + github.com/google/uuid v1.6.0 github.com/gorilla/websocket v1.5.1 github.com/hexops/gotextdiff v1.0.3 github.com/mattn/go-colorable v0.1.13 - github.com/miekg/dns v1.1.57 + github.com/miekg/dns v1.1.58 github.com/mitchellh/go-wordwrap v1.0.1 github.com/montanaflynn/stats v0.7.1 github.com/ooni/netem v0.0.0-20240208095707-608dcbcd82b8 @@ -32,9 +32,9 @@ require ( github.com/pion/stun v0.6.1 github.com/pkg/errors v0.9.1 github.com/quic-go/quic-go v0.40.1 - github.com/rogpeppe/go-internal v1.11.0 + github.com/rogpeppe/go-internal v1.12.0 github.com/rubenv/sql-migrate v1.5.2 - github.com/schollz/progressbar/v3 v3.14.1 + github.com/schollz/progressbar/v3 v3.14.2 github.com/upper/db/v4 v4.7.0 gitlab.com/yawning/obfs4.git v0.0.0-20231012084234-c3e2d44b1033 gitlab.com/yawning/utls.git v0.0.12-1 @@ -77,7 +77,7 @@ require ( github.com/refraction-networking/conjure v0.7.10 // indirect github.com/refraction-networking/ed25519 v0.1.2 // indirect github.com/refraction-networking/obfs4 v0.1.2 // indirect - github.com/rivo/uniseg v0.4.4 // indirect + github.com/rivo/uniseg v0.4.7 // indirect github.com/segmentio/fasthash v1.0.3 // indirect github.com/spf13/pflag v1.0.5 // indirect github.com/stretchr/testify v1.8.4 // indirect @@ -117,7 +117,7 @@ require ( github.com/klauspost/cpuid/v2 v2.2.6 // indirect github.com/klauspost/reedsolomon v1.11.8 // indirect github.com/mattn/go-isatty v0.0.20 // indirect - github.com/mattn/go-sqlite3 v1.14.18 + github.com/mattn/go-sqlite3 v1.14.22 github.com/mgutz/ansi v0.0.0-20200706080929-d51e80ef957d // indirect github.com/oschwald/maxminddb-golang v1.12.0 github.com/pion/datachannel v1.5.5 // indirect @@ -155,6 +155,6 @@ require ( golang.org/x/mod v0.14.0 // indirect golang.org/x/term v0.18.0 // indirect golang.org/x/text v0.14.0 // indirect - golang.org/x/tools v0.16.1 // indirect + golang.org/x/tools v0.17.0 // indirect google.golang.org/protobuf v1.33.0 // indirect ) diff --git a/go.sum b/go.sum index 7b6117299a..3640a9b234 100644 --- a/go.sum +++ b/go.sum @@ -200,8 +200,8 @@ github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510 h1:El6M4kTTCOh6aBiKaU github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510/go.mod h1:pupxD2MaaD3pAXIBCelhxNneeOaAeabZDe5s4K6zSpQ= github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.3.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/google/uuid v1.5.0 h1:1p67kYwdtXjb0gL0BPiP1Av9wiZPo5A8z2cWkTZ+eyU= -github.com/google/uuid v1.5.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= +github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1 h1:EGx4pi6eqNxGaHF6qqu48+N2wcFQ5qg5FXgOdqsJ5d8= github.com/gorilla/websocket v1.5.1 h1:gmztn0JnHVt9JZquRuzLw3g4wouNVzKL15iLr/zn/QY= github.com/gorilla/websocket v1.5.1/go.mod h1:x3kM2JMyaluk02fnUJpQuwD2dCS5NDG2ZHL0uE0tcaY= @@ -321,8 +321,8 @@ github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/ github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY= github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= github.com/mattn/go-sqlite3 v1.14.17/go.mod h1:2eHXhiwb8IkHr+BDWZGa96P6+rkvnG63S2DGjv9HUNg= -github.com/mattn/go-sqlite3 v1.14.18 h1:JL0eqdCOq6DJVNPSvArO/bIV9/P7fbGrV00LZHc+5aI= -github.com/mattn/go-sqlite3 v1.14.18/go.mod h1:2eHXhiwb8IkHr+BDWZGa96P6+rkvnG63S2DGjv9HUNg= +github.com/mattn/go-sqlite3 v1.14.22 h1:2gZY6PC6kBnID23Tichd1K+Z0oS6nE/XwU+Vz/5o4kU= +github.com/mattn/go-sqlite3 v1.14.22/go.mod h1:Uh1q+B4BYcTPb+yiD3kU8Ct7aC0hY9fxUwlHK0RXw+Y= github.com/matttproud/golang_protobuf_extensions/v2 v2.0.0 h1:jWpvCLoY8Z/e3VKvlsiIGKtc+UG6U5vzxaoagmhXfyg= github.com/matttproud/golang_protobuf_extensions/v2 v2.0.0/go.mod h1:QUyp042oQthUoa9bqDv0ER0wrtXnBruoNd7aNjkbP+k= github.com/mdlayher/netlink v1.4.2-0.20210930205308-a81a8c23d40a h1:yk5OmRew64lWdeNanQ3l0hDgUt1E8MfipPhh/GO9Tuw= @@ -330,8 +330,8 @@ github.com/mdlayher/socket v0.0.0-20210624160740-9dbe287ded84 h1:L1jnQ6o+K3M574e github.com/mgutz/ansi v0.0.0-20170206155736-9520e82c474b/go.mod h1:01TrycV0kFyexm33Z7vhZRXopbI8J3TDReVlkTgMUxE= github.com/mgutz/ansi v0.0.0-20200706080929-d51e80ef957d h1:5PJl274Y63IEHC+7izoQE9x6ikvDFZS2mDVS3drnohI= github.com/mgutz/ansi v0.0.0-20200706080929-d51e80ef957d/go.mod h1:01TrycV0kFyexm33Z7vhZRXopbI8J3TDReVlkTgMUxE= -github.com/miekg/dns v1.1.57 h1:Jzi7ApEIzwEPLHWRcafCN9LZSBbqQpxjt/wpgvg7wcM= -github.com/miekg/dns v1.1.57/go.mod h1:uqRjCRUuEAA6qsOiJvDd+CFo/vW+y5WR6SNmHE55hZk= +github.com/miekg/dns v1.1.58 h1:ca2Hdkz+cDg/7eNF6V56jjzuZ4aCAE+DbVkILdQWG/4= +github.com/miekg/dns v1.1.58/go.mod h1:Ypv+3b/KadlvW9vJfXOTf300O4UqaHFzFCuHz+rPkBY= github.com/mitchellh/colorstring v0.0.0-20190213212951-d06e56a500db h1:62I3jR2EmQ4l5rM/4FEfDWcRD+abF5XlKShorW5LRoQ= github.com/mitchellh/colorstring v0.0.0-20190213212951-d06e56a500db/go.mod h1:l0dey0ia/Uv7NcFFVbCLtqEBQbrT4OCwCSKTEv6enCw= github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= @@ -456,13 +456,13 @@ github.com/refraction-networking/utls v1.3.3/go.mod h1:DlecWW1LMlMJu+9qpzzQqdHDT github.com/remyoudompheng/bigfft v0.0.0-20190728182440-6a916e37a237/go.mod h1:qqbHyh8v60DhA7CoWK5oRCqLrMHRGoxYCSS9EjAz6Eo= github.com/remyoudompheng/bigfft v0.0.0-20200410134404-eec4a21b6bb0/go.mod h1:qqbHyh8v60DhA7CoWK5oRCqLrMHRGoxYCSS9EjAz6Eo= github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec/go.mod h1:qqbHyh8v60DhA7CoWK5oRCqLrMHRGoxYCSS9EjAz6Eo= -github.com/rivo/uniseg v0.4.4 h1:8TfxU8dW6PdqD27gjM8MVNuicgxIjxpm4K7x4jp8sis= -github.com/rivo/uniseg v0.4.4/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88= +github.com/rivo/uniseg v0.4.7 h1:WUdvkW8uEhrYfLC4ZzdpI2ztxP1I582+49Oc5Mq64VQ= +github.com/rivo/uniseg v0.4.7/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88= github.com/rogpeppe/fastuuid v1.1.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc= -github.com/rogpeppe/go-internal v1.11.0 h1:cWPaGQEPrBb5/AsnsZesgZZ9yb1OQ+GOISoDNXVBh4M= -github.com/rogpeppe/go-internal v1.11.0/go.mod h1:ddIwULY96R17DhadqLgMfk9H9tvdUzkipdSkR5nkCZA= +github.com/rogpeppe/go-internal v1.12.0 h1:exVL4IDcn6na9z1rAb56Vxr+CgyK3nn3O+epU5NdKM8= +github.com/rogpeppe/go-internal v1.12.0/go.mod h1:E+RYuTGaKKdloAfM02xzb0FW3Paa99yedzYV+kq4uf4= github.com/rs/xid v1.2.1/go.mod h1:+uKXf+4Djp6Md1KODXJxgGQPKngRmWyn10oCKFzNHOQ= github.com/rs/zerolog v1.13.0/go.mod h1:YbFCdg8HfsridGWAh22vktObvhZbQsZXe4/zB0OKkWU= github.com/rs/zerolog v1.15.0/go.mod h1:xYTKnLHcpfU2225ny5qZjxnj9NvkumZYjJHlAThCjNc= @@ -472,8 +472,8 @@ github.com/russross/blackfriday v1.5.2/go.mod h1:JO/DiYxRf+HjHt06OyowR9PTA263kcR github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= github.com/ryanuber/go-glob v0.0.0-20170128012129-256dc444b735 h1:7YvPJVmEeFHR1Tj9sZEYsmarJEQfMVYpd/Vyy/A8dqE= github.com/satori/go.uuid v1.2.0/go.mod h1:dA0hQrYB0VpLJoorglMZABFdXlWrHn1NEOzdhQKdks0= -github.com/schollz/progressbar/v3 v3.14.1 h1:VD+MJPCr4s3wdhTc7OEJ/Z3dAeBzJ7yKH/P4lC5yRTI= -github.com/schollz/progressbar/v3 v3.14.1/go.mod h1:Zc9xXneTzWXF81TGoqL71u0sBPjULtEHYtj/WVgVy8E= +github.com/schollz/progressbar/v3 v3.14.2 h1:EducH6uNLIWsr560zSV1KrTeUb/wZGAHqyMFIEa99ks= +github.com/schollz/progressbar/v3 v3.14.2/go.mod h1:aQAZQnhF4JGFtRJiw/eobaXpsqpVQAftEQ+hLGXaRc4= github.com/sclevine/agouti v3.0.0+incompatible/go.mod h1:b4WX9W9L1sfQKXeJf1mUTLZKJ48R1S7H23Ji7oFO5Bw= github.com/segmentio/fasthash v1.0.3 h1:EI9+KE1EwvMLBWwjpRDc+fEM+prwxDYbslddQGtrmhM= github.com/segmentio/fasthash v1.0.3/go.mod h1:waKX8l2N8yckOgmSsXJi7x1ZfdKZ4x7KRMzBtS3oedY= @@ -663,7 +663,7 @@ golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.5.0 h1:60k92dhOjHxJkrqnwsfl8KuaHbn/5dl0lUPUklKo3qE= +golang.org/x/sync v0.6.0 h1:5BMeUDZ7vkXGfEr1x9B4bRcTH4lpkTkpdh0T/J+qjbQ= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -707,7 +707,7 @@ golang.org/x/sys v0.9.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.10.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.11.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.14.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.18.0 h1:DBdB3niSjOA/O0blCZBqDefyWNYveAYMNF1Wum0DYQ4= golang.org/x/sys v0.18.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= @@ -721,7 +721,7 @@ golang.org/x/term v0.9.0/go.mod h1:M6DEAAIenWoTxdKrOltXcmDY3rSplQUkrvaDU5FcQyo= golang.org/x/term v0.10.0/go.mod h1:lpqdcUyK/oCiQxvxVrppt5ggO2KCZ5QblwqPnfZ6d5o= golang.org/x/term v0.11.0/go.mod h1:zC9APTIj3jG3FdV/Ons+XE1riIZXG4aZ4GTHiPZJPIU= golang.org/x/term v0.12.0/go.mod h1:owVbMEjm3cBLCHdkQu9b1opXd4ETQWc3BhuQGKgXgvU= -golang.org/x/term v0.14.0/go.mod h1:TySc+nGkYR6qt8km8wUhuFRTVSMIX3XPR58y2lC8vww= +golang.org/x/term v0.17.0/go.mod h1:lLRBjIVuehSbZlaOtGMbcMncT+aqLLLmKrsjNrUguwk= golang.org/x/term v0.18.0 h1:FcHjZXDMxI8mM3nwhX9HlKop4C0YQvCVCdwYl2wOtE8= golang.org/x/term v0.18.0/go.mod h1:ILwASektA3OnRv7amZ1xhE/KTR+u50pbXfZ03+6Nx58= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= @@ -758,8 +758,8 @@ golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapK golang.org/x/tools v0.0.0-20201224043029-2b0845dc783e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= -golang.org/x/tools v0.16.1 h1:TLyB3WofjdOEepBHAU20JdNC1Zbg87elYofWYAY5oZA= -golang.org/x/tools v0.16.1/go.mod h1:kYVVN6I1mBNoB1OX+noeBjbRk4IUEPa7JJ+TJMEooJ0= +golang.org/x/tools v0.17.0 h1:FvmRgNOcs3kOa+T20R1uhfP9F6HgG2mfxDv1vrx1Htc= +golang.org/x/tools v0.17.0/go.mod h1:xsh6VxdV005rRVaS6SSAf9oiAqljS7UZUacMZ8Bnsps= golang.org/x/xerrors v0.0.0-20190410155217-1f06c39b4373/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20190513163551-3ee3066db522/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=