aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNeil Alexander <neilalexander@users.noreply.github.com>2022-08-05 10:26:59 +0100
committerGitHub <noreply@github.com>2022-08-05 10:26:59 +0100
commitc8935fb53f122b367eda61ec7811c406193d29ba (patch)
tree928c78461943f180dde6b2b4e4cd1d26792248f1
parent1b7f84250a46b401eccb89acafdef1b379f2dbc0 (diff)
Do not use `ioutil` as it is deprecated (#2625)
-rw-r--r--clientapi/auth/login.go3
-rw-r--r--clientapi/httputil/httputil.go6
-rw-r--r--clientapi/routing/account_data.go6
-rw-r--r--clientapi/routing/deactivate.go4
-rw-r--r--clientapi/routing/device.go4
-rw-r--r--clientapi/routing/register.go6
-rw-r--r--clientapi/routing/register_secret_test.go4
-rw-r--r--cmd/create-account/main.go5
-rw-r--r--cmd/dendrite-demo-pinecone/main.go5
-rw-r--r--cmd/dendrite-demo-yggdrasil/yggconn/node.go5
-rw-r--r--cmd/dendrite-upgrade-tests/main.go8
-rw-r--r--cmd/furl/main.go3
-rw-r--r--federationapi/federationapi_keys_test.go6
-rw-r--r--internal/log_unix.go4
-rw-r--r--keyserver/internal/device_list_update_test.go6
-rw-r--r--mediaapi/fileutils/fileutils.go3
-rw-r--r--mediaapi/routing/download.go5
-rw-r--r--setup/config/config.go10
-rw-r--r--setup/config/config_appservice.go4
-rw-r--r--setup/mscs/msc2836/msc2836_test.go6
-rw-r--r--syncapi/routing/filter.go4
-rw-r--r--test/keys.go5
22 files changed, 52 insertions, 60 deletions
diff --git a/clientapi/auth/login.go b/clientapi/auth/login.go
index 5f51c662..5467e814 100644
--- a/clientapi/auth/login.go
+++ b/clientapi/auth/login.go
@@ -18,7 +18,6 @@ import (
"context"
"encoding/json"
"io"
- "io/ioutil"
"net/http"
"github.com/matrix-org/dendrite/clientapi/auth/authtypes"
@@ -34,7 +33,7 @@ import (
// If the final return value is non-nil, an error occurred and the cleanup function
// is nil.
func LoginFromJSONReader(ctx context.Context, r io.Reader, useraccountAPI uapi.UserLoginAPI, userAPI UserInternalAPIForLogin, cfg *config.ClientAPI) (*Login, LoginCleanupFunc, *util.JSONResponse) {
- reqBytes, err := ioutil.ReadAll(r)
+ reqBytes, err := io.ReadAll(r)
if err != nil {
err := &util.JSONResponse{
Code: http.StatusBadRequest,
diff --git a/clientapi/httputil/httputil.go b/clientapi/httputil/httputil.go
index b4770136..74f84f1e 100644
--- a/clientapi/httputil/httputil.go
+++ b/clientapi/httputil/httputil.go
@@ -16,7 +16,7 @@ package httputil
import (
"encoding/json"
- "io/ioutil"
+ "io"
"net/http"
"unicode/utf8"
@@ -29,9 +29,9 @@ import (
func UnmarshalJSONRequest(req *http.Request, iface interface{}) *util.JSONResponse {
// encoding/json allows invalid utf-8, matrix does not
// https://matrix.org/docs/spec/client_server/r0.6.1#api-standards
- body, err := ioutil.ReadAll(req.Body)
+ body, err := io.ReadAll(req.Body)
if err != nil {
- util.GetLogger(req.Context()).WithError(err).Error("ioutil.ReadAll failed")
+ util.GetLogger(req.Context()).WithError(err).Error("io.ReadAll failed")
resp := jsonerror.InternalServerError()
return &resp
}
diff --git a/clientapi/routing/account_data.go b/clientapi/routing/account_data.go
index 0d3a4949..b28f0bb1 100644
--- a/clientapi/routing/account_data.go
+++ b/clientapi/routing/account_data.go
@@ -17,7 +17,7 @@ package routing
import (
"encoding/json"
"fmt"
- "io/ioutil"
+ "io"
"net/http"
"github.com/matrix-org/dendrite/clientapi/httputil"
@@ -101,9 +101,9 @@ func SaveAccountData(
}
}
- body, err := ioutil.ReadAll(req.Body)
+ body, err := io.ReadAll(req.Body)
if err != nil {
- util.GetLogger(req.Context()).WithError(err).Error("ioutil.ReadAll failed")
+ util.GetLogger(req.Context()).WithError(err).Error("io.ReadAll failed")
return jsonerror.InternalServerError()
}
diff --git a/clientapi/routing/deactivate.go b/clientapi/routing/deactivate.go
index c8aa6a3b..f213db7f 100644
--- a/clientapi/routing/deactivate.go
+++ b/clientapi/routing/deactivate.go
@@ -1,7 +1,7 @@
package routing
import (
- "io/ioutil"
+ "io"
"net/http"
"github.com/matrix-org/dendrite/clientapi/auth"
@@ -20,7 +20,7 @@ func Deactivate(
) util.JSONResponse {
ctx := req.Context()
defer req.Body.Close() // nolint:errcheck
- bodyBytes, err := ioutil.ReadAll(req.Body)
+ bodyBytes, err := io.ReadAll(req.Body)
if err != nil {
return util.JSONResponse{
Code: http.StatusBadRequest,
diff --git a/clientapi/routing/device.go b/clientapi/routing/device.go
index bb1cf47b..e3a02661 100644
--- a/clientapi/routing/device.go
+++ b/clientapi/routing/device.go
@@ -15,7 +15,7 @@
package routing
import (
- "io/ioutil"
+ "io"
"net"
"net/http"
@@ -175,7 +175,7 @@ func DeleteDeviceById(
}()
ctx := req.Context()
defer req.Body.Close() // nolint:errcheck
- bodyBytes, err := ioutil.ReadAll(req.Body)
+ bodyBytes, err := io.ReadAll(req.Body)
if err != nil {
return util.JSONResponse{
Code: http.StatusBadRequest,
diff --git a/clientapi/routing/register.go b/clientapi/routing/register.go
index c4ac0f2e..af0329a4 100644
--- a/clientapi/routing/register.go
+++ b/clientapi/routing/register.go
@@ -19,7 +19,7 @@ import (
"context"
"encoding/json"
"fmt"
- "io/ioutil"
+ "io"
"net/http"
"net/url"
"regexp"
@@ -371,7 +371,7 @@ func validateRecaptcha(
// Grab the body of the response from the captcha server
var r recaptchaResponse
- body, err := ioutil.ReadAll(resp.Body)
+ body, err := io.ReadAll(resp.Body)
if err != nil {
return &util.JSONResponse{
Code: http.StatusGatewayTimeout,
@@ -539,7 +539,7 @@ func Register(
cfg *config.ClientAPI,
) util.JSONResponse {
defer req.Body.Close() // nolint: errcheck
- reqBody, err := ioutil.ReadAll(req.Body)
+ reqBody, err := io.ReadAll(req.Body)
if err != nil {
return util.JSONResponse{
Code: http.StatusBadRequest,
diff --git a/clientapi/routing/register_secret_test.go b/clientapi/routing/register_secret_test.go
index e702b215..a2ed3585 100644
--- a/clientapi/routing/register_secret_test.go
+++ b/clientapi/routing/register_secret_test.go
@@ -2,7 +2,7 @@ package routing
import (
"bytes"
- "io/ioutil"
+ "io"
"testing"
"github.com/patrickmn/go-cache"
@@ -13,7 +13,7 @@ func TestSharedSecretRegister(t *testing.T) {
jsonStr := []byte(`{"admin":false,"mac":"f1ba8d37123866fd659b40de4bad9b0f8965c565","nonce":"759f047f312b99ff428b21d581256f8592b8976e58bc1b543972dc6147e529a79657605b52d7becd160ff5137f3de11975684319187e06901955f79e5a6c5a79","password":"wonderland","username":"alice"}`)
sharedSecret := "dendritetest"
- req, err := NewSharedSecretRegistrationRequest(ioutil.NopCloser(bytes.NewBuffer(jsonStr)))
+ req, err := NewSharedSecretRegistrationRequest(io.NopCloser(bytes.NewBuffer(jsonStr)))
if err != nil {
t.Fatalf("failed to read request: %s", err)
}
diff --git a/cmd/create-account/main.go b/cmd/create-account/main.go
index 7f6d5105..92179a04 100644
--- a/cmd/create-account/main.go
+++ b/cmd/create-account/main.go
@@ -19,7 +19,6 @@ import (
"flag"
"fmt"
"io"
- "io/ioutil"
"os"
"regexp"
"strings"
@@ -157,7 +156,7 @@ func main() {
func getPassword(password, pwdFile string, pwdStdin bool, r io.Reader) (string, error) {
// read password from file
if pwdFile != "" {
- pw, err := ioutil.ReadFile(pwdFile)
+ pw, err := os.ReadFile(pwdFile)
if err != nil {
return "", fmt.Errorf("Unable to read password from file: %v", err)
}
@@ -166,7 +165,7 @@ func getPassword(password, pwdFile string, pwdStdin bool, r io.Reader) (string,
// read password from stdin
if pwdStdin {
- data, err := ioutil.ReadAll(r)
+ data, err := io.ReadAll(r)
if err != nil {
return "", fmt.Errorf("Unable to read password from stdin: %v", err)
}
diff --git a/cmd/dendrite-demo-pinecone/main.go b/cmd/dendrite-demo-pinecone/main.go
index 8fa935dd..75f29fe2 100644
--- a/cmd/dendrite-demo-pinecone/main.go
+++ b/cmd/dendrite-demo-pinecone/main.go
@@ -21,7 +21,6 @@ import (
"encoding/hex"
"flag"
"fmt"
- "io/ioutil"
"net"
"net/http"
"os"
@@ -76,11 +75,11 @@ func main() {
if pk, sk, err = ed25519.GenerateKey(nil); err != nil {
panic(err)
}
- if err = ioutil.WriteFile(keyfile, sk, 0644); err != nil {
+ if err = os.WriteFile(keyfile, sk, 0644); err != nil {
panic(err)
}
} else if err == nil {
- if sk, err = ioutil.ReadFile(keyfile); err != nil {
+ if sk, err = os.ReadFile(keyfile); err != nil {
panic(err)
}
if len(sk) != ed25519.PrivateKeySize {
diff --git a/cmd/dendrite-demo-yggdrasil/yggconn/node.go b/cmd/dendrite-demo-yggdrasil/yggconn/node.go
index d93272e2..ff3c73ec 100644
--- a/cmd/dendrite-demo-yggdrasil/yggconn/node.go
+++ b/cmd/dendrite-demo-yggdrasil/yggconn/node.go
@@ -20,7 +20,6 @@ import (
"encoding/hex"
"encoding/json"
"fmt"
- "io/ioutil"
"log"
"net"
"os"
@@ -69,7 +68,7 @@ func Setup(instanceName, storageDirectory, peerURI string) (*Node, error) {
yggfile := fmt.Sprintf("%s/%s-yggdrasil.conf", storageDirectory, instanceName)
if _, err := os.Stat(yggfile); !os.IsNotExist(err) {
- yggconf, e := ioutil.ReadFile(yggfile)
+ yggconf, e := os.ReadFile(yggfile)
if e != nil {
panic(err)
}
@@ -88,7 +87,7 @@ func Setup(instanceName, storageDirectory, peerURI string) (*Node, error) {
if err != nil {
panic(err)
}
- if e := ioutil.WriteFile(yggfile, j, 0600); e != nil {
+ if e := os.WriteFile(yggfile, j, 0600); e != nil {
n.log.Printf("Couldn't write private key to file '%s': %s\n", yggfile, e)
}
diff --git a/cmd/dendrite-upgrade-tests/main.go b/cmd/dendrite-upgrade-tests/main.go
index ea5f5e2b..dce22472 100644
--- a/cmd/dendrite-upgrade-tests/main.go
+++ b/cmd/dendrite-upgrade-tests/main.go
@@ -6,7 +6,7 @@ import (
"encoding/json"
"flag"
"fmt"
- "io/ioutil"
+ "io"
"log"
"net/http"
"os"
@@ -128,7 +128,7 @@ func downloadArchive(cli *http.Client, tmpDir, archiveURL string, dockerfile []b
return nil, err
}
// add top level Dockerfile
- err = ioutil.WriteFile(path.Join(tmpDir, "Dockerfile"), dockerfile, os.ModePerm)
+ err = os.WriteFile(path.Join(tmpDir, "Dockerfile"), dockerfile, os.ModePerm)
if err != nil {
return nil, fmt.Errorf("failed to inject /Dockerfile: %w", err)
}
@@ -150,7 +150,7 @@ func buildDendrite(httpClient *http.Client, dockerClient *client.Client, tmpDir,
if branchOrTagName == HEAD && *flagHead != "" {
log.Printf("%s: Using %s as HEAD", branchOrTagName, *flagHead)
// add top level Dockerfile
- err = ioutil.WriteFile(path.Join(*flagHead, "Dockerfile"), []byte(Dockerfile), os.ModePerm)
+ err = os.WriteFile(path.Join(*flagHead, "Dockerfile"), []byte(Dockerfile), os.ModePerm)
if err != nil {
return "", fmt.Errorf("custom HEAD: failed to inject /Dockerfile: %w", err)
}
@@ -388,7 +388,7 @@ func runImage(dockerClient *client.Client, volumeName, version, imageID string)
})
// ignore errors when cannot get logs, it's just for debugging anyways
if err == nil {
- logbody, err := ioutil.ReadAll(logs)
+ logbody, err := io.ReadAll(logs)
if err == nil {
log.Printf("Container logs:\n\n%s\n\n", string(logbody))
}
diff --git a/cmd/furl/main.go b/cmd/furl/main.go
index 75e22338..f59f9c8c 100644
--- a/cmd/furl/main.go
+++ b/cmd/furl/main.go
@@ -9,7 +9,6 @@ import (
"encoding/pem"
"flag"
"fmt"
- "io/ioutil"
"net/url"
"os"
@@ -30,7 +29,7 @@ func main() {
os.Exit(1)
}
- data, err := ioutil.ReadFile(*requestKey)
+ data, err := os.ReadFile(*requestKey)
if err != nil {
panic(err)
}
diff --git a/federationapi/federationapi_keys_test.go b/federationapi/federationapi_keys_test.go
index d1bfe184..9c344622 100644
--- a/federationapi/federationapi_keys_test.go
+++ b/federationapi/federationapi_keys_test.go
@@ -6,7 +6,7 @@ import (
"crypto/ed25519"
"encoding/json"
"fmt"
- "io/ioutil"
+ "io"
"net/http"
"os"
"testing"
@@ -66,7 +66,7 @@ func TestMain(m *testing.M) {
s.cache = caching.NewRistrettoCache(8*1024*1024, time.Hour, false)
// Create a temporary directory for JetStream.
- d, err := ioutil.TempDir("./", "jetstream*")
+ d, err := os.MkdirTemp("./", "jetstream*")
if err != nil {
panic(err)
}
@@ -136,7 +136,7 @@ func (m *MockRoundTripper) RoundTrip(req *http.Request) (res *http.Response, err
// And respond.
res = &http.Response{
StatusCode: 200,
- Body: ioutil.NopCloser(bytes.NewReader(body)),
+ Body: io.NopCloser(bytes.NewReader(body)),
}
return
}
diff --git a/internal/log_unix.go b/internal/log_unix.go
index 1e1094f2..75332af7 100644
--- a/internal/log_unix.go
+++ b/internal/log_unix.go
@@ -18,7 +18,7 @@
package internal
import (
- "io/ioutil"
+ "io"
"log/syslog"
"github.com/MFAshby/stdemuxerhook"
@@ -63,7 +63,7 @@ func SetupHookLogging(hooks []config.LogrusHook, componentName string) {
setupStdLogHook(logrus.InfoLevel)
}
// Hooks are now configured for stdout/err, so throw away the default logger output
- logrus.SetOutput(ioutil.Discard)
+ logrus.SetOutput(io.Discard)
}
func checkSyslogHookParams(params map[string]interface{}) {
diff --git a/keyserver/internal/device_list_update_test.go b/keyserver/internal/device_list_update_test.go
index e65342e2..0c2405f3 100644
--- a/keyserver/internal/device_list_update_test.go
+++ b/keyserver/internal/device_list_update_test.go
@@ -18,7 +18,7 @@ import (
"context"
"crypto/ed25519"
"fmt"
- "io/ioutil"
+ "io"
"net/http"
"net/url"
"reflect"
@@ -203,7 +203,7 @@ func TestUpdateNoPrevID(t *testing.T) {
}
return &http.Response{
StatusCode: 200,
- Body: ioutil.NopCloser(strings.NewReader(`
+ Body: io.NopCloser(strings.NewReader(`
{
"user_id": "` + remoteUserID + `",
"stream_id": 5,
@@ -318,7 +318,7 @@ func TestDebounce(t *testing.T) {
// now send the response over federation
fedCh <- &http.Response{
StatusCode: 200,
- Body: ioutil.NopCloser(strings.NewReader(`
+ Body: io.NopCloser(strings.NewReader(`
{
"user_id": "` + userID + `",
"stream_id": 5,
diff --git a/mediaapi/fileutils/fileutils.go b/mediaapi/fileutils/fileutils.go
index 754e4644..2e719dc8 100644
--- a/mediaapi/fileutils/fileutils.go
+++ b/mediaapi/fileutils/fileutils.go
@@ -21,7 +21,6 @@ import (
"encoding/base64"
"fmt"
"io"
- "io/ioutil"
"os"
"path/filepath"
"strings"
@@ -180,7 +179,7 @@ func createTempDir(baseDirectory config.Path) (types.Path, error) {
if err := os.MkdirAll(baseTmpDir, 0770); err != nil {
return "", fmt.Errorf("failed to create base temp dir: %w", err)
}
- tmpDir, err := ioutil.TempDir(baseTmpDir, "")
+ tmpDir, err := os.MkdirTemp(baseTmpDir, "")
if err != nil {
return "", fmt.Errorf("failed to create temp dir: %w", err)
}
diff --git a/mediaapi/routing/download.go b/mediaapi/routing/download.go
index 10b25a5c..c9299b1f 100644
--- a/mediaapi/routing/download.go
+++ b/mediaapi/routing/download.go
@@ -19,7 +19,6 @@ import (
"encoding/json"
"fmt"
"io"
- "io/ioutil"
"mime"
"net/http"
"net/url"
@@ -695,7 +694,7 @@ func (r *downloadRequest) GetContentLengthAndReader(contentLengthHeader string,
// We successfully parsed the Content-Length, so we'll return a limited
// reader that restricts us to reading only up to this size.
- reader = ioutil.NopCloser(io.LimitReader(*body, parsedLength))
+ reader = io.NopCloser(io.LimitReader(*body, parsedLength))
contentLength = parsedLength
} else {
// Content-Length header is missing. If we have a maximum file size
@@ -704,7 +703,7 @@ func (r *downloadRequest) GetContentLengthAndReader(contentLengthHeader string,
// ultimately it will get rewritten later when the temp file is written
// to disk.
if maxFileSizeBytes > 0 {
- reader = ioutil.NopCloser(io.LimitReader(*body, int64(maxFileSizeBytes)))
+ reader = io.NopCloser(io.LimitReader(*body, int64(maxFileSizeBytes)))
}
contentLength = 0
}
diff --git a/setup/config/config.go b/setup/config/config.go
index 9b9000a6..924b51f2 100644
--- a/setup/config/config.go
+++ b/setup/config/config.go
@@ -19,8 +19,8 @@ import (
"encoding/pem"
"fmt"
"io"
- "io/ioutil"
"net/url"
+ "os"
"path/filepath"
"regexp"
"strings"
@@ -191,7 +191,7 @@ type ConfigErrors []string
// Load a yaml config file for a server run as multiple processes or as a monolith.
// Checks the config to ensure that it is valid.
func Load(configPath string, monolith bool) (*Dendrite, error) {
- configData, err := ioutil.ReadFile(configPath)
+ configData, err := os.ReadFile(configPath)
if err != nil {
return nil, err
}
@@ -199,9 +199,9 @@ func Load(configPath string, monolith bool) (*Dendrite, error) {
if err != nil {
return nil, err
}
- // Pass the current working directory and ioutil.ReadFile so that they can
+ // Pass the current working directory and os.ReadFile so that they can
// be mocked in the tests
- return loadConfig(basePath, configData, ioutil.ReadFile, monolith)
+ return loadConfig(basePath, configData, os.ReadFile, monolith)
}
func loadConfig(
@@ -530,7 +530,7 @@ func (config *Dendrite) KeyServerURL() string {
// SetupTracing configures the opentracing using the supplied configuration.
func (config *Dendrite) SetupTracing(serviceName string) (closer io.Closer, err error) {
if !config.Tracing.Enabled {
- return ioutil.NopCloser(bytes.NewReader([]byte{})), nil
+ return io.NopCloser(bytes.NewReader([]byte{})), nil
}
return config.Tracing.Jaeger.InitGlobalTracer(
serviceName,
diff --git a/setup/config/config_appservice.go b/setup/config/config_appservice.go
index 9b89fc9a..b8f99a61 100644
--- a/setup/config/config_appservice.go
+++ b/setup/config/config_appservice.go
@@ -16,7 +16,7 @@ package config
import (
"fmt"
- "io/ioutil"
+ "os"
"path/filepath"
"regexp"
"strings"
@@ -181,7 +181,7 @@ func loadAppServices(config *AppServiceAPI, derived *Derived) error {
}
// Read the application service's config file
- configData, err := ioutil.ReadFile(absPath)
+ configData, err := os.ReadFile(absPath)
if err != nil {
return err
}
diff --git a/setup/mscs/msc2836/msc2836_test.go b/setup/mscs/msc2836/msc2836_test.go
index edb1e77d..eeded427 100644
--- a/setup/mscs/msc2836/msc2836_test.go
+++ b/setup/mscs/msc2836/msc2836_test.go
@@ -7,7 +7,7 @@ import (
"crypto/sha256"
"encoding/base64"
"encoding/json"
- "io/ioutil"
+ "io"
"net/http"
"sort"
"strings"
@@ -428,12 +428,12 @@ func postRelationships(t *testing.T, expectCode int, accessToken string, req *ms
t.Fatalf("failed to do request: %s", err)
}
if res.StatusCode != expectCode {
- body, _ := ioutil.ReadAll(res.Body)
+ body, _ := io.ReadAll(res.Body)
t.Fatalf("wrong response code, got %d want %d - body: %s", res.StatusCode, expectCode, string(body))
}
if res.StatusCode == 200 {
var result msc2836.EventRelationshipResponse
- body, err := ioutil.ReadAll(res.Body)
+ body, err := io.ReadAll(res.Body)
if err != nil {
t.Fatalf("response 200 OK but failed to read response body: %s", err)
}
diff --git a/syncapi/routing/filter.go b/syncapi/routing/filter.go
index b41714df..f5acdbde 100644
--- a/syncapi/routing/filter.go
+++ b/syncapi/routing/filter.go
@@ -16,7 +16,7 @@ package routing
import (
"encoding/json"
- "io/ioutil"
+ "io"
"net/http"
"github.com/matrix-org/gomatrixserverlib"
@@ -88,7 +88,7 @@ func PutFilter(
var filter gomatrixserverlib.Filter
defer req.Body.Close() // nolint:errcheck
- body, err := ioutil.ReadAll(req.Body)
+ body, err := io.ReadAll(req.Body)
if err != nil {
return util.JSONResponse{
Code: http.StatusBadRequest,
diff --git a/test/keys.go b/test/keys.go
index 75e3800e..327c6ed7 100644
--- a/test/keys.go
+++ b/test/keys.go
@@ -22,7 +22,6 @@ import (
"encoding/pem"
"errors"
"fmt"
- "io/ioutil"
"math/big"
"os"
"strings"
@@ -144,7 +143,7 @@ func NewTLSKeyWithAuthority(serverName, tlsKeyPath, tlsCertPath, authorityKeyPat
}
// load the authority key
- dat, err := ioutil.ReadFile(authorityKeyPath)
+ dat, err := os.ReadFile(authorityKeyPath)
if err != nil {
return err
}
@@ -158,7 +157,7 @@ func NewTLSKeyWithAuthority(serverName, tlsKeyPath, tlsCertPath, authorityKeyPat
}
// load the authority certificate
- dat, err = ioutil.ReadFile(authorityCertPath)
+ dat, err = os.ReadFile(authorityCertPath)
if err != nil {
return err
}