Enum tlspuffin::query::TlsQueryMatcher
source · pub enum TlsQueryMatcher {
ChangeCipherSpec,
Alert,
Handshake(Option<HandshakeType>),
ApplicationData,
Heartbeat,
}
Expand description
TlsQueryMatcher contains TLS-related typing information, this is to be distinguished from the *.typ fields It uses [rustls::msgs::enums::{ContentType,HandshakeType}].
Variants§
Trait Implementations§
source§impl Clone for TlsQueryMatcher
impl Clone for TlsQueryMatcher
source§fn clone(&self) -> TlsQueryMatcher
fn clone(&self) -> TlsQueryMatcher
Returns a copy of the value. Read more
1.0.0 · 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 TlsQueryMatcher
impl Debug for TlsQueryMatcher
source§impl<'de> Deserialize<'de> for TlsQueryMatcher
impl<'de> Deserialize<'de> for TlsQueryMatcher
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
source§impl ExtractKnowledge<TlsQueryMatcher> for AlertMessagePayload
impl ExtractKnowledge<TlsQueryMatcher> for AlertMessagePayload
source§fn extract_knowledge<'a>(
&'a self,
knowledges: &mut Vec<Knowledge<'a, TlsQueryMatcher>>,
matcher: Option<TlsQueryMatcher>,
source: &'a Source,
) -> Result<(), Error>
fn extract_knowledge<'a>( &'a self, knowledges: &mut Vec<Knowledge<'a, TlsQueryMatcher>>, matcher: Option<TlsQueryMatcher>, source: &'a Source, ) -> Result<(), Error>
Fill
knowledge
with new knowledge gathered form the type implementing ExtractKnowledge
by recursively calling extract_knowledge on all contained element
This will put source as the source of all the produced knowledge, matcher is also passed
recursively but might be overwritten by a type with a more specific matchersource§impl ExtractKnowledge<TlsQueryMatcher> for CertificatePayload
impl ExtractKnowledge<TlsQueryMatcher> for CertificatePayload
source§fn extract_knowledge<'a>(
&'a self,
knowledges: &mut Vec<Knowledge<'a, TlsQueryMatcher>>,
matcher: Option<TlsQueryMatcher>,
source: &'a Source,
) -> Result<(), Error>
fn extract_knowledge<'a>( &'a self, knowledges: &mut Vec<Knowledge<'a, TlsQueryMatcher>>, matcher: Option<TlsQueryMatcher>, source: &'a Source, ) -> Result<(), Error>
Fill
knowledge
with new knowledge gathered form the type implementing ExtractKnowledge
by recursively calling extract_knowledge on all contained element
This will put source as the source of all the produced knowledge, matcher is also passed
recursively but might be overwritten by a type with a more specific matchersource§impl ExtractKnowledge<TlsQueryMatcher> for ChangeCipherSpecPayload
impl ExtractKnowledge<TlsQueryMatcher> for ChangeCipherSpecPayload
source§fn extract_knowledge<'a>(
&'a self,
knowledges: &mut Vec<Knowledge<'a, TlsQueryMatcher>>,
matcher: Option<TlsQueryMatcher>,
source: &'a Source,
) -> Result<(), Error>
fn extract_knowledge<'a>( &'a self, knowledges: &mut Vec<Knowledge<'a, TlsQueryMatcher>>, matcher: Option<TlsQueryMatcher>, source: &'a Source, ) -> Result<(), Error>
Fill
knowledge
with new knowledge gathered form the type implementing ExtractKnowledge
by recursively calling extract_knowledge on all contained element
This will put source as the source of all the produced knowledge, matcher is also passed
recursively but might be overwritten by a type with a more specific matchersource§impl ExtractKnowledge<TlsQueryMatcher> for ClientHelloPayload
impl ExtractKnowledge<TlsQueryMatcher> for ClientHelloPayload
source§fn extract_knowledge<'a>(
&'a self,
knowledges: &mut Vec<Knowledge<'a, TlsQueryMatcher>>,
matcher: Option<TlsQueryMatcher>,
source: &'a Source,
) -> Result<(), Error>
fn extract_knowledge<'a>( &'a self, knowledges: &mut Vec<Knowledge<'a, TlsQueryMatcher>>, matcher: Option<TlsQueryMatcher>, source: &'a Source, ) -> Result<(), Error>
Fill
knowledge
with new knowledge gathered form the type implementing ExtractKnowledge
by recursively calling extract_knowledge on all contained element
This will put source as the source of all the produced knowledge, matcher is also passed
recursively but might be overwritten by a type with a more specific matchersource§impl ExtractKnowledge<TlsQueryMatcher> for ECDHEServerKeyExchange
impl ExtractKnowledge<TlsQueryMatcher> for ECDHEServerKeyExchange
source§fn extract_knowledge<'a>(
&'a self,
knowledges: &mut Vec<Knowledge<'a, TlsQueryMatcher>>,
matcher: Option<TlsQueryMatcher>,
source: &'a Source,
) -> Result<(), Error>
fn extract_knowledge<'a>( &'a self, knowledges: &mut Vec<Knowledge<'a, TlsQueryMatcher>>, matcher: Option<TlsQueryMatcher>, source: &'a Source, ) -> Result<(), Error>
Fill
knowledge
with new knowledge gathered form the type implementing ExtractKnowledge
by recursively calling extract_knowledge on all contained element
This will put source as the source of all the produced knowledge, matcher is also passed
recursively but might be overwritten by a type with a more specific matchersource§impl ExtractKnowledge<TlsQueryMatcher> for HandshakeMessagePayload
impl ExtractKnowledge<TlsQueryMatcher> for HandshakeMessagePayload
source§fn extract_knowledge<'a>(
&'a self,
knowledges: &mut Vec<Knowledge<'a, TlsQueryMatcher>>,
matcher: Option<TlsQueryMatcher>,
source: &'a Source,
) -> Result<(), Error>
fn extract_knowledge<'a>( &'a self, knowledges: &mut Vec<Knowledge<'a, TlsQueryMatcher>>, matcher: Option<TlsQueryMatcher>, source: &'a Source, ) -> Result<(), Error>
Fill
knowledge
with new knowledge gathered form the type implementing ExtractKnowledge
by recursively calling extract_knowledge on all contained element
This will put source as the source of all the produced knowledge, matcher is also passed
recursively but might be overwritten by a type with a more specific matchersource§impl ExtractKnowledge<TlsQueryMatcher> for HandshakePayload
impl ExtractKnowledge<TlsQueryMatcher> for HandshakePayload
source§fn extract_knowledge<'a>(
&'a self,
knowledges: &mut Vec<Knowledge<'a, TlsQueryMatcher>>,
matcher: Option<TlsQueryMatcher>,
source: &'a Source,
) -> Result<(), Error>
fn extract_knowledge<'a>( &'a self, knowledges: &mut Vec<Knowledge<'a, TlsQueryMatcher>>, matcher: Option<TlsQueryMatcher>, source: &'a Source, ) -> Result<(), Error>
Fill
knowledge
with new knowledge gathered form the type implementing ExtractKnowledge
by recursively calling extract_knowledge on all contained element
This will put source as the source of all the produced knowledge, matcher is also passed
recursively but might be overwritten by a type with a more specific matchersource§impl ExtractKnowledge<TlsQueryMatcher> for HeartbeatPayload
impl ExtractKnowledge<TlsQueryMatcher> for HeartbeatPayload
source§fn extract_knowledge<'a>(
&'a self,
knowledges: &mut Vec<Knowledge<'a, TlsQueryMatcher>>,
matcher: Option<TlsQueryMatcher>,
source: &'a Source,
) -> Result<(), Error>
fn extract_knowledge<'a>( &'a self, knowledges: &mut Vec<Knowledge<'a, TlsQueryMatcher>>, matcher: Option<TlsQueryMatcher>, source: &'a Source, ) -> Result<(), Error>
Fill
knowledge
with new knowledge gathered form the type implementing ExtractKnowledge
by recursively calling extract_knowledge on all contained element
This will put source as the source of all the produced knowledge, matcher is also passed
recursively but might be overwritten by a type with a more specific matchersource§impl ExtractKnowledge<TlsQueryMatcher> for Message
impl ExtractKnowledge<TlsQueryMatcher> for Message
source§fn extract_knowledge<'a>(
&'a self,
knowledges: &mut Vec<Knowledge<'a, TlsQueryMatcher>>,
_: Option<TlsQueryMatcher>,
source: &'a Source,
) -> Result<(), Error>
fn extract_knowledge<'a>( &'a self, knowledges: &mut Vec<Knowledge<'a, TlsQueryMatcher>>, _: Option<TlsQueryMatcher>, source: &'a Source, ) -> Result<(), Error>
Extracts knowledge from a crate::tls::rustls::msgs::message::Message
.
Only plaintext messages yield more knowledge than their binary payload.
If a message is an ApplicationData (TLS 1.3) or an encrypted Heartbeet
or Handhake message (TLS 1.2), then only the message itself and the
binary payload is returned.
source§impl ExtractKnowledge<TlsQueryMatcher> for MessageFlight
impl ExtractKnowledge<TlsQueryMatcher> for MessageFlight
source§fn extract_knowledge<'a>(
&'a self,
knowledges: &mut Vec<Knowledge<'a, TlsQueryMatcher>>,
matcher: Option<TlsQueryMatcher>,
source: &'a Source,
) -> Result<(), Error>
fn extract_knowledge<'a>( &'a self, knowledges: &mut Vec<Knowledge<'a, TlsQueryMatcher>>, matcher: Option<TlsQueryMatcher>, source: &'a Source, ) -> Result<(), Error>
Fill
knowledge
with new knowledge gathered form the type implementing ExtractKnowledge
by recursively calling extract_knowledge on all contained element
This will put source as the source of all the produced knowledge, matcher is also passed
recursively but might be overwritten by a type with a more specific matchersource§impl ExtractKnowledge<TlsQueryMatcher> for MessagePayload
impl ExtractKnowledge<TlsQueryMatcher> for MessagePayload
source§fn extract_knowledge<'a>(
&'a self,
knowledges: &mut Vec<Knowledge<'a, TlsQueryMatcher>>,
matcher: Option<TlsQueryMatcher>,
source: &'a Source,
) -> Result<(), Error>
fn extract_knowledge<'a>( &'a self, knowledges: &mut Vec<Knowledge<'a, TlsQueryMatcher>>, matcher: Option<TlsQueryMatcher>, source: &'a Source, ) -> Result<(), Error>
Fill
knowledge
with new knowledge gathered form the type implementing ExtractKnowledge
by recursively calling extract_knowledge on all contained element
This will put source as the source of all the produced knowledge, matcher is also passed
recursively but might be overwritten by a type with a more specific matchersource§impl ExtractKnowledge<TlsQueryMatcher> for NewSessionTicketPayload
impl ExtractKnowledge<TlsQueryMatcher> for NewSessionTicketPayload
source§fn extract_knowledge<'a>(
&'a self,
knowledges: &mut Vec<Knowledge<'a, TlsQueryMatcher>>,
matcher: Option<TlsQueryMatcher>,
source: &'a Source,
) -> Result<(), Error>
fn extract_knowledge<'a>( &'a self, knowledges: &mut Vec<Knowledge<'a, TlsQueryMatcher>>, matcher: Option<TlsQueryMatcher>, source: &'a Source, ) -> Result<(), Error>
Fill
knowledge
with new knowledge gathered form the type implementing ExtractKnowledge
by recursively calling extract_knowledge on all contained element
This will put source as the source of all the produced knowledge, matcher is also passed
recursively but might be overwritten by a type with a more specific matchersource§impl ExtractKnowledge<TlsQueryMatcher> for OpaqueMessage
impl ExtractKnowledge<TlsQueryMatcher> for OpaqueMessage
source§fn extract_knowledge<'a>(
&'a self,
knowledges: &mut Vec<Knowledge<'a, TlsQueryMatcher>>,
matcher: Option<TlsQueryMatcher>,
source: &'a Source,
) -> Result<(), Error>
fn extract_knowledge<'a>( &'a self, knowledges: &mut Vec<Knowledge<'a, TlsQueryMatcher>>, matcher: Option<TlsQueryMatcher>, source: &'a Source, ) -> Result<(), Error>
Fill
knowledge
with new knowledge gathered form the type implementing ExtractKnowledge
by recursively calling extract_knowledge on all contained element
This will put source as the source of all the produced knowledge, matcher is also passed
recursively but might be overwritten by a type with a more specific matchersource§impl ExtractKnowledge<TlsQueryMatcher> for OpaqueMessageFlight
impl ExtractKnowledge<TlsQueryMatcher> for OpaqueMessageFlight
source§fn extract_knowledge<'a>(
&'a self,
knowledges: &mut Vec<Knowledge<'a, TlsQueryMatcher>>,
matcher: Option<TlsQueryMatcher>,
source: &'a Source,
) -> Result<(), Error>
fn extract_knowledge<'a>( &'a self, knowledges: &mut Vec<Knowledge<'a, TlsQueryMatcher>>, matcher: Option<TlsQueryMatcher>, source: &'a Source, ) -> Result<(), Error>
Fill
knowledge
with new knowledge gathered form the type implementing ExtractKnowledge
by recursively calling extract_knowledge on all contained element
This will put source as the source of all the produced knowledge, matcher is also passed
recursively but might be overwritten by a type with a more specific matchersource§impl ExtractKnowledge<TlsQueryMatcher> for Payload
impl ExtractKnowledge<TlsQueryMatcher> for Payload
source§fn extract_knowledge<'a>(
&'a self,
knowledges: &mut Vec<Knowledge<'a, TlsQueryMatcher>>,
matcher: Option<TlsQueryMatcher>,
source: &'a Source,
) -> Result<(), Error>
fn extract_knowledge<'a>( &'a self, knowledges: &mut Vec<Knowledge<'a, TlsQueryMatcher>>, matcher: Option<TlsQueryMatcher>, source: &'a Source, ) -> Result<(), Error>
Fill
knowledge
with new knowledge gathered form the type implementing ExtractKnowledge
by recursively calling extract_knowledge on all contained element
This will put source as the source of all the produced knowledge, matcher is also passed
recursively but might be overwritten by a type with a more specific matchersource§impl ExtractKnowledge<TlsQueryMatcher> for ServerHelloPayload
impl ExtractKnowledge<TlsQueryMatcher> for ServerHelloPayload
source§fn extract_knowledge<'a>(
&'a self,
knowledges: &mut Vec<Knowledge<'a, TlsQueryMatcher>>,
matcher: Option<TlsQueryMatcher>,
source: &'a Source,
) -> Result<(), Error>
fn extract_knowledge<'a>( &'a self, knowledges: &mut Vec<Knowledge<'a, TlsQueryMatcher>>, matcher: Option<TlsQueryMatcher>, source: &'a Source, ) -> Result<(), Error>
Fill
knowledge
with new knowledge gathered form the type implementing ExtractKnowledge
by recursively calling extract_knowledge on all contained element
This will put source as the source of all the produced knowledge, matcher is also passed
recursively but might be overwritten by a type with a more specific matchersource§impl ExtractKnowledge<TlsQueryMatcher> for ServerKeyExchangePayload
impl ExtractKnowledge<TlsQueryMatcher> for ServerKeyExchangePayload
source§fn extract_knowledge<'a>(
&'a self,
knowledges: &mut Vec<Knowledge<'a, TlsQueryMatcher>>,
matcher: Option<TlsQueryMatcher>,
source: &'a Source,
) -> Result<(), Error>
fn extract_knowledge<'a>( &'a self, knowledges: &mut Vec<Knowledge<'a, TlsQueryMatcher>>, matcher: Option<TlsQueryMatcher>, source: &'a Source, ) -> Result<(), Error>
Fill
knowledge
with new knowledge gathered form the type implementing ExtractKnowledge
by recursively calling extract_knowledge on all contained element
This will put source as the source of all the produced knowledge, matcher is also passed
recursively but might be overwritten by a type with a more specific matchersource§impl Hash for TlsQueryMatcher
impl Hash for TlsQueryMatcher
source§impl Matcher for TlsQueryMatcher
impl Matcher for TlsQueryMatcher
fn matches(&self, matcher: &TlsQueryMatcher) -> bool
fn specificity(&self) -> u32
source§impl PartialEq for TlsQueryMatcher
impl PartialEq for TlsQueryMatcher
source§impl ProtocolMessage<TlsQueryMatcher, OpaqueMessage> for Message
impl ProtocolMessage<TlsQueryMatcher, OpaqueMessage> for Message
fn create_opaque(&self) -> OpaqueMessage
fn debug(&self, info: &str)
source§impl ProtocolMessageDeframer<TlsQueryMatcher> for MessageDeframer
impl ProtocolMessageDeframer<TlsQueryMatcher> for MessageDeframer
type OpaqueProtocolMessage = OpaqueMessage
fn pop_frame(&mut self) -> Option<OpaqueMessage>
fn read(&mut self, rd: &mut dyn Read) -> Result<usize>
source§impl ProtocolMessageFlight<TlsQueryMatcher, Message, OpaqueMessage, OpaqueMessageFlight> for MessageFlight
impl ProtocolMessageFlight<TlsQueryMatcher, Message, OpaqueMessage, OpaqueMessageFlight> for MessageFlight
source§impl Serialize for TlsQueryMatcher
impl Serialize for TlsQueryMatcher
source§impl Stream<TlsQueryMatcher, Message, OpaqueMessage, OpaqueMessageFlight> for TcpClientPut
impl Stream<TlsQueryMatcher, Message, OpaqueMessage, OpaqueMessageFlight> for TcpClientPut
fn add_to_inbound(&mut self, opaque_flight: &OpaqueMessageFlight)
source§fn take_message_from_outbound(
&mut self,
) -> Result<Option<OpaqueMessageFlight>, Error>
fn take_message_from_outbound( &mut self, ) -> Result<Option<OpaqueMessageFlight>, Error>
Takes a single TLS message from the outbound channel
source§impl Stream<TlsQueryMatcher, Message, OpaqueMessage, OpaqueMessageFlight> for TcpServerPut
impl Stream<TlsQueryMatcher, Message, OpaqueMessage, OpaqueMessageFlight> for TcpServerPut
fn add_to_inbound(&mut self, opaque_flight: &OpaqueMessageFlight)
source§fn take_message_from_outbound(
&mut self,
) -> Result<Option<OpaqueMessageFlight>, Error>
fn take_message_from_outbound( &mut self, ) -> Result<Option<OpaqueMessageFlight>, Error>
Takes a single TLS message from the outbound channel
impl Copy for TlsQueryMatcher
impl Eq for TlsQueryMatcher
impl StructuralPartialEq for TlsQueryMatcher
Auto Trait Implementations§
impl Freeze for TlsQueryMatcher
impl RefUnwindSafe for TlsQueryMatcher
impl Send for TlsQueryMatcher
impl Sync for TlsQueryMatcher
impl Unpin for TlsQueryMatcher
impl UnwindSafe for TlsQueryMatcher
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
§impl<T> CloneAny for T
impl<T> CloneAny for T
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key
and return true
if they are equal.§impl<Tail, T> Prepend<T> for Tail
impl<Tail, T> Prepend<T> for Tail
§type PreprendResult = Tail
type PreprendResult = Tail
The Resulting [
TupleList
], of an [Prepend::prepend()
] call,
including the prepended entry.