mirror of
https://github.com/hackdiaz-dev/free-turn-proxy.git
synced 2026-10-12 09:41:53 +02:00
chore: исправить замечания golangci-lint
- wrap_test.go: проверять ошибки newWrapConn/wrapInto во всех тестах - server/wrap.go: nolint на type assertion bufPool (pool New всегда возвращает *[]byte) - captcha/slider.go: обосновать пустой импорт image/jpeg - namegen_test.go: применить закон Де Моргана к условию цикла
This commit is contained in:
@@ -8,7 +8,7 @@ import (
|
||||
"fmt"
|
||||
"image"
|
||||
"image/color"
|
||||
_ "image/jpeg"
|
||||
_ "image/jpeg" // register JPEG decoder for image.Decode
|
||||
"log"
|
||||
"math"
|
||||
mathrand "math/rand"
|
||||
|
||||
@@ -143,7 +143,7 @@ func TestGenerateCoversBothGenders(t *testing.T) {
|
||||
}
|
||||
|
||||
sawMale, sawFemale := false, false
|
||||
for i := 0; i < 5000 && !(sawMale && sawFemale); i++ { //nolint:intrange // need early exit
|
||||
for i := 0; i < 5000 && (!sawMale || !sawFemale); i++ { //nolint:intrange // need early exit
|
||||
n := Generate()
|
||||
first := strings.SplitN(n, " ", 2)[0]
|
||||
if maleSet[first] {
|
||||
|
||||
+28
-7
@@ -60,7 +60,10 @@ func TestWrapConnRoundTrip(t *testing.T) {
|
||||
|
||||
func TestWrapPrefixLenInRange(t *testing.T) {
|
||||
key := bytes.Repeat([]byte{0x42}, wrapKeyLen)
|
||||
wc, _ := newWrapConn(key, false)
|
||||
wc, err := newWrapConn(key, false)
|
||||
if err != nil {
|
||||
t.Fatalf("newWrapConn: %v", err)
|
||||
}
|
||||
payload := []byte("x")
|
||||
|
||||
// Run many trials; every prefix_len must fall in [1..8].
|
||||
@@ -83,8 +86,14 @@ func TestWrapPrefixLenInRange(t *testing.T) {
|
||||
|
||||
func TestWrapDirectionBit(t *testing.T) {
|
||||
key := bytes.Repeat([]byte{0x42}, wrapKeyLen)
|
||||
client, _ := newWrapConn(key, false)
|
||||
server, _ := newWrapConn(key, true)
|
||||
client, err := newWrapConn(key, false)
|
||||
if err != nil {
|
||||
t.Fatalf("newWrapConn(client): %v", err)
|
||||
}
|
||||
server, err := newWrapConn(key, true)
|
||||
if err != nil {
|
||||
t.Fatalf("newWrapConn(server): %v", err)
|
||||
}
|
||||
|
||||
if client.sessionID[0]&0x80 != 0 {
|
||||
t.Fatalf("client sessionID MSB should be 0, got 0x%02X", client.sessionID[0])
|
||||
@@ -120,7 +129,10 @@ func TestDecodeWrapKeyRequiresValidKeyWhenEnabled(t *testing.T) {
|
||||
|
||||
func TestUnwrapRejectsShortPacket(t *testing.T) {
|
||||
key := bytes.Repeat([]byte{0x42}, wrapKeyLen)
|
||||
wc, _ := newWrapConn(key, false)
|
||||
wc, err := newWrapConn(key, false)
|
||||
if err != nil {
|
||||
t.Fatalf("newWrapConn: %v", err)
|
||||
}
|
||||
if _, err := wc.unwrapPacket([]byte("short"), make([]byte, 16)); err == nil {
|
||||
t.Fatalf("unwrapPacket accepted short packet")
|
||||
}
|
||||
@@ -128,12 +140,21 @@ func TestUnwrapRejectsShortPacket(t *testing.T) {
|
||||
|
||||
func TestUnwrapRejectsTamperedPacket(t *testing.T) {
|
||||
key := bytes.Repeat([]byte{0x42}, wrapKeyLen)
|
||||
client, _ := newWrapConn(key, false)
|
||||
server, _ := newWrapConn(key, true)
|
||||
client, err := newWrapConn(key, false)
|
||||
if err != nil {
|
||||
t.Fatalf("newWrapConn(client): %v", err)
|
||||
}
|
||||
server, err := newWrapConn(key, true)
|
||||
if err != nil {
|
||||
t.Fatalf("newWrapConn(server): %v", err)
|
||||
}
|
||||
|
||||
payload := []byte("integrity test")
|
||||
wire := make([]byte, wrapMaxWire(len(payload)))
|
||||
n, _ := client.wrapInto(wire, payload)
|
||||
n, err := client.wrapInto(wire, payload)
|
||||
if err != nil {
|
||||
t.Fatalf("wrapInto: %v", err)
|
||||
}
|
||||
wire = wire[:n]
|
||||
|
||||
// Flip a bit in the ciphertext (past prefix+nonce).
|
||||
|
||||
+2
-2
@@ -107,7 +107,7 @@ type wrapPacketConn struct {
|
||||
}
|
||||
|
||||
func (c *wrapPacketConn) ReadFrom(p []byte) (int, net.Addr, error) {
|
||||
bp := bufPool.Get().(*[]byte)
|
||||
bp := bufPool.Get().(*[]byte) //nolint:errcheck // pool New always returns *[]byte
|
||||
buf := *bp
|
||||
need := len(p) + wrapPrefixMax + wrapNonceLen + wrapTagLen
|
||||
if cap(buf) < need {
|
||||
@@ -150,7 +150,7 @@ func (c *wrapPacketConn) WriteTo(p []byte, addr net.Addr) (int, error) {
|
||||
prefixLen := wrapPrefixMin + int(hdr[0]&0x07)
|
||||
wireLen := prefixLen + wrapNonceLen + len(p) + wrapTagLen
|
||||
|
||||
bp := bufPool.Get().(*[]byte)
|
||||
bp := bufPool.Get().(*[]byte) //nolint:errcheck // pool New always returns *[]byte
|
||||
out := *bp
|
||||
if cap(out) < wireLen {
|
||||
out = make([]byte, wireLen)
|
||||
|
||||
Reference in New Issue
Block a user