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 |
Adam Ierymenko
|
58538500f2
|
Clean up some routine stuff like pings, and stop keeping links open forever even if there are no frames passing between them.
|
13 years ago |
Adam Ierymenko
|
4c06fcfc9d
|
More include formatting cleanup.
|
13 years ago |
Adam Ierymenko
|
8a46452a70
|
Move template parameter in Thread to a more logical scope location.
|
13 years ago |
Adam Ierymenko
|
e73c4cb68b
|
Whole bunch of stuff: netconf, bug fixes, tweaks to ping and firewall opener timing code.
|
13 years ago |
Adam Ierymenko
|
a7c4cbe53a
|
CLI debugging, got rid of nasty old Thread class and replaced with newer cleaner portable idiom.
|
13 years ago |
Adam Ierymenko
|
0c7f8e247c
|
Add amSupernode to make code clearer in the check-if-self-is-supernode case.
|
13 years ago |
Adam Ierymenko
|
76bc9968ff
|
New simpler command interface via loopback UDP protected by a crypto token.
|
13 years ago |
Adam Ierymenko
|
f934b81703
|
Several bug fixes in newly refactored code.
|
13 years ago |
Adam Ierymenko
|
9e28bbfbb2
|
Factored out multicast propagation algorithm from Switch and Topology, also cleaned up and clarified it a bit.
|
13 years ago |
Adam Ierymenko
|
7c85a638b0
|
Added creation and periodic update of a file called "status" in the home directory that contains peer link status. Useful for debugging and statistics. Send it SIGHUP to force an update now. Otherwise it updates every 120 seconds.
|
13 years ago |
Adam Ierymenko
|
150850b800
|
New git repository for release - version 0.2.0 tagged
|
13 years ago |