Commit Graph

82 Commits

Author SHA1 Message Date
9480ff1f37 Fix some timestamp signedness mismatches. 2020-11-11 11:46:09 -05:00
06730c7d1d BSL date bump 2020-08-20 12:51:39 -07:00
52a166a71f Relicense: GPLv3 -> ZeroTier BSL 1.1 2019-08-23 09:23:39 -07:00
818b7e4a2e GitHub issue #993 (???) 2019-08-04 15:35:43 -07:00
00d63f6046 GitHub issue #993 (???) 2019-08-04 15:15:02 -07:00
e03102dbcb Clean out some unnecessarily pedantic auth stuff in favor of a simpler way of gating multicast gathers. 2019-03-14 14:29:15 -07:00
0e597191b8 Updated licenses for 2019 2019-01-14 10:25:53 -08:00
e6f9ab929d More speed stuff. 2018-12-06 12:47:58 -08:00
d3d58ba8a7 Add support for designated multicast replicators to Multicaster::send(). 2018-01-26 21:19:51 -05:00
f03fd57997 Clean up some multicast code. 2018-01-26 20:38:44 -05:00
f3dfd63634 Clean up some old stuff. 2018-01-26 20:00:37 -05:00
65c07afe05 Copyright updates for 2018. 2018-01-08 14:33:28 -08:00
b1d60df44c timestamps changed from uint64_t to int64_t
There were cases in the code where time calculations and comparisons were overflowing and causing connection instability.  This will keep time calculations within expected ranges.
2017-10-02 15:52:57 -07:00
b9e1d53d7a Minor cleanup. 2017-07-17 14:21:09 -07:00
1b68d6dbdc License header update. 2017-04-27 20:47:25 -07:00
e4896b257f Add thread PTR that gets passed through the entire ZT core call stack and then passed to handler functions resulting from a call. 2017-03-27 17:03:17 -07:00
1346e31a8e Windows build fixes, Software update fix, warning removal. 2017-01-13 14:22:36 -08:00
cc4bacc199 Cleanup, and implement compression disable flag for networks. 2016-09-27 12:22:25 -07:00
ab9afbc749 (1) Public networks now get COMs even though they do not gate with them since they will need them to push auth for multicast stuff, (2) added a bunch of rate limit circuit breakers for anti-DOS, (3) cleanup. 2016-09-09 11:36:10 -07:00
00fd9c3a15 It builds... almost ready to test some rules engine stuff. 2016-08-08 17:33:26 -07:00
4e4fd51117 boring doc stuff 2016-01-12 14:04:55 -08:00
21341ab15c Ready to test. 2015-11-09 09:45:43 -08:00
b11ffc9635 Integrate Hashtable into Multicaster, where @mwarning found heaviest std::map() overhead. 2015-08-27 16:17:21 -07:00
412389ec75 Implement ERROR_UNWATNED_MULTICAST 2015-07-07 11:49:38 -07:00
3f71afd0fb Put multicast txQueue back to list. 2015-06-26 14:26:35 -07:00
0073d0f694 replace txQueue list by vector for faster memory access and less allocations 2015-06-19 00:28:51 +02:00
93012b0ee5 Re-incorporation: ZeroTier Networks -> ZeroTier, Inc. [Delaware] 2015-02-17 13:11:34 -08:00
4e95384ad6 Cleanup, add tristate to config code in Network, and happy new year! 2015-01-05 17:47:59 -08:00
7619b0ecbd Send multicasts in random order.
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-21 10:50:27 -08:00
22d8aa4dc9 Moderate efficiency improvement on multicast gather result parsing, and go ahead and keep track of total known peers. 2014-10-29 15:26:32 -07:00
4dec598fb8 Make multicast gather slightly more aggressive, and add total to list command in testnet. 2014-10-28 15:33:10 -07:00
c2aac69a9f Fixes to legacy peer support. 2014-10-11 15:49:31 -07:00
4941c8a1f3 New multicast bug fixes, TRACE improvements, and temporarily disable legacy multicast for debugging purposes. 2014-10-09 17:58:31 -07:00
ab22feba9a Bump version to 1.0.0, add legacy support code to Multicaster to not send new frame to known-to-be-old peers. 2014-10-05 10:34:25 -07:00
2c8321be1f Pull logic to always send new multicasts to supernode since we need to do that differently, re-add support for active bridges, and remove some gratuitous use of std::set where not needed. 2014-10-04 13:15:02 -07:00
62da7e67b6 Add some rate limiting to implicit gathers, and always send multicasts to at least one supernode so they can broadcast to old peers (temporary). 2014-10-03 22:30:10 -07:00
3f7e7e8a88 Do not multicast to self. 2014-10-03 18:42:41 -07:00
49dc47ff38 Make multicast gathering a bit smarter. 2014-10-02 11:35:37 -07:00
e1882b614b Some cleanup, Multicaster now sends multicasts as it gets additional members. 2014-10-01 14:05:25 -07:00
2659427864 Multicaster needs to be global, not per-network, and a bunch of other stuff. 2014-09-30 16:28:25 -07:00
ed0ba49502 A few more revisions to new multicast verbs. 2014-09-26 14:18:25 -07:00
0778332747 . 2014-09-25 22:08:52 -07:00
9e186bbd89 . 2014-09-25 15:57:43 -07:00
050a0ce85d . 2014-09-25 15:08:29 -07:00
6c87f9f765 Rename MulticastTopology to Multicaster -- same name as old multicast controller but different code. More descriptive though. 2014-09-24 14:02:16 -07:00
d9abd4d9be Work on defining new direct broadcast multicast algorithm. 2014-09-18 18:28:14 -07:00
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. 2014-06-30 11:31:04 -07:00
5682f0b772 Some more bridging work... wiring up in Switch - GitHub issue #68 2014-06-13 17:49:33 -07:00
b5c3a92be2 Boring stuff: update dates in copyrights across all files. 2014-02-16 12:40:22 -08:00
612c17240a Dead code removal, fix for cleanup GitHub issue #28 2013-12-06 16:49:20 -08:00