dnssec-prover
23 hours agoProvide sources for the EC math and use a faster double algorithm main master
Matt Corallo [Tue, 7 May 2024 21:05:36 +0000 (21:05 +0000)]
Provide sources for the EC math and use a faster double algorithm

24 hours agoAdd some comments about mont reduction to make it a bit clearer
Matt Corallo [Tue, 7 May 2024 20:26:31 +0000 (20:26 +0000)]
Add some comments about mont reduction to make it a bit clearer

24 hours agoCheck the assumption that P-N is tiny
Matt Corallo [Tue, 7 May 2024 20:14:29 +0000 (20:14 +0000)]
Check the assumption that P-N is tiny

24 hours agoWrite out "Point at Infinity"
Matt Corallo [Tue, 7 May 2024 19:38:38 +0000 (19:38 +0000)]
Write out "Point at Infinity"

24 hours agoRename `IntModP`/`IntModN` to `CurveField`/`ScalarField`
Matt Corallo [Tue, 7 May 2024 19:38:17 +0000 (19:38 +0000)]
Rename `IntModP`/`IntModN` to `CurveField`/`ScalarField`

which improves readability greatly

27 hours agoAdd a dummy `http.rs` main to make default rust builds work
Matt Corallo [Tue, 7 May 2024 17:29:55 +0000 (17:29 +0000)]
Add a dummy `http.rs` main to make default rust builds work

27 hours agoAddress further clippy lints
Matt Corallo [Tue, 7 May 2024 17:28:16 +0000 (17:28 +0000)]
Address further clippy lints

27 hours agoMake crypto/ clippy-clean, mostly by telling clippy to shut up
Matt Corallo [Tue, 7 May 2024 17:10:45 +0000 (17:10 +0000)]
Make crypto/ clippy-clean, mostly by telling clippy to shut up

27 hours agoBetter support rustc 1.64+ by not requiring `RUSTC_BOOTSTRAP`
Matt Corallo [Tue, 7 May 2024 17:04:40 +0000 (17:04 +0000)]
Better support rustc 1.64+ by not requiring `RUSTC_BOOTSTRAP`

27 hours agoAddress new rustc warnings around unused variables
Matt Corallo [Tue, 7 May 2024 17:00:47 +0000 (17:00 +0000)]
Address new rustc warnings around unused variables

27 hours agoFix const build error in the previous commits
Matt Corallo [Tue, 7 May 2024 17:00:38 +0000 (17:00 +0000)]
Fix const build error in the previous commits

5 days agoClean up and better comment math somewhat further
Matt Corallo [Fri, 3 May 2024 18:41:46 +0000 (18:41 +0000)]
Clean up and better comment math somewhat further

5 days agoClean up carry/debug assertions in multiplies/squaring
Matt Corallo [Fri, 3 May 2024 16:41:54 +0000 (16:41 +0000)]
Clean up carry/debug assertions in multiplies/squaring

5 days agoClean up + test add/sub/negate, fixing a debug assert in negate
Matt Corallo [Fri, 3 May 2024 16:30:28 +0000 (16:30 +0000)]
Clean up + test add/sub/negate, fixing a debug assert in negate

5 days agoSwap `add_one!(_)` for `add_u64!(_, 1)`
Matt Corallo [Fri, 3 May 2024 16:24:18 +0000 (16:24 +0000)]
Swap `add_one!(_)` for `add_u64!(_, 1)`

3 weeks agoSet default-features = false on uniffi, not that it does much
Matt Corallo [Sun, 14 Apr 2024 17:46:36 +0000 (17:46 +0000)]
Set default-features = false on uniffi, not that it does much

3 weeks agoAdd the standard uniffi-bindgen bin target
Matt Corallo [Sun, 14 Apr 2024 17:41:26 +0000 (17:41 +0000)]
Add the standard uniffi-bindgen bin target

3 weeks agoExpose uniffi bindings for building and verifying proofs
Matt Corallo [Sun, 14 Apr 2024 17:21:52 +0000 (17:21 +0000)]
Expose uniffi bindings for building and verifying proofs

3 weeks agoBump crate version for new `Clone` impl
Matt Corallo [Sun, 14 Apr 2024 17:17:25 +0000 (17:17 +0000)]
Bump crate version for new `Clone` impl

3 weeks agoDerive `Clone` for `ProofBuilder`
Matt Corallo [Sun, 14 Apr 2024 17:17:04 +0000 (17:17 +0000)]
Derive `Clone` for `ProofBuilder`

