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