231 Commits (47424df417dcbeec9e6415a85176299604b0fde2)

Author SHA1 Message Date
Adam Ierymenko 5f39d5b7ea Further pare down Cluster messaging and rename some stuff. 11 years ago
Adam Ierymenko 8ef4edebbf Deferred decode for HELLO to prevent HELLOcalypse under high load of new peers. 11 years ago
Adam Ierymenko 7fbe2f7adf Tweak some more timings for better reliability. 11 years ago
Adam Ierymenko 60ce886605 Tweak some timings for better reliability. 11 years ago
Adam Ierymenko a994573a43 Eliminate some more dead code. We may do path trust, but not like that. 11 years ago
Adam Ierymenko 16bc3e0398 Factor out RemotePath subclass of Path -- no longer needed, just cruft. 11 years ago
Adam Ierymenko 0ffbd05c0e --wtf; prevent roots from TCP fallback 11 years ago
Adam Ierymenko 5ff7733f84 More plumbing of cluster status. 11 years ago
Adam Ierymenko e9648a6cdf Clarify logic in pinging, and prevent roots from pinging "down." 11 years ago
Adam Ierymenko 57e29857cf Cluster work -- integrating with the rest of the code. 11 years ago
Adam Ierymenko 584072fa6a Fix for V4/V6 stable addressing. 11 years ago
Adam Ierymenko 2229e91b57 IPv6 support fixes. 11 years ago
Adam Ierymenko 489e1a5b83 Don't keep connections up longer than the alive timeout (unless they are relays or roots) 11 years ago
Adam Ierymenko 70d8e3ad94 Expose world ID and world timestamp in ZT_NodeStatus 11 years ago
Adam Ierymenko 5d2f523e81 World stuff... 11 years ago
Adam Ierymenko cae58f43f1 More World stuff, and mkworld. 11 years ago
Adam Ierymenko a95fa379cc Circuit tests basically work but need some tweaks, and fix some issues found with valgrind. 11 years ago
Adam Ierymenko 0c498556d5 Unroll Salsa20 fully for a little more speed (non-SSE now almost as fast as SSE) 11 years ago
Grant Limberg 9347d6c866 Make it so ZeroTierOne.h can be used with a C compiler again. 11 years ago
Adam Ierymenko 1b2cac0cc5 Trim some cruft that is not used and probably never would be. 11 years ago
Adam Ierymenko 3593fb3462 Send initial CIRCUIT_TEST packet. 11 years ago
Adam Ierymenko d3f29d09e8 Plumbing through circuit test stuff. 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 2a527ea82e Fix for timer jitter problem. 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 5fcef91278 Ignore old root-topology if present -- fix for upgrading on Linux and possibly elsewhere. 11 years ago
Adam Ierymenko 7a15d8a7e3 Fix leaving of networks to actually call Network::destroy(). 11 years ago
Adam Ierymenko 0b354803f3 Clean up some YAGNI issues with implementation of GitHub issue #180, and make best path choice aware of path rank. 11 years ago
Adam Ierymenko 3f567a07ca Save a little bit of RAM by getting rid of overkill CMWC4096 non-crypto PRNG and replacing it with a simple non-crypto PRNG that just uses Salsa20. 11 years ago
Adam Ierymenko c863ff3f02 A bunch of comments and cleanup, including some to yesterday's direct path pushing changes. Move path viability check to one place, and stop trying to use link-local addresses since they are not reliable. 11 years ago
Adam Ierymenko 235f4762b7 Plumbing for local interface addresses -- GitHub issue #180 11 years ago
Adam Ierymenko 79e9a8bcc2 Almost everything for GitHub issue #180 except direct path map setup. 11 years ago
Adam Ierymenko 93bb934d4e Some cleanup, docs, and Path -> Path > RemotePath refactor. 11 years ago
Adam Ierymenko dbee1b38b3 Fix semantics of std::unique() to actually remove duplicates (hidden memory leak?) 11 years ago
Adam Ierymenko c287ae4d1d Redo conversion of _networks to a vector. Just use a simple linear search and put the nwid in a pair with the pointer so linear search can be done without pointer chasing. This should be the fastest option for anything less than dozens of networks, and should save memory over the old map. 11 years ago
Moritz Warning 787608b568 use _network function to reduce source code complexity 11 years ago
Moritz Warning 2b04ac5e9b replace _networks map by vector 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 ecb6a1d84f docs 11 years ago
Adam Ierymenko 5341e32729 Fix to GitHub issue #140 -- network preferred relays. Also go ahead and allow RENDEZVOUS from regular peers. 11 years ago
Adam Ierymenko 318c2f025b Call it _relays since there might be other kinds later. 11 years ago
Adam Ierymenko 5bc89034bc Always ping / contact network preferred relays (if any). 11 years ago
Adam Ierymenko 9774f789f2 TCP fallback tunneling is now working. That hurt more than expected. 11 years ago
Adam Ierymenko d9006712f6 Completely factor out "desperation" from the core. I thought of a significantly simpler way to move all of this logic entirely into the containing service, liberating the core from any concern over the nature of its pipe to the outside world. 11 years ago
Adam Ierymenko 1213073916 Apple auto-update stuff, now for Windows. 11 years ago
Adam Ierymenko 2810cd7c15 Build fixes for G++, building without SQLite3 present, and warning removal. 11 years ago
Kees Bos a425bbc673 Renamed supernode to rootserver 11 years ago
Adam Ierymenko b4b067bf12 So we need to keep track of external surface per reporter, since some NATs assign different external IPs for each external destination. Keeping just one known surface could create a race condition. 11 years ago
Adam Ierymenko 604576075e Add some missing includes that older G++ cares about. 11 years ago