Files
sing-box-extended-mirror/common/badtls/read_wait_utls.go
T

37 lines
955 B
Go
Raw Normal View History

//go:build go1.21 && !without_badtls && with_utls
package badtls
import (
"net"
_ "unsafe"
2025-05-03 11:35:53 +08:00
"github.com/metacubex/utls"
)
func init() {
tlsRegistry = append(tlsRegistry, func(conn net.Conn) (loaded bool, tlsReadRecord func() error, tlsHandlePostHandshakeMessage func() error) {
2025-08-20 08:44:29 +08:00
switch tlsConn := conn.(type) {
case *tls.UConn:
return true, func() error {
return utlsReadRecord(tlsConn.Conn)
}, func() error {
return utlsHandlePostHandshakeMessage(tlsConn.Conn)
}
case *tls.Conn:
return true, func() error {
return utlsReadRecord(tlsConn)
}, func() error {
return utlsHandlePostHandshakeMessage(tlsConn)
}
}
2025-08-20 08:44:29 +08:00
return
})
}
2025-05-03 11:35:53 +08:00
//go:linkname utlsReadRecord github.com/metacubex/utls.(*Conn).readRecord
func utlsReadRecord(c *tls.Conn) error
2025-05-03 11:35:53 +08:00
//go:linkname utlsHandlePostHandshakeMessage github.com/metacubex/utls.(*Conn).handlePostHandshakeMessage
func utlsHandlePostHandshakeMessage(c *tls.Conn) error