diff --git a/api/go.mod b/api/go.mod index 3ff9745e40da7..2b65d53773b12 100644 --- a/api/go.mod +++ b/api/go.mod @@ -6,7 +6,7 @@ require ( github.com/gogo/protobuf v1.3.1 github.com/golang/protobuf v1.5.2 github.com/google/go-cmp v0.5.7 - github.com/gravitational/trace v1.1.17 + github.com/gravitational/trace v1.2.0 github.com/jonboulle/clockwork v0.2.2 github.com/sirupsen/logrus v1.8.1 github.com/stretchr/testify v1.7.1 diff --git a/api/go.sum b/api/go.sum index a22e232d67084..f8e82216a4061 100644 --- a/api/go.sum +++ b/api/go.sum @@ -133,8 +133,8 @@ github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm4 github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= -github.com/gravitational/trace v1.1.17 h1:BkF30oLm1aKMZ5SPVbnlVbYtYEsG26zHxA4dJ+Z46dM= -github.com/gravitational/trace v1.1.17/go.mod h1:n0ijrq6psJY0sOI/NzLp+xdd8xl79jjwzVOFHDY6+kQ= +github.com/gravitational/trace v1.2.0 h1:ODrkITHAmumFOTgCLb2zScMRCT2VQVXyIzDpN2CyN6s= +github.com/gravitational/trace v1.2.0/go.mod h1:n0ijrq6psJY0sOI/NzLp+xdd8xl79jjwzVOFHDY6+kQ= github.com/grpc-ecosystem/grpc-gateway v1.16.0 h1:gmcG1KaJ57LophUzW0Hy8NmPhnMZb4M0+kPpLofRdBo= github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw= github.com/grpc-ecosystem/grpc-gateway/v2 v2.7.0 h1:BZHcxBETFHIdVyhyEfOvn/RdU/QGdLI4y34qQGjGWO0= diff --git a/go.mod b/go.mod index 3d999e7b09fed..dec6cfcdae907 100644 --- a/go.mod +++ b/go.mod @@ -54,7 +54,7 @@ require ( github.com/gravitational/reporting v0.0.0-20210923183620-237377721140 github.com/gravitational/roundtrip v1.0.1 github.com/gravitational/teleport/api v0.0.0 - github.com/gravitational/trace v1.1.19-0.20220627095334-f3550c86f648 + github.com/gravitational/trace v1.2.0 github.com/gravitational/ttlmap v0.0.0-20171116003245-91fd36b9004c github.com/grpc-ecosystem/go-grpc-middleware/providers/openmetrics/v2 v2.0.0-20220308023801-e4a6915ea237 github.com/hashicorp/golang-lru v0.5.4 @@ -159,7 +159,6 @@ require ( github.com/form3tech-oss/jwt-go v3.2.3+incompatible // indirect github.com/go-asn1-ber/asn1-ber v1.5.1 // indirect github.com/go-logr/logr v1.2.3 // indirect - github.com/go-stack/stack v1.8.0 // indirect github.com/gofrs/flock v0.8.1 github.com/golang-jwt/jwt v3.2.2+incompatible // indirect github.com/golang-sql/civil v0.0.0-20190719163853-cb61b32ac6fe // indirect diff --git a/go.sum b/go.sum index c38413f2d65aa..1a553266a6262 100644 --- a/go.sum +++ b/go.sum @@ -564,8 +564,8 @@ github.com/gravitational/sftp v1.13.6-0.20220706192634-fe0df089a5e3 h1:D6um8saAf github.com/gravitational/sftp v1.13.6-0.20220706192634-fe0df089a5e3/go.mod h1:wHDZ0IZX6JcBYRK1TH9bcVq8G7TLpVHYIGJRFnmPfxg= github.com/gravitational/trace v1.1.16-0.20220114165159-14a9a7dd6aaf/go.mod h1:zXqxTI6jXDdKnlf8s+nT+3c8LrwUEy3yNpO4XJL90lA= github.com/gravitational/trace v1.1.17/go.mod h1:n0ijrq6psJY0sOI/NzLp+xdd8xl79jjwzVOFHDY6+kQ= -github.com/gravitational/trace v1.1.19-0.20220627095334-f3550c86f648 h1:077EB1f9UVtnwjyVR+IiVB9Dls4YAKLjhtY9xBggMp8= -github.com/gravitational/trace v1.1.19-0.20220627095334-f3550c86f648/go.mod h1:n0ijrq6psJY0sOI/NzLp+xdd8xl79jjwzVOFHDY6+kQ= +github.com/gravitational/trace v1.2.0 h1:ODrkITHAmumFOTgCLb2zScMRCT2VQVXyIzDpN2CyN6s= +github.com/gravitational/trace v1.2.0/go.mod h1:n0ijrq6psJY0sOI/NzLp+xdd8xl79jjwzVOFHDY6+kQ= github.com/gravitational/ttlmap v0.0.0-20171116003245-91fd36b9004c h1:C2iWDiod8vQ3YnOiCdMP9qYeg2UifQ8KSk36r0NswSE= github.com/gravitational/ttlmap v0.0.0-20171116003245-91fd36b9004c/go.mod h1:erKVikttPjeHKDCQZcqowEqiccy23cJAqPadZgfjNm8= github.com/gregjones/httpcache v0.0.0-20180305231024-9cad4c3443a7 h1:pdN6V1QBWetyv/0+wjACpqVH+eVULgEjkurDLq3goeM= diff --git a/lib/auth/auth.go b/lib/auth/auth.go index 50900252146b8..56a173f54f2b5 100644 --- a/lib/auth/auth.go +++ b/lib/auth/auth.go @@ -1225,16 +1225,14 @@ func (a *Server) WithUserLock(username string, authenticateFn func() error) erro user.GetName(), defaults.MaxAccountRecoveryAttempts, apiutils.HumanTimeFormat(status.RecoveryAttemptLockExpires)) err := trace.AccessDenied(MaxFailedAttemptsErrMsg) - err.AddField(ErrFieldKeyUserMaxedAttempts, true) - return err + return trace.WithField(err, ErrFieldKeyUserMaxedAttempts, true) } if status.LockExpires.After(a.clock.Now().UTC()) { log.Debugf("%v exceeds %v failed login attempts, locked until %v", user.GetName(), defaults.MaxLoginAttempts, apiutils.HumanTimeFormat(status.LockExpires)) err := trace.AccessDenied(MaxFailedAttemptsErrMsg) - err.AddField(ErrFieldKeyUserMaxedAttempts, true) - return err + return trace.WithField(err, ErrFieldKeyUserMaxedAttempts, true) } } fnErr := authenticateFn() @@ -1278,8 +1276,7 @@ func (a *Server) WithUserLock(username string, authenticateFn func() error) erro } retErr := trace.AccessDenied(MaxFailedAttemptsErrMsg) - retErr.AddField(ErrFieldKeyUserMaxedAttempts, true) - return retErr + return trace.WithField(retErr, ErrFieldKeyUserMaxedAttempts, true) } // PreAuthenticatedSignIn is for 2-way authentication methods like U2F where the password is diff --git a/lib/services/lock.go b/lib/services/lock.go index 6d71f35595047..3c28973ad1779 100644 --- a/lib/services/lock.go +++ b/lib/services/lock.go @@ -35,8 +35,7 @@ func LockInForceAccessDenied(lock types.Lock) error { s += ": " + msg } err := trace.AccessDenied(s) - err.AddField("lock-in-force", lock) - return err + return trace.WithField(err, "lock-in-force", lock) } // StrictLockingModeAccessDenied is an AccessDenied error returned when strict