Skip to content

Commit 09eba2b

Browse files
committed
Up golangci linter to 1.33 version
1 parent ba8e27f commit 09eba2b

File tree

6 files changed

+34
-20
lines changed

6 files changed

+34
-20
lines changed

.github/workflows/build.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ jobs:
2727
uses: golangci/golangci-lint-action@v2
2828
with:
2929
# Required: the version of golangci-lint is required and must be specified without patch version: we always use the latest patch version.
30-
version: v1.31
30+
version: v1.33
3131

3232
# Optional: working directory, useful for monorepos
3333
# working-directory: somedir

.golangci.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -127,4 +127,5 @@ issues:
127127
- "don't use ALL_CAPS in Go names; use CamelCase" # golint
128128
- "ST1003: should not use ALL_CAPS in Go names; use CamelCase instead" # stylecheck
129129
- "shadow: declaration of \"err\"" # govet
130-
- "`DefaultSettings` is a global variable" # gochecknoglobals
130+
- "DefaultSettings`? is a global variable" # gochecknoglobals
131+
- "are|is missing in" # exhaustivestruct # v1.33

CHANGELOG.md

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,13 @@ All notable changes to this project will be documented in this file.
55

66
## [Unreleased]
77

8+
## [v1.3.1] - 2021-01-06
9+
### Updated
10+
- Updated golangci linter to 1.33 version
11+
12+
### Changed
13+
- Changed errors handling - added wrapping.
14+
815
## [v1.3.0] - 2020-12-02
916
### Fixed
1017
- Fixed wrong number of bytes written in Packet WriteTo function.
@@ -67,7 +74,8 @@ changed.
6774
### Added
6875
- Initial implementation.
6976

70-
[Unreleased]: https://github.com/gorcon/rcon/compare/v1.3.0...HEAD
77+
[Unreleased]: https://github.com/gorcon/rcon/compare/v1.3.1...HEAD
78+
[v1.3.1]: https://github.com/gorcon/rcon/compare/v1.3.0...v1.3.1
7179
[v1.3.0]: https://github.com/gorcon/rcon/compare/v1.2.4...v1.3.0
7280
[v1.2.4]: https://github.com/gorcon/rcon/compare/v1.2.3...v1.2.4
7381
[v1.2.3]: https://github.com/gorcon/rcon/compare/v1.2.2...v1.2.3

packet.go

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ package rcon
33
import (
44
"bytes"
55
"encoding/binary"
6+
"fmt"
67
"io"
78
)
89

