96aa1c30a6
Proactively seek, enumerate, and distribute external surface addresses
2022-02-17 15:39:17 -08:00
06730c7d1d
BSL date bump
2020-08-20 12:51:39 -07:00
52a166a71f
Relicense: GPLv3 -> ZeroTier BSL 1.1
2019-08-23 09:23:39 -07:00
5b2b088714
Cleanup, version bump.
2019-06-11 14:58:23 -07:00
ee8682ac75
Temporarily disable the symmetric NAT port prediction code since the current version adds protocol overhead and probably is not that effective.
2019-03-26 15:23:51 -07:00
0e597191b8
Updated licenses for 2019
2019-01-14 10:25:53 -08:00
9681fedbb4
Spellcheck sweep across codebase
2018-06-07 17:25:27 -07:00
65c07afe05
Copyright updates for 2018.
2018-01-08 14:33:28 -08:00
b1d60df44c
timestamps changed from uint64_t to int64_t
...
There were cases in the code where time calculations and comparisons were overflowing and causing connection instability. This will keep time calculations within expected ranges.
2017-10-02 15:52:57 -07:00
a156a4dbe2
Symmetric NAT cleanup.
2017-08-23 15:12:00 -07:00
495c5ce81d
Bunch of remote tracing work.
2017-07-13 10:51:05 -07:00
dab0fb9e05
Remote trace: plumbing, replace old TRACE with calls to Trace object.
2017-07-07 16:58:05 -07:00
f18158a52d
.
2017-07-06 11:45:22 -07:00
1b68d6dbdc
License header update.
2017-04-27 20:47:25 -07:00
e4896b257f
Add thread PTR that gets passed through the entire ZT core call stack and then passed to handler functions resulting from a call.
2017-03-27 17:03:17 -07:00
d3524f3609
Refactor COM stuff a bit, and respond to COM requests a bit more readily for rapid setup. Will need to revisit later.
2016-09-20 21:21:34 -07:00
b5c86b6ba4
Bunch more path refactoring. Peers no longer forget paths, but do not normally use expired paths. Expired paths might still be tried if nothing else is reachable.
2016-09-07 11:13:17 -07:00
81959f14af
Refactor and redesign symmetric NAT predictor. This is cleaner.
2016-08-10 10:28:54 -07:00
c9d7845fea
Minor bug fix and some instrumentation stuff for testing.
2016-08-09 17:00:01 -07:00
e1310a764a
More cleanup and removal of cruft due to obsolete network-specific relays (will be replaced with federation stuff).
2016-08-09 15:45:26 -07:00
52d9612301
Reduce symmetric prediction fuzz just a bit.
2016-04-05 10:49:14 -07:00
2aa7138373
Reduce direct ping delay back to 1m and make SelfAwareness aware of local received-on address to eliminate false symmetric classification.
2016-02-22 09:47:50 -08:00
772551c45d
Try +1 and +2 existing surfaces for symmetric NATs.
2016-02-11 10:39:39 -08:00
0c951b6e56
More tweaks to new symmetric NAT buster, and stop using old iterative method since this supersedes it.
2016-02-10 18:41:39 -08:00
4e4fd51117
boring doc stuff
2016-01-12 14:04:55 -08:00
d8143a5e18
Implement first pass on rapid dead path detection, and increment version to 1.1.3 (dev)
2016-01-05 16:41:54 -08:00
7fbe2f7adf
Tweak some more timings for better reliability.
2015-11-02 15:38:53 -08:00
938d0a970b
TRACE build fixes.
2015-10-28 10:01:32 -07:00
c1b0329969
Only check IP equality to detect external surface changes (should prevent some spurious resets under symmetric NATs), and simplify some logic.
2015-10-28 09:32:07 -07:00
16bc3e0398
Factor out RemotePath subclass of Path -- no longer needed, just cruft.
2015-10-27 15:00:16 -07:00
a1a0ee4edb
Fix infinite loop in Cluster, clean up some stuff elsewhere, and back out rate limiting in PUSH_DIRECT_PATHS for now (but we will do something else to mitigate amplification attacks)
2015-10-27 12:01:00 -07:00
29b966894c
(1) Fix bug in geo-ip service that prevented cache lookup, (2) fix problem in SelfAwareness (will need to test ALL versions in the wild with this), and (3) add more TRACE instrumentation to Cluster.
2015-10-23 13:03:34 -07:00
f116c4b9c0
... and another ...
2015-09-04 14:24:31 -07:00
b31071463c
Try another NAT traversal improvement.
2015-07-28 11:28:47 -07:00
93bb934d4e
Some cleanup, docs, and Path -> Path > RemotePath refactor.
2015-07-06 14:08:13 -07:00
7bae95836c
Root server terminology cleanup, and tighten up a security check by checking full identity of peers instead of just address.
2015-06-19 10:23:25 -07:00
a425bbc673
Renamed supernode to rootserver
2015-05-06 12:05:20 +02:00
40f312a827
When we reset within scope, erase the other entries for that scope so we won't keep resetting the same scope repeatedly.
2015-05-04 19:02:36 -07:00
18ca6f34ff
Always update timestamp.
2015-05-04 18:45:39 -07:00
59fa687830
Make timeout also apply to null check in iam()
2015-05-04 18:43:24 -07:00
b4b067bf12
So we need to keep track of external surface per reporter, since some NATs assign different external IPs for each external destination. Keeping just one known surface could create a race condition.
2015-05-04 18:34:30 -07:00
9279bac385
Fix deadlock in SelfAwareness by deferring reconnects.
2015-04-30 21:09:41 -07:00
417f56de2f
Add some TRACE instrumentation to external surface address awareness.
2015-04-17 12:19:01 -07:00
0a90681849
Add ping(), and a logic fix in SelfAwareness.
2015-04-07 12:32:05 -07:00
eae2c89b09
Mutex locking fix.
2015-04-07 11:58:41 -07:00
52c3b7c34e
Implemented empirical determination of external addressing, paritioned per scope.
2015-04-07 11:56:10 -07:00
817824b88b
Some external surface awareness work, and IP scope classification.
2015-04-07 10:57:59 -07:00