Adam Ierymenko
2fa21aa676
.
11 years ago
Adam Ierymenko
3999e468b7
Need to hold nconf so *com does not die while being used.
11 years ago
Adam Ierymenko
6693149f3e
Send COM with MULTICAST_GATHER for future use.
11 years ago
Adam Ierymenko
b11ffc9635
Integrate Hashtable into Multicaster, where @mwarning found heaviest std::map() overhead.
11 years ago
Adam Ierymenko
708aac1ea7
Remove some left over debug code, and fix attempt to send to self if we are an active bridge.
11 years ago
Adam Ierymenko
412389ec75
Implement ERROR_UNWATNED_MULTICAST
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
3f71afd0fb
Put multicast txQueue back to list.
11 years ago
Moritz Warning
def9cf2a6a
replace vector::erase, was missed in a previous commit (ref #186 )
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
Moritz Warning
0073d0f694
replace txQueue list by vector for faster memory access and less allocations
11 years ago
Kees Bos
a425bbc673
Renamed supernode to rootserver
11 years ago
Adam Ierymenko
c894710ac1
Remove Logger.hpp references.
11 years ago
Adam Ierymenko
758bf949db
Check for subscribed multicast groups should be able to check groups bridged behind me.
11 years ago
Adam Ierymenko
488f5bf977
More build fixes, and attic/ some stuff.
11 years ago
Adam Ierymenko
93012b0ee5
Re-incorporation: ZeroTier Networks -> ZeroTier, Inc. [Delaware]
11 years ago
Adam Ierymenko
4e95384ad6
Cleanup, add tristate to config code in Network, and happy new year!
11 years ago
Adam Ierymenko
149dbff3ea
Windows Visual Studio meaningless-warning-ectomy.
11 years ago
Adam Ierymenko
04e4c5263e
Remove more legacy code -- just doing the supernode redist for old multicast is now good enough given the small number of legacy nodes left.
11 years ago
Adam Ierymenko
4303376ba6
cleanup and docs
11 years ago
Adam Ierymenko
cda61fe2d9
docs and cleanup
11 years ago
Adam Ierymenko
15d3e383e6
Add ZT_SUPPORT_LEGACY_MULTICAST ifdef to enable the legacy code to all be toggled.
11 years ago
Adam Ierymenko
6888c6482c
Re-enable legacy multicast distribution -- still too many pre1.0.0 nodes online.
11 years ago
Adam Ierymenko
d772639cc6
Multicast code cleanup.
11 years ago
Adam Ierymenko
acac88cf77
A few more tweaks to MC algo...
11 years ago
Adam Ierymenko
959f611a65
Fix thinko in multicast changes... works now!
11 years ago
Adam Ierymenko
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.
11 years ago
Adam Ierymenko
5484cf4309
More cleanup, and fix a bug in Multicaster::gather()
12 years ago
Adam Ierymenko
22d8aa4dc9
Moderate efficiency improvement on multicast gather result parsing, and go ahead and keep track of total known peers.
12 years ago
Adam Ierymenko
5bb854e504
Fix a nasty bug introduced in packet fragmentation a while back during refactoring, and a few other things related to multicast.
12 years ago
Adam Ierymenko
4dec598fb8
Make multicast gather slightly more aggressive, and add total to list command in testnet.
12 years ago
Adam Ierymenko
7c0f5e97e1
Don't need to check peer version for every item in txQueue since there is only one peer.
12 years ago
Adam Ierymenko
74f36f5dc0
Windows build fixes.
12 years ago
Adam Ierymenko
42d644a57e
More fixes to legacy support, and to a potential issue on quit.
12 years ago
Adam Ierymenko
c2aac69a9f
Fixes to legacy peer support.
12 years ago
Adam Ierymenko
56f8f8aa24
Return self in GATHER requests if self is a member of multicast group, and reinstate legacy support.
12 years ago
Adam Ierymenko
4941c8a1f3
New multicast bug fixes, TRACE improvements, and temporarily disable legacy multicast for debugging purposes.
12 years ago
Adam Ierymenko
d5e0f7e3e4
Reorg multicast packet, and a whole bunch of refactoring around the pushing of certificates of membership.
12 years ago
Adam Ierymenko
ab22feba9a
Bump version to 1.0.0, add legacy support code to Multicaster to not send new frame to known-to-be-old peers.
12 years ago
Adam Ierymenko
10c196df50
Send a VERB_P5_MULTICAST_FRAME to the supernode for each multicast -- for now. This will allow supernodes to echo these down to pre-1.0.0 peers.
12 years ago
Adam Ierymenko
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.
12 years ago
Adam Ierymenko
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).
12 years ago
Adam Ierymenko
e7c81ef34e
Turns out that needed to be a list after all. Also clean up Multicaster::gather().
12 years ago
Adam Ierymenko
3f7e7e8a88
Do not multicast to self.
12 years ago
Adam Ierymenko
1109046782
Last steps before test: parse OK(MULTICAST_GATHER) and OK(MULTICAST_FRAME)
12 years ago
Adam Ierymenko
49dc47ff38
Make multicast gathering a bit smarter.
12 years ago
Adam Ierymenko
e1882b614b
Some cleanup, Multicaster now sends multicasts as it gets additional members.
12 years ago
Adam Ierymenko
2659427864
Multicaster needs to be global, not per-network, and a bunch of other stuff.
12 years ago
Adam Ierymenko
8607aa7c3c
Everything in for new multicast except IncomingPacket parsing...
12 years ago
Adam Ierymenko
ed0ba49502
A few more revisions to new multicast verbs.
12 years ago