First commit
This commit is contained in:
58
binary.go
Normal file
58
binary.go
Normal file
@@ -0,0 +1,58 @@
|
||||
package proxyprotocol
|
||||
|
||||
// BinarySignature is magic prefix for proxyprotocol Binary
|
||||
var (
|
||||
BinarySignature = []byte{0x0D, 0x0A, 0x0D, 0x0A, 0x00, 0x0D, 0x0A, 0x51, 0x55, 0x49, 0x54, 0x0A}
|
||||
BinarySignatureLen = len(BinarySignature)
|
||||
)
|
||||
|
||||
// BinaryVersion2 bits
|
||||
const (
|
||||
BinaryVersion2 byte = 0x20
|
||||
BinaryVersionMask byte = 0xF0
|
||||
)
|
||||
|
||||
// Commands
|
||||
const (
|
||||
BinaryCommandLocal byte = 0x00
|
||||
BinaryCommandProxy byte = 0x01
|
||||
BinaryCommandMask byte = 0x0F
|
||||
)
|
||||
|
||||
// Address families
|
||||
const (
|
||||
BinaryAFUnspec byte = 0x00
|
||||
BinaryAFInet byte = 0x10
|
||||
BinaryAFInet6 byte = 0x20
|
||||
BinaryAFUnix byte = 0x30
|
||||
BinaryAFMask byte = 0xF0
|
||||
)
|
||||
|
||||
// Transport protocols
|
||||
const (
|
||||
BinaryTPUnspec byte = 0x00
|
||||
BinaryTPStream byte = 0x01
|
||||
BinaryTPDgram byte = 0x02
|
||||
BinaryTPMask byte = 0x0F
|
||||
)
|
||||
|
||||
// Protocol variants
|
||||
var (
|
||||
BinaryProtocolUnspec = BinaryAFUnspec | BinaryTPUnspec
|
||||
BinaryProtocolTCPoverIPv4 = BinaryAFInet | BinaryTPStream
|
||||
BinaryProtocolUDPoverIPv4 = BinaryAFInet | BinaryTPDgram
|
||||
BinaryProtocolTCPoverIPv6 = BinaryAFInet6 | BinaryTPStream
|
||||
BinaryProtocolUDPoverIPv6 = BinaryAFInet6 | BinaryTPDgram
|
||||
BinaryProtocolUnixStream = BinaryAFUnix | BinaryTPStream
|
||||
BinaryProtocolUnixDatagram = BinaryAFUnix | BinaryTPDgram
|
||||
)
|
||||
|
||||
// Expected address length
|
||||
var (
|
||||
BinaryPortLen = 2
|
||||
)
|
||||
|
||||
// TLV types
|
||||
const (
|
||||
TLVTypeNoop byte = 0x04
|
||||
)
|
||||
Reference in New Issue
Block a user