#![cfg_attr(not(feature = "std"), no_std)]
#![forbid(unsafe_code)]
#![warn(missing_docs)]
extern crate alloc;
mod cms;
pub mod delegation_check;
mod governance;
mod plugin;
pub mod psk_access;
mod signature;
mod topic_match;
mod xml;
pub use cms::{CmsPkcs7Verifier, PROP_PERMISSIONS_CA};
pub use delegation_check::{
DelegationCheckError, DelegationCheckResult, DelegationProfile, TrustAnchor, TrustPolicy,
ValidatedChain, scope_intersect, validate_chain,
};
pub use governance::{
DEFAULT_EPHEMERAL_LIFETIME_SECS, DomainFilter, DomainRule, EdgeIdentityConfig,
EdgeIdentityMode, Governance, InterfaceBindingRule, PeerClass, PeerClassMatch, ProtectionKind,
TopicRule, ZERODDS_NS, cn_pattern_match, parse_governance_xml,
};
pub use plugin::PermissionsAccessControl;
pub use psk_access::{
CLASS_ID_PSK_PERMISSIONS, PROP_PSK_GOVERNANCE_XML, PROP_PSK_PERMISSIONS_ID,
PROP_PSK_PERMISSIONS_XML, PROP_PSK_SUBJECT_NAME, PskPermissionsAccessControl, PskProfile,
};
pub use signature::{
EnvelopeCheckVerifier, NoOpVerifier, XmlSignatureVerifier, open_signed_permissions,
};
pub use topic_match::topic_match;
pub use xml::{Grant, Permissions, PermissionsError, Validity, parse_permissions_xml};