* Use our agent pool, not public hosted agents
* Retain docker options
* Script not CMAKE
* Make/use working directory
* Add SYS_PTRACE capability in docker creation
* Test: Add a coverage build to VSTS, on Microsoft-hosted pool
* Remove .circleci
* Restore main CI yml
* Split publish/download build into separate templates
* Add a no-sgx VSTS CI config
* Fix yml typo
* Remove CircleCI badge
* Early venv creation is part of publish_build
* Add debugging steps to Coverage build
* Roll static_checks into Coverage build
* Do our debugging ON FAILURE
* Restore missing label
* Add docker options, dedicated SigIll hunting test
* Explicitly report missing RDSEED support
* Remove the same typo, again
* Add CMake option for software entropy, enable by default
* yaml fixes
* Re-enable SAN build
* Duh
* Print sanity check of entropy implementation
* cat /etc/hosts
* Print CMake config
* Old school
* Publish all ports
* Run all coverage and SAN tests
* Remove prints
* Use gdb to print backtrace on SIG ILL
* Stop building Debug
* Quit when gdb is finished
* SOFTWARE_ENTROPY off by default
* cpuinfo on the SIG ILL agent
* Just run keyexchange directly
* TEMP: Disable other jobs
* Re-enable main jobs, cpuinfo in build
* Push coverage
* Remove SOFTWARE_ENTROPY option
* Push from correct workingDirectory
* Revert "Remove CircleCI badge"
This reverts commit 5202fe7c95.
* Revert "Remove .circleci"
This reverts commit 413883d9e7.
* Add comment for --publish-all option
* Print CMake config after building
* Use yaml anchor to avoid duplicating exclude paths
* Remove anchors - unsupported by VSTS
* Move comment to first use of --publish-all
* get_data() is used as MbedtlsEntropy, so return an MbedtlsEntropy
* Revert "get_data() is used as MbedtlsEntropy, so return an MbedtlsEntropy"
This reverts commit 03bc3d0750.
* Print actual error messages
* Update entropy.h
* inline
* Remove debug hack
* Added API for proposal and voting
* Network class supports retiring a node
* Changed proposal display to be consistent with the rest of the RPC output on the member client
* Print destination of RPCs
* Clear message when there are no pending proposals
* Add msgpack conversion for OpenProposal and nlohmann::json
* Update construction of OpenProposal
* Add test of proposal read - doesn't test the failing case yet
* Extend test to read final proposal state
* Equality for scripts
* Add initial standalone serialization test
* Correct equality, test json conversion
* Serialization for MemberAck
* Add test of Signature, reorder definition for consistency
* Extract msgpack adaptor for nlohman::json
* Remove special case path for json
* Fail tests if pip fails
* Don't echo, just quit early
* Add comment on non-copy solution
* s/CURVE_CHOICE/SERVICE_IDENTITY_CURVE_CHOICE
* Add a cmake step to regenerate test metadata
* Use CMake task, to auto-create build directory
* Remove old build directory
* Add debug step printing test metadata
* Don't create the venv in build
* Do no try to compress what does not exist
* Remove debug printing
* Sketch CurveImpl enum, replace macro definitions with templates
* Replace use of MD_TYPE and HASH macros with templates
* Replace HASH macro
* WIP
* Remove remaining compile-disabled code from keypair.h
* Expose CurveImpl, correct 256k1_bitcoin params
* Test all supported curves
* Add test that wrong curve fails to validate
* verify(vector, vector) should delegate, not reimplement
* Corrupt more, to ensure we affect content not padding
* Rename CURVE_CHOICE options to be LEDGER_CURVE_CHOICE
* LEDGER_CURVE_CHOICE determines default_curve_choice
* Proof-of-concept - factories for virtual implementation
* Virtualise PublicKey
* Re-enable other tests
* Remove templated CurveParameters
* Add labels, test for wrong curve, wrong impl
* Correct comment
* Delegate sign(CBuffer), reducing code duplication
* Remove TODO enum
* tls_bench compares curves for signing
* Extract make_contents
* tls_bench does comparison of all supported curves
* Tidy
* Temporary verbose logging of ecp group ID
* Produce standard (non-recoverable) signatures by default, for compatibility
* Fix curve logging, add tests of key transfer across implementations
* Verify with non-recoverable sigs too
* Log inconsistent failing cases
* Correct implementation substitutability test
* Normalize secp256k1 signatures - they may have come from mbedtls
* Re-order picobench results for readability
* Add some secp256k1 link dependencies
* Unprotect constructors - there are legitimate uses for direct construction
* Verifier curve type is parsed from cert
* history_bench builds
* Reminder TODO comment
* frontend_test builds and passes
* Clients compile
* genesisgenerator compiles
* membervoting_test builds
* Fix sign_hash, sign/verify ack data normally
* Remove unneeded CurveParams entirely
Detect PublicKey type
Simplify construction to minimum
* Correct test with new API
* verify_hash via publickey, test sign_hash and verify_hash
* Include tests
* Update to latest signature
* Ditto
* Update function signatures for people with raw data
* Fix history calls
* When constructing from explicit key, don't pass curve too
* API updates
* Fix nodestate
* inline
* EVERYTHING BUILDS
* Tidy cmake link args
* Remove unnecessary direct use of mbedtls_ecdsa_*
* Remove uint8_t restriction in sig_size
* tls_bench actually compares relevant hash operations
* bitcoin preference doesn't need to be a macro
* Standardise use of use_bitcoin_impl
* clang-format
* Test now uses distinct manual hash operation
CHECK rather than REQUIRE
* Rename LEDGER_curve to SERVICE_IDENTITY_curve
* use fmtlib
* Let mbedtls determine message digest size/function
* Add details to all thrown errors
* Remove parameter packs, document use_bitcoin_impl
* Name magic constant, extract parse_secp256k_bc
* Stop repeating FMT_HEADER_ONLY
* Remove unnecessary format separator
* Add LOG_*_FMT macros
* Many replacements, mostly LOG_INFO > LOG_INFO_FMT
* Finish nodestate.h
* Fix typos
* Halfway through raft.h
* LOG_FATAL > LOG_FATAL_FMT
* Prefer continue to empty while, for readability
* Replace all LOGs in tcp.h
* Replace remaining LOG_TRACEs
* Add picobench tests comparing LOG_DEBUG with LOG_DEBUG_FMT
* Simplify string-only logs
* Another batch of renames
* Replace in keypair.h
* Include ostream.h - we defined operator<< and want to use it
* Clarify comments
* Replace in kv.h
* Replacements in rpcconnections.h
* Replacements in nodeconnections.h
* Final pass on LOG_FAILs
* Add missing brackets noticed in review