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

Fix lint issues

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

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

44
 	// mac is calculated for the whole record, not only
44
 	// mac is calculated for the whole record, not only
45
 	// for the payload part
45
 	// for the payload part
46
 	mac := hmac.New(sha256.New, secret)
46
 	mac := hmac.New(sha256.New, secret)
47
-	rec.Dump(mac)
47
+	rec.Dump(mac) // nolint: errcheck
48
 
48
 
49
 	computedRandom := mac.Sum(nil)
49
 	computedRandom := mac.Sum(nil)
50
 
50
 
64
 	hello.SessionID = make([]byte, handshake[ClientHelloSessionIDOffset])
64
 	hello.SessionID = make([]byte, handshake[ClientHelloSessionIDOffset])
65
 	copy(hello.SessionID, handshake[ClientHelloSessionIDOffset+1:])
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
 	hello.CipherSuite = binary.BigEndian.Uint16(handshake[cipherSuiteOffset : cipherSuiteOffset+2])
68
 	hello.CipherSuite = binary.BigEndian.Uint16(handshake[cipherSuiteOffset : cipherSuiteOffset+2])
69
 
69
 
70
 	return hello, nil
70
 	return hello, nil

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

13
 
13
 
14
 	HandshakeTypeClient = 0x01
14
 	HandshakeTypeClient = 0x01
15
 	HandshakeTypeServer = 0x02
15
 	HandshakeTypeServer = 0x02
16
+
17
+	ChangeCipherValue = 0x01
16
 )
18
 )
17
 
19
 
18
 var (
20
 var (

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

12
 }
12
 }
13
 
13
 
14
 func acquireBytesBuffer() *bytes.Buffer {
14
 func acquireBytesBuffer() *bytes.Buffer {
15
-    return bytesBufferPool.Get().(*bytes.Buffer)
15
+	return bytesBufferPool.Get().(*bytes.Buffer)
16
 }
16
 }
17
 
17
 
18
 func releaseBytesBuffer(b *bytes.Buffer) {
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
 	rec.Version = record.Version12
23
 	rec.Version = record.Version12
24
 
24
 
25
 	generateServerHello(&rec.Payload, clientHello)
25
 	generateServerHello(&rec.Payload, clientHello)
26
-	rec.Dump(buf)
26
+	rec.Dump(buf) // nolint: errcheck
27
 	rec.Reset()
27
 	rec.Reset()
28
 
28
 
29
 	rec.Type = record.TypeChangeCipherSpec
29
 	rec.Type = record.TypeChangeCipherSpec
30
 	rec.Version = record.Version12
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
 	rec.Reset()
34
 	rec.Reset()
35
 
35
 
36
 	rec.Type = record.TypeApplicationData
36
 	rec.Type = record.TypeApplicationData
37
 	rec.Version = record.Version12
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
 		panic(err)
40
 		panic(err)
41
 	}
41
 	}
42
 
42
 
43
-	rec.Dump(buf)
43
+	rec.Dump(buf) // nolint: errcheck
44
 
44
 
45
 	packet := buf.Bytes()
45
 	packet := buf.Bytes()
46
 	mac := hmac.New(sha256.New, secret)
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
 	copy(packet[WelcomePacketRandomOffset:], mac.Sum(nil))
51
 	copy(packet[WelcomePacketRandomOffset:], mac.Sum(nil))
52
 
52
 
75
 	bodyBuf.Write(serverHelloSuffix)
75
 	bodyBuf.Write(serverHelloSuffix)
76
 
76
 
77
 	scalar := [32]byte{}
77
 	scalar := [32]byte{}
78
-	rand.Read(scalar[:])
78
+
79
+	if _, err := rand.Read(scalar[:]); err != nil {
80
+		panic(err)
81
+	}
82
+
79
 	curve, _ := curve25519.X25519(scalar[:], curve25519.Basepoint)
83
 	curve, _ := curve25519.X25519(scalar[:], curve25519.Basepoint)
80
 	bodyBuf.Write(curve)
84
 	bodyBuf.Write(curve)
81
 
85
 
83
 	binary.BigEndian.PutUint32(header[:], uint32(bodyBuf.Len()))
87
 	binary.BigEndian.PutUint32(header[:], uint32(bodyBuf.Len()))
84
 	header[0] = HandshakeTypeServer
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
 	"context"
4
 	"context"
5
 	"errors"
5
 	"errors"
6
 	"fmt"
6
 	"fmt"
7
+	"io"
7
 	"net"
8
 	"net"
8
 	"sync"
9
 	"sync"
9
 	"time"
10
 	"time"
121
 	p.workerPool.Release()
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
 	rec := record.AcquireRecord()
126
 	rec := record.AcquireRecord()
126
 	defer record.ReleaseRecord(rec)
127
 	defer record.ReleaseRecord(rec)
127
 
128
 
202
 	return nil
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
 	switch {
207
 	switch {
207
 	case opts.Network == nil:
208
 	case opts.Network == nil:
208
 		return nil, ErrNetworkIsNotDefined
209
 		return nil, ErrNetworkIsNotDefined

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