97 Commits (1ef3069a7ef7692bb27d64b85dd2cfdf201e33b2)

Author SHA1 Message Date
Adam Ierymenko af4e79735c Fix "orbit" semantics. Federation works. 9 years ago
Adam Ierymenko 969e09210d Fix loading of existing moons. 9 years ago
Adam Ierymenko e4b6611201 Only accept world updates from upstreams. 9 years ago
Adam Ierymenko 42f28bce52 Cleanup and make moons (federated roots) a little easier to deal with. 9 years ago
Adam Ierymenko 3587aa1ea7 Add and send certificates of representation to tell people what our valid upstreams are. These are not used yet but will be needed for future privacy modes, etc. Also some cleanup. 9 years ago
Adam Ierymenko 9e7c778cc8 Fix deadlock. 9 years ago
Adam Ierymenko 1d775af34a Fix moon persistence. 9 years ago
Adam Ierymenko 9f7919f71f Add comments to join ("orbit") moons. 9 years ago
Adam Ierymenko f102fd7f92 Extend in-band world updates to handle moons too. 9 years ago
Adam Ierymenko 64774d0d4f Replace piecemeal designation of upstreams with the concept of moons, which is simpler and easier to use and inherits all the cool live update stuff of worlds (now called planets) and global roots. 9 years ago
Adam Ierymenko 244f37179c Minor security: lock roots to only be reachable via World IPs. 10 years ago
Adam Ierymenko 1615ef1114 Rename getBestRoot() etc. 10 years ago
Adam Ierymenko bf8d71e82c Add notion of upstream that is separate from root in Topology, etc. 10 years ago
Adam Ierymenko a3bdae9735 Work in progress: Path canonicalization refactor. 10 years ago
Adam Ierymenko 5cf410490e . 10 years ago
Adam Ierymenko 765082fdb6 Trusted path support, and version bump to 1.1.9 10 years ago
Adam Ierymenko 4e4fd51117 boring doc stuff 10 years ago
Grant Limberg 75f8ee1b9c get the compiler to stop complaining about two string literals (one a macro) next to each other without an intervening space 11 years ago
Adam Ierymenko 0d9f33dc4f Fix: (1) Windows stack overflow due to buffer too large in peer deserialize, (2) clean up some other stuff seen during debugging and reduce the sizes of some buffers due to Windows small stack size, (3) remove a redundant try/catch. 11 years ago
Adam Ierymenko 3fa1b5a89d Make cluster HAVE_PEER a little lighter by removing full identity. Technically this is not necessary and they will propagate over time in any case. Might restore it in some form in the future. 11 years ago
Adam Ierymenko 7fbe2f7adf Tweak some more timings for better reliability. 11 years ago
Adam Ierymenko 1b4cc4af5c Fix evil bug, and instrument/assert on some other stuff, and a bit of cleanup. 11 years ago
Adam Ierymenko 7382c328da Null pointer bug appears fixed... testing again at large scale. 11 years ago
Adam Ierymenko 641b0dec44 . 11 years ago
Adam Ierymenko 2fbb5d0bbf . 11 years ago
Adam Ierymenko d8dbbf7484 Add some debug code in TRACE mode to catch a bug. 11 years ago
Adam Ierymenko 377ccff600 getPeer() had a small potential to be unsafe. 11 years ago
Adam Ierymenko 68d6d3c4ff Fix bug in peer count. 11 years ago
Adam Ierymenko 4221552c0b Use getPeerNoCache() in Cluster to avoid keeping all peers cached everywhere. 11 years ago
Adam Ierymenko 865acfa40f Cluster status plumbing. 11 years ago
Adam Ierymenko e6a63f5547 Fix bug in setWorld that might have caused a peer entry for myself (which would never be used) 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 619e113748 Work in progress on Cluster for new root infrastructure, multi-homing. 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 76a95dc58f The return of peer peristence. 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 f0003ea922 Push remote surface as reported by peers along with known interface direct paths to assist with (some) NAT traversal. (trying this, may back out if not effective) 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
Adam Ierymenko aab17d9f1f Kill obsolete amSupernode method -- we now have no differing behaviors. 11 years ago
Kees Bos a425bbc673 Renamed supernode to rootserver 11 years ago
Adam Ierymenko ccc73b920e Node peer list function for CAPI, and some Peer cleanup. 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 49f031ccb4 Tons of refactoring, change to desperation algorithm to use max of core or link, porting over core loop code from old Node.cpp to new CAPI version, etc. 11 years ago
Adam Ierymenko 52c3b7c34e Implemented empirical determination of external addressing, paritioned per scope. 11 years ago
Adam Ierymenko a2821e9000 Add code to check external surface against reported surface from other trusted peers, and also rename ExternalSurface to SelfAwareness because lulz. 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