Commit Graph

1650 Commits

Author SHA1 Message Date
Adam Ierymenko
a59912f3af SHA512 using libcrypto (not enabled by default) 2018-03-12 16:56:47 -07:00
Adam Ierymenko
610e594a50 Speed tweaks for signatures, etc. 2018-03-12 16:16:20 -07:00
Adam Ierymenko
78d9cee416 Other fixes to IPv4 ad-hoc networks. 2018-03-09 00:10:01 -08:00
Adam Ierymenko
bbdb2aa672 Some work on IPv4 enabled ad-hoc networks. 2018-03-08 23:53:57 -08:00
Adam Ierymenko
51aadcf901 A few fixes dicatated by valgrind. 2018-02-09 06:35:01 +00:00
Adam Ierymenko
c6949aad2d Linux build fix on some versions. 2018-02-02 17:11:23 -08:00
Adam Ierymenko
fe1fa20c6c Fix build on Intel C/C++ Compiler for Linux. 2018-02-01 12:46:35 -08:00
Adam Ierymenko
f7019d9e80 Tie up the rest of hub and spoke designated replicator multicast mode. 2018-01-26 22:14:10 -05:00
Adam Ierymenko
6d8e1e8783 More cleanup of old stuff. 2018-01-26 21:34:56 -05:00
Adam Ierymenko
939ab43ceb Do not send to origin in second buffered multicast path. 2018-01-26 21:22:51 -05:00
Adam Ierymenko
d3d58ba8a7 Add support for designated multicast replicators to Multicaster::send(). 2018-01-26 21:19:51 -05:00
Adam Ierymenko
f03fd57997 Clean up some multicast code. 2018-01-26 20:38:44 -05:00
Adam Ierymenko
e74cd4b4ef A little more cleanup. 2018-01-26 20:06:11 -05:00
Adam Ierymenko
f3dfd63634 Clean up some old stuff. 2018-01-26 20:00:37 -05:00
Adam Ierymenko
384e5b66de More work on GitHub issue #666 2018-01-25 14:16:07 -05:00
Adam Ierymenko
7e7723e98f A small memory use reduction. 2018-01-25 09:57:02 -05:00
Adam Ierymenko
4419734a7d Implement continuous contacting of designated anchors and multicast replicators - GitHub issue #666 2018-01-25 07:11:59 -05:00
Adam Ierymenko
f821db29f3 . 2018-01-24 17:12:53 -05:00
Adam Ierymenko
6c64f1816d cleanup 2018-01-24 16:16:00 -05:00
Adam Ierymenko
34e2ad0dfc Stub out NetworkConfig for GitHub issue #666 2018-01-24 14:43:04 -05:00
Adam Ierymenko
5f976d7430 Reenable faster lock. 2018-01-11 14:31:19 -08:00
Adam Ierymenko
f87326fc21 Fixes for lock ordering -- GitHub issue #573 2018-01-11 14:29:57 -08:00
Adam Ierymenko
86d5264167 Merge branch 'dev' of http://10.6.6.2/zerotier/ZeroTierOne into dev 2018-01-10 16:55:15 -08:00
Adam Ierymenko
5bc4399a58 cleanup 2018-01-10 16:55:07 -08:00
Grant Limberg
406bcf7d3f Fix compilation on Windows
DEBUG macro from miniupnpc interferring with enum Trace::DEBUG;
2018-01-10 15:24:54 -08:00
Adam Ierymenko
07cb62a503 cleanup 2018-01-09 11:41:26 -08:00
Adam Ierymenko
01b4cb64ee cleanup 2018-01-09 08:35:02 -08:00
Adam Ierymenko
6fbd15f8b2 cleanup 2018-01-08 15:56:53 -08:00
Adam Ierymenko
65c07afe05 Copyright updates for 2018. 2018-01-08 14:33:28 -08:00
Adam Ierymenko
9c7ee5a21e Tear out old "link quality" stuff since it is not currently used and will be done differently. 2018-01-08 13:06:24 -08:00
Adam Ierymenko
d3e8e9629b More optimization work. 2017-12-15 14:24:17 -08:00
Adam Ierymenko
0608704626 Some micro-optimizations, including a memcpy that is faster than Linux for most distro/compiler versions. 2017-12-15 11:03:20 -08:00
Adam Ierymenko
f13886d343 Warning removal. 2017-12-05 17:53:28 -05:00
Adam Ierymenko
431716e249 Disable trace by default, stderr message improvements in RethinkDB driver. 2017-12-05 17:16:45 -05:00
Adam Ierymenko
16613ab5fb Clean up remote tracing code, add per-network remote trace settings, add remote trace level, and make local trace output readable again. 2017-12-04 14:40:10 -08:00
Adam Ierymenko
4166d8ca35 Fix a deadlock and some more work on RethinkDB (for central) integration. 2017-11-08 11:06:14 -08:00
Adam Ierymenko
4e88c80a22 RethinkDB native connector work, minor fixes. 2017-11-02 07:05:11 -07:00
Adam Ierymenko
fac7dc9c91 Stop duplciate IPv6 addresses due to privacy mode IPs. 2017-10-25 16:01:36 -07:00
Adam Ierymenko
508fa6a7fe A few fixes for cluster mode. 2017-10-25 15:44:10 -07:00
Adam Ierymenko
71bdaa9508 Now with more worky. 2017-10-25 13:27:28 -07:00
Adam Ierymenko
459f1e7bfb Refactor path stability stuff and add basic multipath support. 2017-10-25 12:42:14 -07:00
Adam Ierymenko
0d8b8d8426 Remove some unused constants. 2017-10-24 15:04:19 -07:00
Adam Ierymenko
2d0dc62a53 docs 2017-10-24 14:57:02 -07:00
Adam Ierymenko
c7d370c17f Delete something that turns out not to be useful. This will be handled differently. 2017-10-24 14:49:38 -07:00
Adam Ierymenko
395d8b3139 Full and clearer implementation of GitHub issue #588 2017-10-24 13:33:53 -07:00
Grant Limberg
099bedd2e9 A few more uint64_t -> int64_t changes for timestamps 2017-10-04 12:01:17 -07:00
Grant Limberg
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
Grant Limberg
7cf70d111a Return an explicit NULL shared pointer at the end of Topology::getPeer() 2017-09-28 10:40:27 -07:00
Grant Limberg
e564c56dce Set size of buffer after setting data with unsafeData() call 2017-09-28 10:39:43 -07:00
Grant Limberg
239c2540d6 Mutex::lock and ::unlock just called themselves 2017-09-27 15:05:13 -07:00
Grant Limberg
9c903567bb Hashtable needs to include Constants.hpp for ZT_EXCEPTION_OUT_OF_MEMORY 2017-09-25 13:42:19 -07:00
Adam Ierymenko
302c15140e Fix API problem with path configuration.. 2017-09-25 08:53:55 -07:00
Adam Ierymenko
52916eebcf Keep attemting to upgrade direct path if path is not private to facilitate better use of LANs and backplane networks. 2017-09-14 20:56:50 -07:00
Adam Ierymenko
f8014413a3 Add UDP MTU configurability. 2017-09-01 16:25:34 -07:00
Adam Ierymenko
2d858b05ac Another fix for ye old tyme clients. 2017-09-01 12:03:31 -07:00
Adam Ierymenko
b1fb020aea Raise chunk size to max packet size for network configs. Chunking breaks really ancient clients, so this helps them live a little longer. No real downside for new clients. 2017-09-01 10:43:44 -07:00
Adam Ierymenko
02ed84774c Non-x86 build fix. 2017-08-31 20:47:44 -04:00
Adam Ierymenko
49fa30d495 Ticket lock for x64/gcc/clang platforms. 2017-08-23 18:52:32 -07:00
Adam Ierymenko
dd8b03a5c5 Threading issue fix? 2017-08-23 18:28:40 -07:00
Adam Ierymenko
4d5983114c Fix another deadlock. 2017-08-23 17:14:06 -07:00
Adam Ierymenko
0a9c3b5571 Fix possible deadlock. 2017-08-23 16:59:31 -07:00
Adam Ierymenko
180049a277 Fix pointer bug. 2017-08-23 16:55:22 -07:00
Adam Ierymenko
6ee201865b Clean up WHOIS code. 2017-08-23 16:42:17 -07:00
Adam Ierymenko
b1d94c9f93 Performance improvement to RX queue ring buffer. 2017-08-23 15:19:26 -07:00
Adam Ierymenko
a156a4dbe2 Symmetric NAT cleanup. 2017-08-23 15:12:00 -07:00
Adam Ierymenko
9cfc109527 Tighten a few timings. 2017-08-23 14:00:08 -07:00
Adam Ierymenko
64758c46b6 Implement peer serialization and deserialization. 2017-08-23 13:40:51 -07:00
Adam Ierymenko
fcaf1d89c2 Get rid of some noisy remote traces that should not be needed. 2017-08-18 13:59:22 -07:00
Adam Ierymenko
a4bc40542b GCC/G++ build fixes, GitHub issue #563 2017-08-14 11:43:39 -07:00
Adam Ierymenko
ff5e22031a Small fix: should expire packets to prevent repeated WHOISes. 2017-08-08 13:24:37 -07:00
Adam Ierymenko
e3cf756785 Make rxQueue lock-free using an atomic counter ring buffer. 2017-08-08 13:21:10 -07:00
Adam Ierymenko
7e6598e9ca Possible deadlock fix. 2017-08-07 14:13:08 -07:00
Adam Ierymenko
727ccb1125 Cleanup and stdin/stdout harness mode for controller. 2017-07-18 13:57:37 -07:00
Adam Ierymenko
1685659e37 Remote tracing works. 2017-07-17 17:02:50 -07:00
Adam Ierymenko
5e2ea4a81a Cleanup. 2017-07-17 14:24:57 -07:00
Adam Ierymenko
b9e1d53d7a Minor cleanup. 2017-07-17 14:21:09 -07:00
Adam Ierymenko
ab0806a036 Cleanup. 2017-07-17 13:48:39 -07:00
Adam Ierymenko
3a1ec07db0 Remove some exception copypasta. 2017-07-17 10:43:28 -07:00
Adam Ierymenko
d939d8d21d A bit more remote tracing stuff. 2017-07-14 14:57:40 -07:00
Adam Ierymenko
4ecc0c59ca Plumbing through of remote trace into controller code. 2017-07-14 13:03:16 -07:00
Adam Ierymenko
c692f2e740 Fix for new identity generation bug. 2017-07-13 16:31:16 -07:00
Adam Ierymenko
ba6fd16823 More tracing stuff. 2017-07-13 15:08:57 -07:00
Adam Ierymenko
495c5ce81d Bunch of remote tracing work. 2017-07-13 10:51:05 -07:00
Adam Ierymenko
dab0fb9e05 Remote trace: plumbing, replace old TRACE with calls to Trace object. 2017-07-07 16:58:05 -07:00
Adam Ierymenko
6fc70f7c16 More cleanup, Linux build fixes. 2017-07-07 06:50:40 -07:00
Adam Ierymenko
f23a43fb81 More cleanup. 2017-07-06 17:32:41 -07:00
Adam Ierymenko
d2415dee00 Cleanup. 2017-07-06 16:11:11 -07:00
Adam Ierymenko
dff8c02cfe Pull out and deprecate old cluster code. New cluster code will not be merged yet. 2017-07-06 12:33:00 -07:00
Adam Ierymenko
640ad577d1 . 2017-07-06 11:56:46 -07:00
Adam Ierymenko
f18158a52d . 2017-07-06 11:45:22 -07:00
Adam Ierymenko
2f20258807 . 2017-07-06 10:25:36 -07:00
Adam Ierymenko
baa10c2995 . 2017-06-30 17:32:07 -07:00
Adam Ierymenko
355cce3938 Rename Utils::snprintf due to it being a #define on one platform. 2017-06-27 11:31:29 -07:00
Adam Ierymenko
02d18af57d Remove Cluster.hpp 2017-06-23 16:10:26 -07:00
Adam Ierymenko
dd68c207f4 Stuff old Cluster code in attic. 2017-06-08 08:51:49 -07:00
Adam Ierymenko
9b287392a4 . 2017-06-05 12:15:28 -07:00
Adam Ierymenko
aa06470cb6 More cleanup for cluster refactor. 2017-06-01 20:32:43 -07:00
Adam Ierymenko
6015b529a0 More clustering work. 2017-06-01 12:33:05 -07:00
Adam Ierymenko
76452b4e28 Data structure fixup. 2017-06-01 07:39:31 -07:00
Adam Ierymenko
64b7d9ef82 New clustering work. 2017-06-01 07:15:46 -07:00