mirror of
https://github.com/ScuroNeko/mtg.git
synced 2026-08-31 13:04:02 +03:00
Integrate new fake package and doppel into proxy
This commit is contained in:
@@ -73,7 +73,7 @@ func (suite *ParseClientHello_TLSHeaderTestSuite) TestEmpty() {
|
||||
Once().
|
||||
Return(errors.New("fail"))
|
||||
|
||||
_, err := fake.ReadClientHello(suite.connMock, suite.secret, TolerateTime)
|
||||
_, err := fake.ReadClientHello(suite.connMock, suite.secret.Key[:], suite.secret.Host, TolerateTime)
|
||||
suite.ErrorContains(err, "fail")
|
||||
}
|
||||
|
||||
@@ -84,7 +84,7 @@ func (suite *ParseClientHello_TLSHeaderTestSuite) TestNothing() {
|
||||
Twice().
|
||||
Return(nil)
|
||||
|
||||
_, err := fake.ReadClientHello(suite.connMock, suite.secret, TolerateTime)
|
||||
_, err := fake.ReadClientHello(suite.connMock, suite.secret.Key[:], suite.secret.Host, TolerateTime)
|
||||
suite.ErrorIs(err, io.EOF)
|
||||
}
|
||||
|
||||
@@ -96,7 +96,7 @@ func (suite *ParseClientHello_TLSHeaderTestSuite) TestUnknownRecord() {
|
||||
})
|
||||
suite.readBuf.WriteByte(10)
|
||||
|
||||
_, err := fake.ReadClientHello(suite.connMock, suite.secret, TolerateTime)
|
||||
_, err := fake.ReadClientHello(suite.connMock, suite.secret.Key[:], suite.secret.Host, TolerateTime)
|
||||
suite.ErrorContains(err, "unexpected record type 0xa")
|
||||
}
|
||||
|
||||
@@ -107,7 +107,7 @@ func (suite *ParseClientHello_TLSHeaderTestSuite) TestUnknownProtocolVersion() {
|
||||
0, 0,
|
||||
})
|
||||
|
||||
_, err := fake.ReadClientHello(suite.connMock, suite.secret, TolerateTime)
|
||||
_, err := fake.ReadClientHello(suite.connMock, suite.secret.Key[:], suite.secret.Host, TolerateTime)
|
||||
suite.ErrorContains(err, "unexpected protocol version")
|
||||
}
|
||||
|
||||
@@ -118,7 +118,7 @@ func (suite *ParseClientHello_TLSHeaderTestSuite) TestCannotReadRestOfRecord() {
|
||||
0, 10,
|
||||
})
|
||||
|
||||
_, err := fake.ReadClientHello(suite.connMock, suite.secret, TolerateTime)
|
||||
_, err := fake.ReadClientHello(suite.connMock, suite.secret.Key[:], suite.secret.Host, TolerateTime)
|
||||
suite.ErrorIs(err, io.EOF)
|
||||
}
|
||||
|
||||
@@ -142,7 +142,7 @@ func (suite *ParseClientHelloHandshakeTestSuite) TestCannotReadHeader() {
|
||||
10,
|
||||
})
|
||||
|
||||
_, err := fake.ReadClientHello(suite.connMock, suite.secret, TolerateTime)
|
||||
_, err := fake.ReadClientHello(suite.connMock, suite.secret.Key[:], suite.secret.Host, TolerateTime)
|
||||
suite.ErrorContains(err, "cannot read handshake header")
|
||||
}
|
||||
|
||||
@@ -152,7 +152,7 @@ func (suite *ParseClientHelloHandshakeTestSuite) TestIncorrectHandshakeType() {
|
||||
10, 0, 0, 0,
|
||||
})
|
||||
|
||||
_, err := fake.ReadClientHello(suite.connMock, suite.secret, TolerateTime)
|
||||
_, err := fake.ReadClientHello(suite.connMock, suite.secret.Key[:], suite.secret.Host, TolerateTime)
|
||||
suite.ErrorContains(err, "incorrect handshake type")
|
||||
}
|
||||
|
||||
@@ -162,7 +162,7 @@ func (suite *ParseClientHelloHandshakeTestSuite) TestCannotReadHandshake() {
|
||||
10, 0, 0, 0,
|
||||
})
|
||||
|
||||
_, err := fake.ReadClientHello(suite.connMock, suite.secret, TolerateTime)
|
||||
_, err := fake.ReadClientHello(suite.connMock, suite.secret.Key[:], suite.secret.Host, TolerateTime)
|
||||
suite.ErrorIs(err, io.EOF)
|
||||
}
|
||||
|
||||
@@ -192,14 +192,14 @@ func (suite *ParseClientHelloHandshakeBodyTestSuite) writeBody(body []byte) {
|
||||
func (suite *ParseClientHelloHandshakeBodyTestSuite) TestCannotReadVersion() {
|
||||
suite.writeBody(nil)
|
||||
|
||||
_, err := fake.ReadClientHello(suite.connMock, suite.secret, TolerateTime)
|
||||
_, err := fake.ReadClientHello(suite.connMock, suite.secret.Key[:], suite.secret.Host, TolerateTime)
|
||||
suite.ErrorContains(err, "cannot read client version")
|
||||
}
|
||||
|
||||
func (suite *ParseClientHelloHandshakeBodyTestSuite) TestCannotReadRandom() {
|
||||
suite.writeBody([]byte{3, 3})
|
||||
|
||||
_, err := fake.ReadClientHello(suite.connMock, suite.secret, TolerateTime)
|
||||
_, err := fake.ReadClientHello(suite.connMock, suite.secret.Key[:], suite.secret.Host, TolerateTime)
|
||||
suite.ErrorContains(err, "cannot read client random")
|
||||
}
|
||||
|
||||
@@ -208,7 +208,7 @@ func (suite *ParseClientHelloHandshakeBodyTestSuite) TestCannotReadSessionIDLeng
|
||||
|
||||
suite.writeBody(body)
|
||||
|
||||
_, err := fake.ReadClientHello(suite.connMock, suite.secret, TolerateTime)
|
||||
_, err := fake.ReadClientHello(suite.connMock, suite.secret.Key[:], suite.secret.Host, TolerateTime)
|
||||
suite.ErrorContains(err, "cannot read session ID length")
|
||||
}
|
||||
|
||||
@@ -218,7 +218,7 @@ func (suite *ParseClientHelloHandshakeBodyTestSuite) TestCannotReadSessionID() {
|
||||
|
||||
suite.writeBody(body)
|
||||
|
||||
_, err := fake.ReadClientHello(suite.connMock, suite.secret, TolerateTime)
|
||||
_, err := fake.ReadClientHello(suite.connMock, suite.secret.Key[:], suite.secret.Host, TolerateTime)
|
||||
suite.ErrorContains(err, "cannot read session id")
|
||||
}
|
||||
|
||||
@@ -227,7 +227,7 @@ func (suite *ParseClientHelloHandshakeBodyTestSuite) TestCannotReadCipherSuiteLe
|
||||
|
||||
suite.writeBody(body)
|
||||
|
||||
_, err := fake.ReadClientHello(suite.connMock, suite.secret, TolerateTime)
|
||||
_, err := fake.ReadClientHello(suite.connMock, suite.secret.Key[:], suite.secret.Host, TolerateTime)
|
||||
suite.ErrorContains(err, "cannot read cipher suite length")
|
||||
}
|
||||
|
||||
@@ -236,7 +236,7 @@ func (suite *ParseClientHelloHandshakeBodyTestSuite) TestCannotReadFirstCipherSu
|
||||
|
||||
suite.writeBody(body)
|
||||
|
||||
_, err := fake.ReadClientHello(suite.connMock, suite.secret, TolerateTime)
|
||||
_, err := fake.ReadClientHello(suite.connMock, suite.secret.Key[:], suite.secret.Host, TolerateTime)
|
||||
suite.ErrorContains(err, "cannot read first cipher suite")
|
||||
}
|
||||
|
||||
@@ -246,7 +246,7 @@ func (suite *ParseClientHelloHandshakeBodyTestSuite) TestCannotSkipRemainingCiph
|
||||
|
||||
suite.writeBody(body)
|
||||
|
||||
_, err := fake.ReadClientHello(suite.connMock, suite.secret, TolerateTime)
|
||||
_, err := fake.ReadClientHello(suite.connMock, suite.secret.Key[:], suite.secret.Host, TolerateTime)
|
||||
suite.ErrorContains(err, "cannot skip remaining cipher suites")
|
||||
}
|
||||
|
||||
@@ -256,7 +256,7 @@ func (suite *ParseClientHelloHandshakeBodyTestSuite) TestCannotReadCompressionMe
|
||||
|
||||
suite.writeBody(body)
|
||||
|
||||
_, err := fake.ReadClientHello(suite.connMock, suite.secret, TolerateTime)
|
||||
_, err := fake.ReadClientHello(suite.connMock, suite.secret.Key[:], suite.secret.Host, TolerateTime)
|
||||
suite.ErrorContains(err, "cannot read compression methods length")
|
||||
}
|
||||
|
||||
@@ -267,7 +267,7 @@ func (suite *ParseClientHelloHandshakeBodyTestSuite) TestCannotSkipCompressionMe
|
||||
|
||||
suite.writeBody(body)
|
||||
|
||||
_, err := fake.ReadClientHello(suite.connMock, suite.secret, TolerateTime)
|
||||
_, err := fake.ReadClientHello(suite.connMock, suite.secret.Key[:], suite.secret.Host, TolerateTime)
|
||||
suite.ErrorContains(err, "cannot skip compression methods")
|
||||
}
|
||||
|
||||
@@ -307,70 +307,70 @@ func (suite *ParseClientHelloSNITestSuite) writeExtensions(extensions []byte) {
|
||||
func (suite *ParseClientHelloSNITestSuite) TestCannotReadExtensionsLength() {
|
||||
suite.writeExtensions(nil)
|
||||
|
||||
_, err := fake.ReadClientHello(suite.connMock, suite.secret, TolerateTime)
|
||||
_, err := fake.ReadClientHello(suite.connMock, suite.secret.Key[:], suite.secret.Host, TolerateTime)
|
||||
suite.ErrorContains(err, "cannot read length of TLS extensions")
|
||||
}
|
||||
|
||||
func (suite *ParseClientHelloSNITestSuite) TestCannotReadExtensions() {
|
||||
suite.writeExtensions([]byte{0, 10})
|
||||
|
||||
_, err := fake.ReadClientHello(suite.connMock, suite.secret, TolerateTime)
|
||||
_, err := fake.ReadClientHello(suite.connMock, suite.secret.Key[:], suite.secret.Host, TolerateTime)
|
||||
suite.ErrorContains(err, "cannot read extensions")
|
||||
}
|
||||
|
||||
func (suite *ParseClientHelloSNITestSuite) TestCannotReadExtensionType() {
|
||||
suite.writeExtensions([]byte{0, 1, 0xAB})
|
||||
|
||||
_, err := fake.ReadClientHello(suite.connMock, suite.secret, TolerateTime)
|
||||
_, err := fake.ReadClientHello(suite.connMock, suite.secret.Key[:], suite.secret.Host, TolerateTime)
|
||||
suite.ErrorContains(err, "cannot read extension type")
|
||||
}
|
||||
|
||||
func (suite *ParseClientHelloSNITestSuite) TestCannotReadExtensionLength() {
|
||||
suite.writeExtensions([]byte{0, 2, 0xFF, 0xFF})
|
||||
|
||||
_, err := fake.ReadClientHello(suite.connMock, suite.secret, TolerateTime)
|
||||
_, err := fake.ReadClientHello(suite.connMock, suite.secret.Key[:], suite.secret.Host, TolerateTime)
|
||||
suite.ErrorContains(err, "length:")
|
||||
}
|
||||
|
||||
func (suite *ParseClientHelloSNITestSuite) TestCannotReadExtensionData() {
|
||||
suite.writeExtensions([]byte{0, 4, 0xFF, 0xFF, 0, 5})
|
||||
|
||||
_, err := fake.ReadClientHello(suite.connMock, suite.secret, TolerateTime)
|
||||
_, err := fake.ReadClientHello(suite.connMock, suite.secret.Key[:], suite.secret.Host, TolerateTime)
|
||||
suite.ErrorContains(err, "data: len")
|
||||
}
|
||||
|
||||
func (suite *ParseClientHelloSNITestSuite) TestCannotReadSNIRecordLength() {
|
||||
suite.writeExtensions([]byte{0, 5, 0, 0, 0, 1, 0xAB})
|
||||
|
||||
_, err := fake.ReadClientHello(suite.connMock, suite.secret, TolerateTime)
|
||||
_, err := fake.ReadClientHello(suite.connMock, suite.secret.Key[:], suite.secret.Host, TolerateTime)
|
||||
suite.ErrorContains(err, "cannot read the length of the SNI record")
|
||||
}
|
||||
|
||||
func (suite *ParseClientHelloSNITestSuite) TestCannotReadSNIListType() {
|
||||
suite.writeExtensions([]byte{0, 6, 0, 0, 0, 2, 0, 1})
|
||||
|
||||
_, err := fake.ReadClientHello(suite.connMock, suite.secret, TolerateTime)
|
||||
_, err := fake.ReadClientHello(suite.connMock, suite.secret.Key[:], suite.secret.Host, TolerateTime)
|
||||
suite.ErrorContains(err, "cannot read SNI list type")
|
||||
}
|
||||
|
||||
func (suite *ParseClientHelloSNITestSuite) TestIncorrectSNIListType() {
|
||||
suite.writeExtensions([]byte{0, 7, 0, 0, 0, 3, 0, 1, 5})
|
||||
|
||||
_, err := fake.ReadClientHello(suite.connMock, suite.secret, TolerateTime)
|
||||
_, err := fake.ReadClientHello(suite.connMock, suite.secret.Key[:], suite.secret.Host, TolerateTime)
|
||||
suite.ErrorContains(err, "incorrect SNI list type")
|
||||
}
|
||||
|
||||
func (suite *ParseClientHelloSNITestSuite) TestCannotReadHostnameLength() {
|
||||
suite.writeExtensions([]byte{0, 8, 0, 0, 0, 4, 0, 2, 0, 0xAB})
|
||||
|
||||
_, err := fake.ReadClientHello(suite.connMock, suite.secret, TolerateTime)
|
||||
_, err := fake.ReadClientHello(suite.connMock, suite.secret.Key[:], suite.secret.Host, TolerateTime)
|
||||
suite.ErrorContains(err, "incorrect length of the hostname")
|
||||
}
|
||||
|
||||
func (suite *ParseClientHelloSNITestSuite) TestCannotReadHostname() {
|
||||
suite.writeExtensions([]byte{0, 9, 0, 0, 0, 5, 0, 3, 0, 0, 5})
|
||||
|
||||
_, err := fake.ReadClientHello(suite.connMock, suite.secret, TolerateTime)
|
||||
_, err := fake.ReadClientHello(suite.connMock, suite.secret.Key[:], suite.secret.Host, TolerateTime)
|
||||
suite.ErrorContains(err, "incorrect length of SNI hostname")
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user