Просмотр исходного кода

Fix lint issues

tags/v2.0.0-rc1
9seconds 5 лет назад
Родитель
Сommit
6d92d5fe21

+ 2
- 2
mtglib/internal/faketls/client_hello.go Просмотреть файл

@@ -44,7 +44,7 @@ func ParseClientHello(secret, handshake []byte) (ClientHello, error) {
44 44
 	// mac is calculated for the whole record, not only
45 45
 	// for the payload part
46 46
 	mac := hmac.New(sha256.New, secret)
47
-	rec.Dump(mac)
47
+	rec.Dump(mac) // nolint: errcheck
48 48
 
49 49
 	computedRandom := mac.Sum(nil)
50 50
 
@@ -64,7 +64,7 @@ func ParseClientHello(secret, handshake []byte) (ClientHello, error) {
64 64
 	hello.SessionID = make([]byte, handshake[ClientHelloSessionIDOffset])
65 65
 	copy(hello.SessionID, handshake[ClientHelloSessionIDOffset+1:])
66 66
 
67
-	cipherSuiteOffset := ClientHelloSessionIDOffset + 1 + len(hello.SessionID) + 2
67
+	cipherSuiteOffset := ClientHelloSessionIDOffset + len(hello.SessionID) + 3 // nolint: gomnd
68 68
 	hello.CipherSuite = binary.BigEndian.Uint16(handshake[cipherSuiteOffset : cipherSuiteOffset+2])
69 69
 
70 70
 	return hello, nil

+ 2
- 0
mtglib/internal/faketls/init.go Просмотреть файл

@@ -13,6 +13,8 @@ const (
13 13
 
14 14
 	HandshakeTypeClient = 0x01
15 15
 	HandshakeTypeServer = 0x02
16
+
17
+	ChangeCipherValue = 0x01
16 18
 )
17 19
 
18 20
 var (

+ 3
- 3
mtglib/internal/faketls/pools.go Просмотреть файл

@@ -12,10 +12,10 @@ var bytesBufferPool = sync.Pool{
12 12
 }
13 13
 
14 14
 func acquireBytesBuffer() *bytes.Buffer {
15
-    return bytesBufferPool.Get().(*bytes.Buffer)
15
+	return bytesBufferPool.Get().(*bytes.Buffer)
16 16
 }
17 17
 
18 18
 func releaseBytesBuffer(b *bytes.Buffer) {
19
-    b.Reset()
20
-    bytesBufferPool.Put(b)
19
+	b.Reset()
20
+	bytesBufferPool.Put(b)
21 21
 }

+ 14
- 10
mtglib/internal/faketls/welcome.go Просмотреть файл

@@ -23,30 +23,30 @@ func SendWelcomePacket(writer io.Writer, secret []byte, clientHello ClientHello)
23 23
 	rec.Version = record.Version12
24 24
 
25 25
 	generateServerHello(&rec.Payload, clientHello)
26
-	rec.Dump(buf)
26
+	rec.Dump(buf) // nolint: errcheck
27 27
 	rec.Reset()
28 28
 
29 29
 	rec.Type = record.TypeChangeCipherSpec
30 30
 	rec.Version = record.Version12
31
-	rec.Payload.WriteByte(0x01)
31
+	rec.Payload.WriteByte(ChangeCipherValue)
32 32
 
33
-	rec.Dump(buf)
33
+	rec.Dump(buf) // nolint: errcheck
34 34
 	rec.Reset()
35 35
 
36 36
 	rec.Type = record.TypeApplicationData
37 37
 	rec.Version = record.Version12
38 38
 
39
-	if _, err := io.CopyN(&rec.Payload, rand.Reader, int64(1024+mrand.Intn(3092))); err != nil {
39
+	if _, err := io.CopyN(&rec.Payload, rand.Reader, int64(1024+mrand.Intn(3092))); err != nil { // nolint: gomnd
40 40
 		panic(err)
41 41
 	}
42 42
 
43
-	rec.Dump(buf)
43
+	rec.Dump(buf) // nolint: errcheck
44 44
 
45 45
 	packet := buf.Bytes()
46 46
 	mac := hmac.New(sha256.New, secret)
47 47
 
48
-	mac.Write(clientHello.Random[:])
49
-	mac.Write(packet)
48
+	mac.Write(clientHello.Random[:]) // nolint: errcheck
49
+	mac.Write(packet)                // nolint: errcheck
50 50
 
51 51
 	copy(packet[WelcomePacketRandomOffset:], mac.Sum(nil))
52 52
 
@@ -75,7 +75,11 @@ func generateServerHello(writer io.Writer, clientHello ClientHello) {
75 75
 	bodyBuf.Write(serverHelloSuffix)
76 76
 
77 77
 	scalar := [32]byte{}
78
-	rand.Read(scalar[:])
78
+
79
+	if _, err := rand.Read(scalar[:]); err != nil {
80
+		panic(err)
81
+	}
82
+
79 83
 	curve, _ := curve25519.X25519(scalar[:], curve25519.Basepoint)
80 84
 	bodyBuf.Write(curve)
81 85
 
@@ -83,6 +87,6 @@ func generateServerHello(writer io.Writer, clientHello ClientHello) {
83 87
 	binary.BigEndian.PutUint32(header[:], uint32(bodyBuf.Len()))
84 88
 	header[0] = HandshakeTypeServer
85 89
 
86
-	writer.Write(header[:])
87
-	bodyBuf.WriteTo(writer)
90
+	writer.Write(header[:]) // nolint: errcheck
91
+	bodyBuf.WriteTo(writer) // nolint: errcheck
88 92
 }

+ 3
- 2
mtglib/proxy.go Просмотреть файл

@@ -4,6 +4,7 @@ import (
4 4
 	"context"
5 5
 	"errors"
6 6
 	"fmt"
7
+	"io"
7 8
 	"net"
8 9
 	"sync"
9 10
 	"time"
@@ -121,7 +122,7 @@ func (p *Proxy) Shutdown() {
121 122
 	p.workerPool.Release()
122 123
 }
123 124
 
124
-func (p *Proxy) doFakeTLSHandshake(ctx *streamContext, conn net.Conn) error {
125
+func (p *Proxy) doFakeTLSHandshake(ctx *streamContext, conn io.ReadWriter) error {
125 126
 	rec := record.AcquireRecord()
126 127
 	defer record.ReleaseRecord(rec)
127 128
 
@@ -202,7 +203,7 @@ func (p *Proxy) doTelegramCall(ctx *streamContext) error {
202 203
 	return nil
203 204
 }
204 205
 
205
-func NewProxy(opts ProxyOpts) (*Proxy, error) { // nolint: cyclop
206
+func NewProxy(opts ProxyOpts) (*Proxy, error) { // nolint: cyclop, funlen
206 207
 	switch {
207 208
 	case opts.Network == nil:
208 209
 		return nil, ErrNetworkIsNotDefined

Загрузка…
Отмена
Сохранить