summaryrefslogtreecommitdiff
path: root/node/Peer.hpp
AgeCommit message (Collapse)Author
2015-02-17Re-incorporation: ZeroTier Networks -> ZeroTier, Inc. [Delaware]Adam Ierymenko
2015-01-09Add confirmation step to new netconf, with the caveat that it will be ↵Adam Ierymenko
disabled for older netconf servers to avoid race. Also add some comments.
2015-01-05Cleanup, add tristate to config code in Network, and happy new year!Adam Ierymenko
2014-10-21Simplify locking semantics some more to address a deadlock.Adam Ierymenko
2014-10-13Permanently retire peers.persist, but make iddb.d always enabled instead ↵Adam Ierymenko
since identities are what we really want to cache.
2014-10-12Make crypto and compression build optimized in debug, and also try disabling ↵Adam Ierymenko
peers.persist -- might ship this way as it seems more trouble than its worth.
2014-10-11Stop persisting last announcement time since Multicaster is volatile. Also ↵Adam Ierymenko
some more legacy multicast fixes.
2014-10-03Announce multicast group changes on network rescanMulticastGroups()Adam Ierymenko
2014-09-30Multicaster needs to be global, not per-network, and a bunch of other stuff.Adam Ierymenko
2014-09-25.Adam Ierymenko
2014-09-24Rename the ubiquitous _r pointer to RuntimeEnvironment to RR just to be a ↵Adam Ierymenko
little more consistent about using _ to denote private member variables.
2014-09-12Refactoring in progress... pardon our dust...Adam Ierymenko
2014-09-05Rip out dead "firewall opener" code, replace in pipeline with ↵Adam Ierymenko
anti-symmetric-NAT tactics.
2014-08-14(1) distribute default root-topology in new dictionary format, (2) bump peer ↵Adam Ierymenko
serialization version to force obsolescence of old supernodes, (3) stop outputting a log message every time we poll for software updates
2014-08-05(1) Disable firewall openers (its easy to re-enable), (2) Do some prep work ↵Adam Ierymenko
for making supernode topology hot-updatable.
2014-06-30Keep track of basic aliveness for peers regardless if direct or indirect ↵Adam Ierymenko
connectivity and use this for multicast propagation. Also consolidate adding of active bridges via the same functor as regular multicast next hops.
2014-04-18Cleanup, dead code removal, some pretty insignificant security stuff that's ↵Adam Ierymenko
based on recommendations.
2014-04-10More toward GitHub issue #56Adam Ierymenko
2014-04-10Probable fix for GitHub issue #63 - do not unite() if either path is TCP, ↵Adam Ierymenko
since doing so can result in asymmetric failed NAT-t over UDP if one side has a firewall that permits outgoing UDP but not incoming.
2014-04-10More logic cleanup and some documentation / comment improvements.Adam Ierymenko
2014-04-09Yet more cleanup to TCP logic, this time adding a master switch and adding ↵Adam Ierymenko
UDP preference in send().
2014-04-09Some cleanup, and use best (not first) UDP addresses for NAT-t ↵Adam Ierymenko
VERB_RENDEZVOUS computation.
2014-04-03A few more tweaks to TCP failover... seems to be switching back and forth ↵Adam Ierymenko
pretty well now!
2014-04-03Such ping logic. So edge case.Adam Ierymenko
2014-04-02More tweaks to TCP failover logic. Such edge case.Adam Ierymenko
2014-04-01More tweaks to algorithm for determining when to fail over to TCP, and stop ↵Adam Ierymenko
supernodes from resynchronizing unless explicitly ordered.
2014-03-31Clean dead paths from peers.Adam Ierymenko
2014-03-21A few renamings to be consistent.Adam Ierymenko
2014-03-21Builds with new Path code.Adam Ierymenko
2014-03-20Work in progress: refactoring paths, adding TCP fallback.Adam Ierymenko
2014-03-20Reworking of paths in Peer work-in-progress, and TCP connect support in ↵Adam Ierymenko
SocketManager. Also add FD_SETSIZE checking for the default select implementation of sockets.
2014-03-18Everything but the local config bus... blech.Adam Ierymenko
2014-03-17Compile fixes.Adam Ierymenko
2014-02-16Boring stuff: update dates in copyrights across all files.Adam Ierymenko
2014-02-03Yank a code path it turns out we probably don't want.Adam Ierymenko
2014-01-30Bunch of fixes to startup, pinging, and choice of route. Also some TRACE ↵Adam Ierymenko
updates.
2014-01-28Fix for GitHub issue #35 and also possibly partial fix for #29 issues.Adam Ierymenko
2013-12-31Fix several things:Adam Ierymenko
(1) The changes to path learning in the two previous releases were poorly thought out, and this version should remedy that by introducing PROBE. This is basically a kind of ECHO request and is used to authenticate endpoints that are not learned via a valid request/response pair. Thus we will still passively learn endpoints, but securely. (2) Turns out there was a security oversight in _doHELLO() that could have permitted... well... I'm not sure it was exploitable to do anything particularly interesting since a bad identity would be discarded anyway, but fix it just the same.
2013-12-24Fix for GitHub issue #20 (untested)Adam Ierymenko
2013-12-06Dead code removal, fix for cleanup GitHub issue #28Adam Ierymenko
2013-10-21Peers are now dumped on shutdown in a persistence cache and reloaded on ↵Adam Ierymenko
startup, which is good enough for clients right now. Supernodes will get something else for long-term authoritative identity caching.
2013-10-21Get rid of DBM, which technically is a case of YAGNI. Supernodes will need a ↵Adam Ierymenko
way to save identities, but that can be a different feature. Regular clients do not really need a permanent cache (yet). When/if we do need one we can do it then. Until then it only caused problems.
2013-10-05Remove a whole bunch of now-unnecessary cruft from Topology and PacketDecoder.Adam Ierymenko
2013-10-02Clean up some routine stuff like pings, and stop keeping links open forever ↵Adam Ierymenko
even if there are no frames passing between them.
2013-10-02Multicast propagation is now working from non-supernodes, and working quite ↵Adam Ierymenko
well. Time for some more simulation before 0.5.0!
2013-10-01Each peer now tracks the last time it announced multicast LIKEs ↵Adam Ierymenko
independently and does so frequently enough to prevent expires. Also add a multicast debug facility for use on the testnet.
2013-09-24Work in progress...Adam Ierymenko
2013-09-17Get rid of onSent(), which was never used consistently anyway.Adam Ierymenko
2013-09-16New crypto integrated -- going to be testing new identity address generation ↵Adam Ierymenko
algo a bit more before finalizing.
2013-08-30Improve code security posture by replacing sprintf with a safer function.Adam Ierymenko