diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 2314bc48..d23af19e 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -83,7 +83,7 @@ jobs: strategy: fail-fast: false matrix: - go: ["1.20", "1.21"] + go: ["1.21"] steps: - uses: actions/checkout@v3 with: diff --git a/.golangci.yml b/.golangci.yml index 97ca3786..48ea8cab 100644 --- a/.golangci.yml +++ b/.golangci.yml @@ -2,15 +2,8 @@ run: timeout: 5m linters: enable: - - vet - - vetshadow - typecheck - - deadcode - gocyclo - - golint - - varcheck - - structcheck - - maligned - ineffassign # - gosec - complains about weak cryptographic primitive sha1 and TLS InsecureSkipVerify set true in getTransport - misspell @@ -19,5 +12,4 @@ linters: # - goconst - unconvert - errcheck - - interfacer # - testify - not available in golangci-lint diff --git a/fclient/client.go b/fclient/client.go index 36c96579..97f93660 100644 --- a/fclient/client.go +++ b/fclient/client.go @@ -21,7 +21,7 @@ import ( "crypto/tls" "encoding/json" "fmt" - "io/ioutil" + "io" "net" "net/http" "net/url" @@ -350,7 +350,7 @@ func (fc *Client) LookupUserInfo( } if response.StatusCode < 200 || response.StatusCode >= 300 { var errorOutput []byte - errorOutput, err = ioutil.ReadAll(response.Body) + errorOutput, err = io.ReadAll(response.Body) if err != nil { return } @@ -525,7 +525,7 @@ func (fc *Client) DoRequestAndParseResponse( if response.StatusCode/100 != 2 { // not 2xx // Adapted from https://github.com/matrix-org/gomatrix/blob/master/client.go var contents []byte - contents, err = ioutil.ReadAll(response.Body) + contents, err = io.ReadAll(response.Body) if err != nil { return err } diff --git a/fclient/federationclient_test.go b/fclient/federationclient_test.go index f77c2480..e2ec65a5 100644 --- a/fclient/federationclient_test.go +++ b/fclient/federationclient_test.go @@ -5,7 +5,7 @@ import ( "context" "encoding/json" "fmt" - "io/ioutil" + "io" "net/http" "reflect" "strings" @@ -63,7 +63,7 @@ func TestSendJoinFallback(t *testing.T) { if strings.HasPrefix(req.URL.Path, "/_matrix/federation/v2/send_join") { return &http.Response{ StatusCode: 404, - Body: ioutil.NopCloser(strings.NewReader("404 not found")), + Body: io.NopCloser(strings.NewReader("404 not found")), }, nil } if !strings.HasPrefix(req.URL.Path, "/_matrix/federation/v1/send_join") { @@ -72,7 +72,7 @@ func TestSendJoinFallback(t *testing.T) { t.Logf("Sending response: %s", string(v1ResBytes)) return &http.Response{ StatusCode: 200, - Body: ioutil.NopCloser(bytes.NewReader(v1ResBytes)), + Body: io.NopCloser(bytes.NewReader(v1ResBytes)), }, nil }, }, @@ -126,12 +126,12 @@ func TestSendJoinJSON(t *testing.T) { t.Logf("Sending response: %s", string(respSendJoinResponseJSON)) return &http.Response{ StatusCode: 200, - Body: ioutil.NopCloser(bytes.NewReader(respSendJoinResponseJSON)), + Body: io.NopCloser(bytes.NewReader(respSendJoinResponseJSON)), }, nil } return &http.Response{ StatusCode: 404, - Body: ioutil.NopCloser(strings.NewReader("404 not found")), + Body: io.NopCloser(strings.NewReader("404 not found")), }, nil }, }, @@ -185,12 +185,12 @@ func TestSendTransactionToRelay(t *testing.T) { if strings.HasPrefix(req.URL.Path, "/_matrix/federation/v1/send_relay") { return &http.Response{ StatusCode: 200, - Body: ioutil.NopCloser(bytes.NewReader(respSendResponseJSON)), + Body: io.NopCloser(bytes.NewReader(respSendResponseJSON)), }, nil } return &http.Response{ StatusCode: 404, - Body: ioutil.NopCloser(strings.NewReader("404 not found")), + Body: io.NopCloser(strings.NewReader("404 not found")), }, nil }, }, @@ -232,12 +232,12 @@ func TestSendTransactionToRelayReportsFailure(t *testing.T) { if strings.HasPrefix(req.URL.Path, "/_matrix/federation/v1/send_relay") { return &http.Response{ StatusCode: 400, - Body: ioutil.NopCloser(bytes.NewReader(respSendResponseJSON)), + Body: io.NopCloser(bytes.NewReader(respSendResponseJSON)), }, nil } return &http.Response{ StatusCode: 404, - Body: ioutil.NopCloser(strings.NewReader("404 not found")), + Body: io.NopCloser(strings.NewReader("404 not found")), }, nil }, }, diff --git a/fclient/request.go b/fclient/request.go index 188a47bb..0d2622ef 100644 --- a/fclient/request.go +++ b/fclient/request.go @@ -5,7 +5,6 @@ import ( "encoding/json" "fmt" "io" - "io/ioutil" "mime" "net/http" "strings" @@ -183,7 +182,7 @@ func isSafeInHTTPQuotedString(text string) bool { // nolint: gocyclo continue case 0x5D <= c && c <= 0x7E: continue - case 0x80 <= c && c <= 0xFF: + case 0x80 <= c: continue default: return false @@ -274,7 +273,7 @@ func readHTTPRequest(req *http.Request) (*FederationRequest, error) { // nolint: result.fields.Method = req.Method result.fields.RequestURI = req.URL.RequestURI() - content, err := ioutil.ReadAll(req.Body) + content, err := io.ReadAll(req.Body) if err != nil { return nil, err } diff --git a/spec/matrixerror.go b/spec/matrixerror.go index a178c429..2088a7c1 100644 --- a/spec/matrixerror.go +++ b/spec/matrixerror.go @@ -15,6 +15,7 @@ package spec import ( + "errors" "fmt" ) @@ -63,7 +64,7 @@ func (e MatrixError) Error() string { } func (e MatrixError) Unwrap() error { - return fmt.Errorf(e.Err) + return errors.New(e.Err) } // InternalServerError @@ -231,7 +232,7 @@ func (e IncompatibleRoomVersionError) Error() string { } func (e IncompatibleRoomVersionError) Unwrap() error { - return fmt.Errorf(e.Err) + return errors.New(e.Err) } // IncompatibleRoomVersion is an error which is returned when the client diff --git a/tokens/tokens_test.go b/tokens/tokens_test.go index 7ffe9809..b8847411 100644 --- a/tokens/tokens_test.go +++ b/tokens/tokens_test.go @@ -61,17 +61,17 @@ func serializationTestError(err error) string { func TestSerialization(t *testing.T) { fakeToken, err := GenerateLoginToken(validTokenOp) if err != nil { - t.Errorf(serializationTestError(err)) + t.Errorf("%s", serializationTestError(err)) } fakeMacaroon, err := deSerializeMacaroon(fakeToken) if err != nil { - t.Errorf(serializationTestError(err)) + t.Errorf("%s", serializationTestError(err)) } sameFakeToken, err := serializeMacaroon(fakeMacaroon) if err != nil { - t.Errorf(serializationTestError(err)) + t.Errorf("%s", serializationTestError(err)) } if sameFakeToken != fakeToken {