Adam Ierymenko
|
76a95dc58f
|
The return of peer peristence.
|
11 years ago |
Adam Ierymenko
|
3a959a7763
|
Swap out std::map<> for Hashtable<> for main peer database in Topology. (ongoing std::map-ectomy)
|
11 years ago |
Adam Ierymenko
|
f0003ea922
|
Push remote surface as reported by peers along with known interface direct paths to assist with (some) NAT traversal. (trying this, may back out if not effective)
|
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
|
aab17d9f1f
|
Kill obsolete amSupernode method -- we now have no differing behaviors.
|
11 years ago |
Kees Bos
|
a425bbc673
|
Renamed supernode to rootserver
|
11 years ago |
Adam Ierymenko
|
ccc73b920e
|
Node peer list function for CAPI, and some Peer cleanup.
|
11 years ago |
Adam Ierymenko
|
ee2f51f48e
|
Make Toplogy use dataStoreXX() methods from Node, and get rid of old TCP stuff.
|
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
|
52c3b7c34e
|
Implemented empirical determination of external addressing, paritioned per scope.
|
11 years ago |
Adam Ierymenko
|
a2821e9000
|
Add code to check external surface against reported surface from other trusted peers, and also rename ExternalSurface to SelfAwareness because lulz.
|
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
|
eeed31b396
|
Ping supernodes on surface change, and also reset TCP flag.
|
11 years ago |
Adam Ierymenko
|
37d23336ed
|
Surface logic in Topology.
|
11 years ago |
Adam Ierymenko
|
61cff47f5b
|
Code to track externally visible address surface.
|
11 years ago |
Adam Ierymenko
|
4e95384ad6
|
Cleanup, add tristate to config code in Network, and happy new year!
|
11 years ago |
Adam Ierymenko
|
74f36f5dc0
|
Windows build fixes.
|
12 years ago |
Adam Ierymenko
|
a8bd8fff93
|
Make several changes to eliminate potential deadlock or recursive lock conditions, and add back rescan of multicast groups on network startup.
|
12 years ago |
Adam Ierymenko
|
2416491cbc
|
Permanently retire peers.persist, but make iddb.d always enabled instead since identities are what we really want to cache.
|
12 years ago |
Adam Ierymenko
|
e1882b614b
|
Some cleanup, Multicaster now sends multicasts as it gets additional members.
|
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
|
2762db8408
|
More work on control bus refactor...
|
12 years ago |
Adam Ierymenko
|
1d37204a37
|
Refactoring in progress... pardon our dust...
|
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
|
c2187c8759
|
(1) distribute default root-topology in new dictionary format, (2) bump peer serialization version to force obsolescence of old supernodes, (3) stop outputting a log message every time we poll for software updates
|
12 years ago |
Adam Ierymenko
|
be6b61b1bc
|
Accept supernode dictionaries in Topology, also fix (unused) field name in one of these.
|
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
|
8fb442d81a
|
Yet more cleanup to TCP logic, this time adding a master switch and adding UDP preference in send().
|
12 years ago |
Adam Ierymenko
|
fe85426df6
|
A few more tweaks to TCP failover... seems to be switching back and forth pretty well now!
|
12 years ago |
Adam Ierymenko
|
158002d2d1
|
Tweak some timings and stuff.
|
12 years ago |
Adam Ierymenko
|
c96d3ebf8c
|
Such ping logic. So edge case.
|
12 years ago |
Adam Ierymenko
|
700a450806
|
More tweaks to algorithm for determining when to fail over to TCP, and stop supernodes from resynchronizing unless explicitly ordered.
|
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
|
33ad3deaee
|
Builds with new Path code.
|
12 years ago |
Adam Ierymenko
|
ba3f04deed
|
Work in progress: refactoring paths, adding TCP fallback.
|
12 years ago |
Adam Ierymenko
|
b5c3a92be2
|
Boring stuff: update dates in copyrights across all files.
|
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
|
694e9f2bdc
|
Some cleanup and rationalization of main loop.
|
12 years ago |
Adam Ierymenko
|
d6a346ca6e
|
Fix for GitHub issue #35 and also possibly partial fix for #29 issues.
|
12 years ago |
Adam Ierymenko
|
612c17240a
|
Dead code removal, fix for cleanup GitHub issue #28
|
12 years ago |
Adam Ierymenko
|
5e71e07f59
|
Add persistent identity caching for use on supernodes. Activate by just making an iddb.d directory in the ZeroTier home folder. Also clean up some obsolete cruft from makefiles.
|
13 years ago |
Adam Ierymenko
|
40e4f39181
|
Peers are now dumped on shutdown in a persistence cache and reloaded on startup, which is good enough for clients right now. Supernodes will get something else for long-term authoritative identity caching.
|
13 years ago |
Adam Ierymenko
|
6e217dfcb0
|
Get rid of DBM, which technically is a case of YAGNI. Supernodes will need a way to save identities, but that can be a different feature. Regular clients do not really need a permanent cache (yet). When/if we do need one we can do it then. Until then it only caused problems.
|
13 years ago |
Adam Ierymenko
|
ca93b4a1ac
|
Clean up some stuff, including a few spots where exceptions were not being handled correctly.
|
13 years ago |
Adam Ierymenko
|
4267e7da93
|
Remove a whole bunch of now-unnecessary cruft from Topology and PacketDecoder.
|
13 years ago |