pub enum InboundVerdict {
Accept(Vec<u8>),
Malformed,
LegacyBlocked,
PolicyViolation(String),
CryptoError(String),
}Expand description
Ergebnis einer classify_inbound-Entscheidung.
Die Enum-Varianten trennen die moeglichen Gruende sauber, damit der
Caller (dcps-Runtime) pro Grund einen passenden LogLevel an das
zerodds_security::logging::LoggingPlugin weiterreichen kann.
Der Interface-Kontext (NetInterface) wird vom Caller mit
uebergeben und findet sich in [InboundVerdict::iface] wieder —
damit Log-Events pro Interface attributierbar sind.
Variants§
Accept(Vec<u8>)
Paket ist zulaessig — bytes ist das dekodierte RTPS-Datagram,
das an den SPDP/SEDP/User-Dispatch weitergegeben wird.
Malformed
Paket ist zu kurz fuer einen RTPS-Header (< 20 Byte). Das ist
eigentlich ein Transport-Bug oder ein Fuzz-Probe. Severity
sollte Error sein.
LegacyBlocked
Paket kam von einem unauth-Peer auf einer Domain, die
Authentication verlangt (allow_unauthenticated_participants = false). Severity sollte Error sein.
PolicyViolation(String)
Policy-Violation: die Domain verlangt Protection, das Paket
ist aber plain (oder umgekehrt). Severity sollte Warning
sein — ggf. Tampering-Versuch.
CryptoError(String)
Cryptographischer Fehler beim Unwrap (Tag-Mismatch, falscher
Key, replay-Attack etc.). Severity Warning.
Implementations§
Trait Implementations§
Source§impl Clone for InboundVerdict
impl Clone for InboundVerdict
Source§fn clone(&self) -> InboundVerdict
fn clone(&self) -> InboundVerdict
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for InboundVerdict
impl Debug for InboundVerdict
Source§impl PartialEq for InboundVerdict
impl PartialEq for InboundVerdict
Source§fn eq(&self, other: &InboundVerdict) -> bool
fn eq(&self, other: &InboundVerdict) -> bool
self and other values to be equal, and is used by ==.