diff --git a/derp/derp_server.go b/derp/derp_server.go index f85f195a4..30402a332 100644 --- a/derp/derp_server.go +++ b/derp/derp_server.go @@ -1275,7 +1275,7 @@ func (s *Server) AddPacketForwarder(dst key.Public, fwd PacketForwarder) { return } if m, ok := prev.(multiForwarder); ok { - if _, ok := m[fwd]; !ok { + if _, ok := m[fwd]; ok { // Duplicate registration of same forwarder in set; ignore. return } diff --git a/derp/derp_test.go b/derp/derp_test.go index d8dfa714b..1aa45363b 100644 --- a/derp/derp_test.go +++ b/derp/derp_test.go @@ -712,6 +712,7 @@ func TestForwarderRegistration(t *testing.T) { // Adding a dup for a user. wantCounter(&s.multiForwarderCreated, 0) s.AddPacketForwarder(u1, testFwd(100)) + s.AddPacketForwarder(u1, testFwd(100)) // dup to trigger dup path want(map[key.Public]PacketForwarder{ u1: multiForwarder{ testFwd(1): 1,