pub struct SecurityPolicy {
pub ssrf: SsrfGuard,
pub limits: PackageLimits,
}Expand description
Combined security policy holding SSRF and ZIP limits guards.
Passed into the reader to enforce security checks at the entry point.
§Examples
use easydoc_reader::security::SecurityPolicy;
let policy = SecurityPolicy::new();
assert!(policy.ssrf.check_url("https://example.com").is_ok());
assert!(policy.ssrf.check_url("http://127.0.0.1").is_err());Fields§
§ssrf: SsrfGuardSSRF protection guard.
limits: PackageLimitsZIP bomb / element explosion limits.
Implementations§
Source§impl SecurityPolicy
impl SecurityPolicy
Sourcepub fn new() -> Self
pub fn new() -> Self
Creates a policy with the default conservative settings.
SSRF guard blocks private IPs and localhost; ZIP limits cap at 100 MB total / 50 MB per entry / 100x compression ratio.
Sourcepub fn permissive() -> Self
pub fn permissive() -> Self
Creates a permissive policy: only scheme enforcement for SSRF, and no ZIP limits (validation will always pass).
Useful for trusted input environments where only basic sanity checks are desired.
Trait Implementations§
Source§impl Clone for SecurityPolicy
impl Clone for SecurityPolicy
Source§fn clone(&self) -> SecurityPolicy
fn clone(&self) -> SecurityPolicy
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for SecurityPolicy
impl Debug for SecurityPolicy
Auto Trait Implementations§
impl Freeze for SecurityPolicy
impl RefUnwindSafe for SecurityPolicy
impl Send for SecurityPolicy
impl Sync for SecurityPolicy
impl Unpin for SecurityPolicy
impl UnsafeUnpin for SecurityPolicy
impl UnwindSafe for SecurityPolicy
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more