type echCipher …
type echExtension …
type echConfig …
var errMalformedECHConfig …
func parseECHConfigList(data []byte) ([]echConfig, error) { … }
func pickECHConfig(list []echConfig) *echConfig { … }
func pickECHCipherSuite(suites []echCipher) (echCipher, error) { … }
func encodeInnerClientHello(inner *clientHelloMsg, maxNameLength int) ([]byte, error) { … }
func generateOuterECHExt(id uint8, kdfID, aeadID uint16, encodedKey []byte, payload []byte) ([]byte, error) { … }
func computeAndUpdateOuterECHExtension(outer, inner *clientHelloMsg, ech *echContext, useKey bool) error { … }
func validDNSName(name string) bool { … }
type ECHRejectionError …
func (e *ECHRejectionError) Error() string { … }