mirror of
https://github.com/kaspanet/kaspad.git
synced 2025-06-24 15:02:32 +00:00
[NOD-1012] Fix erroneous partial node check (#739)
* [NOD-1012] Fix bad partial node check. * [NOD-1012] Fix unit tests.
This commit is contained in:
parent
a4c1898624
commit
3a22249be9
@ -6,7 +6,6 @@ package peer_test
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
"github.com/kaspanet/kaspad/util/subnetworkid"
|
|
||||||
"net"
|
"net"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
@ -32,7 +31,7 @@ func mockRemotePeer() error {
|
|||||||
UserAgentVersion: "1.0.0", // User agent version to advertise.
|
UserAgentVersion: "1.0.0", // User agent version to advertise.
|
||||||
DAGParams: &dagconfig.SimnetParams,
|
DAGParams: &dagconfig.SimnetParams,
|
||||||
SelectedTipHash: fakeSelectedTipFn,
|
SelectedTipHash: fakeSelectedTipFn,
|
||||||
SubnetworkID: subnetworkid.SubnetworkIDNative,
|
SubnetworkID: nil,
|
||||||
}
|
}
|
||||||
|
|
||||||
// Accept connections on the simnet port.
|
// Accept connections on the simnet port.
|
||||||
@ -92,7 +91,7 @@ func Example_newOutboundPeer() {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
SelectedTipHash: fakeSelectedTipFn,
|
SelectedTipHash: fakeSelectedTipFn,
|
||||||
SubnetworkID: subnetworkid.SubnetworkIDNative,
|
SubnetworkID: nil,
|
||||||
}
|
}
|
||||||
p, err := peer.NewOutboundPeer(peerCfg, "127.0.0.1:18555")
|
p, err := peer.NewOutboundPeer(peerCfg, "127.0.0.1:18555")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
@ -897,10 +897,9 @@ func (p *Peer) handleRemoteVersionMsg(msg *wire.MsgVersion) error {
|
|||||||
return errors.New(reason)
|
return errors.New(reason)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Disconnect from non-native/coinbase subnetworks in networks that don't allow them
|
// Disconnect from partial nodes in networks that don't allow them
|
||||||
if !p.cfg.DAGParams.EnableNonNativeSubnetworks &&
|
if !p.cfg.DAGParams.EnableNonNativeSubnetworks && msg.SubnetworkID != nil {
|
||||||
!msg.SubnetworkID.IsEqual(subnetworkid.SubnetworkIDNative) {
|
return errors.New("partial nodes are not allowed")
|
||||||
return errors.New("non-native subnetworks are not allowed")
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Disconnect if:
|
// Disconnect if:
|
||||||
|
@ -5,7 +5,6 @@
|
|||||||
package peer
|
package peer
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"github.com/kaspanet/kaspad/util/subnetworkid"
|
|
||||||
"io"
|
"io"
|
||||||
"net"
|
"net"
|
||||||
"strconv"
|
"strconv"
|
||||||
@ -224,7 +223,7 @@ func TestPeerConnection(t *testing.T) {
|
|||||||
ProtocolVersion: wire.ProtocolVersion, // Configure with older version
|
ProtocolVersion: wire.ProtocolVersion, // Configure with older version
|
||||||
Services: 0,
|
Services: 0,
|
||||||
SelectedTipHash: fakeSelectedTipFn,
|
SelectedTipHash: fakeSelectedTipFn,
|
||||||
SubnetworkID: subnetworkid.SubnetworkIDNative,
|
SubnetworkID: nil,
|
||||||
}
|
}
|
||||||
outPeerCfg := &Config{
|
outPeerCfg := &Config{
|
||||||
Listeners: MessageListeners{
|
Listeners: MessageListeners{
|
||||||
@ -245,7 +244,7 @@ func TestPeerConnection(t *testing.T) {
|
|||||||
ProtocolVersion: wire.ProtocolVersion + 1,
|
ProtocolVersion: wire.ProtocolVersion + 1,
|
||||||
Services: wire.SFNodeNetwork,
|
Services: wire.SFNodeNetwork,
|
||||||
SelectedTipHash: fakeSelectedTipFn,
|
SelectedTipHash: fakeSelectedTipFn,
|
||||||
SubnetworkID: subnetworkid.SubnetworkIDNative,
|
SubnetworkID: nil,
|
||||||
}
|
}
|
||||||
|
|
||||||
wantStats1 := peerStats{
|
wantStats1 := peerStats{
|
||||||
@ -259,8 +258,8 @@ func TestPeerConnection(t *testing.T) {
|
|||||||
wantLastPingNonce: uint64(0),
|
wantLastPingNonce: uint64(0),
|
||||||
wantLastPingMicros: int64(0),
|
wantLastPingMicros: int64(0),
|
||||||
wantTimeOffset: int64(0),
|
wantTimeOffset: int64(0),
|
||||||
wantBytesSent: 215, // 191 version + 24 verack
|
wantBytesSent: 195, // 171 version + 24 verack
|
||||||
wantBytesReceived: 215,
|
wantBytesReceived: 195,
|
||||||
}
|
}
|
||||||
wantStats2 := peerStats{
|
wantStats2 := peerStats{
|
||||||
wantUserAgent: wire.DefaultUserAgent + "peer:1.0(comment)/",
|
wantUserAgent: wire.DefaultUserAgent + "peer:1.0(comment)/",
|
||||||
@ -273,8 +272,8 @@ func TestPeerConnection(t *testing.T) {
|
|||||||
wantLastPingNonce: uint64(0),
|
wantLastPingNonce: uint64(0),
|
||||||
wantLastPingMicros: int64(0),
|
wantLastPingMicros: int64(0),
|
||||||
wantTimeOffset: int64(0),
|
wantTimeOffset: int64(0),
|
||||||
wantBytesSent: 215, // 191 version + 24 verack
|
wantBytesSent: 195, // 171 version + 24 verack
|
||||||
wantBytesReceived: 215,
|
wantBytesReceived: 195,
|
||||||
}
|
}
|
||||||
|
|
||||||
tests := []struct {
|
tests := []struct {
|
||||||
@ -404,7 +403,7 @@ func TestPeerListeners(t *testing.T) {
|
|||||||
DAGParams: &dagconfig.MainnetParams,
|
DAGParams: &dagconfig.MainnetParams,
|
||||||
Services: wire.SFNodeBloom,
|
Services: wire.SFNodeBloom,
|
||||||
SelectedTipHash: fakeSelectedTipFn,
|
SelectedTipHash: fakeSelectedTipFn,
|
||||||
SubnetworkID: subnetworkid.SubnetworkIDNative,
|
SubnetworkID: nil,
|
||||||
}
|
}
|
||||||
|
|
||||||
outPeerCfg := &Config{}
|
outPeerCfg := &Config{}
|
||||||
@ -521,7 +520,7 @@ func TestOutboundPeer(t *testing.T) {
|
|||||||
UserAgentComments: []string{"comment"},
|
UserAgentComments: []string{"comment"},
|
||||||
DAGParams: &dagconfig.MainnetParams,
|
DAGParams: &dagconfig.MainnetParams,
|
||||||
Services: 0,
|
Services: 0,
|
||||||
SubnetworkID: subnetworkid.SubnetworkIDNative,
|
SubnetworkID: nil,
|
||||||
}
|
}
|
||||||
|
|
||||||
_, p, err := setupPeers(peerCfg, peerCfg)
|
_, p, err := setupPeers(peerCfg, peerCfg)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user