Browse Source

Update golanci-lint

tags/v2.0.0-rc1
9seconds 5 years ago
parent
commit
585ebfeb50

+ 1
- 1
.github/workflows/ci.yaml View File

@@ -70,7 +70,7 @@ jobs:
70 70
       - name: Run linter
71 71
         uses: golangci/golangci-lint-action@v2
72 72
         with:
73
-          version: v1.37.1
73
+          version: v1.39.0
74 74
 
75 75
   docker:
76 76
     name: Docker

+ 0
- 1
.golangci.toml View File

@@ -3,7 +3,6 @@ concurrency = 4
3 3
 deadline = "2m"
4 4
 tests = true
5 5
 skip-dirs = ["vendor"]
6
-skip-files = ["version.go"]
7 6
 
8 7
 [output]
9 8
 format = "colored-line-number"

+ 1
- 1
Makefile View File

@@ -4,7 +4,7 @@ APP_NAME     := $(IMAGE_NAME)
4 4
 
5 5
 CC_BINARIES  := $(shell bash -c "echo -n $(APP_NAME)-{linux,freebsd,openbsd}-{386,amd64} $(APP_NAME)-linux-{arm,arm64}")
6 6
 
7
-GOLANGCI_LINT_VERSION := v1.37.1
7
+GOLANGCI_LINT_VERSION := v1.39.0
8 8
 
9 9
 VERSION_GO         := $(shell go version)
10 10
 VERSION_DATE       := $(shell date -Ru)

+ 16
- 8
events/event_stream_test.go View File

