diff --git a/.snpcc_canary b/.snpcc_canary index f24b6684a51..bc1c6f559e2 100644 --- a/.snpcc_canary +++ b/.snpcc_canary @@ -4,4 +4,4 @@ /-xXx--//-----x=x--/-xXx--/---x---->>>--/ ... /\/\d(-_-)b/\/\ -----vmpl-- \ No newline at end of file +----vmpl--- \ No newline at end of file diff --git a/src/node/rpc/node_frontend.h b/src/node/rpc/node_frontend.h index 1f6fbb7583a..dbc305e0ccd 100644 --- a/src/node/rpc/node_frontend.h +++ b/src/node/rpc/node_frontend.h @@ -785,6 +785,7 @@ namespace ccf q.raw = node_info.quote_info.quote; q.endorsements = node_info.quote_info.endorsements; q.format = node_info.quote_info.format; + q.uvm_endorsements = node_info.quote_info.uvm_endorsements; // get_measurement attempts to re-validate the quote to extract // mrenclave and the Open Enclave is insufficiently flexible to diff --git a/tests/code_update.py b/tests/code_update.py index 5d5bc884ae7..a56ef8d03b9 100644 --- a/tests/code_update.py +++ b/tests/code_update.py @@ -96,7 +96,9 @@ def test_verify_quotes(network, args): ) # Quick API validation - confirm that all of these /quotes/self entries match the collection returned from /quotes - assert j in all_quotes + assert ( + j in all_quotes + ), f"Didn't find {node.node_id}'s quote in collection\n{j}\n{json.dumps(all_quotes)}" return network @@ -648,6 +650,7 @@ def format_expected_host_data(entries): @reqs.description("Adding a new measurement invalidates open proposals") +@reqs.not_snp("Cannot produce alternative measurement on SNP") def test_proposal_invalidation(network, args): primary, _ = network.find_nodes() @@ -724,7 +727,8 @@ def run(args): # Measurements test_measurements_tables(network, args) - test_add_node_with_untrusted_measurement(network, args) + if not snp.IS_SNP: + test_add_node_with_untrusted_measurement(network, args) # Host data/security policy test_host_data_tables(network, args) @@ -740,10 +744,10 @@ def run(args): test_endorsements_tables(network, args) test_add_node_with_no_uvm_endorsements(network, args) - # NB: Assumes the current nodes are still using args.package, so must run before test_update_all_nodes - test_proposal_invalidation(network, args) - if not snp.IS_SNP: + # NB: Assumes the current nodes are still using args.package, so must run before test_update_all_nodes + test_proposal_invalidation(network, args) + # This is in practice equivalent to either "unknown measurement" or "unknown host data", but is explicitly # testing that (without artifically removing/corrupting those values) a replacement package differs # in one of these values