Граф коммитов

379 Коммитов

Автор SHA1 Сообщение Дата
Julien Maffre df8d6928ea
Install `version.h` under `include/ccf` (#2562) 2021-05-06 19:47:00 +01:00
Julien Maffre f5d6502227
Enclave host compatibility check (#2532) 2021-05-06 14:55:38 +01:00
Eddy Ashton 23d6ab520b
Pass system clock for enclave time (#2509) 2021-04-30 09:59:25 +01:00
Eddy Ashton 96e197b4ec
Change install prefix and cmake version parsing (#2530) 2021-04-29 12:04:35 +01:00
Eddy Ashton 57f0fef553
Add test for `secp256r1` as service and node identities curve (#2516) 2021-04-27 16:55:02 +01:00
Amaury Chamayou dc2d94f1c6
Constitution documentation (#2485) 2021-04-21 15:02:41 +01:00
Eddy Ashton e1d1ec5bf7
Expand connections test to better understand fd-exhaustion behaviour (#2467) 2021-04-16 18:40:08 +01:00
Eddy Ashton 9157646f17
Move service_principals proposals to standalone constitution shard (#2433) 2021-04-16 14:48:53 +01:00
Eddy Ashton 8b1eea2dcd
Remove Lua governance and Lua dependency (#2465) 2021-04-14 19:14:40 +01:00
Julien Maffre 5707d0320a
Remove msgpack from framework - Part II (#2449) 2021-04-13 11:04:57 +01:00
Amaury Chamayou 82a7f808a0
Code id gov + misc fixes (#2406) 2021-04-06 09:23:42 +01:00
Amaury Chamayou f59d416b57
Node gov actions (#2405) 2021-04-01 20:57:22 +01:00
Eddy Ashton d73eeb9a1d
Make TRACE and DEBUG options only compile-time enabled (#2404) 2021-04-01 17:27:55 +01:00
Amaury Chamayou b944dc5961
Split test and default actions (#2397) 2021-04-01 12:55:54 +01:00
Julien Maffre c10b6e1c76
Enable code update and reconfiguration test with virtual enclaves (#2386) 2021-03-31 19:44:25 +01:00
Eddy Ashton d5c1491402
Perf test speedup (#2390) 2021-03-31 15:57:47 +01:00
Julien Maffre 244e860669
JS proposal actions (#2372) 2021-03-30 18:33:14 +01:00
Eddy Ashton aa9e82279d
Consolidate View and SeqNo typedefs (#2367) 2021-03-30 13:13:12 +01:00
Amaury Chamayou e3364b7200
No-op JS gov (#2350) 2021-03-29 15:26:05 +01:00
Eddy Ashton 68ee1ea54b
Separate 3rdparty includes into exported, internal, test (#2360) 2021-03-29 11:50:26 +01:00
Julien Maffre 51f65034ed
Disable BFT in CCF releases (#2359) 2021-03-26 16:49:12 +00:00
Eddy Ashton b3e7bac57c
Define more headers as public, and split endpoints into separate library (#2328) 2021-03-25 14:19:15 +00:00
Alex 430ca6a035
TPCC benchmark (#2319) 2021-03-23 15:55:34 +00:00
Amaury Chamayou 312d3d2fb1
JS governance dependencies (#2339) 2021-03-22 19:21:44 +00:00
Julien Maffre 9ec30330ec
Change serialisation format for service maps (#2301) 2021-03-18 11:25:55 +00:00
Amaury Chamayou 92f9fe2015
Split JS Wrapper (#2306) 2021-03-18 09:01:12 +00:00
Eddy Ashton 8996d5d15c
Add API for getting View from SeqNo (#2283) 2021-03-10 19:21:20 +00:00
Julien Maffre de2ae8c3e9
Use hash of certificate for user and member IDs (#2279) 2021-03-10 18:05:49 +00:00
Christoph M. Wintersteiger 2f4641ce6b
Switch to external Merkle trees (#2289) 2021-03-09 19:07:03 +00:00
Eddy Ashton 78e52800ee
Install public headers (#2262) 2021-03-01 20:27:07 +00:00
Christoph M. Wintersteiger 57c2d2eb78
Refactor crypto library (#2225)
* Refactoring of the crypto code into a proper library with implementations hidden behind abstract interfaces.

Co-authored-by: Amaury Chamayou <amaury@xargs.fr>
2021-02-25 17:34:07 +00:00
Amaury Chamayou b230f23895
Open Enclave 0.14.0 final (#2228) 2021-02-23 18:58:30 +00:00
Eddy Ashton f15a8a9856
Add LRU for signature Verifiers (#2218) 2021-02-22 12:02:16 +00:00
Christoph M. Wintersteiger 39ae6008dd
Move crypto code into src/crypto (#2214) 2021-02-21 17:38:57 +00:00
Julien Maffre af6836b52c
Recover historical ledger secrets from the ledger (#2200) 2021-02-19 14:03:12 +00:00
Christoph M. Wintersteiger cd5792537a
Hash harmonisation and signature exploration. Fixes #2106. (#2123) 2021-02-18 15:13:14 +00:00
Maik Riechert e9af59eb3c
Add js heap size limit & tests (#2177) 2021-02-16 20:07:54 +00:00
Eddy Ashton 951a7a9380
Raft election bugfix: Accept post-election rollbacks from new primary (#2192) 2021-02-16 14:59:04 +00:00
Amaury Chamayou acc4ad2277
Consolidate some end to end testing envs (#2179) 2021-02-10 09:29:24 +00:00
Julien Maffre 346a561f83
Split client and ledger tutorial (#2172) 2021-02-08 11:39:27 +00:00
Amaury Chamayou f6670587ec
Turn off rotation test for now (#2178) 2021-02-05 19:14:18 +00:00
Amaury Chamayou cf940d3574
Replaces references to master with references to main (#2171) 2021-02-05 11:32:19 +00:00
Julien Maffre 4987c0ad72
Split shares KV table (#2140) 2021-02-04 15:35:33 +00:00
Amaury Chamayou 55de288652
Include merkle root at read version in proposal ids (#2135) 2021-02-03 10:09:59 +00:00
Julien Maffre c1969bfae0
Infra: Raft election timeout defaults to realistic value (#2141) 2021-02-02 13:07:59 +00:00
Maik Riechert 254d51093c
Add JWT perf tests (#2118) 2021-01-26 23:41:59 +00:00
Amaury Chamayou aca27526ef
Unused flag (#2119)
Co-authored-by: Alex <shamis@gmail.com>
2021-01-26 21:56:52 +00:00
Alex e5de33d2d5
Add bft vegeta tests (#2120)
* .

* .

Co-authored-by: Amaury Chamayou <amchamay@microsoft.com>
2021-01-26 21:20:56 +00:00
Julien Maffre 867d32cd63
Historical queries after rekey (#2098) 2021-01-23 17:38:12 +00:00
Julien Maffre 2feed9885c
Unit and end-to-end tests for moving committed ledger files out of main ledger dir (#2093) 2021-01-20 15:42:18 +00:00
Julien Maffre 679aaf1e98
Fix SAN error on rollback during recovery (#2090) 2021-01-19 15:44:36 +00:00
Julien Maffre 76add3a85b
Re-hauling encryptor for multi-threading (#2073) 2021-01-18 17:51:26 +00:00
Eddy Ashton f16759f116
Expose versioned C++ API for re-exposing endpoints (#2063) 2021-01-18 12:06:58 +00:00
Julien Maffre d07dafef87
Update tutorial for authentication policies (#2052) 2021-01-08 15:57:44 +00:00
Amaury Chamayou 24361ea1d4
Fix signature auth on read-only member endpoints (#2044) 2021-01-06 16:22:56 +00:00
Julien Maffre e204222fa1
Governance history snapshot fix (#2036) 2020-12-18 17:15:23 +00:00
Julien Maffre 016d5441b5
Generate snapshots by default (#2029) 2020-12-18 09:37:39 +00:00
Christoph M. Wintersteiger 7d11a18993
Merkle trees: add OpenSSL and mbedTLS hash functions and switch History to full SHA256 (#2031)
Co-authored-by: Amaury Chamayou <amchamay@microsoft.com>
2020-12-17 20:30:27 +00:00
Amaury Chamayou 37c5966806
Dependency cleanup (#2025) 2020-12-15 11:23:14 +00:00
Christoph M. Wintersteiger e2fa6d27fc
New Merkle trees (#1989)
New Merkle Trees

Co-authored-by: Amaury Chamayou <amchamay@microsoft.com>
2020-12-11 19:32:21 +00:00
Maik Riechert 1c82123c62
Add ZAP fuzz test (#1970) 2020-12-10 10:56:04 +00:00
Amaury Chamayou caa75c93af
Code update test rewrite (#1994) 2020-12-09 15:15:59 +00:00
Amaury Chamayou ce63da01f6
JS logging perf test (#1987) 2020-12-08 13:43:07 +00:00
Amaury Chamayou a75945fd84
Add cmake for logging sample using a release (#1947) 2020-12-03 14:30:32 +00:00
Amaury Chamayou 458812d9c2
Remove global code coverage (#1968) 2020-12-01 15:42:41 +00:00
Eddy Ashton bf6aa1c974
Remove stub_for_code_signing.cpp (#1965) 2020-12-01 11:44:16 +00:00
Eddy Ashton 0e847d50f1
Remove patched library (#1962) 2020-11-30 21:21:53 +00:00
Julien Maffre 216d15e8bc
Install logging JS app (#1932) 2020-11-27 08:53:09 +00:00
Maik Riechert 146d8b47e0
Native JWT validation (#1912) 2020-11-25 13:53:04 +00:00
Amaury Chamayou d08fc8e965
Add benchmark covering digest algorithms (#1903) 2020-11-25 13:01:47 +00:00
Amaury Chamayou 1683fa1a3d
Remove sample key from repo (#1921) 2020-11-25 10:55:12 +00:00
Maik Riechert 9dfadcd055
set_ca_cert/remove_ca_cert (#1917) 2020-11-24 16:39:57 +00:00
Eddy Ashton 81f53cedc5
Minor fixes (#1914) 2020-11-24 13:49:13 +00:00
Eddy Ashton 6b64b2ac45
Remove lua_generic (#1905) 2020-11-20 15:17:25 +00:00
Eddy Ashton 595787a94d
Deprecate set_js_app (#1902) 2020-11-19 18:47:53 +00:00
Eddy Ashton 72cdbf8575
Replace logging_js.lua with app.json (#1895) 2020-11-19 09:20:20 +00:00
Julien Maffre 7afef2cc2b
Support for shareless members (#1866) 2020-11-10 15:34:58 +00:00
Maik Riechert 70b09e53cf
JWT auth proposal types and kv maps (#1851) 2020-11-09 08:55:36 +00:00
Julien Maffre 07e2389d1c
Quote verification CLI (#1850) 2020-11-03 17:24:39 +00:00
Alex d506e74a13
AFT: Send view change messages (#1835) 2020-11-02 16:08:16 +00:00
Amaury Chamayou 9bba96fb17
Run forum tests in CI (#1826) 2020-10-28 18:46:35 +00:00
Eddy Ashton ff2d0ba468
Add Vegeta stress test to CI (#1763) 2020-10-15 16:57:56 +01:00
Julien Maffre 70d8c85648
Add documentation and test for new oeverify tool (#1761) 2020-10-15 08:57:52 +01:00
Julien Maffre f5a3f96b95
Re-enable snapshot test suite (#1759) 2020-10-14 16:49:34 +01:00
Amaury Chamayou aa1c67b811
Open Enclave 0.12.0 rc1 (#1747) 2020-10-13 20:47:14 +01:00
Julien Maffre 9e75ca97fc
Disable snapshot suite (#1754) 2020-10-13 17:49:05 +01:00
Amaury Chamayou 02caa51318
Add member data init CLI (#1728) 2020-10-09 17:10:37 +01:00
Amaury Chamayou 2c258fcb6f
Remove tx regulator demo (#1708) 2020-10-05 23:05:02 +01:00
Maik Riechert 869c2369b4
Add application sandbox (#1695) 2020-10-05 11:00:31 +01:00
Alex 811aeb2357
Aft: persist commitment evidence to the ledger (#1677) 2020-10-01 16:48:15 +01:00
Amaury Chamayou 90bbc588f2
Make committable test more robust (#1684) 2020-10-01 10:24:33 +01:00
Julien Maffre 96b7dcf2f1
Validate snapshot when snapshot evidence is committed (#1668) 2020-09-30 15:42:35 +01:00
Amaury Chamayou 7f38bb8ff5
Fix cft election (#1641) 2020-09-30 13:16:57 +01:00
Julien Maffre 02c6e686fe
Recovery from snapshot (#1656) 2020-09-29 12:37:15 +01:00
Alex 5d9cfc65f1
Aft: In BFT mode propagate backup signatures and acks to signatures (#1658) 2020-09-29 11:40:09 +01:00
Eddy Ashton 37d78ecfe2
Produce OpenAPI document describing CCF's endpoints (#1612) 2020-09-25 10:16:12 +01:00
Alex 1a7d5dbfe6
Aft: In BFT mode backups sign requests (#1632) 2020-09-22 12:12:43 +01:00
Julien Maffre 4f9ea02124
Include view history in snapshot (#1616) 2020-09-17 11:38:23 +01:00
Maik Riechert 5559526935
remove OE 0.10 workarounds (#1606) 2020-09-14 09:26:07 +01:00
Alex 6aba788a98
Renaming consensus types (#1591) 2020-09-09 10:59:57 +01:00
Maik Riechert df22a85202
Support more content types (#1575) 2020-09-08 11:21:57 +01:00
Alex c02338d522
AFT: Forward requests correctly (#1579) 2020-09-07 12:20:26 +01:00
Maik Riechert 4592a53545
Support custom authorization header in client requests (#1563) 2020-09-04 14:55:50 +01:00
Alex 9bd7c0b2bc
AFT: add an option to execute requests on the backup (#1540)
* When running with BFT mode we now execute requests on the backups
* Start the renaming process from Raft to AFT
* Change the network type from a template to an abstract base class that has normal and test implementation
2020-09-04 08:49:02 +01:00
Maik Riechert 3e7750bdb0
Add support for proposing attested CA certs (#1448) 2020-09-02 10:46:17 +01:00
Amaury Chamayou ab03172b80
Extend asn1_san to support multiple entries (#1552) 2020-09-01 17:35:05 +01:00
Julien Maffre e42b511983
Join from an existing snapshot (#1532) 2020-08-27 12:13:40 +01:00
Julien Maffre 136f64e598
Rename cchost interval options (#1534) 2020-08-27 08:17:42 +01:00
Eddy Ashton 29eeb309f5
Initial support for creating KV tables within a transaction (#1507) 2020-08-24 15:09:06 +01:00
Alex 3909627c10
Starting setting up for one consensus (#1516) 2020-08-21 09:27:10 +01:00
Julien Maffre 7431f2de28
Generate and store snapshots on primary node (#1500) 2020-08-18 16:41:27 +01:00
Julien Maffre d8c1fdab37
Restore Merkle history from KV snapshot (#1496) 2020-08-18 15:53:51 +01:00
Julien Maffre ac68ff2a13
ledger max chunk -> ledger min chunk (#1498) 2020-08-14 15:43:26 +01:00
Maik Riechert 0f67ec2716
node/npm app test (#1484) 2020-08-07 14:57:49 +01:00
Julien Maffre 0bcc6a3d28
Python install cleanup (#1474)
* Cleanup dependencies

* Automated python package versioning

* Pin deps

* Install wheel

* Format

* Revert requirements.txt

* Pin deps manually

* Install package requirements for Pylint

Co-authored-by: Amaury Chamayou <amchamay@microsoft.com>
Co-authored-by: Eddy Ashton <edashton@microsoft.com>
2020-08-03 13:12:34 +01:00
Maik Riechert f941046011
JS modules (#1469)
* Add ccf.modules table.

* add set_module proposal function

* add remove_module proposal function

* add js module loader

* custom Module type; test; remove prefix

* patch quickjs for querying module exports

* add quickjs .patch

* endpoint modules!

* address pr comments

* formatting

Co-authored-by: Amaury Chamayou <amchamay@microsoft.com>
2020-07-31 14:05:05 +01:00
Amaury Chamayou e549cf144f
Build, publish and use (in containers) .deb (#1443) 2020-07-31 11:46:52 +01:00
Eddy Ashton 21e388f6df
Build CCF with LVI mitigations (#1427) 2020-07-28 11:56:45 +01:00
Amaury Chamayou 7484d13aff
Fix message leak (#1442) 2020-07-27 20:29:24 +01:00
Julien Maffre 61097092ce
Compile warnings enforcing and fixes (#1416) 2020-07-21 16:08:25 +01:00
Eddy Ashton 89ccf6624c
Don't segfault with unquoted values in auth header (#1411) 2020-07-17 11:12:14 +01:00
Amaury Chamayou 52a3fed055
Pbft tests in daily only (#1406) 2020-07-16 14:58:39 +01:00
Eddy Ashton 168c9df3ab
Give the C++ e2e logging test a uniquely regexable name (#1394) 2020-07-10 09:54:04 +01:00
Julien Maffre b53a4445ce
Start packaging Python infra (#1380) 2020-07-07 15:46:44 +01:00
Julien Maffre 052d69eceb
Improve handling of node-to-node channels and host connections (#1371) 2020-07-03 12:02:26 +01:00
Amaury Chamayou 1964d99a27
Truncate release prefix (#1354) 2020-06-30 15:46:23 +01:00
Julien Maffre e0b3d1d294
Snapshot testing (#1349) 2020-06-29 15:07:27 +01:00
Julien Maffre 3ed1a655ac Revert "Additional store snapshot tests and conflict handling (#1343)"
This reverts commit 896404269f.
2020-06-26 17:52:45 +01:00
Julien Maffre 896404269f
Additional store snapshot tests and conflict handling (#1343)
* WIP

* Simpler unit test

* Uncommitted tx in test

* Test with multiple maps

* Tx commit conflicts if snapshot is applied in flight

* Cleanup

* Comment

* Cleaner test

* Rename some of the snapshot API and refactor tests
2020-06-26 17:32:28 +01:00
Eddy Ashton f4def2fdc5
Don't double-prefix the install directory (#1341) 2020-06-26 10:57:04 +01:00
Julien Maffre 03e6f41eb6
cchost --version (#1323) 2020-06-25 11:45:58 +01:00
Eddy Ashton 73479a6afa
Bump CMake version (#1331) 2020-06-23 15:59:35 +01:00
Julien Maffre 66a5a9533b
Tick consensus while recovering private ledger (#1312) 2020-06-18 14:52:23 +01:00
Julien Maffre 2c7cb56ad8
PBFT test failures (#1308) 2020-06-18 13:43:03 +01:00
Julien Maffre b651123fd4
Run test suite in CI (#1297) 2020-06-17 14:22:26 +01:00
Julien Maffre 5b5c2842b5
Ledger chunking (#1274) 2020-06-15 15:58:45 +01:00
Eddy Ashton e1b405d594
Only compare versions in release, and support pre-release identifiers (#1291) 2020-06-15 15:29:24 +01:00
Amaury Chamayou f65df47ce2 Fix version 2020-06-15 09:48:48 +01:00
Amaury Chamayou 3a1bb3efba Rev tag 2020-06-15 09:25:59 +01:00
Eddy Ashton 7ce79065cb
Extend Merkle Tree API (#1273) 2020-06-11 13:50:24 +01:00
Eddy Ashton 605cf504ed
Add a system for retrieving, verifying, and caching historical state in each node (#1267) 2020-06-11 09:59:30 +01:00
Eddy Ashton 40957b4d1b
Correctly handle oversized compound messages in ringbuffer (#1266) 2020-06-09 10:25:26 +01:00
Eddy Ashton 3b0492cfd0
Use early-serialising KV implementation by default (take 2) (#1234) 2020-06-04 13:34:27 +01:00
olgavrou 09addb09b5
Process new view (#1210) 2020-06-03 21:11:41 +01:00
Julien Maffre ec4a5b0519
Use libc++ on cchost as well (#1223) 2020-05-28 09:39:05 +01:00
Julien Maffre 88db19337e
Resilient recovery (#1212) 2020-05-26 14:11:49 +01:00
Amaury Chamayou ba4ef14df2
Websockets perf tests (#1211) 2020-05-22 17:48:34 +01:00
olgavrou 48768a90de
Update late joiners (#1126) 2020-05-22 09:51:48 +01:00
Amaury Chamayou e953005009
Websockets support (#1193) 2020-05-20 11:57:55 +01:00
Eddy Ashton 04c87bc77f
Fix initial term history during recovery (#1159) 2020-05-07 18:05:37 +01:00