blob: 191f7589c9a8b7bdac667f2643b6c1a7a63fff18 [file] [log] [blame]
// Copyright 2020 The Fuchsia Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
library fuchsia.update.verify;
/// An abstract representation of an update verifier, to be used when
/// verifying if an update should be committed. This is abstracted into a
/// separate protocol because in the future, we may add more verifiers.
///
/// This is unrelated to the verification in verified execution.
///
/// TODO(fxbug.dev/55846) migrate to services design.
protocol Verifier {
/// Verifies the update we just applied does not compromise an OTA dependency.
/// If the verification fails, the [`Verifier`] should log the reason why.
///
/// The caller is responsible for setting any timeouts.
///
/// + request `options` the configuration to use when verifying.
/// * response a [`VerifyError`] describing why the verification failed.
Verify(VerifyOptions options) -> () error VerifyError;
};
/// An update verifier to determine if Blobfs is working as expected.
[Discoverable]
protocol BlobfsVerifier {
compose Verifier;
};
/// A configuration for an update verification.
table VerifyOptions {
};
/// A problem occured when doing an update verification.
flexible enum VerifyError {
INTERNAL = 1;
};