@@ -91,7 +92,7 @@ func (packet *Packet) WriteTo(w io.Writer) (n int64, err error) {
9192
// ReadFrom implements io.ReaderFrom for read a packet from r.
9293
func (packet *Packet) ReadFrom(r io.Reader) (n int64, err error) {
9394
if err := binary.Read(r, binary.LittleEndian, &packet.Size); err != nil {
94-
return n, err
95+
return n, fmt.Errorf("rcon: read packet size %w", err)
9596
}
9697

9798
n += 4
@@ -101,13 +102,13 @@ func (packet *Packet) ReadFrom(r io.Reader) (n int64, err error) {
101102
}
102103

103104
if err := binary.Read(r, binary.LittleEndian, &packet.ID); err != nil {
104-
return n, err
105+
return n, fmt.Errorf("rcon: read packet id %w", err)
105106
}
106107

107108
n += 4
108109

109110
if err := binary.Read(r, binary.LittleEndian, &packet.Type); err != nil {
110-
return n, err
111+
return n, fmt.Errorf("rcon: read packet type: %w", err)
111112
}
112113

113114
n += 4
@@ -121,7 +122,7 @@ func (packet *Packet) ReadFrom(r io.Reader) (n int64, err error) {
121122
var m int
122123

123124
if m, err = r.Read(packet.body[i:]); err != nil {
124-
return n + int64(m) + int64(i), err
125+
return n + int64(m) + int64(i), fmt.Errorf("rcon: %w", err)
125126
}
126127

127128
i += int32(m)

rcon.go

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -104,18 +104,19 @@ func Dial(address string, password string, options ...Option) (*Conn, error) {
104104
conn, err := net.DialTimeout("tcp", address, settings.dialTimeout)
105105
if err != nil {
106106
// Failed to open TCP connection to the server.
107-
return nil, err
107+
return nil, fmt.Errorf("rcon: %w", err)
108108
}
109109

110110
client := Conn{conn: conn, settings: settings}
111111

112112
if err := client.auth(password); err != nil {
113113
// Failed to auth conn with the server.
114114
if err2 := client.Close(); err2 != nil {
115+
//nolint:errorlint // TODO: Come up with the better wrapping
115116
return &client, fmt.Errorf("%w: %v. Previous error: %v", ErrMultiErrorOccurred, err2, err)
116117
}
117118

118-
return &client, err
119+
return &client, fmt.Errorf("rcon: %w", err)
119120
}
120121

121122
return &client, nil
@@ -174,7 +175,7 @@ func (c *Conn) auth(password string) error {
174175

175176
if c.settings.deadline != 0 {
176177
if err := c.conn.SetReadDeadline(time.Now().Add(c.settings.deadline)); err != nil {
177-
return err
178+
return fmt.Errorf("rcon: %w", err)
178179
}
179180
}
180181

@@ -200,7 +201,7 @@ func (c *Conn) auth(password string) error {
200201
// We must to read response body.
201202
buffer := make([]byte, response.Size-PacketHeaderSize)
202203
if _, err := c.conn.Read(buffer); err != nil {
203-
return err
204+
return fmt.Errorf("rcon: %w", err)
204205
}
205206

206207
if response.Type != SERVERDATA_AUTH_RESPONSE {
@@ -222,7 +223,7 @@ func (c *Conn) auth(password string) error {
222223
func (c *Conn) write(packetType int32, packetID int32, command string) error {
223224
if c.settings.deadline != 0 {
224225
if err := c.conn.SetWriteDeadline(time.Now().Add(c.settings.deadline)); err != nil {
225-
return err
226+
return fmt.Errorf("rcon: %w", err)
226227
}
227228
}
228229

@@ -236,7 +237,7 @@ func (c *Conn) write(packetType int32, packetID int32, command string) error {
236237
func (c *Conn) read() (*Packet, error) {
237238
if c.settings.deadline != 0 {
238239
if err := c.conn.SetReadDeadline(time.Now().Add(c.settings.deadline)); err != nil {
239-
return nil, err
240+
return nil, fmt.Errorf("rcon: %w", err)
240241
}
241242
}
242243

@@ -270,15 +271,15 @@ func (c *Conn) read() (*Packet, error) {
270271
func (c *Conn) readHeader() (Packet, error) {
271272
var packet Packet
272273
if err := binary.Read(c.conn, binary.LittleEndian, &packet.Size); err != nil {
273-
return packet, err
274+
return packet, fmt.Errorf("rcon: read packet size: %w", err)
274275
}
275276

276277
if err := binary.Read(c.conn, binary.LittleEndian, &packet.ID); err != nil {
277-
return packet, err
278+
return packet, fmt.Errorf("rcon: read packet id: %w", err)
278279
}
279280

280281
if err := binary.Read(c.conn, binary.LittleEndian, &packet.Type); err != nil {
281-
return packet, err
282+
return packet, fmt.Errorf("rcon: read packet type: %w", err)
282283
}
283284

284285
return packet, nil

rcontest/server.go

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
package rcontest
33

44
import (
5+
"errors"
56
"fmt"
67
"io"
78
"net"
@@ -144,9 +145,11 @@ func (s *Server) Addr() string {
144145
func (s *Server) NewContext(conn net.Conn) (*Context, error) {
145146
ctx := Context{server: s, conn: conn, request: &rcon.Packet{}}
146147

147-
_, err := ctx.request.ReadFrom(conn)
148+
if _, err := ctx.request.ReadFrom(conn); err != nil {
149+
return &ctx, fmt.Errorf("rcontest: %w", err)
150+
}
148151

149-
return &ctx, err
152+
return &ctx, nil
150153
}
151154

152155
// serve handles incoming requests until a stop signal is given with Close.
@@ -155,7 +158,7 @@ func (s *Server) serve() {
155158
conn, err := s.Listener.Accept()
156159
if err != nil {
157160
if s.isRunning() {
158-
panic(fmt.Errorf("serve error: %w", err))
161+
panic(fmt.Errorf("rcontest: %w", err))
159162
}
160163

161164
return
@@ -192,7 +195,7 @@ func (s *Server) handle(conn net.Conn) {
192195
for {
193196
ctx, err := s.NewContext(conn)
194197
if err != nil {
195-
if err != io.EOF {
198+
if !errors.Is(err, io.EOF) {
196199
panic(fmt.Errorf("failed read request: %w", err))
197200
}
198201

0 commit comments

Comments
 (0)