Adam Ierymenko
|
93bb934d4e
|
Some cleanup, docs, and Path -> Path > RemotePath refactor.
|
11 years ago |
Adam Ierymenko
|
6bfbc43e3c
|
Include COM with EXT_FRAME in bridged case.
|
11 years ago |
Adam Ierymenko
|
35b5dcf89d
|
Kill debug line.
|
11 years ago |
Adam Ierymenko
|
e5f7c55c54
|
Documentation in Packet, more work on path push, and clean up ancient legacy support code in Switch.
|
11 years ago |
Adam Ierymenko
|
57c7992c78
|
GitHub issue #191 - kill intra-network multicast rate limits (which were not well supported or easily configurable anyway) -- this is really left over from the old collaborative multicast propagation algorithm. New algorithm (in for a while) has been sender-side replication in which sender "pays" all bandwidth, which intrinsically limits multicast.
|
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
|
5341e32729
|
Fix to GitHub issue #140 -- network preferred relays. Also go ahead and allow RENDEZVOUS from regular peers.
|
11 years ago |
Adam Ierymenko
|
960ceb4791
|
Rest of GitHub issue #140 implementation.
|
11 years ago |
Adam Ierymenko
|
d8783b14eb
|
Build fix.
|
11 years ago |
Adam Ierymenko
|
6867922d9e
|
typo
|
11 years ago |
Adam Ierymenko
|
196f27f1f0
|
Add delay to NAT-t escalation stuff to try to address GitHub issue #167
|
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 |
Kees Bos
|
a425bbc673
|
Renamed supernode to rootserver
|
11 years ago |
Adam Ierymenko
|
a1005ca858
|
Do not unite() peers across different IP scopes as this would pretty much never work.
|
11 years ago |
Adam Ierymenko
|
98bcc3d4b5
|
Disable a few noisy TRACEs, and limit how often we confirm new paths to avoid flooding.
|
11 years ago |
Adam Ierymenko
|
1c9ca73065
|
Fix some deadlock issues, move awareness of broadcast subscription into core, other bug fixes.
|
11 years ago |
Adam Ierymenko
|
5e331d6733
|
Restrict unite() to desperation==0 since NAT-t only works right now with direct links.
|
11 years ago |
Adam Ierymenko
|
068d311ecc
|
TRACE compile fixes, other fixes, and it basically works! It says HELLO.
|
11 years ago |
Adam Ierymenko
|
4d5a6a25d3
|
Add events for packet decode errors, etc., and re-implement TRACE as an event.
|
11 years ago |
Adam Ierymenko
|
bf2ff964e1
|
Utils::now() removal and a bunch of compile fixes.
|
11 years ago |
Adam Ierymenko
|
49f031ccb4
|
Tons of refactoring, change to desperation algorithm to use max of core or link, porting over core loop code from old Node.cpp to new CAPI version, etc.
|
11 years ago |
Adam Ierymenko
|
24608d5ca3
|
Always use HELLO to contact, and we now confirm newly learned paths via a two-way handshake to prevent half-connects.
|
11 years ago |
Adam Ierymenko
|
197d272287
|
More NAT strategy cleanup.
|
11 years ago |
Adam Ierymenko
|
be4683a96d
|
Get rid of random port strategy -- research does not support.
|
11 years ago |
Adam Ierymenko
|
a95f1e1418
|
Eliminate redundant SharedPtr assignment.
|
11 years ago |
Adam Ierymenko
|
6eb9289367
|
Bunch more cleanup, improvements to NAT traversal logic, finished updating Switch.
|
11 years ago |
Adam Ierymenko
|
ee0f56355b
|
Send path simplification.
|
11 years ago |
Adam Ierymenko
|
a69e1876f1
|
The concept of link desperation (escalating to less desirable transports) simplifies a ton of stuff. Loads of spaghetti logic can die since we no longer have to make these decisions down in the core.
|
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
|
0c85b4ef5f
|
Tweak to symmetric NAT buster to add one to the number of ports above the current one it attempts.
|
11 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
|
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 |