Compare commits

..
356 Commits
Author SHA1 Message Date
Grant Limberg b849e23536 Moved zerotier-root code to its own repo 2025-01-07 11:06:42 -08:00
Adam Ierymenko 0ab4e2f750 Roots now understand encrypted HELLO. 2024-09-26 19:47:57 -04:00
Adam Ierymenko 2316a45a45 clang-format root 2024-09-26 13:41:59 -04:00
Adam Ierymenko 0a6c22a9b8 . 2024-08-14 08:10:44 -04:00
Adam Ierymenko 8adf064a04 Yet another fix. 2021-09-21 12:36:00 -04:00
Adam Ierymenko 7fe00f4247 Another dumb RENDEZVOUS bug. 2021-09-21 12:13:47 -04:00
Adam Ierymenko 5eae02068d Fix bass ackwards addresses making RENDEZVOUS packets not make it, improve P2P. 2021-09-21 11:58:39 -04:00
Adam Ierymenko 5d429cedbb Send error. 2021-09-20 16:56:16 -04:00
Adam Ierymenko 3c85322067 Meh... fixed now. 2021-09-20 15:54:12 -04:00
Adam Ierymenko 9fb902bdf6 Pointer deref fix. 2021-09-20 15:43:27 -04:00
Adam Ierymenko 262cb7a4b5 Generate new peer if old was bad. 2021-09-20 15:12:56 -04:00
Adam Ierymenko 104fade420 Thinko. 2021-09-20 15:04:25 -04:00
Adam Ierymenko bcf8c30ce0 Simplify validation logic too. 2021-09-20 14:56:49 -04:00
Adam Ierymenko c2413fca4d Clean out a bunch of old code related to the possibility of multiple peers sharing virtual addresses. Does not seem to be currently exploitable but we are never going back to that idea, so this simplifies things. May also speed up the root. 2021-09-20 14:42:49 -04:00
Adam Ierymenko 5028aca372 Fix some identity verification stuff, performance improvements, build of root now requires libjemalloc. 2021-06-18 16:14:59 -04:00
Adam Ierymenko 311f9c5c2a A few minor changes: (1) bind sockets to peers so the same socket is always used to send as most recently received, (2) pick the most recently active IP (v4 or v6) if both exist, and (3) introduce expiry of V4 or V6 IPs in addition to the peer overall. 2021-05-26 19:37:48 -04:00
Adam Ierymenko 32ca1a09da Set version threshold correctly for v2 2020-08-27 10:00:11 -07:00
Adam Ierymenko bba1324145 One more sanity check. 2020-01-21 11:04:18 -08:00
Adam Ierymenko ff655292fb Allocate packet on heap, add extra sanity checks on packet size. 2020-01-21 10:58:41 -08:00
Grant Limberg 2558bd1b9b include iomanip 2020-01-16 09:11:12 -08:00
Grant Limberg 95d0944b9f add /metrics endpoint for exposing root metrics to Prometheus 2020-01-16 09:08:52 -08:00
Adam Ierymenko 68ac884d47 . 2019-10-02 14:30:46 -07:00
Adam Ierymenko e2f3996843 Fix callbacks 2019-10-02 13:39:48 -07:00
Adam Ierymenko 57ade250af . 2019-10-02 12:19:37 -07:00
Adam Ierymenko c3e0f262d1 Regularize JSON stuff 2019-10-02 09:34:44 -07:00
Adam Ierymenko b9911d0db7 More plumbing 2019-10-02 07:09:54 -07:00
Adam Ierymenko d1b780c7be addroot 2019-10-01 13:09:53 -07:00
Adam Ierymenko 1711cced3e . 2019-09-30 20:31:48 -07:00
Adam Ierymenko 63e6693255 . 2019-09-30 20:10:53 -07:00
Adam Ierymenko 9b8d191bb1 Locator fix 2019-09-30 20:09:35 -07:00
Adam Ierymenko 6db2b8c66d . 2019-09-30 20:03:03 -07:00
Adam Ierymenko 47a08ccbd4 Identity management plumbing to Go 2019-09-30 18:59:57 -07:00
Adam Ierymenko 7fc78129f4 A bunch of CLI work 2019-09-30 16:12:08 -07:00
Adam Ierymenko c4504fd3ff Vendor Go modules 2019-09-30 12:41:21 -07:00
Adam Ierymenko e4799ff8c4 Bunch of small warnings and stylistic things... 2019-09-30 11:10:47 -07:00
Adam Ierymenko f680924585 Build fixes 2019-09-30 09:48:44 -07:00
Adam Ierymenko b0d222768a Root admin stuff 2019-09-30 09:32:00 -07:00
Adam Ierymenko 4303c43db7 . 2019-09-27 14:55:46 -07:00
Adam Ierymenko 3b3e6d2bfc Simplify root API 2019-09-26 13:35:56 -07:00
Adam Ierymenko 7061f13b24 . 2019-09-26 09:34:31 -07:00
Adam Ierymenko 5175636d36 . 2019-09-25 14:31:08 -07:00
Adam Ierymenko 570032484f . 2019-09-25 14:16:55 -07:00
Adam Ierymenko 9c37fc1a5f . 2019-09-25 13:32:46 -07:00
Adam Ierymenko 105023bd87 Build fix 2019-09-25 12:43:14 -07:00
Adam Ierymenko 8a9669f130 . 2019-09-25 12:36:49 -07:00
Adam Ierymenko e5bd230fb0 . 2019-09-24 16:44:29 -07:00
Adam Ierymenko e3d47e588a . 2019-09-24 12:32:35 -07:00
Adam Ierymenko f4a5abeed9 Go CLI work 2019-09-24 12:19:28 -07:00
Adam Ierymenko a7e38d2b00 . 2019-09-23 16:58:55 -07:00
Adam Ierymenko 84ba396ed3 . 2019-09-23 16:47:13 -07:00
Adam Ierymenko 6683280a37 . 2019-09-23 16:46:58 -07:00
Adam Ierymenko 1edf680464 . 2019-09-23 16:46:31 -07:00
Adam Ierymenko 4df090469a Clean out obsolete dependencies. 2019-09-23 16:42:23 -07:00
Adam Ierymenko 3c63f58532 Build fix. 2019-09-23 16:21:43 -07:00
Adam Ierymenko 64c8171e13 Port binding check. 2019-09-23 16:21:02 -07:00
Adam Ierymenko b6175bd408 Gogogogogogogo 2019-09-23 15:18:52 -07:00
Adam Ierymenko b44bd19c53 . 2019-09-22 22:33:11 -07:00
Adam Ierymenko 536bc59abb . 2019-09-22 22:25:55 -07:00
Adam Ierymenko 70d5da1e2a . 2019-09-22 19:25:40 -07:00
Adam Ierymenko 90d4d79828 Peers and paths 2019-09-22 17:41:15 -07:00
Adam Ierymenko ccc9be2d4d All that cgo crap compiles! 2019-09-22 00:06:07 -07:00
Adam Ierymenko 3341c4a670 Rooting around 2019-09-21 22:54:58 -07:00
Adam Ierymenko bcb9df9cdf Network config stuff in Go 2019-09-21 20:40:06 -07:00
Adam Ierymenko 2eef9d22e6 getting there... 2019-09-21 18:22:25 -07:00
Adam Ierymenko 5e35346f17 Gogog 2019-09-21 15:35:27 -07:00
Adam Ierymenko bb53ee9567 Going once... going twice! 2019-09-21 15:04:00 -07:00
Adam Ierymenko 9934a856dd More go 2019-09-21 12:54:45 -07:00
Adam Ierymenko 24904c5083 Go F yourself 2019-09-21 11:56:31 -07:00
Adam Ierymenko 6ce4663a31 GoGoGo 2019-09-21 00:19:20 -07:00
Adam Ierymenko fbf74d3baa Go! Go! https://www.youtube.com/watch?v=hyGYdqMfrQQ 2019-09-20 21:00:54 -07:00
Adam Ierymenko b540181990 Go! Go! Go! - Moby 2019-09-20 20:34:31 -07:00
Adam Ierymenko 02a6b15e6b Moar Go 2019-09-20 19:51:57 -07:00
Adam Ierymenko b34aa10bf8 Go code! 2019-09-20 18:48:48 -07:00
Adam Ierymenko e0ddbc2f28 Update build process, Go glue builds now. 2019-09-20 15:00:53 -07:00
Adam Ierymenko ed2024285d More Go boilerplate. 2019-09-20 14:11:15 -07:00
Adam Ierymenko ae2120eb96 New service, work in progress 2019-09-20 09:09:05 -07:00
Adam Ierymenko 3ceb2257e5 Plumb through roots via API. 2019-09-19 09:47:12 -07:00
Adam Ierymenko 624efde7e4 Make sure threads dont exit on spurious return values from recvfrom unless we are really dying. 2019-09-16 20:41:23 -07:00
Adam Ierymenko 50009fef6f Merge branch 'dev' into edge 2019-09-16 20:26:41 -07:00
Adam Ierymenko dde937e197 cleanup 2019-09-16 19:58:21 -07:00
Adam Ierymenko 07a480b37a Build fix. 2019-09-16 18:04:32 -07:00
Adam Ierymenko 9f5bccec30 Add a recv timeout to root 2019-09-16 18:03:17 -07:00
Adam Ierymenko ade52bf81e Fix RENDEZVOUS issue and possibly improve GeoIP resolution. 2019-09-16 17:04:13 -07:00
Adam Ierymenko 71c766a3b2 Build fix 2019-09-16 15:09:56 -07:00
Adam Ierymenko eef66aee9a build fix 2019-09-16 14:51:02 -07:00
Adam Ierymenko e245eb1eb5 Trim some unnecessary locks from root, and cleanup elsewhere. 2019-09-16 14:48:27 -07:00
Adam Ierymenko e08fc81397 More threading improvements in root, more DNS TXT and multicast work (in progress) 2019-09-16 10:33:59 -07:00
Adam Ierymenko 9f9032ae36 Cleanup and warning removal. 2019-09-13 16:24:02 -07:00
Adam Ierymenko 063a16fcd6 Ensure SSE is enabled for Salsa20 on x64 2019-09-13 11:16:21 -07:00
Adam Ierymenko 0db4151492 cleanup 2019-09-13 11:10:56 -07:00
Adam Ierymenko e44d7a553f The root technically does not need to do this, and its slow. 2019-09-13 10:29:11 -07:00
Adam Ierymenko 53a2de98de Packet ID fix 2019-09-13 10:23:35 -07:00
Adam Ierymenko 2deaaeef28 Some root cleanup and more lock contention reduction. 2019-09-13 10:20:29 -07:00
Adam Ierymenko 1f9e16f63e AES optimization rabbit hole 2019-09-13 09:37:09 -07:00
Adam Ierymenko 87fe69c27c AES optimization rabbit hole 2019-09-13 09:35:49 -07:00
Adam Ierymenko 2d1eeda188 Cleanup, optimization 2019-09-12 14:32:37 -07:00
Adam Ierymenko 5c06d40358 cleanup 2019-09-12 10:37:26 -07:00
Adam Ierymenko 31e193756d cleanup 2019-09-12 09:59:46 -07:00
Adam Ierymenko 5aa744db84 Simplification and further concurrency improvements. 2019-09-12 08:41:34 -07:00
Adam Ierymenko 0ad82dad80 Linux build fix 2019-09-12 08:25:26 -07:00
Adam Ierymenko 99c36ed2f2 Parallelization improvements 2019-09-12 08:20:38 -07:00
Adam Ierymenko 44878e583a Bug fixes 2019-09-11 16:10:06 -07:00
Adam Ierymenko 0723a85ab3 Build fixes. 2019-09-11 15:52:18 -07:00
Adam Ierymenko d8dae365f6 Cleanup, optimization, multicast stuff, and it now compiles again. 2019-09-11 15:34:55 -07:00
Adam Ierymenko bccb86a401 More multicast work... 2019-09-10 16:20:28 -07:00
Adam Ierymenko 592e743349 Yet more multicast work. 2019-09-09 15:49:17 -07:00
Adam Ierymenko fb6161e9ac May as well make it a full self-signature. 2019-09-09 10:45:49 -07:00
Adam Ierymenko 787277d282 More multicast work, add a signature in identity for safety margin, cleanup. 2019-09-09 10:44:31 -07:00
Adam Ierymenko 540ee69773 A bunch of multicast work... in progress. 2019-09-07 19:15:21 -07:00
Adam Ierymenko 0d2c87fe4e map fix 2019-09-06 08:54:27 -07:00
Adam Ierymenko 2460de9713 map fix 2019-09-06 08:50:36 -07:00
Adam Ierymenko 0d32f42d26 map fix 2019-09-06 08:47:32 -07:00
Adam Ierymenko 277497684e Revert "map fix"
This reverts commit f4a83e516c.
2019-09-06 08:45:39 -07:00
Adam Ierymenko f4a83e516c map fix 2019-09-06 08:41:03 -07:00
Adam Ierymenko d2eb1ed9a5 map fix 2019-09-06 08:27:03 -07:00
Adam Ierymenko a3ec5846df map fix 2019-09-06 08:18:11 -07:00
Adam Ierymenko b6047899a8 map fix 2019-09-06 08:12:46 -07:00
Adam Ierymenko 3516070b6e map fix 2019-09-06 08:11:20 -07:00
Adam Ierymenko 56ec87e00e map fix 2019-09-06 08:03:59 -07:00
Adam Ierymenko fe0b896665 map fix 2019-09-06 07:58:43 -07:00
Adam Ierymenko e4721417e6 map fix 2019-09-06 07:55:36 -07:00
Adam Ierymenko 45f5b3b648 map fix 2019-09-06 07:40:32 -07:00
Adam Ierymenko 3123102211 root cleanup and add nifty geoip thing 2019-09-06 07:37:44 -07:00
Adam Ierymenko c6141ffbc7 cleanup 2019-09-05 18:06:48 -07:00
Adam Ierymenko c0e92d06a5 faster without const variable second-guessing of the compiler 2019-09-05 17:31:12 -07:00
Adam Ierymenko 274b2682d6 cleanup and docs 2019-09-05 15:09:20 -07:00
Adam Ierymenko 171d661b84 cleanup 2019-09-05 12:17:04 -07:00
Adam Ierymenko 5cea8da664 Optimization and naming cleanup 2019-09-05 12:03:11 -07:00
Adam Ierymenko 44dd52d08f KBKDF 2019-09-05 11:39:16 -07:00
Adam Ierymenko 70648d006d Merge branch 'dev' into edge 2019-09-05 11:06:27 -07:00
Adam Ierymenko 43e6a9e9ee more fastitude 2019-09-05 09:54:30 -07:00
Adam Ierymenko 0599c1710b Merge branch 'dev' into edge 2019-09-04 16:41:05 -07:00
Adam Ierymenko abf218a9cd cleanup 2019-09-04 16:38:55 -07:00
Adam Ierymenko 55f4f9aaeb cleanup 2019-09-04 16:15:10 -07:00
Adam Ierymenko 82b7e1dbcb HMAC fix 2019-09-04 15:22:15 -07:00
Adam Ierymenko e8f8b0f8e5 cleanup 2019-09-04 14:40:36 -07:00
Adam Ierymenko 7566d4fbab Merge dev 2019-09-04 14:38:35 -07:00
Adam Ierymenko 3a0d385119 Implement changes to AES-GMAC-CTR: four keys with one for each role/purpose instead of just two, and simpler CTR-IV calculation. 2019-09-04 14:37:38 -07:00
Adam Ierymenko a465afa83d Merge branch 'dev' into edge 2019-09-04 08:19:39 -07:00
Adam Ierymenko 185e90c40f AES-GMAC-CTR tweaks, self test tweaks, debian typo fix. 2019-09-04 08:19:12 -07:00
Adam Ierymenko e29c2d0260 Fix field headers 2019-09-03 15:59:34 -07:00
Adam Ierymenko acf6425ae9 Formatting fix 2019-09-03 15:55:23 -07:00
Adam Ierymenko 5e8d49de0f Stats, tweak P2P success rate stat. 2019-09-03 15:48:10 -07:00
Adam Ierymenko 1f9456a462 Estimate P2P Success Rate 2019-09-03 15:19:17 -07:00
Adam Ierymenko a7d8285c3a Don't require siblings field 2019-09-03 14:57:54 -07:00
Adam Ierymenko 5f1dc4b851 cleanup 2019-09-03 14:57:02 -07:00
Adam Ierymenko b1c22949c5 Cleanup, add support for distributing a new planet file 2019-09-03 14:44:13 -07:00
Adam Ierymenko 29be175743 Make relay max hops configurable on roots 2019-09-03 13:17:12 -07:00
Adam Ierymenko b6c5ba264b One more fix for discarding hops exceeded packets. 2019-09-03 13:01:01 -07:00
Adam Ierymenko 8e7e3c2b11 Fix max hops. 2019-09-03 12:58:23 -07:00
Adam Ierymenko 0e7df129d8 Fix variable shadowing bug. 2019-09-03 12:51:32 -07:00
Adam Ierymenko 50709cbd21 Fix siblings in peers list, fix meter. 2019-09-03 12:44:09 -07:00
Adam Ierymenko fd6e8d8c5c Add instrumentation to root, add capability to forward to siblings if no path is known to a peer. 2019-09-03 12:21:57 -07:00
Adam Ierymenko 2e7496130c Fix silly thinko in root that harms p2p establishment. 2019-08-30 21:17:34 -07:00
Adam Ierymenko 9666ab5797 Merge branch 'dev' into edge 2019-08-30 17:57:11 -07:00
Adam Ierymenko 4c08ac7873 Fix MULTICAST_GATHER reply problem in root 2019-08-30 17:34:05 -07:00
Adam Ierymenko 5435ec7545 Merge dev 2019-08-30 15:40:00 -07:00
Adam Ierymenko 8764d50179 Merge branch 'dev' of http://git.int.zerotier.com/zerotier/ZeroTierOne into edge 2019-08-30 15:16:21 -07:00
Adam Ierymenko 62cdb8dc94 cleanup 2019-08-30 12:47:19 -07:00
Adam Ierymenko 9918a1092f JSON fix 2019-08-30 09:39:46 -07:00
Adam Ierymenko 7d89511fda JSON fix 2019-08-30 09:38:18 -07:00
Adam Ierymenko 795b6d13d1 Simple status output on root of HTTP tree 2019-08-30 09:29:06 -07:00
Adam Ierymenko 8328b6f657 Lib fix 2019-08-30 09:10:11 -07:00
Adam Ierymenko 9994e591bd More root work and CMake-ify root 2019-08-30 09:08:39 -07:00
Adam Ierymenko b27a38e55e Implement WHOIS 2019-08-29 14:27:41 -07:00
Adam Ierymenko f6d747a5a0 Fix some more multicast stuff (minor) 2019-08-29 12:02:37 -07:00
Adam Ierymenko b7da7574d1 Helps to decompress the packet 2019-08-29 11:40:31 -07:00
Adam Ierymenko dbad9585cd Fix parsing of MULTICAST_GATHER 2019-08-29 11:23:23 -07:00
Adam Ierymenko 2d7a97bb94 Fix V4/V6 forwarding issue in root 2019-08-29 10:58:47 -07:00
Adam Ierymenko da19da0360 RENDEZVOUS works now 2019-08-29 08:00:54 -07:00
Adam Ierymenko ee7361ee2e crash fix 2019-08-29 07:25:16 -07:00
Adam Ierymenko 6e3e09bed4 Add RENDEZVOUS to high throughput root 2019-08-29 07:17:18 -07:00
Adam Ierymenko 86762d2b40 high throughput root is working! 2019-08-28 15:52:18 -07:00
Adam Ierymenko ef12c5af99 . 2019-08-28 15:22:28 -07:00
Adam Ierymenko 933404b1dd . 2019-08-28 15:20:34 -07:00
Adam Ierymenko ccec49e444 . 2019-08-28 15:17:16 -07:00
Adam Ierymenko e5f1bf81f7 . 2019-08-28 15:15:21 -07:00
Adam Ierymenko 0e627f4f68 . 2019-08-28 15:07:38 -07:00
Adam Ierymenko d33f7d2bf5 . 2019-08-28 14:49:16 -07:00
Adam Ierymenko e07a019615 . 2019-08-28 14:47:05 -07:00
Adam Ierymenko 34ca3012e6 . 2019-08-28 14:43:37 -07:00
Adam Ierymenko 62634ca2da . 2019-08-28 14:39:31 -07:00
Adam Ierymenko 846c96e8d5 . 2019-08-28 14:36:29 -07:00
Adam Ierymenko 63775723c1 . 2019-08-28 14:28:07 -07:00
Adam Ierymenko 2f7d3e655a . 2019-08-28 14:26:13 -07:00
Adam Ierymenko b19634d7e4 . 2019-08-28 14:21:02 -07:00
Adam Ierymenko a92967a7c1 . 2019-08-28 14:16:14 -07:00
Adam Ierymenko 8915b88de5 . 2019-08-28 14:06:45 -07:00
Adam Ierymenko 7bca81464b . 2019-08-28 14:04:42 -07:00
Adam Ierymenko b974ece24f . 2019-08-28 13:59:23 -07:00
Adam Ierymenko b1c8e6ad59 . 2019-08-28 13:51:13 -07:00
Adam Ierymenko 64f7185e3a . 2019-08-28 13:44:15 -07:00
Adam Ierymenko 807cc9afc3 . 2019-08-28 13:40:49 -07:00
Adam Ierymenko 0adf306dd4 . 2019-08-28 13:38:52 -07:00
Adam Ierymenko db0f602e86 . 2019-08-28 13:10:36 -07:00
Adam Ierymenko 17ec47f5c0 . 2019-08-28 13:09:14 -07:00
Adam Ierymenko cf831d9cd3 . 2019-08-28 13:04:58 -07:00
Adam Ierymenko 5e3c633f74 root work 2019-08-28 11:59:13 -07:00
Adam Ierymenko 4e4b27b6ab build fix 2019-08-28 11:54:09 -07:00
Adam Ierymenko c0c9590904 High throughput root stuff 2019-08-28 11:49:45 -07:00
Adam Ierymenko 24c9577e39 cleanup 2019-08-28 11:28:51 -07:00
Adam Ierymenko 59ee0cfe88 Safety upgrades to code 2019-08-28 10:34:32 -07:00
Adam Ierymenko 1977b9b764 Use -flto on Mac for release 2019-08-28 07:45:49 -07:00
Adam Ierymenko 6f9d1fc14c Merge branch 'dev' into edge 2019-08-28 07:43:36 -07:00
Adam Ierymenko 8ac59ae2be cleanup 2019-08-28 07:40:13 -07:00
Adam Ierymenko 46db37e06c Yield in ticket lock 2019-08-28 07:34:24 -07:00
Adam Ierymenko 9d1207b339 Merge branch 'dev' into edge 2019-08-28 07:31:33 -07:00
Adam Ierymenko 6e730cfad1 Cleanup, multicast fingerprint, benchmark asymmetric crypto 2019-08-28 07:31:17 -07:00
Adam Ierymenko 199b3345a0 cleanup 2019-08-27 14:42:49 -07:00
Adam Ierymenko b7f504b8a4 cleanup 2019-08-27 14:40:01 -07:00
Adam Ierymenko 1b459b0560 cleanup 2019-08-27 14:31:04 -07:00
Adam Ierymenko 40803a4dc1 cleanup 2019-08-27 14:25:11 -07:00
Adam Ierymenko 6f22570648 Optimization and cleanup 2019-08-26 20:18:28 -07:00
Adam Ierymenko 8203547cfc Warning removal. 2019-08-26 20:01:54 -07:00
Adam Ierymenko dad160209e Add -mmacosx-version-min=10.9 2019-08-26 19:54:24 -07:00
Adam Ierymenko 8faaaec710 Add check for PCLMUL instruction too. Virtually all CPUs with AES-NI have it but good to be sure. 2019-08-26 19:48:56 -07:00
Adam Ierymenko 012fba617d Set SSE/AES-NI flags only on x86/x64 targets. 2019-08-26 19:40:22 -07:00
Adam Ierymenko 9ca495229b Revert "optimization stuff"
This reverts commit e63f624d3a.
2019-08-26 19:03:09 -07:00
Adam Ierymenko e63f624d3a optimization stuff 2019-08-26 19:02:28 -07:00
Adam Ierymenko e1dd413266 cleanup 2019-08-26 18:44:56 -07:00
Adam Ierymenko b9ef09dd58 Optimization stuff 2019-08-26 18:15:32 -07:00
Adam Ierymenko 990333e7ec cleanup, re-enable AES-NI check 2019-08-26 16:35:28 -07:00
Adam Ierymenko ec9582f3f2 More test vectors, software mode GCM. 2019-08-26 16:24:42 -07:00
Adam Ierymenko ea65386e15 Merge branch 'dev' into edge 2019-08-26 12:22:20 -07:00
Adam Ierymenko a0fd4ad23f Cleanup, Linux build fix. 2019-08-26 12:17:23 -07:00
Adam Ierymenko b6d7a95028 Merge branch 'dev' into edge 2019-08-26 11:09:19 -07:00
Adam Ierymenko 1d8f3cee62 cleanup 2019-08-23 21:12:24 -07:00
Adam Ierymenko 5ba6e21967 cleanup 2019-08-23 20:34:09 -07:00
Adam Ierymenko 52f7f6e6cf Fully implement the packet encryption/decryption algorithms. 2019-08-23 20:20:32 -07:00
Adam Ierymenko 9fd5ec673b Get rid of complicated AES-GCM + scramble construct in favor of a simpler construct thanks to "Squeamish Ossifrage" on crypto.stackexchange.com 2019-08-23 18:41:21 -07:00
Adam Ierymenko e905b3c963 cleanup 2019-08-23 17:22:23 -07:00
Adam Ierymenko f12370c348 more opt 2019-08-23 12:40:08 -07:00
Adam Ierymenko b727e2a67a More opt stuff 2019-08-23 12:34:45 -07:00
Adam Ierymenko 8e87319925 Optimization stuff 2019-08-23 12:18:02 -07:00
Adam Ierymenko 1ab29b1ab0 Merge branch 'dev' into edge 2019-08-23 12:11:07 -07:00
Adam Ierymenko 52d55e34e6 Licenses, and use full strength AES-128 in scramble. 2019-08-23 12:03:13 -07:00
Adam Ierymenko c79360f58b Merge dev 2019-08-23 11:37:40 -07:00
Adam Ierymenko 8057c826bc cleanup 2019-08-23 09:34:26 -07:00
Adam Ierymenko 6f6138c500 Merge relicensing change from dev 2019-08-23 09:27:13 -07:00
Adam Ierymenko 903a18db1d work in progress 2019-08-23 08:41:22 -07:00
Adam Ierymenko 0731f3f1a9 wiring more stuff up, and simplification of timing loops 2019-08-23 07:04:20 -07:00
Adam Ierymenko 37047a39f9 More cleanup, and fix SHA384 built-in C code. 2019-08-22 14:52:47 -07:00
Adam Ierymenko 91d0cbe892 cleanup 2019-08-22 13:08:10 -07:00
Adam Ierymenko b66431bc29 Work in progress... 2019-08-22 13:06:08 -07:00
Adam Ierymenko 0e18b14087 Merge branch 'dev' into edge 2019-08-21 14:58:26 -07:00
Adam Ierymenko 31bd413166 stub out new verbs 2019-08-21 14:57:57 -07:00
Adam Ierymenko 95a6fce2b4 Yet more cleanup, it builds again now. 2019-08-21 14:36:56 -07:00
Adam Ierymenko 0b5472f9fb Tons and tons of cleanup and cruft removal 2019-08-21 14:24:45 -07:00
Adam Ierymenko 5280d28505 cleanup 2019-08-21 10:44:52 -07:00
Adam Ierymenko 67a9898a99 Bunch more work on DNS, cleanup, removal of obsolete cruft. 2019-08-21 09:27:45 -07:00
Adam Ierymenko fe8815f80f cleanup 2019-08-20 15:36:18 -07:00
Adam Ierymenko 3a21fdc304 Crypto work, packet work 2019-08-20 15:34:30 -07:00
Adam Ierymenko 83d723eb79 type 1 (P-384) identities 2019-08-20 13:32:23 -07:00
Adam Ierymenko 6e771607c0 cleanup 2019-08-19 20:35:16 -07:00
Adam Ierymenko e73b220104 cleanup 2019-08-19 20:30:34 -07:00
Adam Ierymenko 5c1fc43610 cleanup 2019-08-19 20:29:24 -07:00
Adam Ierymenko cfbd7e3bf5 Add stubs to easily build and include all of libnatpmp and miniupnpc in osdep/ 2019-08-19 20:28:44 -07:00
Adam Ierymenko c8ca1cfa3c Kill old inline software update, we will use https and secondary auth for new versions. 2019-08-19 19:24:23 -07:00
Adam Ierymenko 5cfbb0a423 Clean up dead stuff from OneService and fix build errors. 2019-08-19 19:21:33 -07:00
Adam Ierymenko 900ec143a8 . 2019-08-19 16:45:29 -07:00
Adam Ierymenko 7bda3d0f74 put sse4.1 back 2019-08-19 15:49:13 -07:00
Adam Ierymenko 7650786fb5 cleanup, Locator fix and self-test 2019-08-19 15:43:15 -07:00
Adam Ierymenko ca60d08621 cleanup, scrambler functions 2019-08-19 12:49:33 -07:00
Adam Ierymenko b34218c8c2 auto-set -j option in makefile, and split out cmake setup rule 2019-08-19 10:06:39 -07:00
Adam Ierymenko b14a59629c cleanup 2019-08-19 06:58:42 -07:00
Adam Ierymenko 0914bf8cf0 Some ARM NEON code (not finished) 2019-08-16 19:22:03 -07:00
Adam Ierymenko 7bdca83de3 Add decrypt 2019-08-16 18:40:22 -07:00
Adam Ierymenko 846f03504e Add DNS TXT resolver (need one for Windows) 2019-08-16 16:49:30 -07:00
Adam Ierymenko 01e8fd0b07 The newer C ed25519 is the same speed as the old ASM, so drop it to simplify. 2019-08-16 14:42:38 -07:00
Adam Ierymenko 7f301c44b7 more cleanup 2019-08-16 14:26:45 -07:00
Adam Ierymenko 51a25fdec9 Remove ASM Salsa20 since it will not be the default in 2.x any more... reduce build complexity. 2019-08-16 14:26:25 -07:00
Grant Limberg 2b681c37ac Consolidate common compiler flags 2019-08-16 11:42:43 -07:00
Grant Limberg cb4ebfdbd2 Dragging adam into CMake kicking and screaming :) 2019-08-16 10:45:14 -07:00
Grant Limberg 206c85222c Fix Constants.hpp inclusion of version.h 2019-08-16 09:52:13 -07:00
ZeroTier 18071e038e Fix MacEthernetTapAgent & Cmake integration 2019-08-16 09:44:31 -07:00
Grant Limberg 39f7ce15ad mac compiler flags 2019-08-15 17:40:21 -07:00
Grant Limberg e39b42bbd3 fixing some CMake stuff on Linux 2019-08-15 17:29:33 -07:00
Adam Ierymenko 607d8f72e8 cruftectomy 2019-08-15 15:43:35 -07:00
Adam Ierymenko c483f75fb4 cleanup 2019-08-15 15:32:16 -07:00
Adam Ierymenko 81f0175251 cleanup 2019-08-15 14:14:49 -07:00
Adam Ierymenko f753519729 A bit more optimization 2019-08-15 14:07:52 -07:00
Adam Ierymenko f39693f97e cleanup 2019-08-15 13:52:23 -07:00
Adam Ierymenko f83ae0e39e Add self-test for AES and AES-GCM using public test vectors. 2019-08-15 13:47:43 -07:00
Adam Ierymenko 521d371b5d A bunch more refactoring to rip out obsolete stuff related to old root system and general cleanup. 2019-08-15 10:49:50 -07:00
Adam Ierymenko b23d551d00 cleanup 2019-08-14 16:05:09 -07:00
Adam Ierymenko 1b20cc6075 More optimization and cleanup 2019-08-14 15:59:45 -07:00
Adam Ierymenko 2043e12ac2 . 2019-08-14 15:50:25 -07:00
Adam Ierymenko 9461bc948f . 2019-08-14 15:28:10 -07:00
Adam Ierymenko 9740ab8bd6 more cleanup 2019-08-14 15:17:06 -07:00
Adam Ierymenko 6947a6b1d4 more cleanup 2019-08-14 15:12:49 -07:00
Adam Ierymenko 4da8036222 More refactor 2019-08-14 15:00:18 -07:00
Adam Ierymenko e6b4006c70 Refactoring to eliminate duplicated code 2019-08-14 14:55:37 -07:00
Adam Ierymenko 8f5f7f1baa More work in progress 2019-08-14 12:48:45 -07:00
Adam Ierymenko 573d3eea87 Merge branch 'dev' into edge 2019-08-14 10:53:03 -07:00
Adam Ierymenko eb84eec0f4 Merge branch 'dev' into edge 2019-08-14 10:48:07 -07:00
Adam Ierymenko d7a31088ba Cleanup, warning removal, cppcheck informed cleanup. 2019-08-14 10:35:57 -07:00
Adam Ierymenko a028e04ab9 Merge branch 'dev' into edge 2019-08-13 15:51:19 -07:00
Adam Ierymenko a0520536df . 2019-08-13 08:49:25 -07:00
Adam Ierymenko af137fd5d3 Merge branch 'edge' of http://git.int.zerotier.com/zerotier/ZeroTierOne into edge 2019-08-12 15:37:55 -07:00
Adam Ierymenko f7bc9f01c9 More AES stuff 2019-08-12 15:37:50 -07:00
Grant Limberg e4ce1ffd85 Windows detection of AES-NI 2019-08-12 15:28:42 -07:00
Grant Limberg 2384b49156 set cmake windows build target to Windows 7 2019-08-12 15:28:30 -07:00
Adam Ierymenko f5e71f64ed Merge branch 'edge' of http://git.int.zerotier.com/zerotier/ZeroTierOne into edge 2019-08-12 13:27:07 -07:00
Adam Ierymenko 927ef22cf8 Merge branch 'dev' into edge 2019-08-12 13:27:00 -07:00
Grant Limberg b6eaec1278 run selftest 2019-08-12 13:26:34 -07:00
Grant Limberg c7d1eb71da build & run selftest as part of jenkins 2019-08-12 13:25:14 -07:00
Grant Limberg 7d41d267a3 silencing warnings for code paths that will never be hit 2019-08-12 13:18:21 -07:00
Grant Limberg 0ead65ad2d change this 2019-08-12 13:11:43 -07:00
Grant Limberg 8c5481a3d5 Merge branch 'edge' of http://git.int.zerotier.com/zerotier/ZeroTierOne into edge 2019-08-12 12:58:20 -07:00
Grant Limberg 741258051e this should work better 2019-08-12 12:58:10 -07:00
Adam Ierymenko 0f4fc8635b Merge branch 'edge' of http://git.int.zerotier.com/zerotier/ZeroTierOne into edge 2019-08-12 12:51:38 -07:00
Adam Ierymenko d02d3f72fe AES-GCM code 2019-08-12 12:51:32 -07:00
Grant Limberg 710b69fc75 kill build dir before jenkins build 2019-08-12 12:44:47 -07:00
Grant Limberg 4fae382ffd Auto-generate version.h 2019-08-12 12:43:51 -07:00
Grant Limberg 68b94a3188 CMake for edge branch 2019-08-12 12:35:07 -07:00
Grant Limberg 8e04f83232 Merge branch 'edge' into cmake 2019-08-12 12:24:25 -07:00
Grant Limberg cc9fd9f8ce Merge branch 'dev' into cmake 2019-08-12 12:23:36 -07:00
Adam Ierymenko 1e8fcf1344 Add AES to build 2019-08-09 13:42:40 -05:00
Adam Ierymenko 809c8305b1 AES code 2019-08-09 10:54:08 -05:00
Adam Ierymenko 652c7e8f37 Locator work 2019-08-08 23:23:16 -05:00
Adam Ierymenko beebca98fe Merge branch 'dev' into edge 2019-08-08 19:42:16 -05:00
Adam Ierymenko ce67abc32f Merge branch 'dev' into edge 2019-08-08 18:49:03 -05:00
Adam Ierymenko 52cc482521 Merge branch 'dev' into edge 2019-08-08 15:59:58 -05:00
Adam Ierymenko 5eacad444d workinprogress 2019-08-08 15:03:52 -05:00
Adam Ierymenko e8155cbbeb Merge dev 2019-08-08 13:05:28 -05:00
Adam Ierymenko 663376e385 cleanup 2019-08-08 08:42:27 -05:00
Adam Ierymenko 3c590994db Finish up ECC384 identity generation. 2019-08-07 23:50:47 -05:00
Adam Ierymenko 14c8564893 Merge branch 'dev' into edge 2019-08-07 22:35:27 -05:00
Adam Ierymenko 91a37f8868 Add base64 code (unpadded standard alphabet) 2019-08-07 22:35:17 -05:00
Adam Ierymenko 1a2ff884b3 Merge branch 'dev' into edge 2019-08-07 19:08:35 -05:00
Adam Ierymenko 0298719be0 Use SHA384 with ECC384 to match FIPS / Suite B recommendation. 2019-08-07 17:06:03 -05:00
Adam Ierymenko d0746da5e2 Add SHA384 support, more cleanup 2019-08-07 16:41:58 -05:00
Adam Ierymenko 5b1cf33b1b Merge branch 'dev' into edge 2019-08-07 11:31:32 -05:00
Adam Ierymenko 54a1bbd016 . 2019-08-07 11:20:12 -05:00
Adam Ierymenko 455cd5551b . 2019-08-06 17:06:39 -05:00
Adam Ierymenko b3e1783658 . 2019-08-06 16:46:13 -05:00
Adam Ierymenko 906c83af83 Merge branch 'dev' into edge 2019-08-06 15:47:54 -05:00
Adam Ierymenko f9900cc6fb Merge dev to edge 2019-08-06 14:13:07 -05:00
ZeroTier 8e20187d8c set OS X deployment target to 10.9 2019-08-01 15:58:32 -07:00
ZeroTier 28dac7ff0e build MacEthernetTapAgent 2019-08-01 15:41:50 -07:00
Grant Limberg e385b3d377 Merge branch 'dev' into cmake 2019-08-01 15:16:31 -07:00
Grant Limberg 7e5c68c553 update jenkins to use cmake for builds 2019-08-01 15:13:06 -07:00
Grant Limberg 39ad7bc741 update cmake to add LFDB and force C++11 2019-08-01 14:36:35 -07:00
Grant Limberg c2f9aab068 Merge branch 'master' into cmake 2019-08-01 13:49:30 -07:00
Adam Ierymenko 7e105343e2 WIP 2019-07-17 16:53:33 -05:00
Adam Ierymenko fe2215df00 TON of refactoring, moon/planet is DEAD, ECC P-384 is integrated (but not enabled), and multicast work and cleanup. Whew. 2019-07-17 10:52:08 -05:00
Adam Ierymenko 640bbaabbf Safer value 2019-07-16 17:28:42 -05:00
Adam Ierymenko da2965cb4e P-384 test vectors 2019-07-16 17:25:25 -05:00
Adam Ierymenko 94ba242c33 Nist P-384 guts and glory 2019-07-16 16:09:14 -05:00
Adam Ierymenko debd5a5c5e Add capability for P2P multicast propagation, and some cleanup. 2019-07-16 13:33:11 -05:00
Adam Ierymenko 98bbb84a63 Merge branch 'dev' into edge 2019-07-15 19:40:52 -05:00
Adam Ierymenko 9d908a11ed Some new stuff, may not live forever... 2019-07-15 13:57:42 -05:00
Grant Limberg 4d599e2f9f Linux build with CMake 2019-06-21 15:16:20 -07:00
Grant Limberg d3b33e5512 Can now build the Windows UI via CMake as well 2019-06-21 12:54:53 -07:00
Grant Limberg c8487cc395 no message 2019-06-20 16:15:19 -07:00
Grant Limberg 0b3b5f6174 Beginning CMake configuration for ZT
Only tested on Windows so far
2019-06-20 16:13:52 -07:00
853 changed files with 63958 additions and 156325 deletions

