12345678910111213141516171819202122232425262728293031 |
- //go:build go1.21 && !without_badtls && with_ech
- package badtls
- import (
- "net"
- _ "unsafe"
- "github.com/sagernet/cloudflare-tls"
- "github.com/sagernet/sing/common"
- )
- func init() {
- tlsRegistry = append(tlsRegistry, func(conn net.Conn) (loaded bool, tlsReadRecord func() error, tlsHandlePostHandshakeMessage func() error) {
- tlsConn, loaded := common.Cast[*tls.Conn](conn)
- if !loaded {
- return
- }
- return true, func() error {
- return echReadRecord(tlsConn)
- }, func() error {
- return echHandlePostHandshakeMessage(tlsConn)
- }
- })
- }
- //go:linkname echReadRecord github.com/sagernet/cloudflare-tls.(*Conn).readRecord
- func echReadRecord(c *tls.Conn) error
- //go:linkname echHandlePostHandshakeMessage github.com/sagernet/cloudflare-tls.(*Conn).handlePostHandshakeMessage
- func echHandlePostHandshakeMessage(c *tls.Conn) error
|