3 weeks agoFilter using `VerifiedRRStream::resolve_name` in wasm
Matt Corallo [Sun, 14 Apr 2024 16:41:54 +0000 (16:41 +0000)]
Filter using `VerifiedRRStream::resolve_name` in wasm

When resolving a name in WASM we should let `resolve_name` handle
C/DNAMEs, which we do here.

5 weeks agoBump version to 0.5.2 for dropping ring dep
Matt Corallo [Wed, 3 Apr 2024 09:29:17 +0000 (09:29 +0000)]
Bump version to 0.5.2 for dropping ring dep

5 weeks agoIteratively hash rather than building a vec then hashing
Matt Corallo [Wed, 21 Feb 2024 07:08:20 +0000 (07:08 +0000)]
Iteratively hash rather than building a vec then hashing

... in signature checking.

Now that we control the signature checking API, we don't have to
pass a full buffer and can build our own hashes, avoiding the
allocation.

5 weeks agoMake `write_u16_len_prefixed_data` generic over the type of output
Matt Corallo [Wed, 21 Feb 2024 07:14:20 +0000 (07:14 +0000)]
Make `write_u16_len_prefixed_data` generic over the type of output

In the next commit this will be used to write RRs directly into
hashers when validating signatures, rather than serializing them
into `Vec`s then hashing.

5 weeks agoAdd the wycheproof test cases for our crypto implementation
Matt Corallo [Mon, 4 Mar 2024 18:38:39 +0000 (18:38 +0000)]
Add the wycheproof test cases for our crypto implementation

5 weeks agoSwap `ring` for our own in-crate ECDSA validator
Matt Corallo [Mon, 4 Mar 2024 03:22:08 +0000 (03:22 +0000)]
Swap `ring` for our own in-crate ECDSA validator

While `ring` is great, it struggles with platform support and has a
fairly involved dependency tree due to its reliance on C backends.

Further, while the `RustCrypto` org tries to stick to Rust, in
doing so it takes on more (unnecessary) dependencies and has a
particularly unusable MSRV policy. Finally, its contributor base
has historically not been particularly friendly.

Thus, sadly, there's not really a good option for doing ECDSA (non-
secp256k1) validation using a third-party crate.

Instead, we go our own way here, adding an in-crate ECDSA
validator over secp{256,384}r1.

This also adds a new bench, showing our secp256r1 validation is,
sadly, something like 50x slower than OpenSSL.

5 weeks agoAdd U256/U384 and mod-const-prime wrapper utilities of both.
Matt Corallo [Mon, 4 Mar 2024 18:43:52 +0000 (18:43 +0000)]
Add U256/U384 and mod-const-prime wrapper utilities of both.

In the next commit we'll add support for secp256r1 and secp384r1
validation, which require 256-bit and 384-bit integers. To make
their implementation simple, we also add wrapper structs around
the new integers which are modulo a const-prime, storing and
handling the values in montgommery representation.

5 weeks agoAdd a simple benchmark of 2048-bit RSA validation
Matt Corallo [Sat, 2 Mar 2024 20:20:11 +0000 (20:20 +0000)]
Add a simple benchmark of 2048-bit RSA validation

This shows our RSA is only roughly 3.5x slower than OpenSSL.

5 weeks agoSwap `ring` for our own in-crate RSA validator
Matt Corallo [Sun, 3 Mar 2024 15:05:08 +0000 (15:05 +0000)]
Swap `ring` for our own in-crate RSA validator

While `ring` is great, it struggles with platform support and has a
fairly involved dependency tree due to its reliance on C backends.

Further, while the `RustCrypto` org tries to stick to Rust, in
doing so it takes on more (unnecessary) dependencies and has a
particularly unusable MSRV policy. Finally, its contributor base
has historically not been particularly friendly.

Thus, sadly, there's not really a good option for doing RSA
validation using a third-party crate.

Instead, we go our own way here, adding an in-crate RSA validator.

5 weeks agoAdd a relatively simple mostly-const-fn bigint math implementation
Matt Corallo [Sun, 3 Mar 2024 14:23:39 +0000 (14:23 +0000)]
Add a relatively simple mostly-const-fn bigint math implementation

While `ring` is great, it struggles with platform support and has a
fairly involved dependency tree due to its reliance on C backends.