No files matched your search

+75
View File
@@ -0,0 +1,75 @@
---
BasedOnStyle: LLVM
BreakBeforeBraces: Stroustrup
IndentWidth: 4
TabWidth: 4
AlignAfterOpenBracket: AlwaysBreak
AlignConsecutiveMacros: 'true'
AlignConsecutiveAssignments: 'false'
AlignConsecutiveDeclarations: 'false'
AlignEscapedNewlines: Right
AlignOperands: 'true'
AlignTrailingComments: 'true'
AllowAllArgumentsOnNextLine: 'false'
AllowAllConstructorInitializersOnNextLine: 'false'
AllowAllParametersOfDeclarationOnNextLine: 'false'
AllowShortBlocksOnASingleLine: 'true'
AllowShortCaseLabelsOnASingleLine: 'false'
AllowShortFunctionsOnASingleLine: None
AllowShortIfStatementsOnASingleLine: Never
AlwaysBreakAfterReturnType: None
BinPackArguments: 'false'
BinPackParameters: 'false'
BreakBeforeBinaryOperators: NonAssignment
BreakBeforeTernaryOperators: 'true'
BreakConstructorInitializers: BeforeComma
BreakInheritanceList: BeforeComma
CompactNamespaces: 'false'
ConstructorInitializerAllOnOneLineOrOnePerLine: 'true'
ConstructorInitializerIndentWidth: '4'
ContinuationIndentWidth: '4'
Cpp11BracedListStyle: 'false'
FixNamespaceComments: 'true'
IncludeBlocks: Regroup
IndentCaseLabels: 'true'
IndentPPDirectives: None
IndentWrappedFunctionNames: 'false'
KeepEmptyLinesAtTheStartOfBlocks: 'false'
MaxEmptyLinesToKeep: '1'
NamespaceIndentation: None
PointerAlignment: Left
ReflowComments: 'true'
SortIncludes: 'true'
SortUsingDeclarations: 'true'
SpaceAfterCStyleCast: 'false'
SpaceAfterLogicalNot: 'true'
SpaceAfterTemplateKeyword: 'true'
SpaceBeforeAssignmentOperators: 'true'
SpaceBeforeCpp11BracedList: 'true'
SpaceBeforeCtorInitializerColon: 'true'
SpaceBeforeInheritanceColon: 'true'
SpaceBeforeParens: ControlStatements
SpaceBeforeRangeBasedForLoopColon: 'true'
SpaceInEmptyParentheses: 'false'
SpacesBeforeTrailingComments: '3'
SpacesInAngles: 'false'
SpacesInCStyleCastParentheses: 'false'
SpacesInContainerLiterals: 'true'
SpacesInParentheses: 'false'
SpacesInSquareBrackets: 'false'
UseTab: 'Never'
---
Language: Cpp
Standard: Cpp03
ColumnLimit: '240'
---
Language: ObjC
ColumnLimit: '240'
---
Language: Java
ColumnLimit: '240'
---
Language: CSharp
ColumnLimit: '240'
...
+6
View File
@@ -0,0 +1,6 @@
CompileFlags:
Add:
- "-std=c++17"
- "-I../ext"
- "-I../ext/prometheus-cpp-lite-1.0/core/include"
- "-I../ext/prometheus-cpp-lite-1.0/simpleapi/include"
-2
View File
@@ -1,2 +0,0 @@
.git/
workspace/
-4
View File
@@ -1,4 +0,0 @@
ext/bin/tap-windows-ndis6/x64/zttap300.inf eol=crlf
ext/bin/tap-windows-ndis6/x64.old/zttap300.inf eol=crlf
ext/bin/tap-windows-ndis6/x86/zttap300.inf eol=crlf
windows/TapDriver6/zttap300.inf eol=crlf
+46
View File
@@ -0,0 +1,46 @@
---
name: Bug report
about: Create a report to help us improve
---
**Alternative, faster ways to get help**
If you have just started using ZeroTier, here are some places to get help:
- my.zerotier.com has a _Community_ tab. It's a live chat with other users and the developers.
- [ZeroTier Knowledge Base](https://zerotier.atlassian.net/wiki/spaces/SD/overview)
- www.zerotier.com has a Contact Us button
- email contact@zerotier.com
**Describe the bug**
A clear and concise description of what the bug is.
**To Reproduce**
Steps to reproduce the behavior:
1. Create a Network '...'
2. Install zerotier-one '....'
3. '....'
4. See error
**Expected behavior**
A clear and concise description of what you expected to happen.
**Screenshots**
If applicable, add screenshots or console output to help explain your problem.
**Desktop (please complete the following information):**
- OS: [e.g. Mac, Linux, Windows, BSD]
- OS/Distribution Version
- ZeroTier Version [e.g. 1.2.4]
- Hardware [e.g. raspberry pi 3]
**Smartphone (please complete the following information):**
- Device: [e.g. iPhone6]
- OS: [e.g. iOS8.1]
- Version [e.g. 1.2.4]
**Additional context**
Add any other context about the problem here.
- ZeroTier Network Configuration
- Router Config
- Firewall Config (try turning the firewall off)
- General Network Environment: [ e.g Home, University Campus, Corporate LAN ]
-50
View File
@@ -1,50 +0,0 @@
---
name: Bugs and Issues
about: Create a report to help us improve
title: ''
labels: NEEDS TRIAGE
assignees: ''
---
# Before filing a Bug Report
_Using these will ensure you get quicker support, and make this space available for code-related issues. Thank you!_
- [Knowledge Base](https://zerotier.atlassian.net/wiki/spaces/SD/overview) => Guides and documentation on how to use ZeroTier.
- [Discuss Forum](https://discuss.zerotier.com/) => Our discussion forum for users and support to mutally resolve issues & suggest ideas.
- [Reddit](https://www.reddit.com/r/zerotier/) => Our subreddit, which we monitor regularly and is fairly active.
- https://www.zerotier.com/contact/ => Sales and licensing queries
- https://zerotier.atlassian.net/servicedesk/customer/portals => Customer Support Portal
# If you still want to file a Bug Report
## Required
- What you expect to be happening.
- What is actually happening?
- Any steps to reproduce the error.
- Any screenshots that would help us out.
## Additional information
**Desktop (please complete the following information):**
- OS: [e.g. Mac, Linux, Windows, BSD]
- OS/Distribution Version
- ZeroTier Version [e.g. 1.4.6]
**Smartphone (please complete the following information):**
- Device: [e.g. iPhone6]
- OS: [e.g. iOS8.1]
- ZeroTier Version [e.g. 1.4.6]
**Embedded & NAS (please complete the following information):**
- Device: [e.g. Synology, Pi4]
- OS/Distribution (if applicable)
- ZeroTier Version [e.g. 1.4.6]
**Additional context**
- ZeroTier Network Configuration: IPv4 & IPv6 networks defined on your ZeroTier Central
- Router Config: are you permitting port 9993, uPnP, and NAT-PMP?
- Firewall Config: are you permitting port 9993 on your OS; setting it to "Private" on Windows?
- Are you using this at home, in an office, college, etc?
+9 -5
View File
@@ -1,13 +1,17 @@
---
name: Feature request
about: Suggest an idea for this project
title: "[Feature Request] "
labels: suggestion
assignees: ''
---
If there is something you'd like to have added to ZeroTier, to go to https://discuss.zerotier.com/c/feature-requests/ instead. Issues there can be voted on and discussed in-depth.
**Is your feature request related to a problem? Please describe.**
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
**Describe the solution you'd like**
A clear and concise description of what you want to happen.
Thank you!
**Describe alternatives you've considered**
A clear and concise description of any alternative solutions or features you've considered.
**Additional context**
Add any other context or screenshots about the feature request here.
@@ -1,15 +0,0 @@
---
name: Game Connection Issue
about: Game issues are better served by forum posts
title: Please go to our Discuss or Reddit for game-related issues. Thanks!
labels: wontfix
assignees: ''
---
Are you having trouble connecting to a game on your virtual network after installing ZeroTier?
- [ ] Yes
- [ ] No
If you answered yes, then it is very likely that your question would be better answered on our [Discuss ](https://discuss.zerotier.com) forum or [Reddit](https://www.reddit.com/r/zerotier/) community; we monitor both regularly. We also have extensive documentation on our [Knowledge Base](https://zerotier.atlassian.net/wiki/spaces/SD/overview). Thank you!
Executable → Regular
+50 -81
View File
@@ -1,19 +1,56 @@
# Main binaries created in *nix builds
/zerotier-one
/zerotier-idtool
/zerotier-cli
/zerotier-selftest
/zerotier
/nltest
# OS-created garbage files from various platforms
build/
/version.h
.DS_Store
.Trashes
*.swp
._*
*~
*~.nib
.Apple*
Thumbs.db
@eaDir
._*
DerivedData/
*.pbxuser
*.mode1v3
*.mode2v3
*.perspectivev3
!default.pbxuser
!default.mode1v3
!default.mode2v3
!default.perspectivev3
*.xccheckout
xcuserdata/
.vscode
__pycache__
attic/world/*.c25519
attic/world/mkworld
*.log
*.opensdf
*.user
*.cache
*.obj
*.tlog
*.pid
*.pkg
*.o
*.o-*
*.core
*.deb
*.rpm
*.autosave
*.tmp
.depend
node_modules
debian/files
debian/zerotier-one
debian/zerotier-one*.debhelper
debian/*.log
debian/zerotier-one.substvars
root/identity.*
root/config.*
/ext/installfiles/windows/chocolatey/zerotier-one/*.nupkg
/go/zerotier
# Windows build droppings
/windows/ZeroTierOne.sdf
/windows/ZeroTierOne.v11.suo
/windows/x64
@@ -32,7 +69,8 @@ Thumbs.db
/ext/installfiles/windows/ZeroTier One-SetupFiles
/ext/installfiles/windows/Prerequisites
/ext/installfiles/windows/*-cache
/ZeroTier One.msi
/*.msi
/windows/.vs
*.vcxproj.backup
/windows/TapDriver6/Win7Debug
/windows/TapDriver6/win7Release
@@ -41,49 +79,7 @@ Thumbs.db
enc_temp_folder
/windows/copyutil/bin
/windows/copyutil/obj
.vs/
# *nix/Mac build droppings
/build-*
/ZeroTierOneInstaller-*
/examples/docker/zerotier-one
/examples/docker/test-*.env
/world/mkworld
/world/*.c25519
zt1-src.tar.gz
/MacEthernetTapAgent
# Miscellaneous temporaries, build files, etc.
*.log
*.opensdf
*.user
*.cache
*.obj
*.tlog
*.pid
*.pkg
*.o
/*.a
*.dylib
*.so
*.so.*
*.o-*
*.core
*.deb
*.rpm
*.autosave
*.tmp
.depend
node_modules
zt1_update_*
debian/files
debian/zerotier-one
debian/zerotier-one*.debhelper
debian/*.log
debian/zerotier-one.substvars
root-watcher/config.json
# Java/Android/JNI build droppings
java/obj/
java/libs/
java/bin/
@@ -95,30 +91,3 @@ java/build_win32/
windows/WinUI/obj/
windows/WinUI/bin/
windows/ZeroTierOne/Debug/
/ext/installfiles/windows/chocolatey/zerotier-one/*.nupkg
# Miscellaneous mac/Xcode droppings
.DS_Store
.Trashes
*.swp
*~.nib
DerivedData/
build/
*.pbxuser
*.mode1v3
*.mode2v3
*.perspectivev3
!default.pbxuser
!default.mode1v3
!default.mode2v3
!default.perspectivev3
*.xccheckout
xcuserdata/
ext/librethinkdbxx/build
.vscode
__pycache__
*~
attic/world/*.c25519
attic/world/mkworld
workspace/
workspace2/
+3
View File
@@ -0,0 +1,3 @@
# Default ignored files
/workspace.xml
+9
View File
@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="WEB_MODULE" version="4">
<component name="Go" enabled="true" />
<component name="NewModuleRootManager">
<content url="file://$MODULE_DIR$" />
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
</module>
+5
View File
@@ -0,0 +1,5 @@
<component name="ProjectCodeStyleConfiguration">
<state>
<option name="PREFERRED_PROJECT_CODE_STYLE" value="Default" />
</state>
</component>
+11
View File
@@ -0,0 +1,11 @@
<component name="ProjectDictionaryState">
<dictionary name="api">
<words>
<w>apisocket</w>
<w>nwid</w>
<w>secrand</w>
<w>sockaddr</w>
<w>unmarshals</w>
</words>
</dictionary>
</component>
+10
View File
@@ -0,0 +1,10 @@
<component name="InspectionProjectProfileManager">
<profile version="1.0">
<option name="myName" value="Project Default" />
<inspection_tool class="SpellCheckingInspection" enabled="false" level="TYPO" enabled_by_default="false">
<option name="processCode" value="true" />
<option name="processLiterals" value="true" />
<option name="processComments" value="true" />
</inspection_tool>
</profile>
</component>
+6
View File
@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="JavaScriptSettings">
<option name="languageLevel" value="ES6" />
</component>
</project>
+8
View File
@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/.idea/ZeroTierOne.iml" filepath="$PROJECT_DIR$/.idea/ZeroTierOne.iml" />
</modules>
</component>
</project>
Generated
+6
View File
@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="$PROJECT_DIR$" vcs="Git" />
</component>
</project>
+29
View File
@@ -0,0 +1,29 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectTasksOptions">
<TaskOptions isEnabled="true">
<option name="arguments" value="fmt $FilePath$" />
<option name="checkSyntaxErrors" value="true" />
<option name="description" />
<option name="exitCodeBehavior" value="ERROR" />
<option name="fileExtension" value="go" />
<option name="immediateSync" value="false" />
<option name="name" value="go fmt" />
<option name="output" value="$FilePath$" />
<option name="outputFilters">
<array />
</option>
<option name="outputFromStdout" value="false" />
<option name="program" value="$GoExecPath$" />
<option name="runOnExternalChanges" value="false" />
<option name="scopeName" value="Project Files" />
<option name="trackOnlyRoot" value="true" />
<option name="workingDir" value="$ProjectFileDir$" />
<envs>
<env name="GOROOT" value="$GOROOT$" />
<env name="GOPATH" value="$GOPATH$" />
<env name="PATH" value="$GoBinDirs$" />
</envs>
</TaskOptions>
</component>
</project>
-12
View File
@@ -36,12 +36,6 @@ ZeroTier includes the following third party code, either in ext/ or incorporated
* Home page: http://code.google.com/p/lz4/
* License grant: BSD 2-clause
* http-parser by Joyent, Inc. (many authors)
* Files: ext/http-parser/*
* Home page: https://github.com/joyent/http-parser/
* License grant: MIT/Expat
* C++11 json (nlohmann/json) by Niels Lohmann
* Files: ext/json/*
@@ -62,12 +56,6 @@ ZeroTier includes the following third party code, either in ext/ or incorporated
* License grant: public domain
* ZeroTier Modifications: slight cryptographically-irrelevant modifications for inclusion into ZeroTier core
* MiniUPNPC and libnatpmp by Thomas Bernard
* Files: ext/libnatpmp/* ext/miniupnpc/*
* Home page: http://miniupnp.free.fr/
* License grant: BSD attribution no-endorsement
* cpp-httplib by yhirose
* Files: ext/cpp-httplib/*
+195 -8
View File
@@ -1,12 +1,199 @@
# CMake build script for libzerotiercore.a
cmake_minimum_required (VERSION 3.10)
cmake_minimum_required (VERSION 2.8)
project (zerotiercore)
if(${CMAKE_VERSION} VERSION_LESS 3.15)
cmake_policy(VERSION ${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION})
else()
cmake_policy(VERSION 3.15)
endif()
set (PROJ_DIR ${PROJECT_SOURCE_DIR})
set (ZT_DEFS -std=c++11)
if(WIN32)
# If building on Windows, set minimum target to Windows 7
set(CMAKE_SYSTEM_VERSION "7" CACHE STRING INTERNAL FORCE)
endif(WIN32)
file(GLOB core_src_glob ${PROJ_DIR}/node/*.cpp)
add_library(zerotiercore STATIC ${core_src_glob})
set(ZEROTIER_ONE_VERSION_MAJOR 2 CACHE INTERNAL "")
set(ZEROTIER_ONE_VERSION_MINOR 0 CACHE INTERNAL "")
set(ZEROTIER_ONE_VERSION_REVISION 0 CACHE INTERNAL "")
set(ZEROTIER_ONE_VERSION_BUILD 0 CACHE INTERNAL "")
target_compile_options(zerotiercore PRIVATE ${ZT_DEFS})
set(default_build_type "Release")
if(EXISTS "${CMAKE_SOURCE_DIR}/.git")
set(default_build_type "Debug")
endif()
if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES)
message(STATUS "Setting build type to '${default_build_type}' as none was specified.")
set(CMAKE_BUILD_TYPE "${default_build_type}" CACHE
STRING "Choose the type of build." FORCE)
# Set the possible values of build type for cmake-gui
set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS
"Debug" "Release" "MinSizeRel" "RelWithDebInfo")
endif()
option(BUILD_CENTRAL_CONTROLLER "Build ZeroTier Central Controller" OFF)
option(ZT_TRACE "Trace Messages" OFF)
option(ZT_DEBUG_TRACE "Debug Trace Messages" OFF)
if (BUILD_CENTRAL_CONTROLLER)
find_package(PostgreSQL REQUIRED)
set(ENABLE_SSL_SUPPORT OFF)
set(BUILD_SHARED_LIBS OFF)
set(BUILD_EXAMPLES OFF)
set(BUILD_TOOLS OFF)
set(BUILD_TESTS OFF)
set(BUILD_API_DOCS OFF)
add_subdirectory("ext/librabbitmq")
endif(BUILD_CENTRAL_CONTROLLER)
set(CMAKE_OSX_DEPLOYMENT_TARGET "10.9" CACHE STRING "Minimum OS X Deployment Version")
if(CMAKE_BUILD_TYPE STREQUAL "Debug")
add_definitions(-DZT_TRACE)
endif(CMAKE_BUILD_TYPE STREQUAL "Debug")
project(zerotier
DESCRIPTION "ZeroTier Network Hypervisor"
LANGUAGES CXX C)
if(WIN32)
add_definitions(-DNOMINMAX)
else(WIN32)
if(APPLE)
message("Setting macOS Compiler Flags ${CMAKE_BUILD_TYPE}")
add_compile_options(
-Wall
-Wno-deprecated
-mmacosx-version-min=10.9
$<$<CONFIG:Debug>:-g>
$<$<CONFIG:DEBUG>:-O0>
$<$<CONFIG:RELEASE>:-Ofast>
$<$<CONFIG:RELEASE>:-fPIE>
$<$<CONFIG:RELEASE>:-flto>
$<$<CONFIG:RELWITHDEBINFO>:-Ofast>
$<$<CONFIG:RELWITHDEBINFO>:-fPIE>
$<$<CONFIG:RELWITHDEBINFO>:-g>
)
add_link_options(
-mmacosx-version-min=10.9
$<$<CONFIG:RELEASE>:-flto>
)
elseif (
CMAKE_SYSTEM_NAME MATCHES "Linux" OR
CMAKE_SYSTEM_NAME MATCHES "FreeBSD" OR
CMAKE_SYSTEM_NAME MATCHES "OpenBSD" OR
CMAKE_SYSTEM_NAME MATCHES "NetBSD"
)
message("Setting Linux/BSD Compiler Flags (${CMAKE_BUILD_TYPE})")
add_compile_options(
-Wall
-Wno-deprecated
$<$<CONFIG:Debug>:-g>
$<$<CONFIG:DEBUG>:-O0>
$<$<CONFIG:RELEASE>:-O3>
$<$<CONFIG:RELEASE>:-fPIE>
$<$<CONFIG:RELWITHDEBINFO>:-O3>
$<$<CONFIG:RELWITHDEBINFO>:-fPIE>
$<$<CONFIG:RELWITHDEBINFO>:-g>
)
endif(APPLE)
endif(WIN32)
if (
CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64" OR
CMAKE_SYSTEM_PROCESSOR MATCHES "amd64" OR
CMAKE_SYSTEM_PROCESSOR MATCHES "i386" OR
CMAKE_SYSTEM_PROCESSOR MATCHES "i486" OR
CMAKE_SYSTEM_PROCESSOR MATCHES "i586" OR
CMAKE_SYSTEM_PROCESSOR MATCHES "i686"
)
message("Adding SSE and AES-NI flags for processor ${CMAKE_SYSTEM_PROCESSOR}")
add_compile_options(
-maes
-mmmx
-mrdrnd
-mpclmul
-msse
-msse2
-msse3
-msse4.1
)
endif()
if(ZT_TRACE)
add_definitions(-DZT_TRACE)
endif()
if(ZT_DEBUG_TRACE)
add_definitions(-DZT_DEBUG_TRACE)
endif()
add_subdirectory(node)
add_subdirectory(controller)
add_subdirectory(osdep)
add_subdirectory(go/native)
#if(WIN32)
# add_subdirectory("windows/WinUI")
# add_subdirectory("windows/copyutil")
# add_definitions(-DNOMINMAX)
#endif(WIN32)
set(
zt_osdep
zt_core
zt_controller
zt_go_native
)
configure_file(
${CMAKE_CURRENT_SOURCE_DIR}/version.h.in
${CMAKE_CURRENT_BINARY_DIR}/version.h
)
#set(src
# one.cpp
# "ext/http-parser/http_parser.c"
#)
#set(headers
# "ext/http-parser/http_parser.h"
#)
if(WIN32)
set(libs ${libs} wsock32 ws2_32 rpcrt4 iphlpapi)
else(WIN32)
set(libs ${libs} pthread)
endif(WIN32)
#if(WIN32)
# set(libs ${libs} wsock32 ws2_32 rpcrt4 iphlpapi)
# set(src
# ${src}
# "windows/ZeroTierOne/ServiceBase.cpp"
# "windows/ZeroTierOne/ServiceInstaller.cpp"
# "windows/ZeroTierOne/ZeroTierOneService.cpp"
# "windows/ZeroTierOne/ZeroTierOne.rc"
# )
# set(headers
# ${headers}
# "windows/ZeroTierOne/ServiceBase.h"
# "windows/ZeroTierOne/ServiceInstaller.h"
# "windows/ZeroTierOne/ZeroTierOneService.h"
# )
#else(WIN32)
# set(libs ${libs} pthread resolv)
#endif(WIN32)
#if(BUILD_CENTRAL_CONTROLLER)
# set(libs ${libs} rabbitmq-static ${PostgreSQL_LIBRARIES})
#endif(BUILD_CENTRAL_CONTROLLER)
#add_executable(${PROJECT_NAME} ${src} ${headers})
#target_link_libraries(${PROJECT_NAME} ${libs})
#target_include_directories(${PROJECT_NAME} PRIVATE ${CMAKE_BINARY_DIR})
add_executable(zerotier-selftest selftest.cpp)
target_link_libraries(zerotier-selftest ${libs} zt_core zt_osdep)
target_compile_features(zerotier-selftest PUBLIC cxx_std_11)
Loaded 20 of 853 files, more files were not shown because too many files have changed in this diff. Show more