@@ -46,8 +46,9 @@ func (suite *EventStreamTestSuite) TestEventStart() {
46 46
 			On("EventStart", mock.Anything).
47 47
 			Once().
48 48
 			Run(func(args mock.Arguments) {
49
-				caught := args.Get(0).(mtglib.EventStart)
49
+				caught, ok := args.Get(0).(mtglib.EventStart)
50 50
 
51
+				suite.True(ok)
51 52
 				suite.Equal(evt.RemoteIP.String(), caught.RemoteIP.String())
52 53
 				suite.Equal(evt.StreamID(), caught.StreamID())
53 54
 				suite.Equal(evt.Timestamp(), caught.Timestamp())
@@ -66,8 +67,9 @@ func (suite *EventStreamTestSuite) TestEventConnectedToDC() {
66 67
 			On("EventConnectedToDC", mock.Anything).
67 68
 			Once().
68 69
 			Run(func(args mock.Arguments) {
69
-				caught := args.Get(0).(mtglib.EventConnectedToDC)
70
+				caught, ok := args.Get(0).(mtglib.EventConnectedToDC)
70 71
 
72
+				suite.True(ok)
71 73
 				suite.Equal(evt.RemoteIP.String(), caught.RemoteIP.String())
72 74
 				suite.Equal(evt.StreamID(), caught.StreamID())
73 75
 				suite.Equal(evt.DC, caught.DC)
@@ -87,8 +89,9 @@ func (suite *EventStreamTestSuite) TestEventDomainFronting() {
87 89
 			On("EventDomainFronting", mock.Anything).
88 90
 			Once().
89 91
 			Run(func(args mock.Arguments) {
90
-				caught := args.Get(0).(mtglib.EventDomainFronting)
92
+				caught, ok := args.Get(0).(mtglib.EventDomainFronting)
91 93
 
94
+				suite.True(ok)
92 95
 				suite.Equal(evt.StreamID(), caught.StreamID())
93 96
 				suite.Equal(evt.Timestamp(), caught.Timestamp())
94 97
 			})
@@ -106,8 +109,9 @@ func (suite *EventStreamTestSuite) TestEventTraffic() {
106 109
 			On("EventTraffic", mock.Anything).
107 110
 			Once().
108 111
 			Run(func(args mock.Arguments) {
109
-				caught := args.Get(0).(mtglib.EventTraffic)
112
+				caught, ok := args.Get(0).(mtglib.EventTraffic)
110 113
 
114
+				suite.True(ok)
111 115
 				suite.Equal(evt.StreamID(), caught.StreamID())
112 116
 				suite.Equal(evt.Timestamp(), caught.Timestamp())
113 117
 				suite.Equal(evt.Traffic, caught.Traffic)
@@ -127,8 +131,9 @@ func (suite *EventStreamTestSuite) TestEventFinish() {
127 131
 			On("EventFinish", mock.Anything).
128 132
 			Once().
129 133
 			Run(func(args mock.Arguments) {
130
-				caught := args.Get(0).(mtglib.EventFinish)
134
+				caught, ok := args.Get(0).(mtglib.EventFinish)
131 135
 
136
+				suite.True(ok)
132 137
 				suite.Equal(evt.StreamID(), caught.StreamID())
133 138
 				suite.Equal(evt.Timestamp(), caught.Timestamp())
134 139
 			})
@@ -146,8 +151,9 @@ func (suite *EventStreamTestSuite) TestEventConcurrencyLimited() {
146 151
 			On("EventConcurrencyLimited", mock.Anything).
147 152
 			Once().
148 153
 			Run(func(args mock.Arguments) {
149
-				caught := args.Get(0).(mtglib.EventConcurrencyLimited)
154
+				caught, ok := args.Get(0).(mtglib.EventConcurrencyLimited)
150 155
 
156
+				suite.True(ok)
151 157
 				suite.Equal(evt.Timestamp(), caught.Timestamp())
152 158
 				suite.Empty(evt.StreamID())
153 159
 			})
@@ -165,8 +171,9 @@ func (suite *EventStreamTestSuite) TestEventIPBlocklisted() {
165 171
 			On("EventIPBlocklisted", mock.Anything).
166 172
 			Once().
167 173
 			Run(func(args mock.Arguments) {
168
-				caught := args.Get(0).(mtglib.EventIPBlocklisted)
174
+				caught, ok := args.Get(0).(mtglib.EventIPBlocklisted)
169 175
 
176
+				suite.True(ok)
170 177
 				suite.Equal(evt.StreamID(), caught.StreamID())
171 178
 				suite.Equal(evt.Timestamp(), caught.Timestamp())
172 179
 				suite.Equal(evt.RemoteIP.String(), caught.RemoteIP.String())
@@ -185,8 +192,9 @@ func (suite *EventStreamTestSuite) TestEventReplayAttack() {
185 192
 			On("EventReplayAttack", mock.Anything).
186 193
 			Once().
187 194
 			Run(func(args mock.Arguments) {
188
-				caught := args.Get(0).(mtglib.EventReplayAttack)
195
+				caught, ok := args.Get(0).(mtglib.EventReplayAttack)
189 196
 
197
+				suite.True(ok)
190 198
 				suite.Equal(evt.StreamID(), caught.StreamID())
191 199
 				suite.Equal(evt.Timestamp(), caught.Timestamp())
192 200
 			})

+ 4
- 2
go.mod View File

@@ -9,6 +9,7 @@ require (
9 9
 	github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5
10 10
 	github.com/babolivier/go-doh-client v0.0.0-20201028162107-a76cff4cb8b6
11 11
 	github.com/d4l3k/messagediff v1.2.1 // indirect
12
+	github.com/google/go-cmp v0.5.5 // indirect
12 13
 	github.com/jarcoal/httpmock v1.0.8
13 14
 	github.com/kentik/patricia v0.0.0-20201202224819-f9447a6e25f1
14 15
 	github.com/libp2p/go-reuseport v0.0.2
@@ -23,6 +24,7 @@ require (
23 24
 	github.com/tylertreat/BoomFilters v0.0.0-20200520150052-42a7b4300c0c
24 25
 	github.com/xeipuuv/gojsonschema v1.2.0
25 26
 	golang.org/x/crypto v0.0.0-20210322153248-0c34fe9e7dc2
26
-	golang.org/x/net v0.0.0-20210226172049-e18ecbb05110
27
-	golang.org/x/sys v0.0.0-20210309074719-68d13333faf2
27
+	golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4
28
+	golang.org/x/sys v0.0.0-20210403161142-5e06dd20ab57
29
+	golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 // indirect
28 30
 )

+ 9
- 5
go.sum View File

@@ -102,8 +102,9 @@ github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ
102 102
 github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M=
103 103
 github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
104 104
 github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
105
-github.com/google/go-cmp v0.4.0 h1:xsAVV57WRhGj6kEIi8ReJzQlHHqcBYCElAvkovg3B/4=
106 105
 github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
106
+github.com/google/go-cmp v0.5.5 h1:Khx7svrCpmxxtHBq5j2mp/xVjsi8hQMfNLvJFAlrGgU=
107
+github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
107 108
 github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
108 109
 github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI=
109 110
 github.com/google/uuid v1.0.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
@@ -351,8 +352,9 @@ golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLL
351 352
 golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
352 353
 golang.org/x/net v0.0.0-20190813141303-74dc4d7220e7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
353 354
 golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA=
354
-golang.org/x/net v0.0.0-20210226172049-e18ecbb05110 h1:qWPm9rbaAMKs8Bq/9LRpbMqxWRVUAQwMI9fVrssnTfw=
355 355
 golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
356
+golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4 h1:4nGaVu0QrbjT/AK2PRLuQfQuh6DJve+pELhqTdAj3x0=
357
+golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM=
356 358
 golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
357 359
 golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
358 360
 golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
@@ -383,8 +385,9 @@ golang.org/x/sys v0.0.0-20200615200032-f1bc736245b1/go.mod h1:h1NjWce9XRLGQEsW7w
383 385
 golang.org/x/sys v0.0.0-20200625212154-ddb9806d33ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
384 386
 golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
385 387
 golang.org/x/sys v0.0.0-20201214210602-f9fddec55a1e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
386
-golang.org/x/sys v0.0.0-20210309074719-68d13333faf2 h1:46ULzRKLh1CwgRq2dC5SlBzEqqNCi8rreOZnNrbqcIY=
387
-golang.org/x/sys v0.0.0-20210309074719-68d13333faf2/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
388
+golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
389
+golang.org/x/sys v0.0.0-20210403161142-5e06dd20ab57 h1:F5Gozwx4I1xtr/sr/8CFbb57iKi3297KFs0QDbGN60A=
390
+golang.org/x/sys v0.0.0-20210403161142-5e06dd20ab57/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
388 391
 golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
389 392
 golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
390 393
 golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
@@ -407,8 +410,9 @@ golang.org/x/tools v0.0.0-20191029190741-b9c20aec41a5/go.mod h1:b+2E5dAYhXwXZwtn
407 410
 golang.org/x/tools v0.0.0-20200103221440-774c71fcf114/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
408 411
 golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
409 412
 golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
410
-golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543 h1:E7g+9GITq07hpfrRu66IVDexMakfv52eLZ2CXBWiKr4=
411 413
 golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
414
+golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 h1:go1bK/D/BFZV2I8cIQd1NKEZ+0owSTG1fDTci4IqFcE=
415
+golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
412 416
 google.golang.org/api v0.3.1/go.mod h1:6wY9I6uQWHQ8EM57III9mq/AjF+i8G65rmVagqKMtkk=
413 417
 google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM=
414 418
 google.golang.org/appengine v1.2.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=

+ 1
- 1
internal/cli/access.go View File

@@ -102,7 +102,7 @@ func (c *Access) Execute(cli *CLI) error {
102 102
 
103 103
 func (c *Access) getIP(protocol string) net.IP {
104 104
 	client := c.Network.MakeHTTPClient(func(ctx context.Context, network, address string) (net.Conn, error) {
105
-		return c.Network.DialContext(ctx, protocol, address)
105
+		return c.Network.DialContext(ctx, protocol, address) // nolint: wrapcheck
106 106
 	})
107 107
 
108 108
 	req, err := http.NewRequest(http.MethodGet, "https://ifconfig.co", nil) // nolint: noctx

+ 3
- 3
internal/cli/base.go View File

@@ -62,14 +62,14 @@ func (b *base) makeNetwork(conf *config.Config, version string) (mtglib.Network,
62 62
 
63 63
 	switch len(proxyURLs) {
64 64
 	case 0:
65
-		return network.NewNetwork(baseDialer, userAgent, dohIP, httpTimeout)
65
+		return network.NewNetwork(baseDialer, userAgent, dohIP, httpTimeout) // nolint: wrapcheck
66 66
 	case 1:
67 67
 		socksDialer, err := network.NewSocks5Dialer(baseDialer, proxyURLs[0])
68 68
 		if err != nil {
69 69
 			return nil, fmt.Errorf("cannot build socks5 dialer: %w", err)
70 70
 		}
71 71
 
72
-		return network.NewNetwork(socksDialer, userAgent, dohIP, httpTimeout)
72
+		return network.NewNetwork(socksDialer, userAgent, dohIP, httpTimeout) // nolint: wrapcheck
73 73
 	}
74 74
 
75 75
 	socksDialer, err := network.NewLoadBalancedSocks5Dialer(baseDialer, proxyURLs)
@@ -77,5 +77,5 @@ func (b *base) makeNetwork(conf *config.Config, version string) (mtglib.Network,
77 77
 		return nil, fmt.Errorf("cannot build socks5 dialer: %w", err)
78 78
 	}
79 79
 
80
-	return network.NewNetwork(socksDialer, userAgent, dohIP, httpTimeout)
80
+	return network.NewNetwork(socksDialer, userAgent, dohIP, httpTimeout) // nolint: wrapcheck
81 81
 }

+ 2
- 2
internal/testlib/mtglib_network_mock.go View File

@@ -15,13 +15,13 @@ type MtglibNetworkMock struct {
15 15
 func (m *MtglibNetworkMock) Dial(network, address string) (net.Conn, error) {
16 16
 	args := m.Called(network, address)
17 17
 
18
-	return args.Get(0).(net.Conn), args.Error(1)
18
+	return args.Get(0).(net.Conn), args.Error(1) // nolint: wrapcheck
19 19
 }
20 20
 
21 21
 func (m *MtglibNetworkMock) DialContext(ctx context.Context, network, address string) (net.Conn, error) {
22 22
 	args := m.Called(ctx, network, address)
23 23
 
24
-	return args.Get(0).(net.Conn), args.Error(1)
24
+	return args.Get(0).(net.Conn), args.Error(1) // nolint: wrapcheck
25 25
 }
26 26
 
27 27
 func (m *MtglibNetworkMock) MakeHTTPClient(dialFunc func(ctx context.Context,

+ 4
- 4
internal/testlib/net_conn_mock.go View File

@@ -24,7 +24,7 @@ func (n *NetConnMock) Write(b []byte) (int, error) {
24 24
 }
25 25
 
26 26
 func (n *NetConnMock) Close() error {
27
-	return n.Called().Error(0)
27
+	return n.Called().Error(0) // nolint: wrapcheck
28 28
 }
29 29
 
30 30
 func (n *NetConnMock) LocalAddr() net.Addr {
@@ -36,13 +36,13 @@ func (n *NetConnMock) RemoteAddr() net.Addr {
36 36
 }
37 37
 
38 38
 func (n *NetConnMock) SetDeadline(t time.Time) error {
39
-	return n.Called(t).Error(0)
39
+	return n.Called(t).Error(0) // nolint: wrapcheck
40 40
 }
41 41
 
42 42
 func (n *NetConnMock) SetReadDeadline(t time.Time) error {
43
-	return n.Called(t).Error(0)
43
+	return n.Called(t).Error(0) // nolint: wrapcheck
44 44
 }
45 45
 
46 46
 func (n *NetConnMock) SetWriteDeadline(t time.Time) error {
47
-	return n.Called(t).Error(0)
47
+	return n.Called(t).Error(0) // nolint: wrapcheck
48 48
 }

+ 1
- 3
ipblocklist/firehol.go View File

@@ -68,12 +68,10 @@ func (f *Firehol) Contains(ip net.IP) bool {
68 68
 		return true
69 69
 	}
70 70
 
71
-	ip4 := ip.To4()
72
-
73 71
 	f.rwMutex.RLock()
74 72
 	defer f.rwMutex.RUnlock()
75 73
 
76
-	if ip4 != nil {
74
+	if ip4 := ip.To4(); ip4 != nil {
77 75
 		return f.containsIPv4(ip4)
78 76
 	}
79 77
 

+ 1
- 1
mtglib/conns.go View File

@@ -48,7 +48,7 @@ func (c *connRewind) Read(p []byte) (int, error) {
48 48
 	c.mutex.RLock()
49 49
 	defer c.mutex.RUnlock()
50 50
 
51
-	return c.active.Read(p)
51
+	return c.active.Read(p) // nolint: wrapcheck
52 52
 }
53 53
 
54 54
 func (c *connRewind) Rewind() {

+ 11
- 7
mtglib/conns_internal_test.go View File

@@ -22,7 +22,7 @@ type ConnRewindBaseConn struct {
22 22
 func (c *ConnRewindBaseConn) Read(p []byte) (int, error) {
23 23
 	c.Called(p)
24 24
 
25
-	return c.readBuffer.Read(p)
25
+	return c.readBuffer.Read(p) // nolint: wrapcheck
26 26
 }
27 27
 
28 28
 type ConnTrafficTestSuite struct {
@@ -54,8 +54,9 @@ func (suite *ConnTrafficTestSuite) TestReadOk() {
54 54
 		On("Send", mock.Anything, mock.Anything).
55 55
 		Once().
56 56
 		Run(func(args mock.Arguments) {
57
-			evt := args.Get(1).(EventTraffic)
57
+			evt, ok := args.Get(1).(EventTraffic)
58 58
 
59
+			suite.True(ok)
59 60
 			suite.Equal("CONNID", evt.StreamID())
60 61
 			suite.WithinDuration(time.Now(), evt.Timestamp(), time.Second)
61 62
 			suite.EqualValues(10, evt.Traffic)
@@ -68,13 +69,14 @@ func (suite *ConnTrafficTestSuite) TestReadOk() {
68 69
 	suite.Equal(10, n)
69 70
 }
70 71
 
71
-func (suite *ConnTrafficTestSuite) TestReadErr() {
72
+func (suite *ConnTrafficTestSuite) TestReadErr() { // nolint: dupl
72 73
 	suite.eventStreamMock.
73 74
 		On("Send", mock.Anything, mock.Anything).
74 75
 		Once().
75 76
 		Run(func(args mock.Arguments) {
76
-			evt := args.Get(1).(EventTraffic)
77
+			evt, ok := args.Get(1).(EventTraffic)
77 78
 
79
+			suite.True(ok)
78 80
 			suite.Equal("CONNID", evt.StreamID())
79 81
 			suite.WithinDuration(time.Now(), evt.Timestamp(), time.Second)
80 82
 			suite.EqualValues(10, evt.Traffic)
@@ -108,8 +110,9 @@ func (suite *ConnTrafficTestSuite) TestWriteOk() {
108 110
 		On("Send", mock.Anything, mock.Anything).
109 111
 		Once().
110 112
 		Run(func(args mock.Arguments) {
111
-			evt := args.Get(1).(EventTraffic)
113
+			evt, ok := args.Get(1).(EventTraffic)
112 114
 
115
+			suite.True(ok)
113 116
 			suite.Equal("CONNID", evt.StreamID())
114 117
 			suite.WithinDuration(time.Now(), evt.Timestamp(), time.Second)
115 118
 			suite.EqualValues(10, evt.Traffic)
@@ -122,13 +125,14 @@ func (suite *ConnTrafficTestSuite) TestWriteOk() {
122 125
 	suite.Equal(10, n)
123 126
 }
124 127
 
125
-func (suite *ConnTrafficTestSuite) TestWriteErr() {
128
+func (suite *ConnTrafficTestSuite) TestWriteErr() { // nolint: dupl
126 129
 	suite.eventStreamMock.
127 130
 		On("Send", mock.Anything, mock.Anything).
128 131
 		Once().
129 132
 		Run(func(args mock.Arguments) {
130
-			evt := args.Get(1).(EventTraffic)
133
+			evt, ok := args.Get(1).(EventTraffic)
131 134
 
135
+			suite.True(ok)
132 136
 			suite.Equal("CONNID", evt.StreamID())
133 137
 			suite.WithinDuration(time.Now(), evt.Timestamp(), time.Second)
134 138
 			suite.EqualValues(10, evt.Traffic)

+ 1
- 1
mtglib/internal/faketls/conn.go View File

@@ -32,7 +32,7 @@ func (c *Conn) Read(p []byte) (int, error) {
32 32
 		case record.TypeApplicationData:
33 33
 			rec.Payload.WriteTo(&c.readBuffer) // nolint: errcheck
34 34
 
35
-			return c.readBuffer.Read(p)
35
+			return c.readBuffer.Read(p) // nolint: wrapcheck
36 36
 		case record.TypeChangeCipherSpec:
37 37
 		default:
38 38
 			return 0, fmt.Errorf("unsupported record type %v", rec.Type)

+ 2
- 2
mtglib/internal/faketls/conn_test.go View File

@@ -24,13 +24,13 @@ type ConnMock struct {
24 24
 func (m *ConnMock) Read(p []byte) (int, error) {
25 25
 	m.Called(p)
26 26
 
27
-	return m.readBuffer.Read(p)
27
+	return m.readBuffer.Read(p) // nolint: wrapcheck
28 28
 }
29 29
 
30 30
 func (m *ConnMock) Write(p []byte) (int, error) {
31 31
 	m.Called(p)
32 32
 
33
-	return m.writeBuffer.Write(p)
33
+	return m.writeBuffer.Write(p) // nolint: wrapcheck
34 34
 }
35 35
 
36 36
 type ConnTestSuite struct {

+ 2
- 2
mtglib/internal/faketls/welcome.go View File

@@ -45,8 +45,8 @@ func SendWelcomePacket(writer io.Writer, secret []byte, clientHello ClientHello)
45 45
 	packet := buf.Bytes()
46 46
 	mac := hmac.New(sha256.New, secret)
47 47
 
48
-	mac.Write(clientHello.Random[:]) // nolint: errcheck
49
-	mac.Write(packet)                // nolint: errcheck
48
+	mac.Write(clientHello.Random[:])
49
+	mac.Write(packet)
50 50
 
51 51
 	copy(packet[WelcomePacketRandomOffset:], mac.Sum(nil))
52 52
 

+ 2
- 2
mtglib/internal/faketls/welcome_test.go View File

@@ -70,8 +70,8 @@ func (suite *WelcomeTestSuite) TestOk() {
70 70
 	copy(welcomePacket[11:], empty)
71 71
 
72 72
 	mac := hmac.New(sha256.New, suite.secret.Key[:])
73
-	mac.Write(suite.h.Random[:]) // nolint: errcheck
74
-	mac.Write(welcomePacket)     // nolint: errcheck
73
+	mac.Write(suite.h.Random[:])
74
+	mac.Write(welcomePacket)
75 75
 
76 76
 	suite.Equal(random, mac.Sum(nil))
77 77
 }

+ 4
- 4
mtglib/internal/obfuscated2/client_handshake.go View File

@@ -16,8 +16,8 @@ func (c *clientHandhakeFrame) decryptor(secret []byte) cipher.Stream {
16 16
 	hasher := acquireSha256Hasher()
17 17
 	defer releaseSha256Hasher(hasher)
18 18
 
19
-	hasher.Write(c.key()) // nolint: errcheck
20
-	hasher.Write(secret)  // nolint: errcheck
19
+	hasher.Write(c.key())
20
+	hasher.Write(secret)
21 21
 
22 22
 	return makeAesCtr(hasher.Sum(nil), c.iv())
23 23
 }
@@ -28,8 +28,8 @@ func (c *clientHandhakeFrame) encryptor(secret []byte) cipher.Stream {
28 28
 	hasher := acquireSha256Hasher()
29 29
 	defer releaseSha256Hasher(hasher)
30 30
 
31
-	hasher.Write(invertedHandshake.key()) // nolint: errcheck
32
-	hasher.Write(secret)                  // nolint: errcheck
31
+	hasher.Write(invertedHandshake.key())
32
+	hasher.Write(secret)
33 33
 
34 34
 	return makeAesCtr(hasher.Sum(nil), invertedHandshake.iv())
35 35
 }

+ 6
- 2
mtglib/internal/obfuscated2/client_handshake_test.go View File

@@ -47,14 +47,18 @@ func (suite *ClientHandshakeTestSuite) TestOk() {
47 47
 				Once().
48 48
 				Return(len(snapshot.Decrypted.Text.data), nil).
49 49
 				Run(func(args mock.Arguments) {
50
-					arr := args.Get(0).([]byte)
50
+					arr, ok := args.Get(0).([]byte)
51
+
52
+					suite.True(ok)
51 53
 					copy(arr, snapshot.Decrypted.Cipher.data)
52 54
 				})
53 55
 			connMock.On("Write", mock.Anything).
54 56
 				Once().
55 57
 				Return(len(snapshot.Encrypted.Text.data), nil).
56 58
 				Run(func(args mock.Arguments) {
57
-					arr := args.Get(0).([]byte)
59
+					arr, ok := args.Get(0).([]byte)
60
+
61
+					suite.True(ok)
58 62
 					copy(writeData, arr)
59 63
 				})
60 64
 

+ 1
- 1
mtglib/internal/obfuscated2/conn.go View File

@@ -32,5 +32,5 @@ func (c Conn) Write(p []byte) (int, error) {
32 32
 	payload := buf.Bytes()
33 33
 	c.Encryptor.XORKeyStream(payload, payload)
34 34
 
35
-	return c.Conn.Write(payload)
35
+	return c.Conn.Write(payload) // nolint: wrapcheck
36 36
 }

+ 2
- 2
mtglib/internal/relay/init_test.go View File

@@ -25,7 +25,7 @@ func (r *rwcMock) Read(p []byte) (int, error) {
25 25
 		return 0, io.EOF
26 26
 	}
27 27
 
28
-	return r.Buffer.Read(p)
28
+	return r.Buffer.Read(p) // nolint: wrapcheck
29 29
 }
30 30
 
31 31
 func (r *rwcMock) Write(p []byte) (int, error) {
@@ -36,7 +36,7 @@ func (r *rwcMock) Write(p []byte) (int, error) {
36 36
 		return 0, io.EOF
37 37
 	}
38 38
 
39
-	return r.Buffer.Write(p)
39
+	return r.Buffer.Write(p) // nolint: wrapcheck
40 40
 }
41 41
 
42 42
 func (r *rwcMock) Close() error {

+ 5
- 1
mtglib/internal/relay/pools.go View File

@@ -18,7 +18,11 @@ var relayPool = sync.Pool{
18 18
 func AcquireRelay(ctx context.Context, logger Logger, bufferSize int, idleTimeout time.Duration) *Relay {
19 19
 	ctx, cancel := context.WithCancel(ctx)
20 20
 
21
-	r := relayPool.Get().(*Relay)
21
+	r, ok := relayPool.Get().(*Relay)
22
+	if !ok {
23
+		panic("Relay pool has no relay!")
24
+	}
25
+
22 26
 	r.ctx = ctx
23 27
 	r.ctxCancel = cancel
24 28
 	r.logger = logger

+ 1
- 1
mtglib/stream_context.go View File

@@ -27,7 +27,7 @@ func (s *streamContext) Done() <-chan struct{} {
27 27
 }
28 28
 
29 29
 func (s *streamContext) Err() error {
30
-	return s.ctx.Err()
30
+	return s.ctx.Err() // nolint: wrapcheck
31 31
 }
32 32
 
33 33
 func (s *streamContext) Value(key interface{}) interface{} {

+ 3
- 3
network/circuit_breaker.go View File

@@ -56,7 +56,7 @@ func (c *circuitBreakerDialer) doClosed(ctx context.Context,
56 56
 			conn.Close()
57 57
 		}
58 58
 
59
-		return nil, ctx.Err()
59
+		return nil, ctx.Err() // nolint: wrapcheck
60 60
 	case c.stateMutexChan <- true:
61 61
 		defer func() {
62 62
 			<-c.stateMutexChan
@@ -66,7 +66,7 @@ func (c *circuitBreakerDialer) doClosed(ctx context.Context,
66 66
 	if err == nil {
67 67
 		c.switchState(circuitBreakerStateClosed)
68 68
 
69
-		return conn, err // nolint: wrapcheck
69
+		return conn, nil
70 70
 	}
71 71
 
72 72
 	c.failuresCount++
@@ -91,7 +91,7 @@ func (c *circuitBreakerDialer) doHalfOpened(ctx context.Context, network, addres
91 91
 			conn.Close()
92 92
 		}
93 93
 
94
-		return nil, ctx.Err()
94
+		return nil, ctx.Err() // nolint: wrapcheck
95 95
 	case c.stateMutexChan <- true:
96 96
 		defer func() {
97 97
 			<-c.stateMutexChan

+ 4
- 1
network/default.go View File

@@ -31,7 +31,10 @@ func (d *defaultDialer) DialContext(ctx context.Context, network, address string
31 31
 		return nil, fmt.Errorf("cannot dial to %s: %w", address, err)
32 32
 	}
33 33
 
34
-	tcpConn := conn.(*net.TCPConn)
34
+	tcpConn, ok := conn.(*net.TCPConn)
35
+	if !ok {
36
+		panic("conn type is not tcp")
37
+	}
35 38
 
36 39
 	if err := tcpConn.SetNoDelay(true); err != nil {
37 40
 		conn.Close()

+ 2
- 2
network/init_internal_test.go View File

@@ -14,11 +14,11 @@ type DialerMock struct {
14 14
 func (d *DialerMock) Dial(network, address string) (net.Conn, error) {
15 15
 	args := d.Called(network, address)
16 16
 
17
-	return args.Get(0).(net.Conn), args.Error(1)
17
+	return args.Get(0).(net.Conn), args.Error(1) // nolint: wrapcheck
18 18
 }
19 19
 
20 20
 func (d *DialerMock) DialContext(ctx context.Context, network, address string) (net.Conn, error) {
21 21
 	args := d.Called(ctx, network, address)
22 22
 
23
-	return args.Get(0).(net.Conn), args.Error(1)
23
+	return args.Get(0).(net.Conn), args.Error(1) // nolint: wrapcheck
24 24
 }

+ 2
- 2
network/init_test.go View File

@@ -21,13 +21,13 @@ type DialerMock struct {
21 21
 func (d *DialerMock) Dial(network, address string) (net.Conn, error) {
22 22
 	args := d.Called(network, address)
23 23
 
24
-	return args.Get(0).(net.Conn), args.Error(1)
24
+	return args.Get(0).(net.Conn), args.Error(1) // nolint: wrapcheck
25 25
 }
26 26
 
27 27
 func (d *DialerMock) DialContext(ctx context.Context, network, address string) (net.Conn, error) {
28 28
 	args := d.Called(ctx, network, address)
29 29
 
30
-	return args.Get(0).(net.Conn), args.Error(1)
30
+	return args.Get(0).(net.Conn), args.Error(1) // nolint: wrapcheck
31 31
 }
32 32
 
33 33
 type HTTPServerTestSuite struct {

+ 1
- 1
network/network.go View File

@@ -20,7 +20,7 @@ type networkHTTPTransport struct {
20 20
 func (n networkHTTPTransport) RoundTrip(req *http.Request) (*http.Response, error) {
21 21
 	req.Header.Set("User-Agent", n.userAgent)
22 22
 
23
-	return n.next.RoundTrip(req)
23
+	return n.next.RoundTrip(req) // nolint: wrapcheck
24 24
 }
25 25
 
26 26
 type network struct {

+ 5
- 5
network/proxy_dialer_internal_test.go View File

@@ -21,7 +21,7 @@ func (suite *ProxyDialerTestSuite) SetupSuite() {
21 21
 }
22 22
 
23 23
 func (suite *ProxyDialerTestSuite) TestSetupDefaults() {
24
-	d := newProxyDialer(&DialerMock{}, suite.u).(*circuitBreakerDialer)
24
+	d := newProxyDialer(&DialerMock{}, suite.u).(*circuitBreakerDialer) // nolint: forcetypeassert
25 25
 	suite.EqualValues(ProxyDialerOpenThreshold, d.openThreshold)
26 26
 	suite.EqualValues(ProxyDialerHalfOpenTimeout, d.halfOpenTimeout)
27 27
 	suite.EqualValues(ProxyDialerResetFailuresTimeout, d.resetFailuresTimeout)
@@ -34,7 +34,7 @@ func (suite *ProxyDialerTestSuite) TestSetupValuesAllOk() {
34 34
 	query.Set("half_open_timeout", "2s")
35 35
 	suite.u.RawQuery = query.Encode()
36 36
 
37
-	d := newProxyDialer(&DialerMock{}, suite.u).(*circuitBreakerDialer)
37
+	d := newProxyDialer(&DialerMock{}, suite.u).(*circuitBreakerDialer) // nolint: forcetypeassert
38 38
 	suite.EqualValues(30, d.openThreshold)
39 39
 	suite.EqualValues(2*time.Second, d.halfOpenTimeout)
40 40
 	suite.EqualValues(time.Second, d.resetFailuresTimeout)
@@ -50,7 +50,7 @@ func (suite *ProxyDialerTestSuite) TestOpenThreshold() {
50 50
 			query.Set("open_threshold", param)
51 51
 			suite.u.RawQuery = query.Encode()
52 52
 
53
-			d := newProxyDialer(&DialerMock{}, suite.u).(*circuitBreakerDialer)
53
+			d := newProxyDialer(&DialerMock{}, suite.u).(*circuitBreakerDialer) // nolint: forcetypeassert
54 54
 			assert.EqualValues(t, ProxyDialerOpenThreshold, d.openThreshold)
55 55
 		})
56 56
 	}
@@ -66,7 +66,7 @@ func (suite *ProxyDialerTestSuite) TestHalfOpenTimeout() {
66 66
 			query.Set("half_open_timeout", param)
67 67
 			suite.u.RawQuery = query.Encode()
68 68
 
69
-			d := newProxyDialer(&DialerMock{}, suite.u).(*circuitBreakerDialer)
69
+			d := newProxyDialer(&DialerMock{}, suite.u).(*circuitBreakerDialer) // nolint: forcetypeassert
70 70
 			assert.EqualValues(t, ProxyDialerHalfOpenTimeout, d.halfOpenTimeout)
71 71
 		})
72 72
 	}
@@ -82,7 +82,7 @@ func (suite *ProxyDialerTestSuite) TestResetFailuresTimeout() {
82 82
 			query.Set("reset_failures_timeout", param)
83 83
 			suite.u.RawQuery = query.Encode()
84 84
 
85
-			d := newProxyDialer(&DialerMock{}, suite.u).(*circuitBreakerDialer)
85
+			d := newProxyDialer(&DialerMock{}, suite.u).(*circuitBreakerDialer) // nolint: forcetypeassert
86 86
 			assert.EqualValues(t, ProxyDialerHalfOpenTimeout, d.halfOpenTimeout)
87 87
 		})
88 88
 	}

+ 2
- 2
stats/prometheus.go View File

@@ -158,13 +158,13 @@ func (p *PrometheusFactory) Make() events.Observer {
158 158
 
159 159
 // Serve starts an HTTP server on a given listener.
160 160
 func (p *PrometheusFactory) Serve(listener net.Listener) error {
161
-	return p.httpServer.Serve(listener)
161
+	return p.httpServer.Serve(listener) // nolint: wrapcheck
162 162
 }
163 163
 
164 164
 // Close stops a factory. Please pay attention that underlying listener
165 165
 // is not closed.
166 166
 func (p *PrometheusFactory) Close() error {
167
-	return p.httpServer.Shutdown(context.Background())
167
+	return p.httpServer.Shutdown(context.Background()) // nolint: wrapcheck
168 168
 }
169 169
 
170 170
 // NewPrometheus builds an events.ObserverFactory which can serve HTTP

+ 1
- 1
stats/statsd.go View File

@@ -146,7 +146,7 @@ type StatsdFactory struct {
146 146
 
147 147
 // Close stops sending requests to statsd.
148 148
 func (s StatsdFactory) Close() error {
149
-	return s.client.Close()
149
+	return s.client.Close() // nolint: wrapcheck
150 150
 }
151 151
 
152 152
 // Make build a new observer.

+ 1
- 1
stats/statsd_test.go View File

@@ -30,7 +30,7 @@ func (s *statsdFakeServer) Addr() string {
30 30
 
31 31
 func (s *statsdFakeServer) Close() error {
32 32
 	if s.conn != nil {
33
-		return s.conn.Close()
33
+		return s.conn.Close() // nolint: wrapcheck
34 34
 	}
35 35
 
36 36
 	return nil

Loading…
Cancel
Save