77 Commits (eb79d4a2f34b34c49cd2d69efac22d9bc8ac27cb)

Author SHA1 Message Date
Adam Ierymenko eb79d4a2f3 Wire up peer announcement in cluster. 11 years ago
Adam Ierymenko 69dad37d8f Restore default World for commit to upstream 11 years ago
Adam Ierymenko 95953b48f9 Do not allow VERB_RENDEZVOUS from non-upstream peers to block potential DOS vector. 11 years ago
Adam Ierymenko aa6e3c79a0 Some test stuff that will not be pushed elsewhere. 11 years ago
Adam Ierymenko f9f60f89d9 Peer save/restore fix. 11 years ago
Adam Ierymenko 59389b3dce Untested cluster code, not enabled. 11 years ago
Adam Ierymenko 619e113748 Work in progress on Cluster for new root infrastructure, multi-homing. 11 years ago
Adam Ierymenko e268d9492a cleanup 11 years ago
Adam Ierymenko 5d2f523e81 World stuff... 11 years ago
Adam Ierymenko cae58f43f1 More World stuff, and mkworld. 11 years ago
Adam Ierymenko 1b1945c63e Work in progress on refactoring root-topology into World and adding in-band updates. 11 years ago
Adam Ierymenko 5384f185ae Simplify Dictionary and reduce memory usage, now no more std::maps in core. 11 years ago
Adam Ierymenko 76a95dc58f The return of peer peristence. 11 years ago
Adam Ierymenko a3db7d0728 Refactor: move network COMs out of Network and into Peer in prep for tightening up multicast lookup and other things. 11 years ago
Adam Ierymenko f69454ec98 (1) Make ZT_ naming convention consistent (get rid of ZT1_), (2) Make local interface a full sockaddr_storage instead of an int identifier, which turns out to be better for multi-homing and other uses. 11 years ago
Adam Ierymenko 367ffde00c Plumb through localInterfaceId to track local interfaces corresponding with remote addresses. 11 years ago
Adam Ierymenko 3a959a7763 Swap out std::map<> for Hashtable<> for main peer database in Topology. (ongoing std::map-ectomy) 11 years ago
Adam Ierymenko 93bb934d4e Some cleanup, docs, and Path -> Path > RemotePath refactor. 11 years ago
Adam Ierymenko 7bae95836c Root server terminology cleanup, and tighten up a security check by checking full identity of peers instead of just address. 11 years ago
Kees Bos a425bbc673 Renamed supernode to rootserver 11 years ago
Adam Ierymenko 4d5a6a25d3 Add events for packet decode errors, etc., and re-implement TRACE as an event. 11 years ago
Adam Ierymenko ee2f51f48e Make Toplogy use dataStoreXX() methods from Node, and get rid of old TCP stuff. 11 years ago
Adam Ierymenko 52c3b7c34e Implemented empirical determination of external addressing, paritioned per scope. 11 years ago
Adam Ierymenko 817824b88b Some external surface awareness work, and IP scope classification. 11 years ago
Adam Ierymenko ee0f56355b Send path simplification. 11 years ago
Adam Ierymenko a69e1876f1 The concept of link desperation (escalating to less desirable transports) simplifies a ton of stuff. Loads of spaghetti logic can die since we no longer have to make these decisions down in the core. 11 years ago
Adam Ierymenko 93012b0ee5 Re-incorporation: ZeroTier Networks -> ZeroTier, Inc. [Delaware] 11 years ago
Adam Ierymenko eeed31b396 Ping supernodes on surface change, and also reset TCP flag. 11 years ago
Adam Ierymenko 37d23336ed Surface logic in Topology. 11 years ago
Adam Ierymenko 4e95384ad6 Cleanup, add tristate to config code in Network, and happy new year! 11 years ago
Adam Ierymenko a8bd8fff93 Make several changes to eliminate potential deadlock or recursive lock conditions, and add back rescan of multicast groups on network startup. 12 years ago
Adam Ierymenko 7a37326cc0 Fix sleeper bug that probably did nothing in setSupernodes(). 12 years ago
Adam Ierymenko 2416491cbc Permanently retire peers.persist, but make iddb.d always enabled instead since identities are what we really want to cache. 12 years ago
Adam Ierymenko 6316011024 Make crypto and compression build optimized in debug, and also try disabling peers.persist -- might ship this way as it seems more trouble than its worth. 12 years ago
Adam Ierymenko e53d208ea4 Improve security posture by eliminating non-const data() accessor from Buffer. 12 years ago
Adam Ierymenko e1882b614b Some cleanup, Multicaster now sends multicasts as it gets additional members. 12 years ago
Adam Ierymenko 81b12b6826 Rename the ubiquitous _r pointer to RuntimeEnvironment to RR just to be a little more consistent about using _ to denote private member variables. 12 years ago
Adam Ierymenko 282114e96c Makefile changes, and make Topology::getBestSupernode() return the "next" supernode if I am a supernode. Also some comment cleanup. 12 years ago
Adam Ierymenko aa59cfd545 Web request part of supernode resync (not quite done, needs test) 12 years ago
Adam Ierymenko c2187c8759 (1) distribute default root-topology in new dictionary format, (2) bump peer serialization version to force obsolescence of old supernodes, (3) stop outputting a log message every time we poll for software updates 12 years ago
Adam Ierymenko be6b61b1bc Accept supernode dictionaries in Topology, also fix (unused) field name in one of these. 12 years ago
Adam Ierymenko 88bdb81791 Keep track of basic aliveness for peers regardless if direct or indirect connectivity and use this for multicast propagation. Also consolidate adding of active bridges via the same functor as regular multicast next hops. 12 years ago
Adam Ierymenko 7831c4bfef Cleanup, dead code removal, some pretty insignificant security stuff that's based on recommendations. 12 years ago
Adam Ierymenko f13493edb2 Oops... turns out we need to differentiate incoming from outgoing TCP and indeed learn incoming TCP paths. Otherwise the recipient of a TCP connection does not know to reply via TCP! Heh. 12 years ago
Adam Ierymenko 8e587ae481 Clean dead paths from peers. 12 years ago
Adam Ierymenko daaec84c6b Add TCP channel support for supernode list, make Peer pick the first path if all paths are equally dead. 12 years ago
Adam Ierymenko 8d3eb1a258 A few renamings to be consistent. 12 years ago
Adam Ierymenko 33ad3deaee Builds with new Path code. 12 years ago
Adam Ierymenko b5c3a92be2 Boring stuff: update dates in copyrights across all files. 12 years ago
Adam Ierymenko 9acfd3eb73 Build fix on Linux with G++. 12 years ago