@@ -4,13 +4,13 @@ import (
4
4
"bytes"
5
5
"context"
6
6
"encoding/binary"
7
+ "errors"
7
8
"fmt"
8
9
"io"
9
10
"time"
10
11
11
12
"github.com/grepplabs/kafka-proxy/pkg/apis"
12
13
"github.com/grepplabs/kafka-proxy/proxy/protocol"
13
- "github.com/pkg/errors"
14
14
"github.com/sirupsen/logrus"
15
15
)
16
16
@@ -100,7 +100,7 @@ func (b *SASLPlainAuth) sendSaslAuthenticateRequest(conn DeadlineReaderWriter) e
100
100
}
101
101
_ , err = conn .Write (authBytes )
102
102
if err != nil {
103
- return errors . Wrap ( err , "Failed to write SASL auth header" )
103
+ return fmt . Errorf ( "failed to write SASL auth header: %w" , err )
104
104
}
105
105
106
106
err = conn .SetReadDeadline (time .Now ().Add (b .readTimeout ))
@@ -116,7 +116,7 @@ func (b *SASLPlainAuth) sendSaslAuthenticateRequest(conn DeadlineReaderWriter) e
116
116
if err == io .EOF {
117
117
return fmt .Errorf ("SASL/PLAIN auth for user %s failed" , b .username )
118
118
}
119
- return errors . Wrap ( err , "Failed to read response while authenticating with SASL" )
119
+ return fmt . Errorf ( "failed to read response while authenticating with SASL: %w" , err )
120
120
}
121
121
return nil
122
122
}
@@ -141,7 +141,7 @@ func (b *SASLHandshake) sendAndReceiveHandshake(conn DeadlineReaderWriter) error
141
141
142
142
_ , err = conn .Write (bytes .Join ([][]byte {sizeBuf , reqBuf }, nil ))
143
143
if err != nil {
144
- return errors . Wrap ( err , "Failed to send SASL handshake" )
144
+ return fmt . Errorf ( "failed to send SASL handshake: %w" , err )
145
145
}
146
146
147
147
err = conn .SetReadDeadline (time .Now ().Add (b .readTimeout ))
@@ -153,23 +153,22 @@ func (b *SASLHandshake) sendAndReceiveHandshake(conn DeadlineReaderWriter) error
153
153
header := make ([]byte , 8 ) // response header
154
154
_ , err = io .ReadFull (conn , header )
155
155
if err != nil {
156
- return errors . Wrap ( err , "Failed to read SASL handshake header" )
156
+ return fmt . Errorf ( "failed to read SASL handshake header: %w" , err )
157
157
}
158
158
length := binary .BigEndian .Uint32 (header [:4 ])
159
159
payload := make ([]byte , length - 4 )
160
160
_ , err = io .ReadFull (conn , payload )
161
161
if err != nil {
162
- return errors . Wrap ( err , "Failed to read SASL handshake payload" )
162
+ return fmt . Errorf ( "failed to read SASL handshake payload: %w" , err )
163
163
}
164
164
res := & protocol.SaslHandshakeResponseV0orV1 {}
165
165
err = protocol .Decode (payload , res )
166
166
if err != nil {
167
- return errors . Wrap ( err , "Failed to parse SASL handshake" )
167
+ return fmt . Errorf ( "failed to parse SASL handshake: %w" , err )
168
168
}
169
- if res .Err != protocol .ErrNoError {
170
- return errors . Wrap ( res . Err , "Invalid SASL Mechanism" )
169
+ if ! errors . Is ( res .Err , protocol .ErrNoError ) {
170
+ return fmt . Errorf ( "invalid SASL Mechanism: %w" , res . Err )
171
171
}
172
-
173
172
logrus .Debugf ("Successful SASL handshake. Available mechanisms: %v" , res .EnabledMechanisms )
174
173
return nil
175
174
}
@@ -231,7 +230,7 @@ func (b *SASLOAuthBearerAuth) sendSaslAuthenticateRequest(token string, conn Dea
231
230
232
231
_ , err = conn .Write (bytes .Join ([][]byte {sizeBuf , reqBuf }, nil ))
233
232
if err != nil {
234
- return errors . Wrap ( err , "Failed to send SASL auth request" )
233
+ return fmt . Errorf ( "failed to send SASL auth request: %w" , err )
235
234
}
236
235
237
236
err = conn .SetReadDeadline (time .Now ().Add (b .readTimeout ))
@@ -243,22 +242,22 @@ func (b *SASLOAuthBearerAuth) sendSaslAuthenticateRequest(token string, conn Dea
243
242
header := make ([]byte , 8 ) // response header
244
243
_ , err = io .ReadFull (conn , header )
245
244
if err != nil {
246
- return errors . Wrap ( err , "Failed to read SASL auth header" )
245
+ return fmt . Errorf ( "failed to read SASL auth header: %w" , err )
247
246
}
248
247
length := binary .BigEndian .Uint32 (header [:4 ])
249
248
payload := make ([]byte , length - 4 )
250
249
_ , err = io .ReadFull (conn , payload )
251
250
if err != nil {
252
- return errors . Wrap ( err , "Failed to read SASL auth payload" )
251
+ return fmt . Errorf ( "failed to read SASL auth payload: %w" , err )
253
252
}
254
253
255
254
res := & protocol.SaslAuthenticateResponseV0 {}
256
255
err = protocol .Decode (payload , res )
257
256
if err != nil {
258
- return errors . Wrap ( err , "Failed to parse SASL auth response" )
257
+ return fmt . Errorf ( "failed to parse SASL auth response: %w" , err )
259
258
}
260
- if res .Err != protocol .ErrNoError {
261
- return errors . Wrapf ( res . Err , "SASL authentication failed, error message is '%v'" , res .ErrMsg )
259
+ if ! errors . Is ( res .Err , protocol .ErrNoError ) {
260
+ return fmt . Errorf ( "SASL authentication failed, error message is '%v'" , res .ErrMsg )
262
261
}
263
262
return nil
264
263
}
0 commit comments