Versions in this module Expand all Collapse all v0 v0.5.0 Apr 11, 2017 Changes in this version + var ErrFlowControlRenegotiationNotSupported = qerr.Error(qerr.InvalidCryptoMessageParameter, ...) + var ErrHOLExperiment = qerr.Error(qerr.InvalidCryptoMessageParameter, "HOL experiment. Unsupported") + var ErrMalformedTag = qerr.Error(qerr.InvalidCryptoMessageParameter, "malformed Tag value") + func WriteHandshakeMessage(b *bytes.Buffer, messageTag Tag, data map[Tag][]byte) + type ConnectionParametersManager interface + GetHelloMap func() (map[Tag][]byte, error) + GetIdleConnectionStateLifetime func() time.Duration + GetMaxIncomingStreams func() uint32 + GetMaxOutgoingStreams func() uint32 + GetMaxReceiveConnectionFlowControlWindow func() protocol.ByteCount + GetMaxReceiveStreamFlowControlWindow func() protocol.ByteCount + GetReceiveConnectionFlowControlWindow func() protocol.ByteCount + GetReceiveStreamFlowControlWindow func() protocol.ByteCount + GetSendConnectionFlowControlWindow func() protocol.ByteCount + GetSendStreamFlowControlWindow func() protocol.ByteCount + SetFromMap func(map[Tag][]byte) error + TruncateConnectionID func() bool + func NewConnectionParamatersManager(pers protocol.Perspective, v protocol.VersionNumber) ConnectionParametersManager + type CryptoSetup interface + DiversificationNonce func() []byte + GetSealer func() (protocol.EncryptionLevel, Sealer) + GetSealerWithEncryptionLevel func(protocol.EncryptionLevel) (Sealer, error) + HandleCryptoStream func() error + HandshakeComplete func() bool + Open func(dst, src []byte, packetNumber protocol.PacketNumber, associatedData []byte) ([]byte, protocol.EncryptionLevel, error) + SetDiversificationNonce func([]byte) error + func NewCryptoSetup(connID protocol.ConnectionID, sourceAddr []byte, ...) (CryptoSetup, error) + func NewCryptoSetupClient(hostname string, connID protocol.ConnectionID, version protocol.VersionNumber, ...) (CryptoSetup, error) + type KeyDerivationFunction func(forwardSecure bool, sharedSecret, nonces []byte, connID protocol.ConnectionID, ...) (crypto.AEAD, error) + type KeyExchangeFunction func() crypto.KeyExchange + type Sealer func(dst, src []byte, packetNumber protocol.PacketNumber, associatedData []byte) []byte + type ServerConfig struct + ID []byte + func NewServerConfig(kex crypto.KeyExchange, certChain crypto.CertChain) (*ServerConfig, error) + func (s *ServerConfig) Get() []byte + func (s *ServerConfig) GetCertsCompressed(sni string, commonSetHashes, compressedHashes []byte) ([]byte, error) + func (s *ServerConfig) Sign(sni string, chlo []byte) ([]byte, error) + type Tag uint32 + const TagAEAD + const TagCCRT + const TagCCS + const TagCERT + const TagCFCW + const TagCHLO + const TagCOPT + const TagCSCT + const TagEXPY + const TagFHL2 + const TagICSL + const TagKEXS + const TagMIDS + const TagMSPC + const TagNONC + const TagNONP + const TagOBIT + const TagPAD + const TagPDMD + const TagPROF + const TagPRST + const TagPUBS + const TagREJ + const TagRNON + const TagRSEQ + const TagSCFG + const TagSCID + const TagSCLS + const TagSFCW + const TagSHLO + const TagSNI + const TagSNO + const TagSRBF + const TagSTK + const TagSVID + const TagTCID + const TagUAID + const TagVER + const TagXLCT + func ParseHandshakeMessage(r io.Reader) (Tag, map[Tag][]byte, error)