frp 0.31.2
This commit is contained in:
parent
f03d1e5eba
commit
575b7d569b
@ -17,6 +17,7 @@ package client
|
|||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
"crypto/tls"
|
"crypto/tls"
|
||||||
|
"github.com/fatedier/frp/utils/log"
|
||||||
"io"
|
"io"
|
||||||
"net"
|
"net"
|
||||||
"runtime/debug"
|
"runtime/debug"
|
||||||
|
@ -260,7 +260,7 @@ func newAddress(addr string, port int) string {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (pxy *XtcpProxy) InWorkConn(conn frpNet.Conn, m *msg.StartWorkConn) {
|
func (pxy *XtcpProxy) InWorkConn(conn net.Conn, m *msg.StartWorkConn) {
|
||||||
xl := pxy.xl
|
xl := pxy.xl
|
||||||
defer conn.Close()
|
defer conn.Close()
|
||||||
var natHoleSidMsg msg.NatHoleSid
|
var natHoleSidMsg msg.NatHoleSid
|
||||||
|
@ -94,7 +94,6 @@ func NewService(cfg config.ClientCommonConf, pxyCfgs map[string]config.ProxyConf
|
|||||||
pxyCfgs: pxyCfgs,
|
pxyCfgs: pxyCfgs,
|
||||||
visitorCfgs: visitorCfgs,
|
visitorCfgs: visitorCfgs,
|
||||||
exit: 0,
|
exit: 0,
|
||||||
closedCh: make(chan bool),
|
|
||||||
ctx: xlog.NewContext(ctx, xlog.New()),
|
ctx: xlog.NewContext(ctx, xlog.New()),
|
||||||
cancel: cancel,
|
cancel: cancel,
|
||||||
}
|
}
|
||||||
@ -152,11 +151,13 @@ func (svr *Service) Run(isCmd bool) error {
|
|||||||
|
|
||||||
svr.closed = false
|
svr.closed = false
|
||||||
if isCmd {
|
if isCmd {
|
||||||
svr.closed = <-svr.ctx.Done()
|
<-svr.ctx.Done()
|
||||||
|
svr.closed = true
|
||||||
log.Info("svr closed")
|
log.Info("svr closed")
|
||||||
} else {
|
} else {
|
||||||
go func() {
|
go func() {
|
||||||
svr.closed = <-svr.ctx.Done()
|
<-svr.ctx.Done()
|
||||||
|
svr.closed = true
|
||||||
log.Info("svr closed")
|
log.Info("svr closed")
|
||||||
|
|
||||||
if svr.onClosedListener != nil {
|
if svr.onClosedListener != nil {
|
||||||
|
@ -22,38 +22,6 @@ import (
|
|||||||
"github.com/fatedier/golib/errors"
|
"github.com/fatedier/golib/errors"
|
||||||
)
|
)
|
||||||
|
|
||||||
type Listener interface {
|
|
||||||
Accept() (Conn, error)
|
|
||||||
Close() error
|
|
||||||
log.Logger
|
|
||||||
}
|
|
||||||
|
|
||||||
type LogListener struct {
|
|
||||||
l net.Listener
|
|
||||||
net.Listener
|
|
||||||
log.Logger
|
|
||||||
}
|
|
||||||
|
|
||||||
func WrapLogListener(l net.Listener) Listener {
|
|
||||||
return &LogListener{
|
|
||||||
l: l,
|
|
||||||
Listener: l,
|
|
||||||
Logger: log.NewPrefixLogger(""),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (logL *LogListener) Accept() (Conn, error) {
|
|
||||||
log.Info("call Accept")
|
|
||||||
c, err := logL.l.Accept()
|
|
||||||
log.Info("Accept new conn: ", c)
|
|
||||||
return WrapConn(c), err
|
|
||||||
}
|
|
||||||
|
|
||||||
// Close 关闭listener
|
|
||||||
func (logL *LogListener) Close() error {
|
|
||||||
return logL.l.Close()
|
|
||||||
}
|
|
||||||
|
|
||||||
// Custom listener
|
// Custom listener
|
||||||
type CustomListener struct {
|
type CustomListener struct {
|
||||||
acceptCh chan net.Conn
|
acceptCh chan net.Conn
|
||||||
|
@ -70,8 +70,8 @@ func (p *WebsocketListener) Accept() (net.Conn, error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (p *WebsocketListener) Close() error {
|
func (p *WebsocketListener) Close() error {
|
||||||
if p.accept != nil {
|
if p.acceptCh != nil {
|
||||||
close(p.accept)
|
close(p.acceptCh)
|
||||||
}
|
}
|
||||||
if p.ln != nil {
|
if p.ln != nil {
|
||||||
if err := p.ln.Close(); err != nil {
|
if err := p.ln.Close(); err != nil {
|
||||||
|
Loading…
Reference in New Issue
Block a user