fix serial

This commit is contained in:
ginuerzh
2023-10-15 23:55:52 +08:00
parent 497915f465
commit 5ab729b166
9 changed files with 755 additions and 71 deletions

View File

@ -13,8 +13,7 @@ import (
"github.com/go-gost/relay"
xnet "github.com/go-gost/x/internal/net"
sx "github.com/go-gost/x/internal/util/selector"
serial_util "github.com/go-gost/x/internal/util/serial"
goserial "github.com/tarm/serial"
serial "github.com/go-gost/x/internal/util/serial"
)
func (h *relayHandler) handleConnect(ctx context.Context, conn net.Conn, network, address string, log logger.Logger) (err error) {
@ -62,7 +61,7 @@ func (h *relayHandler) handleConnect(ctx context.Context, conn net.Conn, network
case "unix":
cc, err = (&net.Dialer{}).DialContext(ctx, "unix", address)
case "serial":
cc, err = goserial.OpenPort(serial_util.ParseConfigFromAddr(address))
cc, err = serial.OpenPort(serial.ParseConfigFromAddr(address))
default:
cc, err = h.router.Dial(ctx, network, address)
}

View File

@ -14,10 +14,9 @@ import (
md "github.com/go-gost/core/metadata"
"github.com/go-gost/core/recorder"
xnet "github.com/go-gost/x/internal/net"
serial_util "github.com/go-gost/x/internal/util/serial"
serial "github.com/go-gost/x/internal/util/serial"
xrecorder "github.com/go-gost/x/recorder"
"github.com/go-gost/x/registry"
goserial "github.com/tarm/serial"
)
func init() {
@ -119,14 +118,14 @@ func (h *serialHandler) forwardSerial(ctx context.Context, conn net.Conn, target
log.Debugf("%s >> %s", conn.LocalAddr(), target.Addr)
var port io.ReadWriteCloser
cfg := serial_util.ParseConfigFromAddr(conn.LocalAddr().String())
cfg := serial.ParseConfigFromAddr(conn.LocalAddr().String())
cfg.Name = target.Addr
if opts := h.router.Options(); opts != nil && opts.Chain != nil {
port, err = h.router.Dial(ctx, "serial", serial_util.AddrFromConfig(cfg))
port, err = h.router.Dial(ctx, "serial", serial.AddrFromConfig(cfg))
} else {
cfg.ReadTimeout = h.md.timeout
port, err = goserial.OpenPort(cfg)
port, err = serial.OpenPort(cfg)
}
if err != nil {
log.Error(err)