[dice] Move format_condig_descriptor to diced_open_dice
Test: atest diced_utils_test diced_sample_inputs_test \
diced_test diced_vendor_test diced_open_dice_cbor_test \
diced_client_test
Test: m pvmfw_img microdroid_manager
Test: atest microdroid_manager_test vmbase_example.integration_test
Bug: 267575445
Change-Id: Iba7f775c1d1a3070c119da546edad38c2bbf67ac
diff --git a/diced/src/lib.rs b/diced/src/lib.rs
index 50e0e96..9e70ace 100644
--- a/diced/src/lib.rs
+++ b/diced/src/lib.rs
@@ -36,6 +36,7 @@
use keystore2_selinux as selinux;
use libc::uid_t;
use permission::Permission;
+use std::ffi::CString;
use std::sync::Arc;
/// A DiceNode backend implementation.
@@ -97,11 +98,12 @@
}
fn client_input_values(uid: uid_t) -> Result<BinderInputValues> {
+ let desc = CString::new(format!("{}", uid)).unwrap();
Ok(BinderInputValues {
codeHash: [0; dice::HASH_SIZE],
config: BinderConfig {
- desc: dice::bcc::format_config_descriptor(Some(&format!("{}", uid)), None, false)
- .context("In client_input_values: failed to format config descriptor")?,
+ desc: dice::retry_bcc_format_config_descriptor(Some(desc.as_c_str()), None, true)
+ .unwrap(),
},
authorityHash: [0; dice::HASH_SIZE],
authorityDescriptor: None,