Compare commits
1 Commits
501ba87c2d
...
536100da90
Author | SHA1 | Date |
---|---|---|
wpetit | 536100da90 |
|
@ -2,7 +2,6 @@ package tunnel
|
|||
|
||||
import (
|
||||
"context"
|
||||
"io"
|
||||
"net"
|
||||
"sync"
|
||||
"time"
|
||||
|
@ -33,33 +32,17 @@ func (c *RemoteClient) Accept(ctx context.Context, conn *kcp.UDPSession) error {
|
|||
config.KeepAliveInterval = 10 * time.Second
|
||||
config.KeepAliveTimeout = 2 * config.KeepAliveInterval
|
||||
|
||||
var (
|
||||
sess *smux.Session
|
||||
err error
|
||||
ctrl *control.Control
|
||||
)
|
||||
logger.Debug(ctx, "creating server session")
|
||||
|
||||
for {
|
||||
logger.Debug(ctx, "creating server session")
|
||||
sess, err := smux.Server(conn, config)
|
||||
if err != nil {
|
||||
return errors.WithStack(err)
|
||||
}
|
||||
|
||||
sess, err = smux.Server(conn, config)
|
||||
if err != nil {
|
||||
return errors.WithStack(err)
|
||||
}
|
||||
ctrl := control.New()
|
||||
|
||||
ctrl = control.New()
|
||||
|
||||
err = ctrl.Init(ctx, sess, true)
|
||||
|
||||
if err != nil && errors.Is(err, io.ErrClosedPipe) {
|
||||
continue
|
||||
}
|
||||
|
||||
if err != nil {
|
||||
return errors.WithStack(err)
|
||||
}
|
||||
|
||||
break
|
||||
if err := ctrl.Init(ctx, sess, true); err != nil {
|
||||
return errors.WithStack(err)
|
||||
}
|
||||
|
||||
c.sess = sess
|
||||
|
|
|
@ -37,7 +37,9 @@ func (s *Server) handleNewConn(ctx context.Context, conn *kcp.UDPSession) {
|
|||
ctx = logger.With(ctx, logger.F("remoteAddr", conn.RemoteAddr().String()))
|
||||
|
||||
remoteClient := NewRemoteClient()
|
||||
|
||||
defer remoteClient.Close()
|
||||
defer conn.Close()
|
||||
|
||||
remoteClient.ConfigureHooks(s.conf.Hooks)
|
||||
|
||||
|
|
Loading…
Reference in New Issue