Adam Ierymenko
|
3a959a7763
Swap out std::map<> for Hashtable<> for main peer database in Topology. (ongoing std::map-ectomy)
|
10 gadi atpakaļ |
Adam Ierymenko
|
93bb934d4e
Some cleanup, docs, and Path -> Path > RemotePath refactor.
|
10 gadi atpakaļ |
Adam Ierymenko
|
7bae95836c
Root server terminology cleanup, and tighten up a security check by checking full identity of peers instead of just address.
|
10 gadi atpakaļ |
Kees Bos
|
a425bbc673
Renamed supernode to rootserver
|
10 gadi atpakaļ |
Adam Ierymenko
|
4d5a6a25d3
Add events for packet decode errors, etc., and re-implement TRACE as an event.
|
10 gadi atpakaļ |
Adam Ierymenko
|
ee2f51f48e
Make Toplogy use dataStoreXX() methods from Node, and get rid of old TCP stuff.
|
10 gadi atpakaļ |
Adam Ierymenko
|
52c3b7c34e
Implemented empirical determination of external addressing, paritioned per scope.
|
10 gadi atpakaļ |
Adam Ierymenko
|
817824b88b
Some external surface awareness work, and IP scope classification.
|
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
|
eeed31b396
Ping supernodes on surface change, and also reset TCP flag.
|
10 gadi atpakaļ |
Adam Ierymenko
|
37d23336ed
Surface logic in Topology.
|
10 gadi atpakaļ |
Adam Ierymenko
|
4e95384ad6
Cleanup, add tristate to config code in Network, and happy new year!
|
11 gadi atpakaļ |
Adam Ierymenko
|
a8bd8fff93
Make several changes to eliminate potential deadlock or recursive lock conditions, and add back rescan of multicast groups on network startup.
|
11 gadi atpakaļ |
Adam Ierymenko
|
7a37326cc0
Fix sleeper bug that probably did nothing in setSupernodes().
|
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
|
6316011024
Make crypto and compression build optimized in debug, and also try disabling peers.persist -- might ship this way as it seems more trouble than its worth.
|
11 gadi atpakaļ |
Adam Ierymenko
|
e53d208ea4
Improve security posture by eliminating non-const data() accessor from Buffer.
|
11 gadi atpakaļ |
Adam Ierymenko
|
e1882b614b
Some cleanup, Multicaster now sends multicasts as it gets additional members.
|
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
|
282114e96c
Makefile changes, and make Topology::getBestSupernode() return the "next" supernode if I am a supernode. Also some comment cleanup.
|
11 gadi atpakaļ |
Adam Ierymenko
|
aa59cfd545
Web request part of supernode resync (not quite done, needs test)
|
11 gadi atpakaļ |
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
|
11 gadi atpakaļ |
Adam Ierymenko
|
be6b61b1bc
Accept supernode dictionaries in Topology, also fix (unused) field name in one of these.
|
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
|
7831c4bfef
Cleanup, dead code removal, some pretty insignificant security stuff that's based on recommendations.
|
11 gadi atpakaļ |
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.
|
11 gadi atpakaļ |
Adam Ierymenko
|
8e587ae481
Clean dead paths from peers.
|
11 gadi atpakaļ |
Adam Ierymenko
|
daaec84c6b
Add TCP channel support for supernode list, make Peer pick the first path if all paths are equally dead.
|
11 gadi atpakaļ |