Skip to content

Commit

Permalink
p2p/discover/v5wire: add tests for invalid handshake and auth data size
Browse files Browse the repository at this point in the history
  • Loading branch information
kiarash8112 committed May 5, 2024
1 parent 86a1f0c commit 7ace53c
Showing 1 changed file with 33 additions and 3 deletions.
36 changes: 33 additions & 3 deletions p2p/discover/v5wire/encoding_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ import (
"testing"

"github.com/davecgh/go-spew/spew"

"github.com/ethereum/go-ethereum/common/hexutil"
"github.com/ethereum/go-ethereum/common/mclock"
"github.com/ethereum/go-ethereum/crypto"
Expand Down Expand Up @@ -283,9 +284,38 @@ func TestDecodeErrorsV5(t *testing.T) {
b = make([]byte, 63)
net.nodeA.expectDecodeErr(t, errInvalidHeader, b)

// TODO some more tests would be nice :)
// - check invalid authdata sizes
// - check invalid handshake data sizes
t.Run("invalid-handshake-datasize", func(t *testing.T) {
requiredNumber := 108

testDataFile := filepath.Join("testdata", "v5.1-ping-handshake"+".txt")
enc := hexFile(testDataFile)
//delete some byte from handshake to make it invalid
enc = enc[:len(enc)-requiredNumber]
net.nodeB.expectDecodeErr(t, errMsgTooShort, enc)
})

t.Run("invalid-auth-datasize", func(t *testing.T) {
testPacket := []byte{}
testDataFiles := []string{"v5.1-whoareyou", "v5.1-ping-handshake"}
for counter, name := range testDataFiles {
file := filepath.Join("testdata", name+".txt")
enc := hexFile(file)
if counter == 0 {
//make whoareyou header
testPacket = enc[:sizeofStaticPacketData-1]
testPacket = append(testPacket, 255)
}
if counter == 1 {
//append invalid auth size
testPacket = append(testPacket, enc[sizeofStaticPacketData:]...)
}
}

wantErr := "invalid auth size"
if _, err := net.nodeB.decode(testPacket); strings.HasSuffix(err.Error(), wantErr) {
t.Fatal(fmt.Errorf("(%s) got err %q, want %q", net.nodeB.ln.ID().TerminalString(), err, wantErr))
}
})
}

// This test checks that all test vectors can be decoded.
Expand Down

0 comments on commit 7ace53c

Please sign in to comment.