| 123456789101112131415161718192021222324252627282930313233343536 | 
							- //go:build go1.21 && !without_badtls && with_utls
 
- package badtls
 
- import (
 
- 	"net"
 
- 	_ "unsafe"
 
- 	"github.com/metacubex/utls"
 
- )
 
- func init() {
 
- 	tlsRegistry = append(tlsRegistry, func(conn net.Conn) (loaded bool, tlsReadRecord func() error, tlsHandlePostHandshakeMessage func() error) {
 
- 		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)
 
- 				}
 
- 		}
 
- 		return
 
- 	})
 
- }
 
- //go:linkname utlsReadRecord github.com/metacubex/utls.(*Conn).readRecord
 
- func utlsReadRecord(c *tls.Conn) error
 
- //go:linkname utlsHandlePostHandshakeMessage github.com/metacubex/utls.(*Conn).handlePostHandshakeMessage
 
- func utlsHandlePostHandshakeMessage(c *tls.Conn) error
 
 
  |