pub fn check_countersigning_session_data_contains_action(
entry_hash: EntryHash,
session_data: &CounterSigningSessionData,
action: NewEntryActionRef<'_>
) -> SysValidationResult<()>
Expand description
Verify the countersigning session contains the specified action.
Examples found in repository?
src/core/sys_validate.rs (line 139)
133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160
pub async fn check_countersigning_session_data(
entry_hash: EntryHash,
session_data: &CounterSigningSessionData,
action: NewEntryActionRef<'_>,
) -> SysValidationResult<()> {
session_data.check_integrity()?;
check_countersigning_session_data_contains_action(entry_hash, session_data, action)?;
let tasks: Vec<_> = session_data
.responses()
.iter()
.map(|(response, signature)| async move {
let preflight_response = PreflightResponse::try_new(
session_data.preflight_request().clone(),
response.clone(),
signature.clone(),
)?;
check_countersigning_preflight_response_signature(&preflight_response).await
})
.collect();
let results: Vec<SysValidationResult<()>> = futures::future::join_all(tasks).await;
let results: SysValidationResult<()> = results.into_iter().collect();
match results {
Ok(_) => Ok(()),
Err(e) => Err(e),
}
}