Skip to content

Commit bdb9e74

Browse files
committed
Remove send restriction
The valid peer list should only be applied when receiving new messages. Sending to any node should always be allowed, as this is something that comes from the inside, and we suppose that the protocols are correct. Will need to bump the tag to v3.2.6 for inclusion in cothority
1 parent c2ba2e8 commit bdb9e74

File tree

2 files changed

+0
-40
lines changed

2 files changed

+0
-40
lines changed

network/router.go

-5
Original file line numberDiff line numberDiff line change
@@ -284,11 +284,6 @@ func (r *Router) Stop() error {
284284
// the messages are sent through the same connection and thus are correctly
285285
// ordered.
286286
func (r *Router) Send(e *ServerIdentity, msgs ...Message) (uint64, error) {
287-
if !r.isPeerValid(e) {
288-
return 0, xerrors.Errorf("%v rejecting send to %v: invalid peer",
289-
r.ServerIdentity.ID, e.ID)
290-
}
291-
292287
for _, msg := range msgs {
293288
if msg == nil {
294289
return 0, xerrors.New("cannot send nil-packets")

server_test.go

-35
Original file line numberDiff line numberDiff line change
@@ -48,41 +48,6 @@ func TestServer_Database(t *testing.T) {
4848
c.Close()
4949
}
5050

51-
func TestServer_FilterConnectionsOutgoing(t *testing.T) {
52-
local := NewTCPTest(tSuite)
53-
defer local.CloseAll()
54-
55-
srv := local.GenServers(3)
56-
msg := &SimpleMessage{42}
57-
58-
testPeersID := network.NewPeerSetID([]byte{})
59-
60-
// Initially, messages can be sent freely as there is no restriction
61-
_, err := srv[0].Send(srv[1].ServerIdentity, msg)
62-
require.NoError(t, err)
63-
_, err = srv[1].Send(srv[2].ServerIdentity, msg)
64-
require.NoError(t, err)
65-
_, err = srv[2].Send(srv[0].ServerIdentity, msg)
66-
require.NoError(t, err)
67-
68-
// Set the valid peers of Srv0 to Srv1 only
69-
validPeers := []*network.ServerIdentity{srv[1].ServerIdentity}
70-
srv[0].SetValidPeers(testPeersID, validPeers)
71-
// Now Srv0 can send to Srv1, but not to Srv2
72-
_, err = srv[0].Send(srv[1].ServerIdentity, msg)
73-
require.NoError(t, err)
74-
_, err = srv[0].Send(srv[2].ServerIdentity, msg)
75-
require.Regexp(t, "rejecting.*invalid peer", err.Error())
76-
77-
// Add Srv2 to the valid peers of Srv0
78-
srv[0].SetValidPeers(testPeersID, append(validPeers, srv[2].ServerIdentity))
79-
// Now Srv0 can send to both Srv1 and Srv2
80-
_, err = srv[0].Send(srv[1].ServerIdentity, msg)
81-
require.NoError(t, err)
82-
_, err = srv[0].Send(srv[2].ServerIdentity, msg)
83-
require.NoError(t, err)
84-
}
85-
8651
func TestServer_FilterConnectionsIncomingInvalid(t *testing.T) {
8752
local := NewTCPTest(tSuite)
8853
defer local.CloseAll()

0 commit comments

Comments
 (0)