Use golang.org/x/xerrors
This commit is contained in:
+3
-3
@@ -17,13 +17,13 @@ import (
|
||||
"crypto/rand"
|
||||
"crypto/sha256"
|
||||
"encoding/base64"
|
||||
"errors"
|
||||
"fmt"
|
||||
"strconv"
|
||||
|
||||
"github.com/jackc/pgproto3/v2"
|
||||
"golang.org/x/crypto/pbkdf2"
|
||||
"golang.org/x/text/secure/precis"
|
||||
errors "golang.org/x/xerrors"
|
||||
)
|
||||
|
||||
const clientNonceLen = 18
|
||||
@@ -181,12 +181,12 @@ func (sc *scramClient) recvServerFirstMessage(serverFirstMessage []byte) error {
|
||||
var err error
|
||||
sc.salt, err = base64.StdEncoding.DecodeString(string(saltStr))
|
||||
if err != nil {
|
||||
return fmt.Errorf("invalid SCRAM salt received from server: %v", err)
|
||||
return errors.Errorf("invalid SCRAM salt received from server: %w", err)
|
||||
}
|
||||
|
||||
sc.iterations, err = strconv.Atoi(string(iterationsStr))
|
||||
if err != nil || sc.iterations <= 0 {
|
||||
return fmt.Errorf("invalid SCRAM iteration count received from server: %s", iterationsStr)
|
||||
return errors.Errorf("invalid SCRAM iteration count received from server: %w", err)
|
||||
}
|
||||
|
||||
if !bytes.HasPrefix(sc.clientAndServerNonce, sc.clientNonce) {
|
||||
|
||||
@@ -18,7 +18,7 @@ import (
|
||||
"time"
|
||||
|
||||
"github.com/jackc/pgpassfile"
|
||||
"github.com/pkg/errors"
|
||||
errors "golang.org/x/xerrors"
|
||||
)
|
||||
|
||||
type AfterConnectFunc func(ctx context.Context, pgconn *PgConn) error
|
||||
@@ -195,7 +195,7 @@ func ParseConfig(connString string) (*Config, error) {
|
||||
|
||||
port, err := parsePort(portStr)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("invalid port: %v", settings["port"])
|
||||
return nil, errors.Errorf("invalid port: %w", err)
|
||||
}
|
||||
|
||||
var tlsConfigs []*tls.Config
|
||||
@@ -240,7 +240,7 @@ func ParseConfig(connString string) (*Config, error) {
|
||||
if settings["target_session_attrs"] == "read-write" {
|
||||
config.AfterConnectFunc = AfterConnectTargetSessionAttrsReadWrite
|
||||
} else if settings["target_session_attrs"] != "any" {
|
||||
return nil, fmt.Errorf("unknown target_session_attrs value %v", settings["target_session_attrs"])
|
||||
return nil, errors.Errorf("unknown target_session_attrs value: %v", settings["target_session_attrs"])
|
||||
}
|
||||
|
||||
return config, nil
|
||||
@@ -409,11 +409,11 @@ func configTLS(settings map[string]string) ([]*tls.Config, error) {
|
||||
caPath := sslrootcert
|
||||
caCert, err := ioutil.ReadFile(caPath)
|
||||
if err != nil {
|
||||
return nil, errors.Wrapf(err, "unable to read CA file %q", caPath)
|
||||
return nil, errors.Errorf("unable to read CA file: %w", err)
|
||||
}
|
||||
|
||||
if !caCertPool.AppendCertsFromPEM(caCert) {
|
||||
return nil, errors.Wrap(err, "unable to add CA to cert pool")
|
||||
return nil, errors.Errorf("unable to add CA to cert pool: %w", err)
|
||||
}
|
||||
|
||||
tlsConfig.RootCAs = caCertPool
|
||||
@@ -421,13 +421,13 @@ func configTLS(settings map[string]string) ([]*tls.Config, error) {
|
||||
}
|
||||
|
||||
if (sslcert != "" && sslkey == "") || (sslcert == "" && sslkey != "") {
|
||||
return nil, fmt.Errorf(`both "sslcert" and "sslkey" are required`)
|
||||
return nil, errors.New(`both "sslcert" and "sslkey" are required`)
|
||||
}
|
||||
|
||||
if sslcert != "" && sslkey != "" {
|
||||
cert, err := tls.LoadX509KeyPair(sslcert, sslkey)
|
||||
if err != nil {
|
||||
return nil, errors.Wrap(err, "unable to read cert")
|
||||
return nil, errors.Errorf("unable to read cert: %w", err)
|
||||
}
|
||||
|
||||
tlsConfig.Certificates = []tls.Certificate{cert}
|
||||
|
||||
@@ -5,10 +5,11 @@ go 1.12
|
||||
require (
|
||||
github.com/jackc/pgio v1.0.0
|
||||
github.com/jackc/pgpassfile v1.0.0
|
||||
github.com/jackc/pgproto3 v1.1.0
|
||||
github.com/jackc/pgproto3 v1.1.0 // indirect
|
||||
github.com/jackc/pgproto3/v2 v2.0.0-alpha1.0.20190419041544-9b6a681f50bf
|
||||
github.com/pkg/errors v0.8.1
|
||||
github.com/stretchr/testify v1.3.0
|
||||
golang.org/x/crypto v0.0.0-20190411191339-88737f569e3a
|
||||
golang.org/x/text v0.3.0
|
||||
golang.org/x/xerrors v0.0.0-20190410155217-1f06c39b4373
|
||||
)
|
||||
|
||||
@@ -22,3 +22,5 @@ golang.org/x/crypto v0.0.0-20190411191339-88737f569e3a/go.mod h1:WFFai1msRO1wXaE
|
||||
golang.org/x/sys v0.0.0-20190403152447-81d4e9dc473e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/text v0.3.0 h1:g61tztE5qeGQ89tm6NTjjM9VPIm088od1l6aSorWRWg=
|
||||
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
|
||||
golang.org/x/xerrors v0.0.0-20190410155217-1f06c39b4373 h1:PPwnA7z1Pjf7XYaBP9GL1VAMZmcIWyFz7QCMSIIa3Bg=
|
||||
golang.org/x/xerrors v0.0.0-20190410155217-1f06c39b4373/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||
|
||||
@@ -7,8 +7,6 @@ import (
|
||||
"crypto/tls"
|
||||
"encoding/binary"
|
||||
"encoding/hex"
|
||||
"errors"
|
||||
"fmt"
|
||||
"io"
|
||||
"math"
|
||||
"net"
|
||||
@@ -18,6 +16,7 @@ import (
|
||||
|
||||
"github.com/jackc/pgio"
|
||||
"github.com/jackc/pgproto3/v2"
|
||||
errors "golang.org/x/xerrors"
|
||||
)
|
||||
|
||||
const (
|
||||
@@ -232,7 +231,7 @@ func connect(ctx context.Context, config *Config, fallbackConfig *FallbackConfig
|
||||
err := config.AfterConnectFunc(ctx, pgConn)
|
||||
if err != nil {
|
||||
pgConn.conn.Close()
|
||||
return nil, fmt.Errorf("AfterConnectFunc: %v", err)
|
||||
return nil, errors.Errorf("AfterConnectFunc: %v", err)
|
||||
}
|
||||
}
|
||||
return pgConn, nil
|
||||
@@ -601,7 +600,7 @@ func (pgConn *PgConn) CancelRequest(ctx context.Context) error {
|
||||
|
||||
_, err = cancelConn.Read(buf)
|
||||
if err != io.EOF {
|
||||
return fmt.Errorf("Server failed to close connection after cancel query request: %v", preferContextOverNetTimeoutError(ctx, err))
|
||||
return errors.Errorf("Server failed to close connection after cancel query request: %w", preferContextOverNetTimeoutError(ctx, err))
|
||||
}
|
||||
|
||||
return nil
|
||||
@@ -757,7 +756,7 @@ func (pgConn *PgConn) execExtendedPrefix(ctx context.Context, paramValues [][]by
|
||||
result := &pgConn.resultReader
|
||||
|
||||
if len(paramValues) > math.MaxUint16 {
|
||||
result.concludeCommand(nil, fmt.Errorf("extended protocol limited to %v parameters", math.MaxUint16))
|
||||
result.concludeCommand(nil, errors.Errorf("extended protocol limited to %v parameters", math.MaxUint16))
|
||||
result.closed = true
|
||||
pgConn.unlock()
|
||||
return result
|
||||
|
||||
Reference in New Issue
Block a user