Commit Graph

656 Commits

Author SHA1 Message Date
Dirk McCormick 4e15efdd6f test: GRAFT spam and GRAFT backoff tests 2020-04-20 19:53:12 +03:00
Dirk McCormick a5addee5a0 test: add IWANT spam test 2020-04-20 19:53:12 +03:00
vyzo 34f2295c19 add protections from IHAVE floods 2020-04-20 19:53:12 +03:00
vyzo 1645516276 add protections from GRAFT floods 2020-04-20 19:53:12 +03:00
vyzo ea5d2e6d6d gomod tidy 2020-04-18 11:09:06 +03:00
vyzo 1e920ed426 fix IPv4 -vs- IPv6 address handling in peer address tracking 2020-04-18 11:09:06 +03:00
vyzo 432caf4fdf more rigorously defeat unspecified address gremlins 2020-04-18 11:09:06 +03:00
vyzo 0a9a87cf04 fix issue with unspecific IPv6 addrs in conn IP tracking
Also, don't track loopback addrs.
2020-04-18 11:09:06 +03:00
vyzo 3016a1c9a9 gomod: update go-multiaddr-net 2020-04-18 11:09:06 +03:00
vyzo e1d6b49b2d fix bug in peerScore.setIPs
It was removing all old addresses, not just the ones in the new addres slice
2020-04-18 11:09:06 +03:00
vyzo 3368bed1d4 disable flaky and irrelevant tests 2020-04-18 11:09:06 +03:00
vyzo 9904d69cde configurable number of peers for opportunistic grafting 2020-04-18 11:09:06 +03:00
vyzo 6732f9848b fix typo
Co-Authored-By: Raúl Kripalani <raul@protocol.ai>
2020-04-18 11:09:06 +03:00
vyzo 8a53469c43 fix typo
Co-Authored-By: Raúl Kripalani <raul@protocol.ai>
2020-04-18 11:09:06 +03:00
vyzo 2fdf6cdaed opportunistic grafting 2020-04-18 11:09:06 +03:00
vyzo 8e969ba29e use a configurable variable for direct peer reconnect ticks 2020-04-18 11:09:06 +03:00
vyzo f97d151aec eagerly send gossip at the end heartbeat
instead of trying to piggyback with outgoing messages
2020-04-18 11:09:06 +03:00
Raúl Kripalani fc38f556a3 comments and nits. 2020-04-18 11:09:06 +03:00
vyzo 8809484a47 support direct peering agreements 2020-04-18 11:09:06 +03:00
vyzo bcff5f20a6 update REAMDE 2020-04-18 11:09:06 +03:00
vyzo 8f3471cdfd correctly attribute invalid message deliveries due to self origin rejection 2020-04-18 11:09:06 +03:00
vyzo 97519bf76c better handling of message originating from self but forwarded by another peer 2020-04-18 11:09:06 +03:00
vyzo ce3da3facd move self-publish check to pubsub 2020-04-18 11:09:06 +03:00
vyzo a1488680e7 rename delivery_ constants to satisfy the camelcase worshipers and nitpickers 2020-04-18 11:09:06 +03:00
vyzo 1c4f0920fe use named constants for tracing message rejection reasons 2020-04-18 11:09:06 +03:00
vyzo ea7305245d add IP whitelist for colocation factor penalty 2020-04-18 11:09:06 +03:00
vyzo 68b86a4b66 use manet.ToIP instead of hand-rolling multiaddr to IP conversion 2020-04-18 11:09:06 +03:00
vyzo 95094393a8 gomod: use go-multiaddr-net v0.1.3 2020-04-18 11:09:06 +03:00
vyzo ea314605d3 don't forward messages with source ourselves but not published by ourselves
per stebalien's request.
2020-04-18 11:09:06 +03:00
vyzo 0cab7f5e59 increase connection manager weight for mesh peers 2020-04-18 11:09:06 +03:00
vyzo 7a3848073e only retain negative scores 2020-04-18 11:09:06 +03:00
vyzo c65a520799 topic score cap 2020-04-18 11:09:06 +03:00
vyzo 65cff1b421 godoc nits for parameter weights. 2020-04-18 11:09:06 +03:00
vyzo bb279e3126 wrap topic param validation error 2020-04-18 11:09:06 +03:00
vyzo 1b387b0068 rename score debug option, address some comments around inspection
- Use nil for the never fire channel when there is no inspection
- Defer a score inspection for shutdown to get one final sample on shutdown
2020-04-18 11:09:06 +03:00
vyzo adad40c764 reraise GossipSubPrunePeers to 16
so that bootstrappers can give us a good enough chunk of peers to connect to.
2020-04-18 11:09:06 +03:00
vyzo 71ab9c1d73 use a struct for aggregating score thresholds 2020-04-18 11:09:06 +03:00
vyzo f6f34cfc99 make PX optional and disabled by default, gate by acceptPXThreshold 2020-04-18 11:09:06 +03:00
vyzo 375b66b0c1 move score parameter types to their own file 2020-04-18 11:09:06 +03:00
vyzo 9fc2fb1de1 gomod tidy 2020-04-18 11:09:06 +03:00
vyzo 8a5114c127 fix rebase artifacts 2020-04-18 11:09:06 +03:00
vyzo 90e6984148 track heartbeat ticks, only clear backoff every 15. 2020-04-18 11:09:06 +03:00
vyzo f70dcbe77c check exact expiration date of backoff when pruning because of backoff 2020-04-18 11:09:06 +03:00
vyzo 6bcaacd74b add backoff when pruning because of negative score 2020-04-18 11:09:06 +03:00
vyzo 15d204cc14 refresh backoff when pruning during the backoff period 2020-04-18 11:09:06 +03:00
vyzo d0979258f7 shuffle IWANT list 2020-04-18 11:09:06 +03:00
vyzo 588f7b85c0 add option to periodically inspect peer scores for debugging purposes 2020-04-18 11:09:06 +03:00
vyzo 244a39f419 validate the threshold values 2020-04-18 11:09:06 +03:00
vyzo d5e432a62b move score starting nil check inside the score implementation 2020-04-18 11:09:06 +03:00
vyzo ff89a0e619 short-circuit score computation in peer selection filters 2020-04-18 11:09:06 +03:00