Adam Ierymenko
|
1b1945c63e
|
Work in progress on refactoring root-topology into World and adding in-band updates.
|
11 years ago |
Adam Ierymenko
|
5384f185ae
|
Simplify Dictionary and reduce memory usage, now no more std::maps in core.
|
11 years ago |
Adam Ierymenko
|
76a95dc58f
|
The return of peer peristence.
|
11 years ago |
Adam Ierymenko
|
a3db7d0728
|
Refactor: move network COMs out of Network and into Peer in prep for tightening up multicast lookup and other things.
|
11 years ago |
Adam Ierymenko
|
f69454ec98
|
(1) Make ZT_ naming convention consistent (get rid of ZT1_), (2) Make local interface a full sockaddr_storage instead of an int identifier, which turns out to be better for multi-homing and other uses.
|
11 years ago |
Adam Ierymenko
|
367ffde00c
|
Plumb through localInterfaceId to track local interfaces corresponding with remote addresses.
|
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
|
93bb934d4e
|
Some cleanup, docs, and Path -> Path > RemotePath refactor.
|
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 |
Kees Bos
|
a425bbc673
|
Renamed supernode to rootserver
|
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
|
ee2f51f48e
|
Make Toplogy use dataStoreXX() methods from Node, and get rid of old TCP stuff.
|
11 years ago |
Adam Ierymenko
|
52c3b7c34e
|
Implemented empirical determination of external addressing, paritioned per scope.
|
11 years ago |
Adam Ierymenko
|
817824b88b
|
Some external surface awareness work, and IP scope classification.
|
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
|
4e95384ad6
|
Cleanup, add tristate to config code in Network, and happy new year!
|
11 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
|
7a37326cc0
|
Fix sleeper bug that probably did nothing in setSupernodes().
|
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
|
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.
|
12 years ago |
Adam Ierymenko
|
e53d208ea4
|
Improve security posture by eliminating non-const data() accessor from Buffer.
|
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
|
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
|
aa59cfd545
|
Web request part of supernode resync (not quite done, needs test)
|
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
|
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
|
7831c4bfef
|
Cleanup, dead code removal, some pretty insignificant security stuff that's based on recommendations.
|
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
|
8e587ae481
|
Clean dead paths from peers.
|
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
|
8d3eb1a258
|
A few renamings to be consistent.
|
12 years ago |
Adam Ierymenko
|
33ad3deaee
|
Builds with new Path code.
|
12 years ago |
Adam Ierymenko
|
b5c3a92be2
|
Boring stuff: update dates in copyrights across all files.
|
12 years ago |
Adam Ierymenko
|
9acfd3eb73
|
Build fix on Linux with G++.
|
12 years ago |
Adam Ierymenko
|
0ad84b8723
|
Possible bug fix in Topology, have to test...
|
12 years ago |
Adam Ierymenko
|
d452ed7db8
|
Fix inverted sense bug in new skip-stale-relay logic.
|
12 years ago |
Adam Ierymenko
|
d7bc3c6f4a
|
Fix infinite loop bug introduced in last commit.
|
12 years ago |
Adam Ierymenko
|
d04e5a1fe0
|
Add a simple but very nice mechanism for avoiding potentially dead supernodes.
|
12 years ago |
Adam Ierymenko
|
22efa1ab53
|
Windows Installer work, fix 100% CPU bug in EthernetTap on Windows, Windows lockDownFile() implementation that uses 'cacls' utility.
|
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 |