Handshake.h
Go to the documentation of this file.
64 typedef enum { atHelloNone = 0, atHelloStarted, atHelloReceived, atHelloDoneReceived, atNstReceived, atCcsReceived, atFinishReceived } ParserState;
std::ostream & print(std::ostream &os) const
Prints to os stream a human readable form of TlsDetails object.
void parseV23Ciphers(const SBuf &raw)
Definition: Handshake.cc:490
void skipMessage(const char *msgType)
Definition: Handshake.cc:632
void parseVersion2Record()
Definition: Handshake.cc:231
bool TlsFamilyProtocol(const AnyP::ProtocolVersion &version)
whether the given protocol belongs to the TLS/SSL group of protocols
Definition: Handshake.h:133
bool parseRecordVersion2Try()
void parseVersion2HandshakeMessage(const SBuf &raw)
Definition: Handshake.cc:389
HandshakeParser(MessageSource)
Definition: Handshake.cc:219
Definition: BinaryTokenizer.h:46
void parseExtensions(const SBuf &raw)
Definition: Handshake.cc:435
MessageSource messageSource
whether we are parsing Server or Client TLS handshake messages
Definition: Handshake.h:84
SBuf parseSniExtension(const SBuf &extensionData) const
Definition: Handshake.cc:526
bool TlsVersionEarlierThan(const AnyP::ProtocolVersion &a, const AnyP::ProtocolVersion &b)
whether TLS/SSL protocol a precedes TLS/SSL protocol b
Definition: Handshake.h:140
bool Tls1p2orEarlier(const AnyP::ProtocolVersion &p)
whether the given TLS/SSL protocol is TLS v1.2 or earlier, including SSL
Definition: Handshake.h:153
bool unsupportedExtensions
whether any unsupported by Squid extensions are used
Definition: Handshake.h:43
std::ostream & operator<<(std::ostream &, const EncryptorAnswer &)
Definition: EncryptorAnswer.cc:20
bool parseCompressionMethods(const SBuf &raw)
Definition: Handshake.cc:420
bool Tls1p3orLater(const AnyP::ProtocolVersion &p)
whether the given TLS/SSL protocol is TLS v1.3 or later
Definition: Handshake.h:160
YesNoNone expectingModernRecords
Whether to use TLS parser or a V2 compatible parser.
Definition: Handshake.h:128
void parseServerCertificates(const SBuf &raw)
Definition: YesNoNone.h:28
Parser::BinaryTokenizer tkRecords
TLS record layer (parsing uninterpreted data)
Definition: Handshake.h:122
void parseSupportedVersionsExtension(const SBuf &extensionData) const
RFC 8446 Section 4.2.1: SupportedVersions extension.
Definition: Handshake.cc:554
Definition: Handshake.h:22
AnyP::ProtocolVersion tlsSupportedVersion
Definition: Handshake.h:35
void parseApplicationDataMessage()
Definition: Handshake.cc:382
void parseChangeCipherCpecMessage()
Definition: Handshake.cc:314
void parseCiphers(const SBuf &raw)
Definition: Handshake.cc:479
void parseServerHelloHandshakeMessage(const SBuf &raw)
RFC 5246 Section 7.4.1.3. Server Hello.
Definition: Handshake.cc:509
void parseHandshakeMessage()
Definition: Handshake.cc:347
void parseClientHelloHandshakeMessage(const SBuf &raw)
Definition: Handshake.cc:405
void parseMessages()
parses one or more "higher-level protocol" frames of currentContentType
Definition: Handshake.cc:291
bool isSslv2Record(const SBuf &raw) const
Definition: Handshake.cc:244
Definition: ProtocolVersion.h:23
Introduction
- About Squid
- Why Squid?
- Squid Developers
- How to Donate
- How to Help Out
- Getting Squid
- Squid Source Packages
- Squid Deployment Case-Studies
- Squid Software Foundation
Documentation
- Quick Setup
- Configuration:
- FAQ and Wiki
- Guide Books:
- Non-English
- More...
Support
- Security Advisories
- Bugzilla Database
- Mailing lists
- Contacting us
- Commercial services
- Project Sponsors
- Squid-based products