pub struct ProxyInfo<'a> { /* private fields */ }Expand description
Complete proxy constraints, sharing the targeting decoder and original groups.
Implementations§
Source§impl<'a> ProxyInfo<'a>
impl<'a> ProxyInfo<'a>
Sourcepub fn read<W: Work>(extension: &Extension<'a>, work: &W) -> Result<Self>
pub fn read<W: Work>(extension: &Extension<'a>, work: &W) -> Result<Self>
Reads the registered extension using the existing complete Target kernel. Late malformed or prohibited alternatives cannot disappear on early match.
Sourcepub fn groups(&self) -> &[Group<'a>]
pub fn groups(&self) -> &[Group<'a>]
Original sets with flat target ranges. Proxy matching preserves these boundaries, unlike recipient-only targeting’s union.
Sourcepub fn targets(&self) -> &[Target<'a>]
pub fn targets(&self) -> &[Target<'a>]
Original flat target catalogue; reading it is not a proxy check.
Sourcepub fn certificates(&self) -> &[TargetCertificate<'a>]
pub fn certificates(&self) -> &[TargetCertificate<'a>]
Original prohibited alternatives, retained for inspection.
Sourcepub fn is_critical(&self) -> bool
pub fn is_critical(&self) -> bool
Written extension criticality, not inferred from its OID.
Sourcepub fn check<W: Work, E>(
&self,
sender: Sender<'_, '_>,
recipient: &[GeneralName<'_>],
intermediates: &[&[GeneralName<'_>]],
work: &W,
membership: impl FnMut(Subject, &GeneralName<'a>, &Execution<'_>) -> Result<Membership, E>,
) -> Result<Decision, CheckError<E>>
pub fn check<W: Work, E>( &self, sender: Sender<'_, '_>, recipient: &[GeneralName<'_>], intermediates: &[&[GeneralName<'_>]], work: &W, membership: impl FnMut(Subject, &GeneralName<'a>, &Execution<'_>) -> Result<Membership, E>, ) -> Result<Decision, CheckError<E>>
Checks RFC5755 §7.2’s common-set rule for all supplied participants. The protocol must supply a trustworthy COMPLETE preceding-hop list; omitting a hop here cannot prove that it was allowed. Holder bypasses only the sender membership check, never recipient or earlier proxies. Unknown membership differs from a completed negative; processing and callback errors remain terminal, with their original causes. The membership callback must admit its own data-dependent work through the supplied execution. Its external side effects cannot be rolled back if a later participant or set refuses.