socks5: fix #148

This commit is contained in:
nadoo 2020-04-04 18:00:31 +08:00
parent fda05d5d3d
commit 9c3f2f600a
3 changed files with 11 additions and 15 deletions

View File

@ -46,12 +46,14 @@ func (s *HTTP) Serve(cc net.Conn) {
defer cc.Close()
var c *conn.Conn
switch ccc := cc.(type) {
case *net.TCPConn:
ccc.SetKeepAlive(true)
c = conn.NewConn(ccc)
switch cc := cc.(type) {
case *conn.Conn:
c = ccc
c = cc
case *net.TCPConn:
cc.SetKeepAlive(true)
c = conn.NewConn(cc)
default:
c = conn.NewConn(cc)
}
req, err := parseRequest(c.Reader())

View File

@ -88,7 +88,6 @@ func (m *Mixed) Serve(c net.Conn) {
}
cc := conn.NewConn(c)
head, err := cc.Peek(1)
if err != nil {
// log.F("[mixed] socks5 peek error: %s", err)

View File

@ -103,16 +103,11 @@ func (s *Socks5) ListenAndServeTCP() {
}
// Serve serves a connection.
func (s *Socks5) Serve(cc net.Conn) {
defer cc.Close()
func (s *Socks5) Serve(c net.Conn) {
defer c.Close()
var c *conn.Conn
switch ccc := cc.(type) {
case *net.TCPConn:
ccc.SetKeepAlive(true)
c = conn.NewConn(ccc)
case *conn.Conn:
c = ccc
if c, ok := c.(*net.TCPConn); ok {
c.SetKeepAlive(true)
}
tgt, err := s.handshake(c)