Have a noise of variable size

This commit is contained in:
9seconds
2026-03-13 16:39:16 +01:00
parent 45b0964afd
commit b35c212d65
2 changed files with 8 additions and 4 deletions
+5 -2
View File
@@ -7,14 +7,16 @@ import (
"crypto/sha256"
"encoding/binary"
"io"
"math"
rnd "math/rand/v2"
"github.com/9seconds/mtg/v2/mtglib/internal/doppel"
"github.com/9seconds/mtg/v2/mtglib/internal/tls"
"golang.org/x/crypto/curve25519"
)
const (
TypeHandshakeServer = 0x02
ChangeCipherValue = 0x01
EllipticCurveLen = 32
@@ -125,7 +127,8 @@ func generateChangeCipherValue(buf *bytes.Buffer) {
}
func generateNoise(buf *bytes.Buffer) {
data := [1369]byte{}
minSize := int(math.Round(0.75 * float64(doppel.TLSRecordSizeMax)))
data := make([]byte, minSize+rnd.IntN(doppel.TLSRecordSizeMax-minSize))
if _, err := rand.Read(data[:]); err != nil {
panic(err)
+2 -1
View File
@@ -8,6 +8,7 @@ import (
"testing"
"github.com/9seconds/mtg/v2/mtglib"
"github.com/9seconds/mtg/v2/mtglib/internal/doppel"
"github.com/9seconds/mtg/v2/mtglib/internal/tls"
"github.com/9seconds/mtg/v2/mtglib/internal/tls/fake"
"github.com/stretchr/testify/suite"
@@ -58,7 +59,7 @@ func (suite *SendServerHelloTestSuite) TestRecordStructure() {
recordType, length, err := tls.ReadRecord(suite.buf, &rec)
suite.NoError(err)
suite.Equal(byte(tls.TypeApplicationData), recordType)
suite.Equal(int64(1369), length)
suite.Greater(length, int64(doppel.TLSRecordSizeStart))
suite.Empty(suite.buf.Bytes())
}