Further, while the `RustCrypto` org tries to stick to Rust, in
doing so it takes on more (unnecessary) dependencies and has a
particularly unusable MSRV policy. Finally, its contributor base
has historically not been particularly friendly.

Thus, sadly, there's not really a good option for doing RSA
validation using a third-party crate.

Instead, in the next commit we'll go our own way and add an
in-crate RSA validator. This takes the first step, adding a bigint
implementation that works up to 4096 bits (the longest allowed RSA
keys in the DNS).

Sadly, once we get to EC math we'll really want most of our math
operations to be const fns, which provides some additional limits.
Absent a better way to do subslicing on rustc 1.63, this commit
introduces a dependency on the `const_slice_from_raw_parts`
feature, which appears to work fine on 1.63 with
`RUSTC_BOOTSTRAP=1` set, and was stabilized in 1.64.

5 weeks agoEnable (minimal) optimization in tests
Matt Corallo [Wed, 21 Feb 2024 07:17:01 +0000 (07:17 +0000)]
Enable (minimal) optimization in tests

As of the next commit, our tests now have to do in-crate crypto, so
even minimal optimization provide a huge speedup.

5 weeks agoTest fuzzers build and release build in test.sh
Matt Corallo [Mon, 4 Mar 2024 02:30:11 +0000 (02:30 +0000)]
Test fuzzers build and release build in test.sh

5 weeks agoAdd support back for SHA-384 DS records
Matt Corallo [Wed, 3 Apr 2024 08:21:37 +0000 (08:21 +0000)]
Add support back for SHA-384 DS records

While these are relatively unused, support for SHA-384 was recently
added in `bitcoin_hashes`, which we use here for DS validation.

6 weeks agoMove RRSig loop to after DS loop to be more mindful of KeyTrap
Matt Corallo [Wed, 20 Mar 2024 22:03:20 +0000 (22:03 +0000)]
Move RRSig loop to after DS loop to be more mindful of KeyTrap

In general we were mostly fine regarding KeyTrap, as we largely
fail after any invalid signature and only loop if a signature or
key required an unknown algorithm. Thus, addressing KeyTrap is
mostly an exercise in adding comments.

However, we did verify all DS hashes every time we went to verify
a single DNSKey RRSig, which is potentially some work, which we
fix here, leading to a nice simplification in `verify_rr_stream`.

2 months agoBump version for NSEC/3 validation
Matt Corallo [Sat, 2 Mar 2024 16:41:54 +0000 (16:41 +0000)]
Bump version for NSEC/3 validation

2 months agoAdd new tests to test NSEC validation behavior
Matt Corallo [Sat, 2 Mar 2024 15:55:15 +0000 (15:55 +0000)]
Add new tests to test NSEC validation behavior

2 months agoDrop NSEC/3 records from `VerifiedRRStream::verified_rrs`
Matt Corallo [Sat, 2 Mar 2024 15:56:39 +0000 (15:56 +0000)]
Drop NSEC/3 records from `VerifiedRRStream::verified_rrs`

`verified_rrs` is intended to include only the records a user may
want, not signatures and proof records. Thus, like we remove
RRSIG/DS records, here we also remove NSEC/3 records.

2 months agoValidate NSec/3 records prove non-existence when handling C/DNAMEs
Matt Corallo [Mon, 26 Feb 2024 03:06:02 +0000 (03:06 +0000)]
Validate NSec/3 records prove non-existence when handling C/DNAMEs

When handling C/DNAME RRs we're required to validate that NSEC/3
records exist proving non-existence of the sought record itself. We
do this here.

2 months agoRefresh existing test data and add NSEC/3 records
Matt Corallo [Wed, 28 Feb 2024 02:25:00 +0000 (02:25 +0000)]
Refresh existing test data and add NSEC/3 records

This refreshes all our existing test vectors to use new timestamps,
as well as including the newly-required NSEC/3 records.

2 months agoAdd base32 parser which is needed for NSEC3 validation
Matt Corallo [Mon, 26 Feb 2024 20:10:49 +0000 (20:10 +0000)]
Add base32 parser which is needed for NSEC3 validation

2 months agoCorrect `NSecTypeMask::contains_type` and add `from_types` builder
Matt Corallo [Wed, 28 Feb 2024 02:23:52 +0000 (02:23 +0000)]
Correct `NSecTypeMask::contains_type` and add `from_types` builder

The low-bit-masking in `NSecTypeMask::contains_type` was incorrect,
leading to spuriously looking at the wrong bit position within the
correct byte.

