fix: multi issues - TUN read loop, SDWAN routing for TenantID=0, WS keepalive 10s
This commit is contained in:
@@ -5,6 +5,7 @@ import (
|
||||
"log"
|
||||
"time"
|
||||
|
||||
"github.com/openp2p-cn/inp2p/pkg/auth"
|
||||
"github.com/openp2p-cn/inp2p/pkg/protocol"
|
||||
)
|
||||
|
||||
@@ -17,12 +18,12 @@ import (
|
||||
|
||||
// HandleConnectReq processes a connection request from node A to node B.
|
||||
func (s *Server) HandleConnectReq(from *NodeInfo, req protocol.ConnectReq) error {
|
||||
to := s.GetNode(req.To)
|
||||
to := s.GetNodeForUser(req.To, from.Token)
|
||||
if to == nil || !to.IsOnline() {
|
||||
// Peer offline — respond with error
|
||||
// Peer offline or not visible — respond with generic not found
|
||||
from.Conn.Write(protocol.MsgPush, protocol.SubPushConnectRsp, protocol.ConnectRsp{
|
||||
Error: 1,
|
||||
Detail: fmt.Sprintf("node %s offline", req.To),
|
||||
Detail: "node not found",
|
||||
From: req.To,
|
||||
To: req.From,
|
||||
})
|
||||
@@ -38,6 +39,7 @@ func (s *Server) HandleConnectReq(from *NodeInfo, req protocol.ConnectReq) error
|
||||
Port: from.PublicPort,
|
||||
NATType: from.NATType,
|
||||
HasIPv4: from.HasIPv4,
|
||||
Token: auth.GenTOTP(from.Token, time.Now().Unix()),
|
||||
}
|
||||
from.mu.RUnlock()
|
||||
|
||||
@@ -47,6 +49,7 @@ func (s *Server) HandleConnectReq(from *NodeInfo, req protocol.ConnectReq) error
|
||||
Port: to.PublicPort,
|
||||
NATType: to.NATType,
|
||||
HasIPv4: to.HasIPv4,
|
||||
Token: auth.GenTOTP(to.Token, time.Now().Unix()),
|
||||
}
|
||||
to.mu.RUnlock()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user