summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2014-11-21Fix thinko in multicast changes... works now!Adam Ierymenko
2014-11-21Send multicasts in random order.Adam Ierymenko
This should not affect most users, but on large networks it should cause service announcements to work a lot better. This is the result of a prolonged discussion with a user about the visibility of game servers on a large network. The old multicast algorithm was de-facto randomized due to its distributed nature, while the new algorithm is more deterministic. This will restore some randomization beyond limit-overflow conditions. It won't affect small networks at all.
2014-11-20Tweak to symmetric NAT buster to add one to the number of ports above the ↵Adam Ierymenko
current one it attempts.
2014-11-20Change path selection logic to exclude non-fixed and non-active paths -- ↵Adam Ierymenko
possible fix for "NAT traversal coma" issue. Also fix a typo.
2014-11-13Optimization: we don't need to verify signatures on certs if they're certs ↵Adam Ierymenko
we already have and have verified.
2014-11-13Prevent "software laser" in legacy multicast support. Already hotpatched in ↵Adam Ierymenko
supernodes.
2014-11-12Increase paltry listen() backlog size to prevent Linux kernel syn flood ↵Adam Ierymenko
fallback (only really affects supernodes).
2014-11-04Make selftest build and run on FreeBSD 10 with gmakeAdam Ierymenko
2014-10-30VERSION 1.0.0Adam Ierymenko
ZeroTier 1.0.0 brings a number of under the hood improvements and bug fixes. These include but are not limited to: * A simpler, faster multicast algorithm that places full burden for multicast propagation on the sender. This results in better fairness without CPU-intensive signature/verify on every packet, lower latency for intra-data-center SDN operations, and avoids distributed burdens that are intrinsically unfriendly to mobile clients subject to wake frequency limits and battery life constraints. In the future this may be augmented to allow optimized delivery to multiple recipients at the same site via federation. * Significant code reorg to move toward mobile support (iOS, Android) and future SDK packaging. * A number of efficiency and stability improvements. * Bug fixes for Linux and ARM users. * Improved NAT traversal, including limited support for port numbering scheme guessing to traverse some symmetric NATs. Upgrade from 0.9.x is not required but is strongly recommended. Older clients using the old multicast algorithm are presently supported via legacy hooks, and these may go away at some point in the future. We'll monitor the status of the network and try to keep legacy support around as long as people need it, but it'll probably be pulled once 95%+ of clients are 1.0.0 or newer. The next versions will bring further bug fixes, improved user experience, more enterprise-grade features for intra-data-center use, and more!
2014-10-30docsAdam Ierymenko
2014-10-30Fix for UI client.Adam Ierymenko
2014-10-29Windows service fix -- it helps if we actually launch the control socket thing.Adam Ierymenko
2014-10-29Build fix for UI and mac.Adam Ierymenko
2014-10-29Back off default multicast limit just a little.Adam Ierymenko
2014-10-29Windows build fix, set up Windows solution with new layout.Adam Ierymenko
2014-10-29Linux build fixes for testnet.Adam Ierymenko
2014-10-29More cleanup, and fix a bug in Multicaster::gather()Adam Ierymenko
2014-10-29Moderate efficiency improvement on multicast gather result parsing, and go ↵Adam Ierymenko
ahead and keep track of total known peers.
2014-10-29Code cleanup, and fix some unsafe pointer handling in Network.Adam Ierymenko
2014-10-28Thread sync bug...Adam Ierymenko
2014-10-28Fix a nasty bug introduced in packet fragmentation a while back during ↵Adam Ierymenko
refactoring, and a few other things related to multicast.
2014-10-28docsAdam Ierymenko
2014-10-28docsAdam Ierymenko
2014-10-28Make multicast gather slightly more aggressive, and add total to list ↵Adam Ierymenko
command in testnet.
2014-10-28.... aaaaaaand multicast testnet functionsa are in!Adam Ierymenko
2014-10-28docsAdam Ierymenko
2014-10-28docsAdam Ierymenko
2014-10-28docsAdam Ierymenko
2014-10-28docsAdam Ierymenko
2014-10-28docsAdam Ierymenko
2014-10-28NULL dereference on still-initializing node bug fix in status query ↵Adam Ierymenko
commands, and doc updates.
2014-10-28Helps to use a proper multithreaded queue instead of ugly plebian hackery.Adam Ierymenko
2014-10-27Testnet seems to work a bit better now...Adam Ierymenko
2014-10-27...Adam Ierymenko
2014-10-27Testnet works! sort of...Adam Ierymenko
2014-10-27Testnet WIPAdam Ierymenko
2014-10-24Prep for real tests like alltoall.Adam Ierymenko
2014-10-24Deadlock fix...Adam Ierymenko
2014-10-24More testnet work.Adam Ierymenko
2014-10-24Testnet sort of works! spins up supernodes.Adam Ierymenko
2014-10-23Testnet work... getting there!Adam Ierymenko
2014-10-22Some work on simulated net...Adam Ierymenko
2014-10-21Starting on simulated socket manager.Adam Ierymenko
2014-10-21cleanupAdam Ierymenko
2014-10-21Kill old testnet stuff, update main.cpp for new SocketManager abstraction.Adam Ierymenko
2014-10-21More work on abstracting socket manager.Adam Ierymenko
2014-10-21About halfway there in refactoring to support pluggable SocketManager.Adam Ierymenko
2014-10-21Move socket manager implementation into osnet/Adam Ierymenko
2014-10-21Simplify locking semantics some more to address a deadlock.Adam Ierymenko
2014-10-19Don't need to check peer version for every item in txQueue since there is ↵Adam Ierymenko
only one peer.