While we're at it, we also add a new constructor which allows for
bits to be set.

2 months agoUse `bitcoin_hashes` rather than `ring` for hashing
Matt Corallo [Wed, 21 Feb 2024 02:21:26 +0000 (02:21 +0000)]
Use `bitcoin_hashes` rather than `ring` for hashing

While `ring` is great, it struggles with platform support and has a
fairly involved dependency tree due to its reliance on C backends.

Further, while the `RustCrypto` org tries to stick to Rust, in
doing so it takes on more (unnecessary) dependencies and has a
particularly unusable MSRV policy. Finally, its contributor base
has historically not been particularly friendly.

Thus, for the best platform support, we'd like to avoid both. Here
we take the first of several steps towards that goal, using
`bitcoin_hashes` for our SHA-1/SHA-2 operations instead.

2 months agoBump version for NSEC/3 record type additions and proof inclusion
Matt Corallo [Mon, 26 Feb 2024 20:51:00 +0000 (20:51 +0000)]
Bump version for NSEC/3 record type additions and proof inclusion

2 months agoInclude any relevant NSec/NSec3 records in generated proofs
Matt Corallo [Mon, 26 Feb 2024 03:05:23 +0000 (03:05 +0000)]
Include any relevant NSec/NSec3 records in generated proofs

2 months agoAdd de/serialization and structs for NSec and NSec3 records
Matt Corallo [Mon, 26 Feb 2024 03:04:52 +0000 (03:04 +0000)]
Add de/serialization and structs for NSec and NSec3 records

2 months agoDefine a util method to convert a type value to the type's name
Matt Corallo [Mon, 26 Feb 2024 20:44:08 +0000 (20:44 +0000)]
Define a util method to convert a type value to the type's name

2 months agoAdd debug checks that we don't leave data behind after an RR
Matt Corallo [Mon, 26 Feb 2024 03:04:12 +0000 (03:04 +0000)]
Add debug checks that we don't leave data behind after an RR

2 months agoRefuse to include \s in the JSON output of a TXT record
Matt Corallo [Mon, 26 Feb 2024 03:02:21 +0000 (03:02 +0000)]
Refuse to include \s in the JSON output of a TXT record

2 months agoForce all names to lowercase ASCII as it is the canonical form
Matt Corallo [Mon, 26 Feb 2024 04:41:58 +0000 (04:41 +0000)]
Force all names to lowercase ASCII as it is the canonical form

2 months agoAdd trivial helper method to get the label count in a `Name`
Matt Corallo [Mon, 26 Feb 2024 03:01:59 +0000 (03:01 +0000)]
Add trivial helper method to get the label count in a `Name`

2 months agoBump version number for DNAME support
Matt Corallo [Mon, 12 Feb 2024 05:08:06 +0000 (05:08 +0000)]
Bump version number for DNAME support

2 months agoSwap test domain to something more sustainable
Matt Corallo [Mon, 12 Feb 2024 05:07:37 +0000 (05:07 +0000)]
Swap test domain to something more sustainable

2 months agoAdd support for DNAME resolution
Matt Corallo [Mon, 12 Feb 2024 04:21:45 +0000 (04:21 +0000)]
Add support for DNAME resolution

2 months agoAdd note about DoH proof building usage.
Matt Corallo [Mon, 12 Feb 2024 03:34:00 +0000 (03:34 +0000)]
Add note about DoH proof building usage.

2 months agoBump version for bug fixes and new query APIs
Matt Corallo [Mon, 12 Feb 2024 03:05:26 +0000 (03:05 +0000)]
Bump version for bug fixes and new query APIs

2 months agoAdd WASM/JS support for doing full lookups using DoH
Matt Corallo [Mon, 12 Feb 2024 03:04:51 +0000 (03:04 +0000)]
Add WASM/JS support for doing full lookups using DoH

2 months agoExpose `QueryBuf` constructors and utilities
Matt Corallo [Mon, 12 Feb 2024 03:04:32 +0000 (03:04 +0000)]
Expose `QueryBuf` constructors and utilities

2 months agoAdd a fuzzer of the proof building state machine
Matt Corallo [Mon, 12 Feb 2024 00:38:10 +0000 (00:38 +0000)]
Add a fuzzer of the proof building state machine

