ProxyProtocol::Two Namespace Reference

Classes

class  Tlv
 a single Type-Length-Value (TLV) block from PROXY protocol specs 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,
  htPseudoVersion = 0x101,
  htPseudoCommand = 0x102,
  htPseudoSrcAddr = 0x103,
  htPseudoDstAddr = 0x104,
  htPseudoSrcPort = 0x105,
  htPseudoDstPort = 0x106
}
 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 SBuf Magic ("\D\A\D\A\0\D\A\1\5\9\4\A", 12)
 magic octet prefix for PROXY protocol version 2 More...
 

Enumeration Type Documentation

◆ AddressFamily

Enumerator
afUnspecified 

corresponds to a local connection or an unsupported protocol family

afInet 
afInet6 
afUnix 

Definition at line 51 of file Elements.h.

◆ Command

Enumerator
cmdLocal 
cmdProxy 

Definition at line 46 of file Elements.h.

◆ FieldType

Enumerator
htUnknown 
htAlpn 
htAuthority 
htCrc32c 
htNoop 
htSsl 
htSslVersion 
htSslCn 
htSslCipher 
htSslSigAlg 
htSslKeyAlg 
htNetns 
htPseudoVersion 
htPseudoCommand 
htPseudoSrcAddr 
htPseudoDstAddr 
htPseudoSrcPort 
htPseudoDstPort 

Definition at line 19 of file Elements.h.

◆ TransportProtocol

Enumerator
tpUnspecified 
tpStream 
tpDgram 

Definition at line 59 of file Elements.h.

Function Documentation

◆ Parse()

◆ ParseAddresses()

void ProxyProtocol::Two::ParseAddresses ( const uint8_t  family,
Parser::BinaryTokenizer tok,
Header::Pointer header 
)
static

◆ ParseTLVs()

void ProxyProtocol::Two::ParseTLVs ( Parser::BinaryTokenizer tok,
Header::Pointer header 
)
static

Variable Documentation

◆ Magic

const SBuf ProxyProtocol::Two::Magic("\0D\0A\0D\0A\00\0D\0A\51\55\49\54\0A", 12)
static

Referenced by ProxyProtocol::Parse().

 

Introduction

Documentation

Support

Miscellaneous

Web Site Translations

Mirrors