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
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
e7c81ef34e
Turns out that needed to be a list after all. Also clean up Multicaster::gather().
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
ae082c3cb8
Yay... now everything compiles! Getting close to testing on this. Still have not added backward compatibility support for relaying of multicasts to 0.9.X clients yet but that will be easy. Will test with heterogenous 1.0.0 clients only first.
12 years ago
Adam Ierymenko
8607aa7c3c
Everything in for new multicast except IncomingPacket parsing...
12 years ago
Adam Ierymenko
81b12b6826
Rename the ubiquitous _r pointer to RuntimeEnvironment to RR just to be a little more consistent about using _ to denote private member variables.
12 years ago
Adam Ierymenko
431476e2e4
Some more multicast algo work...
12 years ago
Adam Ierymenko
557801a09e
Rename PacketDecoder to much more descriptive IncomingPacket
12 years ago
Adam Ierymenko
d9abd4d9be
Work on defining new direct broadcast multicast algorithm.
12 years ago
Adam Ierymenko
b8729de9da
Temporarily DISABLE multicast authentication (doing in branch, will reenable in dev)
12 years ago
Adam Ierymenko
4e9280fc7a
Rip out dead "firewall opener" code, replace in pipeline with anti-symmetric-NAT tactics.
12 years ago
Adam Ierymenko
282114e96c
Makefile changes, and make Topology::getBestSupernode() return the "next" supernode if I am a supernode. Also some comment cleanup.
12 years ago
Adam Ierymenko
8a804b5257
(1) Disable firewall openers (its easy to re-enable), (2) Do some prep work for making supernode topology hot-updatable.
12 years ago
Adam Ierymenko
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.
12 years ago
Adam Ierymenko
458f6ae7c3
Only add active bridges to top of MC propagation list if they are alive. Otherwise a dead active bridge might kill multicast for us.
12 years ago
Adam Ierymenko
ae7143d693
Comments and cleanup.
12 years ago
Adam Ierymenko
aead1050fb
Bridging (GitHub issue #68 ) does indeed work! Just needed to fix a packet size thinko.
12 years ago
Adam Ierymenko
11e1f7a3fb
.
12 years ago
Adam Ierymenko
0b0d5fabac
Bridging #68 should work now!
12 years ago
Adam Ierymenko
35aa0921ee
.
12 years ago
Adam Ierymenko
2f8936181c
Debug code -- temporary.
12 years ago
Adam Ierymenko
5d467f0f45
Some TRACE improvements and comment revs.
12 years ago
Adam Ierymenko
2162a419e3
Some logging fixes.
12 years ago
Adam Ierymenko
6802da457e
Bridging pretty much ready to test! Got Switch all wired up. Also fix a latent probably-never-triggered bug in MULTICAST_FRAME handling. GitHub issue #68
12 years ago
Adam Ierymenko
5682f0b772
Some more bridging work... wiring up in Switch - GitHub issue #68
12 years ago
Adam Ierymenko
657f6ae342
Don't transmit broadcasts if enableBroadcast is false on a network.
12 years ago
Adam Ierymenko
beb7b5bbe5
GitHub Issue #69 - make MAC assignment schema differ between virtual networks.
12 years ago
Adam Ierymenko
aee742e767
More toward GitHub issue #56
12 years ago
Adam Ierymenko
c9294c1a78
Prevent recursive transit of ZeroTier packets, toward GitHub issue #56
12 years ago
Adam Ierymenko
b117ff5435
Probable fix for GitHub issue #63 - do not unite() if either path is TCP, since doing so can result in asymmetric failed NAT-t over UDP if one side has a firewall that permits outgoing UDP but not incoming.
12 years ago
Adam Ierymenko
316e8d1939
Build fix.
12 years ago
Adam Ierymenko
f13493edb2
Oops... turns out we need to differentiate incoming from outgoing TCP and indeed learn incoming TCP paths. Otherwise the recipient of a TCP connection does not know to reply via TCP! Heh.
12 years ago
Adam Ierymenko
daaec84c6b
Add TCP channel support for supernode list, make Peer pick the first path if all paths are equally dead.
12 years ago
Adam Ierymenko
ab5a460177
Apply multicast rate limits on a network to ourselves and do not send multicasts that would exceed limits, for GitHub issue #55
12 years ago
Adam Ierymenko
6f5a4d7e29
Fix blocking socket issues in new socket I/O code.
12 years ago
Adam Ierymenko
abc82d6a52
IPC changes and SocketManager changes all build!
12 years ago
Adam Ierymenko
91fef21973
More ripping out of old condition stuff.
12 years ago
Adam Ierymenko
b5c3a92be2
Boring stuff: update dates in copyrights across all files.
12 years ago
Adam Ierymenko
5b97bb247e
More Windows service work... it builds! Now to do a new installer and test. Also fix a Windows compile warning in Switch.cpp.
12 years ago
Adam Ierymenko
bf5f09a0c7
Yank a code path it turns out we probably don't want.
12 years ago
Adam Ierymenko
525ab3faa9
Take TRACE back out of Mac makefile, fix a few decode little things.
12 years ago
Adam Ierymenko
490e86dde3
Bunch of fixes to startup, pinging, and choice of route. Also some TRACE updates.
12 years ago
Adam Ierymenko
6e076e77d8
More work on connection reset stuff...
12 years ago
Adam Ierymenko
372566295e
Alternate order of packet emission in unite().
12 years ago
Adam Ierymenko
8b65b3e6d7
Yank PROBE stuff since it's not used and was a premature addition to the protocol.
12 years ago
Adam Ierymenko
f80ec871f6
Make EthernetTap creation occur in a background thread in Network since it's a time consuming operation on Windows. This fixes one of the last remaining Windows problems.
12 years ago
Adam Ierymenko
370dd6c4da
Several things:
...
(1) Add a bunch of tedious type casts to eliminate unnecessary compiler warnings on Windows X64 builds.
(2) Some EthernetTap work to integrate Windows custom IOCTL for multicast group lookup (not done quite yet).
(3) Dump some more info in selftest to make sure our Windows path lookup functions are returning sane results.
12 years ago