Commit graph

182 commits

Author SHA1 Message Date
Adam Ierymenko
c3dd3bb7fc
... a bunch of stuff that has been sitting here for too long ... 2021-07-06 16:35:20 -04:00
Adam Ierymenko
a513d160c5
Build fixes, warning removal. 2021-05-19 16:24:21 -04:00
Adam Ierymenko
ea650ad7c5
Some formatting and perf fixes. 2021-05-19 15:49:55 -04:00
Adam Ierymenko
0290446000
Clang-format changes. 2021-05-18 12:43:13 -04:00
Adam Ierymenko
68c64d530b
Formatting and cleanup, warning removal. 2021-05-18 12:36:41 -04:00
Adam Ierymenko
a8e3cffd16
Some cleanup, certificate self-signing fixes, test fixes, test full certificate life cycle including CSR. 2021-05-17 23:40:13 -04:00
Adam Ierymenko
ec2919ac2e
Add a subject signature to the certificate to ensure no CRL tampering has occurred, even by the signer. 2021-04-27 19:10:48 -04:00
Adam Ierymenko
76244f0474
Turn off wrapping as it makes things hard to follow in some cases. 2021-04-26 20:33:38 -04:00
Adam Ierymenko
cd68474e47
More formatting stuff.... 2021-04-26 20:28:30 -04:00
Adam Ierymenko
91556d0c55
Build fixes. 2021-04-26 18:11:01 -04:00
Adam Ierymenko
12e7546ebc
ZeroTier standard .clang-format -- switch to spaces, match indentation of Rust, mostly based on LLVM format. 2021-04-26 08:55:28 -04:00
Adam Ierymenko
6798946bb9
Remove 11.0.0.0/8 from "pseudoprivate" scope. 2021-04-26 08:37:16 -04:00
Adam Ierymenko
251cc082f2
Implement usage flags in certificate, make root sets require a usage flag and a more general local trust flag, and clean up Identity return in Rust Node. 2021-04-23 18:16:49 -04:00
Adam Ierymenko
24ab618123
Certificate self-test passes now. 2021-04-20 21:45:50 -04:00
Adam Ierymenko
fdafddafa0
Warning removal. 2021-04-20 18:57:19 -04:00
Adam Ierymenko
e7b7d7444e
Stub out certificate revocations and harden certificate structure verification to make sure there are no dangling pointers. 2021-04-20 17:32:56 -04:00
Adam Ierymenko
0acc731bf4
Simplify Locator slightly. 2021-04-19 17:13:05 -04:00
Adam Ierymenko
8153211b26
Plumb cert changes through to Rust. 2021-04-19 16:17:31 -04:00
Adam Ierymenko
e7ed8051c6
Refactor certificates to have their own keys instead of being signed by identities, and fix certificate chain validation to be like how X509 certs are validated. 2021-04-15 23:20:02 -04:00
Adam Ierymenko
ad92a46b8d
Error reformatting, and use the suspend-aware monotonic clock on Linux. 2021-04-13 18:57:44 -04:00
Adam Ierymenko
37d706b635
Some cleanup. 2021-04-12 19:17:19 -04:00
Adam Ierymenko
8d9067e982
A bunch of simplification in SymmetricKey and the ephemeral re-keying logic. Not on yet, but the structure is all there. 2021-04-09 23:18:29 -04:00
Adam Ierymenko
de6fadc12d
Fix a bug in Topology path GC and make it more efficient. 2021-04-07 19:31:53 -04:00
Adam Ierymenko
e26e77dd6d
Forgot some consts. 2021-04-07 19:04:24 -04:00
Adam Ierymenko
b40eba8fc7
More refactoring: rename RuntimeEnvironment to Context to be more descriptive and make it a reference instead of a raw pointer. 2021-04-07 18:54:52 -04:00
Adam Ierymenko
c9dc715389
Rust build fixes. 2021-04-06 17:51:04 -04:00
Adam Ierymenko
89e9eb755e
Big core refactor to create a CallContext to carry several annoying state variables through the call chain. Also remove some warnings. 2021-04-06 17:33:00 -04:00
Adam Ierymenko
0f4d18c4ed
Add serialize and deserialize functions to TrustStore. 2021-04-02 18:12:30 -04:00
Adam Ierymenko
38fcefceee
Small fix for VAES. 2021-04-02 15:32:12 -04:00
Adam Ierymenko
b39d4bed16
Break out a few things from Node in the core to make code cleaner. 2021-04-02 15:28:25 -04:00
Adam Ierymenko
7ad660c3ef
Break out certificate trust store into a separate object and simplify and clean up certificate verification code. 2021-03-31 22:15:26 -04:00
Adam Ierymenko
11d367d5ec
Attic cleaning, some work on certs, etc. 2021-03-31 15:33:31 -04:00
Adam Ierymenko
f5331b5bb9
More code cleanup, making earlier Rust code more rustic. 2021-03-18 16:00:24 -04:00
Adam Ierymenko
a708433146
Cleanup. 2021-03-14 11:46:16 -04:00
Adam Ierymenko
68fe57decd
Create and verify locators via CLI. 2021-03-11 21:37:04 -05:00
Adam Ierymenko
5d75ca0e30
Build fixes in Rust. 2021-03-09 23:36:35 -05:00
Adam Ierymenko
8c45fbe64c
C++ build fixes, fix regression in SharedPtr 2021-03-09 18:08:31 -05:00
Adam Ierymenko
f82085cede
cleanup, warning removal. 2021-03-08 14:05:33 -05:00
Adam Ierymenko
8474508412
Cleanup and optimization. 2021-03-02 11:18:04 -05:00
Adam Ierymenko
e1795bacef
Web server... 2021-02-26 01:16:24 -05:00
Adam Ierymenko
0f49c7510b
Swap out warp for simple hyper web server in Rust, and we will use web sockets for webby-style communication since WebRTC is a mess. 2021-02-25 10:49:35 -05:00
Adam Ierymenko
26e8859d99
Copyright notices, dates. 2021-02-22 22:58:16 -05:00
Adam Ierymenko
d201cdec2a
A bunch of logging and tracing. 2021-02-19 17:05:53 -05:00
Adam Ierymenko
411373dd2c
Tons of service work including trace events, etc. 2021-02-19 00:32:47 -05:00
Adam Ierymenko
a321ee6c28
Bunch more Rust work, and it builds again. 2021-02-04 23:20:30 -05:00
Adam Ierymenko
f9deec7872
Rust service work in progress... 2021-02-03 14:41:42 -05:00
Adam Ierymenko
c29a64602a
CLI parser stuff... 2021-01-28 19:08:28 -05:00
Adam Ierymenko
b7d7e8eb40
cleanup 2021-01-26 11:45:42 -05:00
Adam Ierymenko
deec3b807b
A ton of work in progress on service: logging, physical link enumeration, data store, local config, etc. 2021-01-21 21:10:11 -05:00
Adam Ierymenko
896d75fe86
More work on service itself. 2021-01-20 00:02:39 -05:00