Classes | |
class | Tlv |
a single Type-Length-Value (TLV) block from PROXY protocol specs More... | |
Typedefs | |
typedef std::vector< std::pair< SBuf, FieldType > > | FieldMap |
a mapping between pseudo header names and ids More... | |
Enumerations | |
enum | FieldType { htUnknown = 0x00 , htAlpn = 0x01 , htAuthority = 0x02 , htCrc32c = 0x03 , htNoop = 0x04 , htSsl = 0x20 , htSslVersion = 0x21 , htSslCn = 0x22 , htSslCipher = 0x23 , htSslSigAlg = 0x24 , htSslKeyAlg = 0x25 , htNetns = 0x30 , htPseudoBegin = 0x101 , htPseudoVersion , htPseudoCommand , htPseudoSrcAddr , htPseudoDstAddr , htPseudoSrcPort , htPseudoDstPort , htPseudoEnd } |
numeric IDs of registered PROXY protocol TLV types and pseudo headers More... | |
enum | Command { cmdLocal = 0x00 , cmdProxy = 0x01 } |
PROXY protocol 'command' field value. More... | |
enum | AddressFamily { afUnspecified = 0x00 , afInet = 0x1 , afInet6 = 0x2 , afUnix = 0x3 } |
enum | TransportProtocol { tpUnspecified = 0x00 , tpStream = 0x1 , tpDgram = 0x2 } |
Functions | |
static Parsed | Parse (const SBuf &buf) |
extracts PROXY protocol v2 header from the given buffer More... | |
static void | ParseAddresses (const uint8_t family, Parser::BinaryTokenizer &tok, Header::Pointer &header) |
static void | ParseTLVs (Parser::BinaryTokenizer &tok, Header::Pointer &header) |
Variables | |
static const FieldMap | PseudoHeaderFields |
static const SBuf | Magic ("\x0D\x0A\x0D\x0A\x00\x0D\x0A\x51\x55\x49\x54\x0A", 12) |
magic octet prefix for PROXY protocol version 2 More... | |
Typedef Documentation
◆ FieldMap
typedef std::vector< std::pair<SBuf, FieldType> > ProxyProtocol::Two::FieldMap |
Definition at line 22 of file Elements.cc.
Enumeration Type Documentation
◆ AddressFamily
Enumerator | |
---|---|
afUnspecified | corresponds to a local connection or an unsupported protocol family |
afInet | |
afInet6 | |
afUnix |
Definition at line 53 of file Elements.h.
◆ Command
Enumerator | |
---|---|
cmdLocal | |
cmdProxy |
Definition at line 48 of file Elements.h.
◆ FieldType
Definition at line 19 of file Elements.h.
◆ TransportProtocol
Enumerator | |
---|---|
tpUnspecified | |
tpStream | |
tpDgram |
Definition at line 61 of file Elements.h.
Function Documentation
◆ Parse()
|
static |
Definition at line 197 of file Parser.cc.
References afUnix, afUnspecified, cmdProxy, ParseAddresses(), Parser::BinaryTokenizer::parsed(), ParseTLVs(), Parser::BinaryTokenizer::pstring16(), TexcHere, ToSBuf(), tpDgram, tpUnspecified, Parser::BinaryTokenizer::uint8(), and version.
Referenced by ProxyProtocol::Parse().
◆ ParseAddresses()
|
static |
◆ ParseTLVs()
|
static |
Variable Documentation
◆ Magic
|
static |
Referenced by ProxyProtocol::Parse(), and ProxyProtocol::One::Parse().
◆ PseudoHeaderFields
|
static |
Definition at line 23 of file Elements.cc.
Referenced by ProxyProtocol::NameToFieldType(), and ProxyProtocol::PseudoFieldTypeToFieldName().