summaryrefslogtreecommitdiff
path: root/node/Peer.cpp
AgeCommit message (Collapse)Author
2017-04-27License header update.Adam Ierymenko
2017-04-17Cluster build fix.Adam Ierymenko
2017-04-17Fix for 100% cpu issue.Adam Ierymenko
2017-04-14Fix for cluster handoff.Adam Ierymenko
2017-04-14Significant simplification to path logic.Adam Ierymenko
2017-03-27Fix TRACE and CLUSTER builds.Adam Ierymenko
2017-03-27Add thread PTR that gets passed through the entire ZT core call stack and ↵Adam Ierymenko
then passed to handler functions resulting from a call.
2017-03-01Update how controller handles circuit tests -- save results to filesystem.Adam Ierymenko
2017-03-01ZeroTier now has link quality measurement. We are not using this yet but ↵Adam Ierymenko
decided to put it in to prep for future QoS support and SD-WAN stuff.
2017-03-01Outgoing side of packet counter for link quality reporting. Also some ↵Adam Ierymenko
cleanup and a cluster mode build fix.
2017-02-16When deciding whether to send PUSH_DIRECT_PATHS we should check global trust ↵Adam Ierymenko
flag, not the one passed into receive().
2017-02-13Only accept world updates from upstreams.Adam Ierymenko
2017-02-05Docs, code cleanup, and protect the extra new fields of HELLO with ↵Adam Ierymenko
encryption as a precaution.
2017-02-04Add and send certificates of representation to tell people what our valid ↵Adam Ierymenko
upstreams are. These are not used yet but will be needed for future privacy modes, etc. Also some cleanup.
2017-02-03Slight refactor to RENEDEZVOUS sending code for federation.Adam Ierymenko
2017-01-27Add comments to join ("orbit") moons.Adam Ierymenko
2017-01-27Extend in-band world updates to handle moons too.Adam Ierymenko
2017-01-27Replace piecemeal designation of upstreams with the concept of moons, which ↵Adam Ierymenko
is simpler and easier to use and inherits all the cool live update stuff of worlds (now called planets) and global roots.
2016-11-22Wire through external path lookup. Static paths should now work.Adam Ierymenko
2016-11-22Replace long callback arg list with struct, and implement path whitelisting, ↵Adam Ierymenko
path blacklisting, and local.conf support for roles.
2016-11-09Keep connections up for netconf stuff as well as frames.Adam Ierymenko
2016-09-27Simply network auth logic and always sent error on auth failure even for ↵Adam Ierymenko
unknown networks to prevent forensics.
2016-09-20Refactor COM stuff a bit, and respond to COM requests a bit more readily for ↵Adam Ierymenko
rapid setup. Will need to revisit later.
2016-09-13Implement relay policy, and setting multicast limit to 0 now disables ↵Adam Ierymenko
multicast on the network as would be expected.
2016-09-13Add a few more rate limit gates for anti-DOS hardening.Adam Ierymenko
2016-09-12Rate gate requests for COM.Adam Ierymenko
2016-09-09(1) Public networks now get COMs even though they do not gate with them ↵Adam Ierymenko
since they will need them to push auth for multicast stuff, (2) added a bunch of rate limit circuit breakers for anti-DOS, (3) cleanup.
2016-09-09More refactoring to clean up code, and add a gate function to make sure we ↵Adam Ierymenko
do not handle OK packets we did not expect. This hardens up a few potential edge cases around security, since such messages might be used to e.g. pollute a cache and DOS under certain conditions.
2016-09-07Turns out we do not need to pass network to receive().Adam Ierymenko
2016-09-07Refactor MULTICAST_LIKE pushing to eliminate redundant and unnecessary ↵Adam Ierymenko
pushes and simplify code.
2016-09-07Use ECHO instead of HELLO where possible.Adam Ierymenko
2016-09-07Typo fix.Adam Ierymenko
2016-09-07Bunch more path refactoring. Peers no longer forget paths, but do not ↵Adam Ierymenko
normally use expired paths. Expired paths might still be tried if nothing else is reachable.
2016-09-06Cluster build fix.Adam Ierymenko
2016-09-06(1) fix crazy bug introduced in doRENDEZVOUS(), (2) reclaim Paths after ↵Adam Ierymenko
paths[] condense, (3) fix an edge case around symmetric NAT and external IP change detection.
2016-09-06Rework how paths are set as remote cluster preferred. The code is now ↵Adam Ierymenko
clearer and cluster preference indications are now very sticky as they should be.
2016-09-06comments, docsAdam Ierymenko
2016-09-05More tweaks to path behavior.Adam Ierymenko
2016-09-03Tweaks to new Path code for dual-stack operation, and other fixes.Adam Ierymenko
2016-09-02Cluster sub-optimal is in fact necessary...Adam Ierymenko
2016-09-02Tweaks to path handling...Adam Ierymenko
2016-09-02Tweak some timings.Adam Ierymenko
2016-09-02Rest of big Path canonicalization refactor.Adam Ierymenko
2016-08-24Dead code removal, and get rid of reliable() because we will no longer make ↵Adam Ierymenko
that distinction.
2016-08-24Harden PUSH_DIRECT_PATHS and simplify things by only doing it on receive ↵Adam Ierymenko
when hops>0 and trust has been established.
2016-08-09More cleanup and removal of cruft due to obsolete network-specific relays ↵Adam Ierymenko
(will be replaced with federation stuff).
2016-08-08It builds... almost ready to test some rules engine stuff.Adam Ierymenko
2016-08-05.Adam Ierymenko
2016-08-04.Adam Ierymenko
2016-04-19Cleanup in numerous places, reduce network chattiness around MULTICAST_LIKE, ↵Adam Ierymenko
and fix a "how was that working" latent bug causing some control traffic to take the scenic route.