2 months agoAvoid allocating for all message buffers, expose querying in no-std
Matt Corallo [Mon, 12 Feb 2024 00:28:11 +0000 (00:28 +0000)]
Avoid allocating for all message buffers, expose querying in no-std

2 months agoUse (and expose) a `ProofBuilder` state machine for proving
Matt Corallo [Mon, 12 Feb 2024 00:03:37 +0000 (00:03 +0000)]
Use (and expose) a `ProofBuilder` state machine for proving

This will allow us to expose the state machine we use for building
proofs in, eg, javascript, allowing the construction of proofs
using DoH.

2 months agoExpose constants for various supported record wire types
Matt Corallo [Mon, 12 Feb 2024 00:03:14 +0000 (00:03 +0000)]
Expose constants for various supported record wire types

2 months agoImplement Display for Name
Matt Corallo [Sun, 11 Feb 2024 23:01:18 +0000 (23:01 +0000)]
Implement Display for Name

2 months agoAdd a parse + validate fuzzer
Matt Corallo [Sun, 11 Feb 2024 22:49:44 +0000 (22:49 +0000)]
Add a parse + validate fuzzer

2 months agoAdd fuzzing of DNS server response parsing
Matt Corallo [Sun, 11 Feb 2024 20:43:30 +0000 (20:43 +0000)]
Add fuzzing of DNS server response parsing

2 months agoLimit recursion when reading name labels from other packet data
Matt Corallo [Sun, 11 Feb 2024 20:41:28 +0000 (20:41 +0000)]
Limit recursion when reading name labels from other packet data

This fixes an infinite recursion issue where a label can refer to
itself and recurse until the stack ie exhausted.

2 months agoFix overflowing subtract in vec preallocation
Matt Corallo [Sun, 11 Feb 2024 20:33:35 +0000 (20:33 +0000)]
Fix overflowing subtract in vec preallocation

If a TXT record comes in with zero length data, we'll overflow in
the subtraction and try to allocate much too much data.

2 months agoNote lack of proof verification in query method docs
Matt Corallo [Sun, 11 Feb 2024 19:28:47 +0000 (19:28 +0000)]
Note lack of proof verification in query method docs

2 months agoBump version for cross-zone CNAME proofs and new util method
Matt Corallo [Sat, 10 Feb 2024 00:48:22 +0000 (00:48 +0000)]
Bump version for cross-zone CNAME proofs and new util method

2 months agoCorrect cross-zone CNAME handling in proof generation
Matt Corallo [Sat, 10 Feb 2024 00:47:47 +0000 (00:47 +0000)]
Correct cross-zone CNAME handling in proof generation

2 months agoFix various test runs in `test.sh`
Matt Corallo [Fri, 9 Feb 2024 23:28:42 +0000 (23:28 +0000)]
Fix various test runs in `test.sh`

2 months agoAdd testing of doc links in test.sh
Matt Corallo [Fri, 9 Feb 2024 23:28:27 +0000 (23:28 +0000)]
Add testing of doc links in test.sh

2 months agoAdd a utility function to resolve CNAMEs in verified RRs
Matt Corallo [Fri, 9 Feb 2024 23:06:04 +0000 (23:06 +0000)]
Add a utility function to resolve CNAMEs in verified RRs

2 months agoBump version for SHA-1 validation
Matt Corallo [Thu, 8 Feb 2024 23:55:14 +0000 (23:55 +0000)]
Bump version for SHA-1 validation

2 months agoSet a cache-control header on valid responses
Matt Corallo [Thu, 8 Feb 2024 23:54:52 +0000 (23:54 +0000)]
Set a cache-control header on valid responses

2 months agoAllow validating SHA1 DS records
Matt Corallo [Thu, 8 Feb 2024 23:53:29 +0000 (23:53 +0000)]
Allow validating SHA1 DS records

While these really shouldn't be used, they sometimes are, and
importantly we don't allow them for RRSig signature validation,
ensuring that if we find a SHA1 DS record it really is what was
meant in the parent zone and wasn't forged.

2 months agoBump version mostly for docs.rs to display all methods
Matt Corallo [Thu, 8 Feb 2024 20:25:46 +0000 (20:25 +0000)]
Bump version mostly for docs.rs to display all methods

2 months agoEnable all features for docs.rs builds
Matt Corallo [Thu, 8 Feb 2024 20:23:34 +0000 (20:23 +0000)]
Enable all features for docs.rs builds

2 months agoReject names containing "s
Matt Corallo [Thu, 8 Feb 2024 20:21:11 +0000 (20:21 +0000)]
Reject names containing "s

