AuthGraph: reduce dependency on authgraph_core

The authgraph_hal library should only depend on libauthgraph_wire, not
on libauthgraph_core, so adjust error processing accordingly.

Test: VtsAidlAuthGraphSessionTest
Bug: 284470121
Change-Id: I48056db6ceeab409d0f165f8e051809129643c6f
This commit is contained in:
David Drysdale
2023-11-03 12:18:24 +00:00
parent 93439a212b
commit f2117ff77c
2 changed files with 9 additions and 1 deletions

View File

@@ -36,6 +36,7 @@ rust_binary {
"libauthgraph_core",
"libauthgraph_boringssl",
"libauthgraph_hal",
"libauthgraph_wire",
"libbinder_rs",
"liblibc",
"liblog_rust",

View File

@@ -30,7 +30,7 @@ use android_hardware_security_authgraph::aidl::android::hardware::security::auth
};
use authgraph_boringssl as boring;
use authgraph_core::{key::MillisecondsSinceEpoch, keyexchange as ke, traits};
use authgraph_hal::{err_to_binder, Innto, TryInnto};
use authgraph_hal::{errcode_to_binder, Innto, TryInnto};
use log::{error, info};
use std::ffi::CString;
use std::sync::Mutex;
@@ -130,6 +130,13 @@ fn unsigned_pub_key(pub_key: &PubKey) -> binder::Result<&[u8]> {
}
}
fn err_to_binder(err: authgraph_core::error::Error) -> binder::Status {
if err.0 != authgraph_wire::ErrorCode::Ok && !err.1.is_empty() {
error!("failure {:?} message: '{}'", err.0, err.1);
}
errcode_to_binder(err.0)
}
/// This nonsecure implementation of the AuthGraph HAL interface directly calls the AuthGraph
/// reference implementation library code; a real implementation requires the AuthGraph
/// code to run in a secure environment, not within Android.