qemu_rv32_virt_tutorial/
checker_credentials_not_required.rs1use kernel::process_checker::{AppCredentialsPolicy, AppCredentialsPolicyClient};
8use kernel::ErrorCode;
9use tock_tbf::types::TbfFooterV2Credentials;
10
11pub struct AppCheckerCredentialsNotRequired<
15 'a,
16 C: kernel::process_checker::AppCredentialsPolicy<'static>,
17> {
18 checker: &'a C,
19}
20
21impl<'a, C: kernel::process_checker::AppCredentialsPolicy<'static>>
22 AppCheckerCredentialsNotRequired<'a, C>
23{
24 pub fn new(checker: &'a C) -> AppCheckerCredentialsNotRequired<'a, C> {
25 Self { checker }
26 }
27}
28
29impl<C: kernel::process_checker::AppCredentialsPolicy<'static>> AppCredentialsPolicy<'static>
30 for AppCheckerCredentialsNotRequired<'_, C>
31{
32 fn require_credentials(&self) -> bool {
33 false
34 }
35
36 fn check_credentials(
37 &self,
38 credentials: TbfFooterV2Credentials,
39 binary: &'static [u8],
40 ) -> Result<(), (ErrorCode, TbfFooterV2Credentials, &'static [u8])> {
41 self.checker.check_credentials(credentials, binary)
42 }
43
44 fn set_client(&self, client: &'static dyn AppCredentialsPolicyClient<'static>) {
45 self.checker.set_client(client);
46 }
47}