2 months agoAdd JSON writing of records, primarily for the WASM verifier
Matt Corallo [Thu, 8 Feb 2024 20:20:24 +0000 (20:20 +0000)]
Add JSON writing of records, primarily for the WASM verifier

2 months agoBump release version for various cleanups
Matt Corallo [Thu, 8 Feb 2024 06:19:19 +0000 (06:19 +0000)]
Bump release version for various cleanups

2 months agoClean up some comments
Matt Corallo [Thu, 8 Feb 2024 06:19:06 +0000 (06:19 +0000)]
Clean up some comments

2 months agoAdd WASM validation library
Matt Corallo [Thu, 8 Feb 2024 06:18:38 +0000 (06:18 +0000)]
Add WASM validation library

2 months agoReturn early if we get a response with no answers
Matt Corallo [Thu, 8 Feb 2024 05:47:15 +0000 (05:47 +0000)]
Return early if we get a response with no answers

2 months agoInclude an octet-stream header/CORS headers in proof responses
Matt Corallo [Thu, 8 Feb 2024 05:35:03 +0000 (05:35 +0000)]
Include an octet-stream header/CORS headers in proof responses

3 months agoAccept query names by reference for downstream flexibility
Matt Corallo [Wed, 7 Feb 2024 05:23:42 +0000 (05:23 +0000)]
Accept query names by reference for downstream flexibility

3 months agoFeature-gate validation and document crate features
Matt Corallo [Wed, 7 Feb 2024 04:25:32 +0000 (04:25 +0000)]
Feature-gate validation and document crate features

3 months agoBump version to 0.3.2 for bug fixes
Matt Corallo [Tue, 6 Feb 2024 18:15:46 +0000 (18:15 +0000)]
Bump version to 0.3.2 for bug fixes

3 months agoMake HTTP server large-req DoS safe rather than using a frontend
Matt Corallo [Tue, 6 Feb 2024 18:03:22 +0000 (18:03 +0000)]
Make HTTP server large-req DoS safe rather than using a frontend

3 months agoCorrect TXT sort order on unlikely edge cases
Matt Corallo [Tue, 6 Feb 2024 17:53:41 +0000 (17:53 +0000)]
Correct TXT sort order on unlikely edge cases

3 months agoCorrect length calculation when writing TXT records
Matt Corallo [Tue, 6 Feb 2024 17:50:47 +0000 (17:50 +0000)]
Correct length calculation when writing TXT records

3 months agoBump version for bug fixes
Matt Corallo [Tue, 6 Feb 2024 05:47:40 +0000 (05:47 +0000)]
Bump version for bug fixes

3 months agoCorrect TXT record sort order
Matt Corallo [Tue, 6 Feb 2024 05:46:47 +0000 (05:46 +0000)]
Correct TXT record sort order

3 months agoCorrect proof validation for records at a zone root
Matt Corallo [Tue, 6 Feb 2024 05:46:31 +0000 (05:46 +0000)]
Correct proof validation for records at a zone root

3 months agoCorrect proof building for records at a zone root
Matt Corallo [Tue, 6 Feb 2024 05:45:51 +0000 (05:45 +0000)]
Correct proof building for records at a zone root

3 months agoInclude the resolver-provided TTL in the response
Matt Corallo [Tue, 6 Feb 2024 05:04:54 +0000 (05:04 +0000)]
Include the resolver-provided TTL in the response

3 months agoimpl Debug/Clone on VerifiedRRStream
Matt Corallo [Tue, 6 Feb 2024 04:54:26 +0000 (04:54 +0000)]
impl Debug/Clone on VerifiedRRStream

3 months agoAdd test script
Matt Corallo [Tue, 6 Feb 2024 04:22:27 +0000 (04:22 +0000)]
Add test script

3 months agoBump version now that we're (relatively) feature-complete
Matt Corallo [Tue, 6 Feb 2024 04:21:02 +0000 (04:21 +0000)]
Bump version now that we're (relatively) feature-complete

3 months agoClean up documentation TODO
Matt Corallo [Tue, 6 Feb 2024 04:20:54 +0000 (04:20 +0000)]
Clean up documentation TODO

3 months agoAdd trivial HTTP server which serves proofs
Matt Corallo [Tue, 6 Feb 2024 04:19:14 +0000 (04:19 +0000)]
Add trivial HTTP server which serves proofs