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.
|
10 gadi atpakaļ |
Adam Ierymenko
|
9279bac385
Fix deadlock in SelfAwareness by deferring reconnects.
|
10 gadi atpakaļ |
Adam Ierymenko
|
98bcc3d4b5
Disable a few noisy TRACEs, and limit how often we confirm new paths to avoid flooding.
|
10 gadi atpakaļ |
Adam Ierymenko
|
1cfa67bbdd
Bunch more control plane work, and shelve old UI -- React FTW.
|
10 gadi atpakaļ |
Adam Ierymenko
|
9e651b39e4
Add some TRACE around pinging (for now), and refactor service/One to just run in the foreground as some platforms may not require threads at all.
|
10 gadi atpakaļ |
Adam Ierymenko
|
5e331d6733
Restrict unite() to desperation==0 since NAT-t only works right now with direct links.
|
10 gadi atpakaļ |
Adam Ierymenko
|
ccc73b920e
Node peer list function for CAPI, and some Peer cleanup.
|
10 gadi atpakaļ |
Adam Ierymenko
|
40bfe37a19
Use max of core or most recent path desperation for pings.
|
10 gadi atpakaļ |
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.
|
10 gadi atpakaļ |
Adam Ierymenko
|
24608d5ca3
Always use HELLO to contact, and we now confirm newly learned paths via a two-way handshake to prevent half-connects.
|
10 gadi atpakaļ |
Adam Ierymenko
|
52c3b7c34e
Implemented empirical determination of external addressing, paritioned per scope.
|
10 gadi atpakaļ |
Adam Ierymenko
|
4e691c8e22
build fixes
|
10 gadi atpakaļ |
Adam Ierymenko
|
51f46a009a
Multicast group join/leave and group membership announcement.
|
10 gadi atpakaļ |
Adam Ierymenko
|
ee0f56355b
Send path simplification.
|
10 gadi atpakaļ |
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.
|
10 gadi atpakaļ |
Adam Ierymenko
|
93012b0ee5
Re-incorporation: ZeroTier Networks -> ZeroTier, Inc. [Delaware]
|
10 gadi atpakaļ |
Adam Ierymenko
|
4e95384ad6
Cleanup, add tristate to config code in Network, and happy new year!
|
10 gadi atpakaļ |
Adam Ierymenko
|
ee9e6a3c6b
Change path selection logic to exclude non-fixed and non-active paths -- possible fix for "NAT traversal coma" issue. Also fix a typo.
|
11 gadi atpakaļ |
Adam Ierymenko
|
0e47f13f14
Simplify locking semantics some more to address a deadlock.
|
11 gadi atpakaļ |
Adam Ierymenko
|
2416491cbc
Permanently retire peers.persist, but make iddb.d always enabled instead since identities are what we really want to cache.
|
11 gadi atpakaļ |
Adam Ierymenko
|
0d017c043f
Stop persisting last announcement time since Multicaster is volatile. Also some more legacy multicast fixes.
|
11 gadi atpakaļ |
Adam Ierymenko
|
87f1b1b1e3
Bug fix in new multicast frame handler, handling of old "P5" multicast frames in new way.
|
11 gadi atpakaļ |
Adam Ierymenko
|
496109fdcc
Announce multicast group changes on network rescanMulticastGroups()
|
11 gadi atpakaļ |
Adam Ierymenko
|
8607aa7c3c
Everything in for new multicast except IncomingPacket parsing...
|
11 gadi atpakaļ |
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.
|
11 gadi atpakaļ |
Adam Ierymenko
|
4e9280fc7a
Rip out dead "firewall opener" code, replace in pipeline with anti-symmetric-NAT tactics.
|
11 gadi atpakaļ |
Adam Ierymenko
|
8a804b5257
(1) Disable firewall openers (its easy to re-enable), (2) Do some prep work for making supernode topology hot-updatable.
|
11 gadi atpakaļ |
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.
|
11 gadi atpakaļ |
Adam Ierymenko
|
c30f9832b0
Packet decoder work for EXT_FRAME for bridging - GitHub issue #68
|
11 gadi atpakaļ |
Adam Ierymenko
|
aee742e767
More toward GitHub issue #56
|
11 gadi atpakaļ |