Skip to content
Draft
Changes from 1 commit
Commits
Show all changes
226 commits
Select commit Hold shift + click to select a range
0a63230
Add tla spec
cjen1-msft May 9, 2025
859d30d
Update spec to refine safety property
cjen1-msft May 9, 2025
9eb305d
Add basic fizzbee spec
cjen1-msft May 22, 2025
0bf26f9
Add stateright model
cjen1-msft May 28, 2025
2b8a1d6
Update stateright dr spec
cjen1-msft May 28, 2025
bad8a13
Update Readme.md
cjen1-msft May 28, 2025
1965453
Update Readme.md
cjen1-msft May 28, 2025
5f066e5
broken version
cjen1-msft Jun 3, 2025
09388e7
refactor
cjen1-msft Jun 4, 2025
b991b9d
Restore correct liveness property.
cjen1-msft Jun 16, 2025
4f6de45
Add more checked conditions
cjen1-msft Jun 25, 2025
5a98922
Add reasonably clean curlm support
cjen1-msft Jul 3, 2025
9edf637
Add proper curl and libuv interaction
cjen1-msft Jul 4, 2025
c745ade
Pass curl singleton over enclave barrier
cjen1-msft Jul 4, 2025
71c1fb3
Ensure singleton is initialised
cjen1-msft Jul 4, 2025
695f351
Make quote endorsement client use curl_multi
cjen1-msft Jul 4, 2025
2956c38
Add curl to public ccf linked libraryes
cjen1-msft Jul 7, 2025
709228f
fix cond
cjen1-msft Jul 7, 2025
32d1361
Initialise request
cjen1-msft Jul 7, 2025
f88d7b5
Fix handler
cjen1-msft Jul 7, 2025
4458c8b
fiddle with pointers
cjen1-msft Jul 7, 2025
cdebe29
Fix timeout
cjen1-msft Jul 7, 2025
4ea2bb7
Maybe fix issue?
cjen1-msft Jul 7, 2025
6214b6c
refmt
cjen1-msft Jul 21, 2025
a4be0c3
Merge branch 'main' into curlm
cjen1-msft Jul 21, 2025
fce77da
Update
cjen1-msft Jul 21, 2025
58eb20c
fmt
cjen1-msft Jul 21, 2025
5b52e3d
remove static_cast
cjen1-msft Jul 22, 2025
b876cca
Fix url query
cjen1-msft Jul 22, 2025
68aff99
Add kickstart for curlm and document interaction between libuv and curlm
cjen1-msft Jul 22, 2025
934010f
Refactor interface to make checks more careful.
cjen1-msft Jul 22, 2025
c84ba3f
move to a constructor pattern
cjen1-msft Jul 22, 2025
594f536
Add missing nullptr check in curl_socket_callback
cjen1-msft Jul 22, 2025
333c427
Update src/http/curl.h
cjen1-msft Jul 22, 2025
12edb67
Add check and warn of duplicate headers in responses
cjen1-msft Jul 23, 2025
14d827b
Migrate fetch.h to new interface
cjen1-msft Jul 24, 2025
6c44deb
fix
cjen1-msft Jul 24, 2025
1fbd015
Pass through config bits for self-heal-open
cjen1-msft Jul 22, 2025
c790f4d
Update test infra to test self-healing-open
cjen1-msft Jul 22, 2025
b153e53
Fix undefined request body and multi-threaded access to curl
cjen1-msft Jul 28, 2025
fee3559
Runnable checkpoint
cjen1-msft Jul 28, 2025
dc6a7ee
Config changes
cjen1-msft Jul 29, 2025
2058180
Add timeouts
cjen1-msft Jul 29, 2025
f8981ae
Fix curl put with empty body issue
cjen1-msft Jul 30, 2025
963b6c1
Add test for timeouts
cjen1-msft Jul 30, 2025
4d22d82
Get open working
cjen1-msft Jul 30, 2025
c67f032
Get join working (still requires trusting of replacement nodes)
cjen1-msft Aug 1, 2025
207b142
Changes to prevent repeated joins
cjen1-msft Aug 12, 2025
1073177
curl client fixes
cjen1-msft Aug 12, 2025
9d95055
Update network to better integrate with volatile node identities
cjen1-msft Aug 12, 2025
b3a1f9b
fmt
cjen1-msft Aug 12, 2025
39da991
Changes to curl to make it close carefully
cjen1-msft Aug 15, 2025
64e3dc8
e2e sho test
cjen1-msft Aug 15, 2025
bba91ce
Fix undefined request body and multi-threaded access to curl
cjen1-msft Jul 28, 2025
d28af46
Fix curl put with empty body issue
cjen1-msft Jul 30, 2025
b4e1d16
Changes to curl to make it close carefully
cjen1-msft Aug 15, 2025
20e54fe
Merge branch 'main' into curlm
cjen1-msft Aug 15, 2025
5626b86
Stop passing the singleton over the enclave boundary
cjen1-msft Aug 15, 2025
7b72ea7
refactor and format curl response interface
cjen1-msft Aug 15, 2025
54f0823
Add and fix for e2e test
cjen1-msft Aug 15, 2025
e55f9df
Add license
cjen1-msft Aug 15, 2025
af81c10
fmt
cjen1-msft Aug 15, 2025
eb0dcd0
Fix bug in fetch code
cjen1-msft Aug 18, 2025
86f624f
Reuse response to skip a copy
cjen1-msft Aug 18, 2025
ebf73b4
tidy
cjen1-msft Aug 18, 2025
0152a4e
Tidy up
cjen1-msft Aug 18, 2025
0d85ab8
Merge branch 'curlm' into self-healing-open
cjen1-msft Aug 18, 2025
64da579
Testing changes to test testing infra
cjen1-msft Aug 19, 2025
fa52e9b
transition_to_open immediately on OPENING rather than waiting for a t…
cjen1-msft Aug 19, 2025
5205458
Update src/http/curl.h
cjen1-msft Aug 20, 2025
080ded9
Ensure opening replica sends iamopen messages
cjen1-msft Aug 20, 2025
60a66c3
Make ownership more explicit.
cjen1-msft Aug 20, 2025
d0fe1f3
Fix clang-tidy gripe
cjen1-msft Aug 20, 2025
e6bfb0b
Separate response_body from response_headers
cjen1-msft Aug 20, 2025
d716c8b
Remove easy handle before throwing an error.
cjen1-msft Aug 20, 2025
62b99ed
Merge branch 'main' into curlm
achamayou Aug 20, 2025
b6352c0
Update src/http/curl.h
cjen1-msft Aug 21, 2025
a23a882
Update src/http/curl.h
cjen1-msft Aug 21, 2025
7f55f13
Snagging
cjen1-msft Aug 21, 2025
5282f19
Snags
cjen1-msft Aug 21, 2025
03a8d5d
Rejig logic around header processing
cjen1-msft Aug 21, 2025
8cfb104
Set a 1mb default maximum size
cjen1-msft Aug 21, 2025
9b59d25
fix maximum sizing to be sane but not yet configurable for quote endo…
cjen1-msft Aug 21, 2025
ef1f464
Make quote endorsements maximum response size configurable.
cjen1-msft Aug 22, 2025
acbdcb1
fmt
cjen1-msft Aug 22, 2025
2e1089c
Rephrase
cjen1-msft Aug 22, 2025
6e05563
reboop
cjen1-msft Aug 22, 2025
df7c7d4
Merge branch 'curlm' into self-healing-open
cjen1-msft Aug 22, 2025
6fa1587
Ensure attaching request check curl_request_curlm
cjen1-msft Aug 22, 2025
63c4383
Merge branch 'main' into curlm
achamayou Aug 22, 2025
51b4f3b
Reformat
cjen1-msft Aug 26, 2025
ad47f4f
Merge branch 'main' into curlm
achamayou Aug 26, 2025
5a8de4a
Add trace logging of timeout actions
cjen1-msft Aug 26, 2025
02bb533
Add tests for slow requests and timed out requests.
cjen1-msft Aug 26, 2025
ff72e76
Make e2e_curl a long test
cjen1-msft Aug 26, 2025
1dc290c
Add logging on all curl requests
cjen1-msft Aug 26, 2025
fd39352
Add debug print for all unclosed uv handles
cjen1-msft Aug 26, 2025
699445c
fix
cjen1-msft Aug 26, 2025
6fa7169
Refactor closing logic
cjen1-msft Aug 26, 2025
068cc59
Improve lifetime handling of the requestcontext uv_handle
cjen1-msft Aug 26, 2025
9e0ae3d
Revert "Improve lifetime handling of the requestcontext uv_handle"
cjen1-msft Aug 26, 2025
6830d02
Just close the handle when closing the socket
cjen1-msft Aug 26, 2025
d18a950
Merge branch 'main' into curlm
cjen1-msft Aug 26, 2025
a4235ac
Use a queue to manage curl requests.
cjen1-msft Aug 27, 2025
aeeef5f
Fix test
cjen1-msft Aug 27, 2025
a04a755
move for attachment
cjen1-msft Aug 27, 2025
20041ea
fmt
cjen1-msft Aug 27, 2025
9a2ba9a
Revert "Fix test"
cjen1-msft Aug 27, 2025
03f0590
All instantiating new proxy_ptrs from a pointer
cjen1-msft Aug 27, 2025
a4f234c
Fix asan errors
cjen1-msft Aug 27, 2025
6a083b3
refmt
cjen1-msft Aug 27, 2025
0578b15
Merge branch 'main' into curlm
achamayou Aug 27, 2025
8b7cedd
Don't have a default...
cjen1-msft Aug 27, 2025
31e1b5f
Explicitly drain deque
cjen1-msft Aug 27, 2025
29d6a9d
fmt
cjen1-msft Aug 28, 2025
4b910b8
Fix asan failure
cjen1-msft Aug 28, 2025
27be8e9
Snags
cjen1-msft Aug 28, 2025
259522d
Bump js max_execution_time from 1s to 5s
cjen1-msft Aug 28, 2025
47aff71
Also bump limits test limit
cjen1-msft Aug 28, 2025
ed0d4f0
e2e_curl should use a random port
cjen1-msft Aug 29, 2025
5198f4d
Merge branch 'main' into curlm
cjen1-msft Aug 29, 2025
b93ab79
Use ipv4 (127.0.0.1) and a random port
cjen1-msft Aug 29, 2025
a94de31
Merge branch 'curlm' into self-healing-open
cjen1-msft Aug 29, 2025
8e9e2ff
Merge branch 'main' into self-healing-open
cjen1-msft Sep 12, 2025
2ead593
fmt
cjen1-msft Sep 12, 2025
3ecfd7e
Refactor sho out of recovery config
cjen1-msft Sep 12, 2025
8384d1a
Fixup curl calls
cjen1-msft Sep 12, 2025
5a9fa04
Just stop when recv iamopen
cjen1-msft Sep 12, 2025
efe59bb
refactor config
cjen1-msft Sep 12, 2025
64779bd
Make build
cjen1-msft Sep 12, 2025
ef70b52
refmt
cjen1-msft Sep 12, 2025
c1a7aed
Get a single test to pass! woop woop
cjen1-msft Sep 12, 2025
30344fd
And do the other tests as well...
cjen1-msft Sep 12, 2025
84960c0
snags
cjen1-msft Sep 12, 2025
b55ac60
Cleanup
cjen1-msft Sep 15, 2025
e102af9
Cleanup
cjen1-msft Sep 15, 2025
a955313
Merge pull request #2 from cjen1-msft/modelling-autoopen
cjen1-msft Sep 15, 2025
4a7b3a5
Large refactor to pull out the self_healing_open code from node_state.h
cjen1-msft Sep 17, 2025
f16c452
Inline to prevent ODR violations
cjen1-msft Sep 17, 2025
8003292
make cmake happy
cjen1-msft Sep 17, 2025
d21d71f
fmt
cjen1-msft Sep 17, 2025
1dc62d0
Fixup todo
cjen1-msft Sep 17, 2025
3e04eb4
clean imports diff
cjen1-msft Sep 17, 2025
465e1df
Merge branch 'main' into self-healing-open
cjen1-msft Sep 18, 2025
9b5d6b6
Fix clang-tidy errors
cjen1-msft Sep 18, 2025
7950eb7
error reporter imports
cjen1-msft Sep 19, 2025
45f54f0
remove extra e2e_curl
cjen1-msft Sep 19, 2025
e0fa598
Merge branch 'main' into self-healing-open
cjen1-msft Sep 19, 2025
f0175d9
Basic running test
cjen1-msft Sep 19, 2025
e9cb10d
Allow curl handles to fix themselves during shutdown.
cjen1-msft Sep 19, 2025
8c8816c
Allow nodes to restart before refreshing network state
cjen1-msft Sep 19, 2025
1c8d6cb
Log restart
cjen1-msft Sep 19, 2025
753d511
Test timeout path
cjen1-msft Sep 22, 2025
58ffb4d
Local sealing self-healing-open
cjen1-msft Sep 22, 2025
0d9283a
Merge branch 'main' into self-healing-open
cjen1-msft Sep 22, 2025
bf08f9c
fmt
cjen1-msft Sep 22, 2025
abeccda
fixup test
cjen1-msft Sep 22, 2025
53a9139
Ensure sealed secrets are passed
cjen1-msft Sep 22, 2025
6b82bf3
fixup timeout path
cjen1-msft Sep 22, 2025
db6fb56
Improve test infra
cjen1-msft Sep 22, 2025
4c527e2
fixup
cjen1-msft Sep 22, 2025
d05b745
imports
cjen1-msft Sep 22, 2025
a4b6d83
Make NodeState a shared_ptr
cjen1-msft Sep 22, 2025
300b13b
Make clang-tidy happy
cjen1-msft Sep 22, 2025
cae83b7
Pass shared_ptr
cjen1-msft Sep 22, 2025
f0b0fd5
tidying
cjen1-msft Sep 22, 2025
2cf40b2
tidying 2
cjen1-msft Sep 22, 2025
2e4ca7c
Revert shared_ptr node_state
cjen1-msft Sep 22, 2025
cbc1513
Stop skipping timers
cjen1-msft Sep 22, 2025
2430e17
Ensure we initialise self-healing-open state
cjen1-msft Sep 22, 2025
ec72561
Ensure we use the correct timeout for failovers
cjen1-msft Sep 22, 2025
d5e96e0
sigh
cjen1-msft Sep 22, 2025
29b4de4
Update cchost_config
cjen1-msft Sep 22, 2025
85538ec
Reformat frontend
cjen1-msft Sep 22, 2025
2543e1d
fmt
cjen1-msft Sep 22, 2025
fbbf5f9
Remove old tla spec
cjen1-msft Sep 22, 2025
49cce91
Update network.py to coalesce ledger secrets
cjen1-msft Sep 22, 2025
22dca96
Fix network.py
cjen1-msft Sep 22, 2025
afb4a1d
Add docs
cjen1-msft Sep 23, 2025
fd8750b
Add flag for detecting whether a timeout has occurred during self-hea…
cjen1-msft Sep 23, 2025
13e05b7
Doc update
cjen1-msft Sep 23, 2025
a9ab437
typo
cjen1-msft Sep 23, 2025
474b199
Update path names
cjen1-msft Sep 23, 2025
c06895c
Revert "Allow curl handles to fix themselves during shutdown."
cjen1-msft Sep 23, 2025
499ea78
Merge branch 'main' into self-healing-open
cjen1-msft Sep 23, 2025
7e5af0d
Update docs
cjen1-msft Sep 23, 2025
009a1c1
Make clang-tidy happy
cjen1-msft Sep 23, 2025
9e7d6e0
Update doc/host_config_schema/cchost_config.json
cjen1-msft Sep 23, 2025
f01931a
Update doc/operations/recovery.rst
cjen1-msft Sep 23, 2025
125a0fb
Update src/common/configuration.h
cjen1-msft Sep 23, 2025
be6edc9
typoing
cjen1-msft Sep 23, 2025
7ee3d5b
config snags
cjen1-msft Sep 23, 2025
ccb43b7
inline restarter
cjen1-msft Sep 23, 2025
af6757f
Refactoring
cjen1-msft Sep 23, 2025
a83a44e
Don't use network.tables anymore
cjen1-msft Sep 23, 2025
56ebb3e
Refactor and document
cjen1-msft Sep 23, 2025
cb23343
rejig
cjen1-msft Sep 23, 2025
e977b74
de-replica-ing
cjen1-msft Sep 23, 2025
c3a8a46
improved error messages
cjen1-msft Sep 23, 2025
d6827c9
Refactor node_frontend
cjen1-msft Sep 23, 2025
eacbf66
fmt
cjen1-msft Sep 23, 2025
0e25ca7
Add model checking
cjen1-msft Sep 23, 2025
e9b5c4c
Setup rustfmt
cjen1-msft Sep 24, 2025
c3f2b79
fmt
cjen1-msft Sep 24, 2025
750e259
Remove rustfmt for separate PR
cjen1-msft Sep 24, 2025
b8126ee
fmt
cjen1-msft Sep 24, 2025
6807ae0
Ensure inheritance works as expected
cjen1-msft Sep 29, 2025
b69730d
Fix docs
cjen1-msft Sep 29, 2025
3c84f45
Fix doc
cjen1-msft Sep 29, 2025
844b03e
Merge branch 'main' into self-healing-open
cjen1-msft Sep 29, 2025
dba3919
Clean up old validation code
cjen1-msft Sep 30, 2025
a78b806
Fix race condition around quote endorsements, where they are wiped af…
cjen1-msft Sep 30, 2025
d44d512
Merge branch 'main' into self-healing-open
cjen1-msft Sep 30, 2025
98dd582
Allow difference between ledgers as they are different networks
cjen1-msft Sep 30, 2025
66b0460
More logging for curl
cjen1-msft Oct 1, 2025
9f2fc57
Fix curl write to nullptr
cjen1-msft Oct 1, 2025
833d3ca
Merge branch 'main' into self-healing-open
cjen1-msft Oct 3, 2025
6f8d380
Move everything sensible into ccf::self_healing_open::X
cjen1-msft Oct 16, 2025
d6716d1
Merge branch 'main' into self-healing-open
cjen1-msft Oct 16, 2025
b3d4574
Migrate callback to new curl interface
cjen1-msft Oct 16, 2025
c37a341
refmt
cjen1-msft Oct 16, 2025
b33310e
Merge branch 'main' into self-healing-open
cjen1-msft Oct 17, 2025
4180851
Don't pass self-healing-open-addresses in regular recovery
cjen1-msft Oct 20, 2025
1c34ca9
Merge branch 'main' into self-healing-open
cjen1-msft Oct 20, 2025
2aed9ca
Reformat
cjen1-msft Oct 22, 2025
169618c
fmt
cjen1-msft Oct 22, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion doc/audit/builtin_maps.rst
Original file line number Diff line number Diff line change
Expand Up @@ -580,7 +580,7 @@ While the contents themselves are encrypted, the table is public so as to be acc

**Value**

.. doxygenstruct:: ccf::SelfHealingOpenNodeInfo
.. doxygenstruct:: SelfHealingOpenNodeInfo
:project: CCF
:members:

Expand Down
Loading