From 69868db8cf4a2e9c54b3fe52ba25bba837db99b4 Mon Sep 17 00:00:00 2001 From: vyzo Date: Tue, 9 Feb 2021 10:23:47 +0200 Subject: [PATCH] remove obsolete explicit IP whitelisting in favor of subnets --- score.go | 9 ++------- score_params.go | 7 +++---- score_test.go | 12 ++++++------ 3 files changed, 11 insertions(+), 17 deletions(-) diff --git a/score.go b/score.go index 31c9f474..8fdb66d9 100644 --- a/score.go +++ b/score.go @@ -338,14 +338,9 @@ func (ps *peerScore) ipColocationFactor(p peer.ID) float64 { var result float64 loop: for _, ip := range pstats.ips { - _, whitelisted := ps.params.IPColocationFactorWhitelist[ip] - if whitelisted { - continue - } - - if len(ps.params.IPColocationFactorWhitelistSubnets) > 0 { + if len(ps.params.IPColocationFactorWhitelist) > 0 { ipObj := net.ParseIP(ip) - for _, ipNet := range ps.params.IPColocationFactorWhitelistSubnets { + for _, ipNet := range ps.params.IPColocationFactorWhitelist { if ipNet.Contains(ipObj) { continue loop } diff --git a/score_params.go b/score_params.go index 44c69bdf..e70d3c84 100644 --- a/score_params.go +++ b/score_params.go @@ -70,10 +70,9 @@ type PeerScoreParams struct { // The weight of the parameter MUST be negative, unless you want to disable for testing. // Note: In order to simulate many IPs in a managable manner when testing, you can set the weight to 0 // thus disabling the IP colocation penalty. - IPColocationFactorWeight float64 - IPColocationFactorThreshold int - IPColocationFactorWhitelist map[string]struct{} - IPColocationFactorWhitelistSubnets []*net.IPNet + IPColocationFactorWeight float64 + IPColocationFactorThreshold int + IPColocationFactorWhitelist []*net.IPNet // P7: behavioural pattern penalties. // This parameter has an associated counter which tracks misbehaviour as detected by the diff --git a/score_test.go b/score_test.go index c5d7dbdd..76d95bfd 100644 --- a/score_test.go +++ b/score_test.go @@ -743,7 +743,7 @@ func TestScoreIPColocation(t *testing.T) { } } -func TestScoreIPColocationWhitelistSubnet(t *testing.T) { +func TestScoreIPColocationWhitelist(t *testing.T) { // Create parameters with reasonable default values mytopic := "mytopic" @@ -753,11 +753,11 @@ func TestScoreIPColocationWhitelistSubnet(t *testing.T) { } params := &PeerScoreParams{ - AppSpecificScore: func(peer.ID) float64 { return 0 }, - IPColocationFactorThreshold: 1, - IPColocationFactorWeight: -1, - IPColocationFactorWhitelistSubnets: []*net.IPNet{ipNet}, - Topics: make(map[string]*TopicScoreParams), + AppSpecificScore: func(peer.ID) float64 { return 0 }, + IPColocationFactorThreshold: 1, + IPColocationFactorWeight: -1, + IPColocationFactorWhitelist: []*net.IPNet{ipNet}, + Topics: make(map[string]*TopicScoreParams), } peerA := peer.ID("A")