Sean OMeara
0c91b75bbd
silence compiler warnings about _unused_variables ( #1852 )
...
Tetanus noise xk (#1881 )
* Noise XK work in progress.
* A whole lot more Noise_XK work... exchange almost done.
* Delete a bunch of commented out old Noise_IK code.
* Add back in send() and a few other things to Noise_XK ZSSP.
* Some p384 experiment in attic
* A ton of ZSSP work, and put MPL on ZSSP.
* updated kbkdf512 to use the modern nist standard
* Parameterize KBKDF on resulting output key size the way NIST likes.
* updated variable comment
* Make the label a const parameter on kbkdf.
* updated variable comment
* Add MPL to utils and other stuff.
* layout tweak
* Some more ZSSP work and a VDF we may use.
* warning removal
* More ZSSP work, add benchmarks for mimcvdf.
* Almost ready to test...
* Build fix.
* Add automatic retransmission in the earliest stages of session init.
* Just about ready to test... wow.
* It opens a session.
* ZSSP basically works...
---------
Co-authored-by: mamoniot <mamoniot@protonmail.com>
Warning removal.
remove old docs
Remove old tests from ZSSP, new test in main() can also be made into a unit test in the future.
Add key_info() to get key information.
Rekeying is now tested and works.
Show key fingerprint.
Factor out memory:: stuff, does not appear to have any real performance benefit.
Rework defragmentation, and it now tolerates very poor link quality pretty well.
Circuit breaker for incoming defrag queue, and ZSSP now works very well even under very poor network conditions.
Format tweak.
ZSSP API updates.
Just a bit of final ZSSP cleanup before moving to another thing.
2023-03-03 13:47:22 -05:00
Adam Ierymenko
181eb8ac34
cleanup
2023-01-04 11:09:21 -05:00
Adam Ierymenko
9c82aa2b29
More trait simplification.
2023-01-03 10:18:47 -05:00
Adam Ierymenko
d9e68701b6
A bit more simplification of generics in VL1 and VL1Service.
2023-01-02 14:49:37 -05:00
Adam Ierymenko
234e0ea0ee
Renaming...
2022-12-21 20:00:15 -05:00
Brenton Bostick
f8351ca47e
fix typos in header comment
2022-11-28 12:36:35 -05:00
Adam Ierymenko
19d973cfd4
(1) Implement typestate Verified for identity, (2) FileDatabase in controller now works.
2022-11-16 21:41:08 -05:00
Adam Ierymenko
ee4ce6a8ef
Tons of work: reorg traits to simplify, implement multicast authority stuff, other works in progress.
2022-11-03 11:11:04 -04:00
Adam Ierymenko
5d17c37b65
Remove parking_lot since as of 1.63 Rust std::mutex is usually as good or better.
2022-09-29 15:34:03 -04:00
Adam Ierymenko
459b195fa4
Reorg some stuff and skeleton of separate controller binary
2022-09-28 14:08:29 -04:00
Adam Ierymenko
a6f09dbec4
Move datadir and make it generic.
2022-09-28 12:04:55 -04:00
Adam Ierymenko
433c6058d2
cleanup
2022-09-28 11:24:42 -04:00
Adam Ierymenko
38f8ee808e
A bunch of reorg to consolidate utils, controller work, and rework identity binary marshaling for better backward compability.
2022-09-27 15:46:18 -04:00
Adam Ierymenko
373adb028d
Controller work and basic in-filesystem DB, slightly different from v1 version and supporting live editing of the network in the filesystem.
2022-09-22 17:29:10 -04:00
Adam Ierymenko
d66f19a2f2
Now works without async in the core or the service. Can still be used in the controller.
2022-09-21 18:27:55 -04:00
Adam Ierymenko
dca7bb8e85
WIP it good
2022-09-21 16:58:06 -04:00
Adam Ierymenko
768ec6e710
Tons more work: (1) remove async again from the core, (2) controller stuff, (3) retrofit other stuff to handle non-async core.
2022-09-21 16:43:47 -04:00
Adam Ierymenko
7ec46540fa
A ton more reorg work and controller work.
2022-09-20 12:10:05 -04:00
Adam Ierymenko
aafac271f5
Says hello to a root again!
2022-09-16 17:02:21 -04:00
Adam Ierymenko
2017dcf746
Bring service back to simple working state to end-to-end test.
2022-09-16 15:27:24 -04:00
Adam Ierymenko
0552d587a0
Get things building again
2022-09-16 14:16:13 -04:00
Adam Ierymenko
b4c74ce7bb
More work on VL1 service
2022-09-16 13:50:39 -04:00
Adam Ierymenko
b4edad6bfb
Work in progress: massive reorg to separate concerns a bit more and allow stand-alone controllers etc.
2022-09-15 13:57:21 -04:00
Adam Ierymenko
90469fcb2b
cleanup
2021-10-06 12:41:42 -04:00
Adam Ierymenko
94305ae779
Path/node cleanup stuff, build fixes.
2021-08-05 17:21:36 -04:00
Adam Ierymenko
f989690785
A lot of VL1 work including Node, Peer, etc., and wrap secrets in a container to zero them on drop.
2021-07-30 21:39:21 -04:00
Adam Ierymenko
aa4336db98
Build fixes, InetAddress in Rust implementing union of C sockaddrs.
2021-07-23 00:20:58 -04:00
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
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
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
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
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
4a60ae5736
Some efficiency improvements.
2021-03-26 18:43:50 -04:00
Adam Ierymenko
2d072de515
HTTP digest auth for service API, and remove unnecessary imports in Rust code.
2021-03-26 00:06:26 -04:00
Adam Ierymenko
50675004ce
JSON patching for RESTful object update and some other stuff.
2021-03-25 15:36:12 -04:00
Adam Ierymenko
5be66eda2b
Flesh out HTTP API, break into functions to make code more readable.
2021-03-24 00:23:25 -04:00
Adam Ierymenko
ce5edba44d
Rename "web" to "http."
2021-03-23 18:11:08 -04:00
Adam Ierymenko
5a0de399d7
Implement most of /status
2021-03-23 17:53:39 -04:00
Adam Ierymenko
1b9ec2d9c3
Web request helper and other stuff.
2021-03-19 17:21:16 -04:00
Adam Ierymenko
6df6a955ba
It makes web requests, and fix some warnings.
2021-03-18 20:47:02 -04:00
Adam Ierymenko
c0bab849ef
Build fixes, add some standard derives.
2021-03-17 17:53:24 -04:00
Adam Ierymenko
f38f40693f
Move CLI stuff into main.
2021-03-16 20:51:15 -04:00
Adam Ierymenko
e1d7b69acb
Make main() more rustic, fix IPv6 fragmentation bit on MacOS, etc.
2021-03-16 19:37:19 -04:00
Adam Ierymenko
a708433146
Cleanup.
2021-03-14 11:46:16 -04:00
Adam Ierymenko
445a246506
Identity commands: new
2021-03-11 22:15:10 -05:00